![]() |
MAK RTIspy API Documentation for HLA 1.3
|
00001 /********************************************************************* 00002 ** Copyright (c) 2010 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: repFedLost.h,v $ $Revision: 1.5 $ $State: Exp $ 00007 *********************************************************************/ 00008 00011 00012 #ifndef DtReportFederateLostInteraction_H_ 00013 #define DtReportFederateLostInteraction_H_ 00014 #ifdef DtMOM 00015 #ifdef DtIFSPEC1516E 00016 00017 #include "rtiMsConfig.h" 00018 #include "internalTypes.h" 00019 #include "mInteraction.h" 00020 #include <vlutil/vlList.h> 00021 00022 class DtMomInterCbMgr; 00023 class DtReportFederateLostInteraction; 00024 typedef void (*DtReportFederateLostInteractionCb) 00025 (const DtReportFederateLostInteraction& inter, void* usr); 00026 00027 class DT_DLL_LRC DtReportFederateLostInteraction : public DtReportInteraction 00028 { 00029 public: 00030 00032 DtReportFederateLostInteraction(std::auto_ptr < rti1516e::LogicalTime > time); 00033 00035 virtual ~DtReportFederateLostInteraction(); 00036 00037 private: 00038 00040 DtReportFederateLostInteraction(); 00041 00043 DtReportFederateLostInteraction(const DtReportFederateLostInteraction& orig); 00044 00046 DtReportFederateLostInteraction& operator=(const DtReportFederateLostInteraction& orig); 00047 00048 public: 00049 00052 virtual const DtPhvps& phvps(); 00053 00056 virtual bool setFromPhvps(const DtPhvps& phvps); 00057 00059 virtual std::wstring const & federateName() const; 00060 virtual void setFederateName(std::wstring const & data); 00061 00063 virtual rti1516e::LogicalTime const & timeStamp() const; 00064 virtual void setTimeStamp(rti1516e::LogicalTime const & time); 00065 00067 virtual std::wstring const & faultDescription() const; 00068 virtual void setFaultDescription(std::wstring const & data); 00069 00070 00071 public: 00072 00074 static void addCallback(DtMomInterCbMgr* callBackManager, 00075 DtReportFederateLostInteractionCb cb, void* usr); 00076 static void removeCallback(DtMomInterCbMgr* callBackManager, 00077 DtReportFederateLostInteractionCb cb, void* usr); 00078 00079 protected: 00080 00082 virtual void encodeFederateName( 00083 const DtMomInteraction& data, 00084 DtPhvps* parameters, 00085 DtParameterHandle parameterHandle); 00086 00088 virtual void encodeTimeStamp( 00089 const DtMomInteraction& data, 00090 DtPhvps* parameters, 00091 DtParameterHandle parameterHandle); 00092 00094 virtual void encodeFaultDescription( 00095 const DtMomInteraction& data, 00096 DtPhvps* parameters, 00097 DtParameterHandle parameterHandle); 00098 00100 virtual void decodeFederateName( 00101 DtMomInteraction* data, 00102 const DtPhvps& parameters, 00103 int index); 00104 00106 virtual void decodeTimeStamp( 00107 DtMomInteraction* data, 00108 const DtPhvps& parameters, 00109 int index); 00110 00112 virtual void decodeFaultDescription( 00113 DtMomInteraction* data, 00114 const DtPhvps& parameters, 00115 int index); 00116 00117 public: 00118 static const char* theInteractionName; 00119 00120 protected: 00122 std::wstring myFederateName; 00123 std::auto_ptr < rti1516e::LogicalTime > myTimeStamp; 00124 std::wstring myFaultDescription; 00125 00126 const char *FEDERATE_NAME_PARAMETER_NAME; 00127 const char *TIME_STAMP_PARAMETER_NAME; 00128 const char *FAULT_DESCRIPTION_PARAMETER_NAME; 00129 }; 00130 00131 #endif //! DtIFSPEC1516E 00132 #endif //! DtMOM 00133 #endif //! DtReportFederateLostInteraction_H_