00001 /*******************************************************/ 00009 #if !defined(_AJA_ITEM_H_) 00010 #define _AJA_ITEM_H_ 00011 00012 #include "aja_types.h" 00013 00014 namespace aja 00015 { 00016 class DocumentHeader; 00017 00018 /************************************************************/ 00028 class Item 00029 { 00030 public: 00031 Item(); 00032 Item(itemType_t type); 00033 virtual ~Item(); 00034 00036 // METHODS 00038 public: 00039 itemType_t getItemType(); 00040 Item* getParent(); 00041 void setParent(Item* parent); 00042 00043 00045 // MEMBERS 00047 protected: 00048 itemType_t mItemType; 00049 Item* mParent; 00050 00051 00053 // VIRTUAL FUNCTIONS 00055 public: 00056 /************************************************************/ 00068 virtual number_t getItemSize() = 0; 00069 00070 00071 /************************************************************/ 00085 virtual bool buildAja(OutputBuffer& out) = 0; 00086 00087 }; 00088 } 00089 00090 00091 #endif