00001 00020 #ifndef ARXX_ITEMFACTORY_H 00021 #define ARXX_ITEMFACTORY_H 00022 00023 #include "Common.h" 00024 00031 namespace Arxx 00032 { 00033 class Item; 00034 00035 class Archive; 00036 00044 class ItemFactory 00045 { 00046 public: 00052 ItemFactory(void); 00053 00059 virtual ~ItemFactory(void); 00060 00066 virtual Arxx::Item * pNewItem(Arxx::u4byte u4UniqueID = Arxx::g_u4InvalidID) = 0; 00067 00073 virtual Arxx::Item * pNewItem(Arxx::Archive & Archive, Arxx::u4byte u4UniqueID = Arxx::g_u4InvalidID) = 0; 00074 00080 virtual void vDeleteItem(Arxx::Item * pItem) = 0; 00081 }; 00082 } 00083 00084 #endif