![]() |
MAK RTIspy API Documentation for HLA 1.3
|
00001 /********************************************************************* 00002 ** Copyright (c) 1998 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: pHandValSet.h,v $ $Revision: 1.13 $ $State: Exp $ 00007 *********************************************************************/ 00008 00011 00012 #ifndef DtPhvps_H_ 00013 #define DtPhvps_H_ 00014 00015 #include "rtiMsConfig.h" 00016 #include <memory> 00017 #if defined(DtIFSPEC1516) || defined(DtIFSPEC1516E) 00018 #include "RTI/RTI1516.h" 00019 #else 00020 #ifdef DtIFSPEC13DLC 00021 #include "RTI13.h" 00022 #else 00023 #include "RTI.hh" 00024 #endif 00025 #endif 00026 #include "internalTypes.h" 00027 00028 class DtInteractionClassInfo; 00029 00030 #ifdef DtIFSPEC1516 00031 00032 class DT_DLL_LRC DtPhvps 00033 { 00034 public: 00035 00037 DtPhvps(rti1516::ParameterHandleValueMap* phvpm); 00038 00040 virtual ~DtPhvps(); 00041 00042 virtual MAKRti::DtU32 size() const; 00043 00044 virtual DtParameterHandle getHandle(MAKRti::DtU32 i) const; 00045 00046 virtual MAKRti::DtU32 getValueLength(MAKRti::DtU32 i) const; 00047 00048 virtual void getValue(MAKRti::DtU32 i, char *buff, 00049 MAKRti::DtU32& valueLength) const; 00050 00051 virtual char *getValuePointer(MAKRti::DtU32 i, 00052 MAKRti::DtU32& valueLength) const; 00053 00054 virtual unsigned long getTransportType() const; 00055 00056 virtual unsigned long getOrderType() const; 00057 00058 virtual void print(DtInteractionClassInfo* fomClass) const; 00059 00060 virtual void add(DtParameterHandle h, const char *buff, 00061 MAKRti::DtU32 valueLength); 00062 00063 virtual void addPointer(DtParameterHandle h, void const* buff, 00064 MAKRti::DtU32 valueLength); 00065 00066 virtual void remove(DtParameterHandle h); 00067 00068 virtual void moveFrom(DtPhvps& phvp, MAKRti::DtU32 &i); 00069 00070 virtual void empty(); 00071 00072 virtual MAKRti::DtU32 start() const; 00073 virtual MAKRti::DtU32 valid(MAKRti::DtU32 i) const; 00074 virtual MAKRti::DtU32 next(MAKRti::DtU32 i) const; 00075 00076 virtual rti1516::ParameterHandleValueMap::const_iterator 00077 getConstIterator(MAKRti::DtU32 i) const; 00078 virtual rti1516::ParameterHandleValueMap::iterator 00079 getIterator(MAKRti::DtU32 i); 00080 00081 virtual void print() const; 00082 00083 virtual rti1516::ParameterHandleValueMap* getImplementation() const ; 00084 00086 virtual void setChannel(unsigned long channelValue); 00087 virtual unsigned long channel() const; 00088 00090 virtual void setTransportType(unsigned long type); 00091 virtual unsigned long transportType() const; 00092 00094 virtual void setOrderType(unsigned long type); 00095 virtual unsigned long orderType() const; 00096 00097 public: 00098 static void setDefaultChannel(unsigned long defaultChannelValue); 00099 static unsigned long defaultChannel(); 00100 00101 private: 00103 DtPhvps(); 00104 00105 protected: 00106 00107 static unsigned long theDefaultChannel; 00108 unsigned long myChannel; 00109 00110 rti1516::ParameterHandleValueMap* myPhvpMap; 00111 00112 unsigned long myTransportType; 00113 unsigned long myOrderType; 00114 }; 00115 00116 #elif defined(DtIFSPEC1516E) 00117 00118 class DT_DLL_LRC DtPhvps 00119 { 00120 public: 00121 00123 DtPhvps(rti1516e::ParameterHandleValueMap* phvpm); 00124 00126 virtual ~DtPhvps(); 00127 00128 virtual MAKRti::DtU32 size() const; 00129 00130 virtual DtParameterHandle getHandle(MAKRti::DtU32 i) const; 00131 00132 virtual MAKRti::DtU32 getValueLength(MAKRti::DtU32 i) const; 00133 00134 virtual void getValue(MAKRti::DtU32 i, char *buff, 00135 MAKRti::DtU32& valueLength) const; 00136 00137 virtual char *getValuePointer(MAKRti::DtU32 i, 00138 MAKRti::DtU32& valueLength) const; 00139 00140 virtual unsigned long getTransportType() const; 00141 00142 virtual unsigned long getOrderType() const; 00143 00144 virtual void print(DtInteractionClassInfo* fomClass) const; 00145 00146 virtual void add(DtParameterHandle h, const char *buff, 00147 MAKRti::DtU32 valueLength); 00148 00149 virtual void addPointer(DtParameterHandle h, void const* buff, 00150 MAKRti::DtU32 valueLength); 00151 00152 virtual void remove(DtParameterHandle h); 00153 00154 virtual void moveFrom(DtPhvps& phvp, MAKRti::DtU32 &i); 00155 00156 virtual void empty(); 00157 00158 virtual MAKRti::DtU32 start() const; 00159 virtual MAKRti::DtU32 valid(MAKRti::DtU32 i) const; 00160 virtual MAKRti::DtU32 next(MAKRti::DtU32 i) const; 00161 00162 virtual rti1516e::ParameterHandleValueMap::const_iterator 00163 getConstIterator(MAKRti::DtU32 i) const; 00164 virtual rti1516e::ParameterHandleValueMap::iterator 00165 getIterator(MAKRti::DtU32 i); 00166 00167 virtual void print() const; 00168 00169 virtual rti1516e::ParameterHandleValueMap* getImplementation() const ; 00170 00172 virtual void setChannel(unsigned long channelValue); 00173 virtual unsigned long channel() const; 00174 00176 virtual void setTransportType(unsigned long type); 00177 virtual unsigned long transportType() const; 00178 00180 virtual void setOrderType(unsigned long type); 00181 virtual unsigned long orderType() const; 00182 00183 public: 00184 static void setDefaultChannel(unsigned long defaultChannelValue); 00185 static unsigned long defaultChannel(); 00186 00187 private: 00189 DtPhvps(); 00190 00191 protected: 00192 00193 static unsigned long theDefaultChannel; 00194 unsigned long myChannel; 00195 00196 rti1516e::ParameterHandleValueMap* myPhvpMap; 00197 00198 unsigned long myTransportType; 00199 unsigned long myOrderType; 00200 }; 00201 00202 00203 #else //! !DtIFSPEC1516 00204 00205 #define DtHvps DtPhvps 00206 #define HandleValuePairSet ParameterHandleValuePairSet 00207 #define DtDEFINING_PHVPS 1 00208 00209 #include "intClassInfo.h" 00210 #include "handleValSet.h" 00211 00212 #undef DtHvps 00213 #undef HandleValuePairSet 00214 #undef DtDEFINING_PHVPS 00215 00216 #endif //! DtIFSPEC1516 00217 00218 #endif