![]() |
MAK RTIspy API Documentation for HLA 1.3
|
00001 /********************************************************************* 00002 ** Copyright (c) 2001 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: serDelObj.h,v $ $Revision: 1.9 $ $State: Exp $ 00007 *********************************************************************/ 00008 #ifdef DtMOM 00009 00012 00013 #ifndef DtDeleteObjectInstanceInteraction_H_ 00014 #define DtDeleteObjectInstanceInteraction_H_ 00015 00016 #include "rtiMsConfig.h" 00017 #include "internalTypes.h" 00018 #include "mInteraction.h" 00019 #include <vlutil/vlList.h> 00020 00021 #if defined(DtIFSPEC1516) || defined(DtIFSPEC1516E) 00022 #include <RTI/VariableLengthData.h> 00023 #include <RTI/LogicalTime.h> 00024 #else 00025 #ifdef DtIFSPEC13DLC 00026 #include "RTI13.h" 00027 #define RTI rti13 00028 #else 00029 #include "RTI.hh" 00030 #endif 00031 #endif 00032 00033 00034 class DtMomInterCbMgr; 00035 class DtDeleteObjectInstanceInteraction; 00036 typedef void (*DtDeleteObjectInstanceInteractionCb) 00037 (const DtDeleteObjectInstanceInteraction& inter, void* usr); 00038 00039 class DT_DLL_LRC DtDeleteObjectInstanceInteraction : 00040 public DtServiceInteraction 00041 { 00042 public: 00043 00045 DtDeleteObjectInstanceInteraction(); 00046 00048 virtual ~DtDeleteObjectInstanceInteraction(); 00049 00051 DtDeleteObjectInstanceInteraction( 00052 const DtDeleteObjectInstanceInteraction& orig); 00053 00055 DtDeleteObjectInstanceInteraction& operator=( 00056 const DtDeleteObjectInstanceInteraction& orig); 00057 00060 virtual const DtPhvps& phvps(); 00061 00064 virtual bool setFromPhvps(const DtPhvps& phvps); 00065 00067 #if defined(DtIFSPEC1516) || defined(DtIFSPEC1516E) 00068 virtual DtObjectInstanceHandle instance() const; 00069 virtual void setInstance(DtObjectInstanceHandle data); 00070 #else 00071 virtual MAKRti::DtString const & instance() const; 00072 virtual MAKRti::DtString & instance(); 00073 virtual void setInstance(MAKRti::DtString const & data); 00074 #endif 00075 00077 #ifdef DtIFSPEC1516 00078 virtual rti1516::VariableLengthData const & tag() const; 00079 virtual rti1516::VariableLengthData & tag(); 00080 virtual void setTag(rti1516::VariableLengthData const & data); 00081 #elif defined(DtIFSPEC1516E) 00082 virtual rti1516e::VariableLengthData const & tag() const; 00083 virtual rti1516e::VariableLengthData & tag(); 00084 virtual void setTag(rti1516e::VariableLengthData const & data); 00085 #else 00086 virtual MAKRti::DtString const & tag() const; 00087 virtual MAKRti::DtString & tag(); 00088 virtual void setTag(MAKRti::DtString const & data); 00089 #endif 00090 00093 #ifdef DtIFSPEC1516 00094 virtual bool getFedtime(rti1516::LogicalTime & time) const; 00095 virtual void setFedtime(rti1516::LogicalTime const & time); 00096 #elif defined(DtIFSPEC1516E) 00097 virtual bool getFedtime(rti1516e::LogicalTime & time) const; 00098 virtual void setFedtime(rti1516e::LogicalTime const & time); 00099 #else 00100 virtual bool getFedtime(RTI::FedTime & time) const; 00101 virtual void setFedtime(RTI::FedTime const & time); 00102 #endif 00103 00105 virtual bool fedTimeReceived() const; 00106 00107 public: 00109 static DtServiceInteraction* create(); 00110 00112 static void addCallback(DtMomInterCbMgr* callBackManager, 00113 DtDeleteObjectInstanceInteractionCb cb, void* usr); 00114 static void removeCallback(DtMomInterCbMgr* callBackManager, 00115 DtDeleteObjectInstanceInteractionCb cb, void* usr); 00116 00117 protected: 00118 00120 virtual void encodeInstance( 00121 const DtMomInteraction& data, 00122 DtPhvps* parameters, 00123 DtParameterHandle parameterHandle); 00124 00126 virtual void decodeInstance( 00127 DtMomInteraction* data, 00128 const DtPhvps& parameters, 00129 int index); 00131 virtual void encodeTag( 00132 const DtMomInteraction& data, 00133 DtPhvps* parameters, 00134 DtParameterHandle parameterHandle); 00135 00137 virtual void decodeTag( 00138 DtMomInteraction* data, 00139 const DtPhvps& parameters, 00140 int index); 00142 virtual void encodeFedtime( 00143 const DtMomInteraction& data, 00144 DtPhvps* parameters, 00145 DtParameterHandle parameterHandle); 00146 00148 virtual void decodeFedtime( 00149 DtMomInteraction* data, 00150 const DtPhvps& parameters, 00151 int index); 00152 00153 public: 00154 static const char* theInteractionName; 00155 00156 protected: 00158 #ifdef DtIFSPEC1516 00159 DtObjectInstanceHandle myInstance; 00160 rti1516::VariableLengthData myTag; 00161 #elif defined(DtIFSPEC1516E) 00162 DtObjectInstanceHandle myInstance; 00163 rti1516e::VariableLengthData myTag; 00164 #else 00165 MAKRti::DtString myInstance; 00166 MAKRti::DtString myTag; 00167 #endif 00168 DtMomNetParameter* myEncodedTime; 00169 00170 bool myReceivedInstance; 00171 bool myReceivedTag; 00172 bool myReceivedEncodedTime; 00173 00174 const char *OBJECT_INSTANCE_PARAMETER_NAME; 00175 const char *TAG_PARAMETER_NAME; 00176 const char *FEDTIME_PARAMETER_NAME; 00177 }; 00178 00179 #endif 00180 #endif