![]() |
MAK RTIspy API Documentation for HLA Evolved
|
00001 /********************************************************************* 00002 ** Copyright (c) 2001 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: repSyncPointStatus.h,v $ $Revision: 1.5 $ $State: Exp $ 00007 *********************************************************************/ 00008 00011 00012 #ifndef DtReportSynchronizationPointStatusInteraction_H_ 00013 #define DtReportSynchronizationPointStatusInteraction_H_ 00014 #ifdef DtMOM 00015 #if defined(DtIFSPEC1516) || defined(DtIFSPEC1516E) 00016 00017 #include "rtiMsConfig.h" 00018 #include "internalTypes.h" 00019 #include "mInteraction.h" 00020 #include <vlutil/vlList.h> 00021 #include "fedHandleSet.h" 00022 00023 class DtMomInterCbMgr; 00024 class DtReportSynchronizationPointStatusInteraction; 00025 typedef void (*DtReportSynchronizationPointStatusInteractionCb) 00026 (const DtReportSynchronizationPointStatusInteraction& inter, void* usr); 00027 00028 class DT_DLL_LRC DtReportSynchronizationPointStatusInteraction : 00029 public DtReportInteraction 00030 { 00031 public: 00032 00034 DtReportSynchronizationPointStatusInteraction(); 00035 00037 virtual ~DtReportSynchronizationPointStatusInteraction(); 00038 00040 DtReportSynchronizationPointStatusInteraction( 00041 const DtReportSynchronizationPointStatusInteraction& orig); 00042 00044 DtReportSynchronizationPointStatusInteraction& operator=( 00045 const DtReportSynchronizationPointStatusInteraction& orig); 00046 00049 virtual const DtPhvps& phvps(); 00050 00053 virtual bool setFromPhvps(const DtPhvps& phvps); 00054 00056 virtual std::wstring const & syncPointName() const; 00057 virtual std::wstring & syncPointName(); 00058 virtual void setSyncPointName(std::wstring const & data); 00059 00061 virtual DtMomHandleList const & federateSet() const; 00062 virtual DtMomHandleList & federateSet(); 00063 virtual void setFederateSet(DtMomHandleList const & data); 00064 00065 00066 public: 00068 static DtReportInteraction* create(); 00069 00071 static void addCallback(DtMomInterCbMgr* callBackManager, 00072 DtReportSynchronizationPointStatusInteractionCb cb, void* usr); 00073 static void removeCallback(DtMomInterCbMgr* callBackManager, 00074 DtReportSynchronizationPointStatusInteractionCb cb, void* usr); 00075 00076 protected: 00077 00079 virtual void encodeSyncPointName( 00080 const DtMomInteraction& data, 00081 DtPhvps* parameters, 00082 DtParameterHandle parameterHandle); 00083 00085 virtual void encodeSyncPointFederates( 00086 const DtMomInteraction& data, 00087 DtPhvps* parameters, 00088 DtParameterHandle parameterHandle); 00089 00091 virtual void decodeSyncPointName( 00092 DtMomInteraction* data, 00093 const DtPhvps& parameters, 00094 int index); 00095 00097 virtual void decodeSyncPointFederates( 00098 DtMomInteraction* data, 00099 const DtPhvps& parameters, 00100 int index); 00101 00102 public: 00103 static const char* theInteractionName; 00104 00105 protected: 00107 std::wstring mySyncPointName; 00108 DtMomHandleList myFederateSet; 00109 00110 const char *SYNC_POINT_NAME_PARAMETER_NAME; 00111 const char *SYNC_POINT_FEDERATES_PARAMETER_NAME; 00112 00113 }; 00114 00115 #endif //! DtIFSPEC1516 00116 #endif //! DtMOM 00117 #endif //! DtReportSynchronizationPointStatusInteraction_H_