![]() |
MAK RTIspy API Documentation for HLA Evolved
|
00001 /********************************************************************* 00002 ** Copyright (c) 2001 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: momFactory.h,v $ $Revision: 1.12 $ $State: Exp $ 00007 *********************************************************************/ 00008 #ifdef DtMOM 00009 00010 00011 00012 #ifndef DtMomInteractionFactory_H_ 00013 #define DtMomInteractionFactory_H_ 00014 00015 #include "mInteraction.h" 00016 #include <vlutil/vlHashlist.h> 00017 00018 class DtInteractionClassInfo; 00019 00020 typedef DtMomInteraction *(*DtMomInteractionCreator)(); 00021 00022 class DT_DLL_LRC DtMomInteractionFactory 00023 { 00024 public: 00025 00027 DtMomInteractionFactory(DtHandleMapper* handleMapper); 00028 00030 virtual ~DtMomInteractionFactory(); 00031 00033 virtual DtMomInteraction* create(DtInteractionClassHandle handle); 00034 00036 virtual int badMappingCount() const; 00037 00038 protected: 00039 00041 virtual void populateMom(); 00042 00045 virtual bool map(const char* name, DtMomInteractionCreator function); 00046 00048 virtual void map(DtInteractionClassInfo* info, 00049 DtMomInteractionCreator function); 00050 00052 virtual void map(DtInteractionClassHandle handle, 00053 DtMomInteractionCreator function); 00054 00055 protected: 00056 00058 MAKRti::DtHashList *myMap; 00059 00061 DtHandleMapper* myHandleMapper; 00062 00064 int myBadMappingCount; 00065 00066 private: 00067 00069 DtMomInteractionFactory(const DtMomInteractionFactory& orig); 00070 00072 DtMomInteractionFactory& operator=(const DtMomInteractionFactory& orig); 00073 }; 00074 00075 #endif 00076 #endif