VR-Link API Documentation for DIS
hCrtObjReqInt.h
Go to the documentation of this file.
00001 /*********************************************************************
00002 ** Copyright (c) 1992-2010 VT MAK
00003 ** All rights reserved.
00004 *********************************************************************/
00005 
00006 
00007 #ifndef hCrtObjReqInt_H_
00008 #define hCrtObjReqInt_H_
00009 
00010 #if DtHLA
00011 
00012 #include "hInterWData.h"
00013 #include "hostStructs.h"
00014 #include <matrix/vlMath.h>
00015 
00016 
00017 
00021 
00022 class DT_DLL_VL DtCreateObjReqInter;
00023 class DT_DLL_VL DtExerciseConn;
00024 
00025 
00027 typedef void (*DtCreateObjReqInterCb)(DtCreateObjReqInter* inter, void* usr);
00028 
00029 
00033 class DT_DLL_VL DtCreateObjReqInter : public DtInteractionWithEncDec
00034 {
00035 public:
00036 
00038    DtCreateObjReqInter();
00039 
00041    virtual ~DtCreateObjReqInter();
00042 
00044    DtCreateObjReqInter(const DtCreateObjReqInter& orig);
00045 
00047    DtCreateObjReqInter& operator=(const DtCreateObjReqInter& orig);
00048 
00050    virtual void printData() const;
00051 
00053    virtual void printDataToStream(std::ostream& stream) const;
00054 
00056    virtual void setObjectClass(DtU32 id);
00057    virtual DtU32 objectClass() const;
00058 
00060    virtual void setNumPairs(DtU32 pairs);
00061    virtual DtU32 numPairs() const;
00062 
00063 #if DtHLA_1516
00064    virtual void setAvMap( const RTI::AttributeHandleValueMap& atts);
00065    virtual const RTI::AttributeHandleValueMap& avMap() const;
00066 #else
00067    virtual void setAvPairSet( const RTI::AttributeHandleValuePairSet& atts);
00068    virtual const RTI::AttributeHandleValuePairSet& avPairSet() const;
00069 #endif
00070 
00072 #if DtHLA_1516
00073    virtual void setAttributeHandle(DtU32 index, RTI::AttributeHandle handle);
00074    virtual RTI::AttributeHandle attributeHandle(DtU32 index) const;
00075 #else
00076    virtual void setAttributeHandle(DtU32 index, DtU32 handle);
00077    virtual DtU32 attributeHandle(DtU32 index) const;
00078 #endif
00079 
00081    virtual void setAttributeValueLength(DtU32 index, DtU32 length);
00082    virtual DtU32 attributeValueLength(DtU32 index) const;
00083 
00084    virtual void setAttributeValue(DtU32 index, const char* usr);
00085    virtual const char* attributeValue(DtU32 index) const;
00086 
00092    virtual DtDatumRecordSet* datumRecSet(); 
00093    virtual const DtDatumRecordSet* datumRecSet() const;
00094 
00096    virtual void setRequestId(DtU32 id);
00097    virtual DtU32 requestId() const;
00098 
00100    virtual const char* name() const;
00101 
00102 public:
00103 
00106    static DtInteraction* create();
00107 
00110    static void addCallback(DtExerciseConn* conn,
00111       DtCreateObjReqInterCb cb, void* usr,
00112       DtDDMRegionSP region = DtDDMRegionSP());
00113    static void removeCallback(DtExerciseConn* conn,
00114       DtCreateObjReqInterCb cb, void* usr,
00115       DtDDMRegionSP region = DtDDMRegionSP());
00116 
00117 protected:
00118 
00119 #if DtHLA_1516
00120    mutable RTI::AttributeHandleValueMap myMap;
00121 #endif
00122 
00123    DtU32 myObjectClass;
00124    DtDatumRecordSet myRecordSet;
00125    DtU32 myRequestId;
00126 };
00127 
00128 inline void DtCreateObjReqInter::setObjectClass(DtU32 id)
00129 {
00130    myObjectClass = id;
00131 }
00132 
00133 inline DtU32 DtCreateObjReqInter::objectClass() const
00134 {
00135    return myObjectClass;
00136 }
00137 
00138 inline void DtCreateObjReqInter::setRequestId(DtU32 id)
00139 {
00140    myRequestId = id;
00141 }
00142 
00143 inline DtU32 DtCreateObjReqInter::requestId() const
00144 {
00145    return myRequestId;
00146 }
00147 
00148 inline const char* DtCreateObjReqInter::name() const
00149 {
00150    return "DtCreateObjReqInter";
00151 }
00152 
00153 #endif
00154 #endif
00155 

Document ID: Generated on Mon May 14 08:06:18 EDT 2012 from SVN revision 114750
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)