![]() |
MAK RTIspy API Documentation for HLA Evolved
|
00001 /********************************************************************* 00002 ** Copyright (c) 1998 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: momInterCbMgr.h,v $ $Revision: 1.7 $ $State: Exp $ 00007 *********************************************************************/ 00008 00011 00012 #ifndef DtMomInterCbMgr_H_ 00013 #define DtMomInterCbMgr_H_ 00014 00015 #ifdef DtMOM 00016 00017 #include "rtiMsConfig.h" 00018 #include <vlutil/vlList.h> 00019 #include "internalTypes.h" 00020 00021 class DtMomInteraction; 00022 class DtMomInterCallbackInfo; 00023 class DtFomClassMgr; 00024 00026 typedef void (*DtMomInterCallbackFcn)(const DtMomInteraction& msg, void* usr); 00027 00031 class DT_DLL_LRC DtMomInterCbMgr 00032 { 00033 public: 00034 00036 DtMomInterCbMgr(DtFomClassMgr* fomMgrPtr); 00037 00039 virtual ~DtMomInterCbMgr(); 00040 00042 DtMomInterCbMgr(const DtMomInterCbMgr& orig); 00043 00045 DtMomInterCbMgr& operator=(const DtMomInterCbMgr& orig); 00046 00048 virtual DtFomClassMgr* fom(); 00049 00051 virtual void addInterCallback(DtInteractionClassHandle handle, 00052 DtMomInterCallbackFcn fcn, void* usr); 00053 00055 virtual void removeInterCallback(DtInteractionClassHandle handle, 00056 DtMomInterCallbackFcn fcn, void* usr); 00057 00059 virtual void processInteraction(const DtMomInteraction& msg) const; 00060 00062 virtual int numCallbacks(DtInteractionClassHandle handle ) const; 00063 00064 protected: 00065 00067 virtual void addInterCallback(DtInteractionClassHandle handle, 00068 DtMomInterCallbackInfo* info); 00069 00071 virtual void removeInterCallback(DtInteractionClassHandle handle, 00072 const DtMomInterCallbackInfo& info); 00073 00076 void emptyList(); 00077 00080 void copyList(const DtMomInterCbMgr& orig); 00081 00082 protected: 00083 00085 MAKRti::DtList* myCbList; 00086 00088 DtFomClassMgr* myFom; 00089 00090 const unsigned int myMaxInteractions; 00091 }; 00092 00093 #endif 00094 #endif 00095