llsdmessagereader.h

Go to the documentation of this file.
00001 
00032 #ifndef LL_LLSDMESSAGEREADER_H
00033 #define LL_LLSDMESSAGEREADER_H
00034 
00035 #include "llmessagereader.h"
00036 #include "llsd.h"
00037 
00038 #include <map>
00039 
00040 class LLMessageTemplate;
00041 class LLMsgData;
00042 
00043 class LLSDMessageReader : public LLMessageReader
00044 {
00045 public:
00046 
00047         LLSDMessageReader();
00048         virtual ~LLSDMessageReader();
00049 
00051         virtual void getBinaryData(const char *block, const char *var, 
00052                                                            void *datap, S32 size, S32 blocknum = 0, 
00053                                                            S32 max_size = S32_MAX);
00054         virtual void getBOOL(const char *block, const char *var, BOOL &data, 
00055                                                  S32 blocknum = 0);
00056         virtual void getS8(const char *block, const char *var, S8 &data, 
00057                                            S32 blocknum = 0);
00058         virtual void getU8(const char *block, const char *var, U8 &data, 
00059                                            S32 blocknum = 0);
00060         virtual void getS16(const char *block, const char *var, S16 &data, 
00061                                                 S32 blocknum = 0);
00062         virtual void getU16(const char *block, const char *var, U16 &data, 
00063                                                 S32 blocknum = 0);
00064         virtual void getS32(const char *block, const char *var, S32 &data, 
00065                                                 S32 blocknum = 0);
00066         virtual void getF32(const char *block, const char *var, F32 &data, 
00067                                                 S32 blocknum = 0);
00068         virtual void getU32(const char *block, const char *var, U32 &data, 
00069                                                 S32 blocknum = 0);
00070         virtual void getU64(const char *block, const char *var, U64 &data, 
00071                                                 S32 blocknum = 0);
00072         virtual void getF64(const char *block, const char *var, F64 &data, 
00073                                                 S32 blocknum = 0);
00074         virtual void getVector3(const char *block, const char *var, 
00075                                                         LLVector3 &vec, S32 blocknum = 0);
00076         virtual void getVector4(const char *block, const char *var, 
00077                                                         LLVector4 &vec, S32 blocknum = 0);
00078         virtual void getVector3d(const char *block, const char *var, 
00079                                                          LLVector3d &vec, S32 blocknum = 0);
00080         virtual void getQuat(const char *block, const char *var, LLQuaternion &q, 
00081                                                  S32 blocknum = 0);
00082         virtual void getUUID(const char *block, const char *var, LLUUID &uuid, 
00083                                                  S32 blocknum = 0);
00084         virtual void getIPAddr(const char *block, const char *var, U32 &ip, 
00085                                                    S32 blocknum = 0);
00086         virtual void getIPPort(const char *block, const char *var, U16 &port, 
00087                                                    S32 blocknum = 0);
00088         virtual void getString(const char *block, const char *var, 
00089                                                    S32 buffer_size, char *buffer, S32 blocknum = 0);
00090 
00091         virtual S32     getNumberOfBlocks(const char *blockname);
00092         virtual S32     getSize(const char *blockname, const char *varname);
00093         virtual S32     getSize(const char *blockname, S32 blocknum, 
00094                                                 const char *varname);
00095 
00096         virtual void clearMessage();
00097 
00098         virtual const char* getMessageName() const;
00099         virtual S32 getMessageSize() const;
00100 
00101         virtual void copyToBuilder(LLMessageBuilder&) const;
00102 
00104         void setMessage(const char* name, const LLSD& msg);
00105 
00106 private:
00107         const char* mMessageName; // Canonical (prehashed) string.
00108         LLSD mMessage;
00109 };
00110 
00111 #endif // LL_LLSDMESSAGEREADER_H

Generated on Thu Jul 1 06:09:08 2010 for Second Life Viewer by  doxygen 1.4.7