MAK RTIspy API Documentation for HLA 1.3
pHandValSet.h
Go to the documentation of this file.
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

Document ID: Generated on Thu Jun 14 14:15:04 EDT 2012 from SVN revision 116116
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)