00001 /*******************************************************/ 00009 #if !defined(_AJA_ATTRIBUTEDATA_H_) 00010 #define _AJA_ATTRIBUTEDATA_H_ 00011 00012 #include "aja.h" 00013 00014 namespace aja 00015 { 00016 00017 /*****************************************************/ 00030 class AttributeData : public AttributeItem 00031 { 00032 public: 00033 AttributeData(byte_t id, const void* buffer, unsigned int size); 00034 AttributeData(byte_t id); 00035 virtual ~AttributeData(); 00036 00037 00039 // METHODS 00041 public: 00042 buffer_t getData(); 00043 dbyte_t getDataSize(); 00044 void clearData(); 00045 bool copyData(buffer_t buffer, unsigned int size); 00046 bool copyData(const char* buffer, unsigned int size); 00047 bool setData(buffer_t buffer, unsigned int size); 00048 00049 00051 // MEMBERS 00053 protected: 00054 dbyte_t mDataSize; 00055 buffer_t mData; 00056 00057 00059 // EVENTS & VIRTUAL METHODS 00061 public: 00062 number_t getItemSize(); 00063 bool parseAttrData(buffer_t buffer, unsigned int size, unsigned int& pos); 00064 void getValueStr(std::string& out); 00065 bool buildAja(OutputBuffer& out); 00066 }; 00067 } 00068 00069 #endif