00001 #ifndef ExtVisObjectH
00002 #define ExtVisObjectH
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00027
00028
00029 #include "VisObject.h"
00030 #include "SimpleList.h"
00031 #include "ExtObject.h"
00032
00033
00034
00035 class CEventIdentifier;
00036 class CExtObject;
00037
00039
00042 class NEMESIS_CORE_PACKAGE CExtVisObject : public CVisObject {
00043 public:
00044 __fastcall CExtVisObject(TComponent* component,CComObject* owner,CPluginObjectInfo* objectinfo);
00045 __fastcall CExtVisObject(TComponent* component,CComObject* owner,CPluginObjectInfo* objectinfo,const CSmallString& name);
00046 __fastcall CExtVisObject(TComponent* component,CVisObject* owner,CPluginObjectInfo* objectinfo);
00047 __fastcall CExtVisObject(TComponent* component,CVisObject* owner,CPluginObjectInfo* objectinfo,const CSmallString& name);
00048
00049 __fastcall ~CExtVisObject(void);
00050
00051 bool __fastcall RegisterEventForServer(const CEventIdentifier& event,CExtObject* server);
00052 bool __fastcall UnregisterEventForServer(const CEventIdentifier& event,CExtObject* server);
00053
00054 bool __fastcall UnregisterAllEvents(void);
00055
00056 virtual void __fastcall ProcessEvent(const CEventIdentifier& event,CExtObject* Sender,void* p_data);
00057
00058 private:
00059 CSimpleList<CExtObject> Servers;
00060 friend class CExtObject;
00061 friend class CExtObject::CEventRecievers;
00062 };
00063
00064
00065
00066 #endif