![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2007 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: vrfObjectMessageFactory.h,v $ $Revision: 1.2 $ $State: Exp $ 00007 *******************************************************************************/ 00008 00011 00013 00014 #ifndef vrfObjectMessageFactory_h 00015 #define vrfObjectMessageFactory_h 00016 00017 #include <vlutil/vlHashlist.h> 00018 #include "vrfmsgs/vrfmsgsDefines.h" 00019 00020 class DtVrfObjectMessageFactoryEntry; 00021 class DtReaderWriterRegistry; 00022 class DtVrfObjectMessage; 00023 00025 typedef DtVrfObjectMessage* (*DtVrfObjectMessageCreatorFcn)(); 00026 00029 class DT_DLL_vrfmsgs DtVrfObjectMessageFactory 00030 { 00031 public: 00033 DtVrfObjectMessageFactory(); 00034 00036 DtVrfObjectMessageFactory(const DtVrfObjectMessageFactory& orig); 00037 00039 const DtVrfObjectMessageFactory& operator=( 00040 const DtVrfObjectMessageFactory& orig); 00041 00043 virtual ~DtVrfObjectMessageFactory(); 00044 00046 virtual void addCreatorFcn(const int type, DtVrfObjectMessageCreatorFcn fcn); 00047 00049 virtual DtVrfObjectMessage* createRadioMessage(const int type); 00052 virtual DtVrfObjectMessage* createVrfObjectMessage(const int type); 00053 00055 static DtVrfObjectMessageFactory* create(); 00056 00057 protected: 00059 struct DtVrfObjectMessageFactoryEntry 00060 { 00061 int typeToCreate; 00062 DtVrfObjectMessageCreatorFcn creatorFcn; 00063 }; 00064 00065 protected: 00066 00067 DtHashlist myHashlist; 00068 00069 }; 00070 00071 #endif