00001
#if !defined(__OBJECTFACTORY_HPP)
00002
#define __OBJECTFACTORY_HPP
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
#if !defined(__COMMON_HPP)
00025
#include <Common.hpp>
00026
#endif
00027
00028
#if !defined(__OBJECT_HPP)
00029
#include <Object.hpp>
00030
#endif
00031
00037 DECLARE_CLASS( ObjectFactory );
00038
00039
class ObjectFactory
00040 {
00041
public:
00042
00043
00044
00045
00050 ~ObjectFactory(
void );
00051
00052
00053
00054
00055
00061
static DwordIdentifier getNewIdentifier(
void );
00062
00070
static ObjectCref createObject(
DwordIdentifier );
00071
00077
static void destroyObject(
DwordIdentifier );
00078
00085
static void destroyObject( ObjectCref );
00086
00092
static void destroyAllObjects(
void );
00093
00094
protected:
00095
00096
00097
private:
00098
00099
00100
00101
00103
00104 ObjectFactory(
void );
00105
00107
00108 ObjectFactory( ObjectFactoryCref );
00109
00110
00111
00112
00114
00115 ObjectFactoryRef operator=( ObjectFactoryCref );
00116
00118
00119
bool operator==( ObjectFactoryCref ) const;
00120
00121 private:
00122
00124
00125 static
DwordIdentifier theCurrentIdentifier;
00126
00127 };
00128
00129 #endif
00130
00131
00132
00133
00134
00135
00136
00137
00138