RO_RegistryBlock.h

00001 /* START_LICENSE_HEADER
00002 
00003 Copyright (C) 2000 Martin Piper, original design and program code
00004 Copyright (C) 2001 Replica Software
00005 
00006 This program file is copyright (C) Replica Software and can only be used under license.
00007 For more information visit: http://www.replicanet.com/
00008 Or email: info@replicanet.com
00009 
00010 END_LICENSE_HEADER */
00011 #ifndef __RO_REGISTRYBLOCK_H__
00012 #define __RO_REGISTRYBLOCK_H__
00013 #include "RNPlatform/Inc/DLLExportAPI.h"
00014 
00015 namespace RNReplicaNet
00016 {
00017 
00018 class ReplicaObject;
00019 
00023 typedef ReplicaObject *p_RO_Func(void);
00024 typedef void p_RO_FuncDelete(ReplicaObject *);
00025 
00029 struct REPLICANETDLL_API s_RO_RegistryBlock
00030 {
00031 public:
00039     s_RO_RegistryBlock(int id,p_RO_Func *pfunc,p_RO_FuncDelete *pfunc_delete,const char *name = 0);
00040 
00045     int GetClassID(void);
00046 
00051     ReplicaObject *CallBackAllocate(void);
00052 
00057     void CallBackDelete(ReplicaObject *object);
00058 
00064     const char *GetName(void) const;
00065 
00066 private:
00067     int mID;
00068     p_RO_Func *mFunc;
00069     p_RO_FuncDelete *mFuncDelete;
00070     const char *mName;
00071 };
00072 
00073 } // namespace RNReplicaNet
00074 
00075 #endif

Generated on Sat Jun 28 22:02:16 2008 for ReplicaNet and RNLobby by  doxygen 1.5.3