00001 /*******************************************************/ 00009 #if !defined(_AJA_ELEMENTPARENT_H_) 00010 #define _AJA_ELEMENTPARENT_H_ 00011 00012 #include "aja.h" 00013 00014 namespace aja 00015 { 00016 typedef std::multimap<number_t,ElementItem*>elementArray_t; 00017 00018 00019 /*************************************************/ 00027 class ElementParent : public ElementItem 00028 { 00029 public: 00030 ElementParent(number_t id); 00031 ~ElementParent(); 00032 00034 // METHODS 00036 public: 00037 void clearChilds(); 00038 number_t getChildsCount(); 00039 number_t getChildsCount(number_t id); 00040 ElementItem* getChild(unsigned int index); 00041 ElementItem* getChildByID(number_t id); 00042 bool addChild(ElementItem* element); 00043 number_t getDataSize(); 00044 00045 00047 // MEMBERS 00049 protected: 00050 elementArray_t mChildElements; 00051 00052 00054 // VIRTUAL FUNCTIONS 00056 public: 00057 bool buildAja(OutputBuffer& out); 00058 bool parseElmData(buffer_t buffer, unsigned int size, unsigned int& pos); 00059 std::string getElementContent(); 00060 number_t getItemSize(); 00061 }; 00062 } 00063 00064 #endif