00001 #ifndef CYBPROXYMGRC_H 00002 #define CYBPROXYMGRC_H 00003 00004 00005 #include "oaw/misc/arrayc.h" 00006 #include "oaw/ctk/cybwrlfields.h" 00007 #include "../oawconfig.h" 00008 00009 OAW_BEGIN_NAMESPACE 00010 00011 00012 class CybScriptC; 00013 class CybProxyC; 00014 class CybNodeC; 00015 class CybWorldC; 00016 00017 class OAW_DLLMAPPING CybProxyManagerC{ 00018 00019 friend class CybProxyC; 00020 public: 00021 CybProxyManagerC(CybWorldC*,CybScriptC*); 00022 ~CybProxyManagerC(); 00023 const SFNode* getProxyNode(long nid); 00024 const SFNode* getProxyNode(const char*); 00025 const SFNode* getNilNode(); 00026 SFNode* createProxyNode(long nid); 00027 void decNodeRefCount(const SFNode*); 00028 void incNodeRefCount(const SFNode*); 00029 void GarbageCollection(); 00030 00031 long GetEventBufMaxDataSize(); 00032 long GetEventBufMinDataSize(); 00033 void SetEventBufData(AnyC& any); 00034 void CopyEventBufData(AnyC& any,long maxLen); 00035 00036 protected: 00037 void proxyNodeIDChanged(CybProxyC*); 00038 protected: 00039 CybProxyC* m_pNilProxy; 00040 CybScriptC* m_pScript; 00041 CybWorldC* m_pWorld; 00042 ArrayC<const CybProxyC*> m_proxys; 00043 ArrayC<long> m_proxysNodeIDs; 00044 ArrayC<long> m_proxysRefCount; 00045 ArrayC<long> m_nodesWithNoProxys; 00046 ArrayC<long> m_newNodesWithProxys; 00047 00048 }; 00049 00050 00051 OAW_END_NAMESPACE 00052 00053 00054 #endif
1.3-rc2