00001
00011 #ifndef __TVU_OBJECTS_MANAGER_H__
00012 #define __TVU_OBJECTS_MANAGER_H__
00013
00015 #include "tvu_typesdef.h"
00016
00018 class CTObjectsManager
00019 {
00020 public:
00022 CTObjectsManager();
00023 ~CTObjectsManager();
00024 public:
00026 CTObject* CreateObject(TLPCSTR lpNameClass, TBOOL bMaybeByName = TFALSE);
00028 TINT Find(CTObject* pObject);
00030 TBOOL Add(CTObject* pObject);
00032 TBOOL Remove(CTObject* pObject);
00033 TBOOL Remove(TINT id);
00035 TBOOL Delete(CTObject* pObject);
00037 TVOID InitNamesID();
00038 TBOOL RegisterClasses();
00039 public:
00041 static CTObjectsManager* Default;
00042 public:
00043 static TBOOL RegisterClassCreateFunction(TLPCSTR ClassName, CREATE_NEW_OBJECT_FUNCTION CreateObjectFunction);
00044 static TBOOL RegisterAttribute(TLPCSTR AttributeName, CREATE_NEW_OBJECT_FUNCTION CreateObjectFunction);
00045 public:
00048 CTTree m_ClassName;
00050 CTTree m_Keywords;
00052 CTTree m_FieldName;
00054 CTTree m_OPName;
00056 CTTree m_OTName;
00058 CTTree m_ObjectClassName;
00060 CTTree m_GenerateFunctions;
00061 protected:
00062 LPTBYTE* m_lpBuffers;
00063 TINT m_Max;
00064 };
00065
00066 TBOOL TVU_BaseInit();
00067
00068 #endif