VR-Link API Documentation for HLA 1.3
hAttChgReqInt.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 hAttChgReqInt_H_
00008 #define hAttChgReqInt_H_
00009 
00010 #if DtHLA
00011 
00012 #include "hIntWEncDec.h"
00013 #include "hostStructs.h"
00014 #include <matrix/vlMath.h>
00015 #include "objDesList.h"
00016 #include "datumRecSet.h"
00017 
00018 
00019 
00023 
00024 class DT_DLL_VL DtAttributeChangeReqInter;
00025 class DT_DLL_VL DtExerciseConn;
00026 
00027 
00029 typedef void (*DtAttributeChangeReqInterCb)(DtAttributeChangeReqInter* inter,
00030    void* usr);
00031 
00032 
00033 
00037 class DT_DLL_VL DtAttributeChangeReqInter : public DtInteractionWithEncDec
00038 {
00039 public:
00040 
00042    DtAttributeChangeReqInter();
00043 
00045    virtual ~DtAttributeChangeReqInter();
00046 
00048    DtAttributeChangeReqInter(const DtAttributeChangeReqInter& orig);
00049 
00051    DtAttributeChangeReqInter& operator=(const DtAttributeChangeReqInter& orig);
00052 
00054    virtual void printData() const;
00055 
00057    virtual void printDataToStream(std::ostream& stream) const;
00058 
00060    virtual const DtGlobalObjectDesignatorList& objectIDs() const;
00061    virtual DtGlobalObjectDesignatorList* objectIDs();
00062 
00064    virtual void setNumIds(DtU8 numIds);
00065    virtual DtU8 numIds() const;
00066 
00068    virtual void setNthObjectId(DtInt32 idIndex, 
00069       const DtGlobalObjectDesignator& id);
00070    virtual const DtGlobalObjectDesignator& nthObjectId(DtInt32 idIndex) const;
00071 
00073    virtual void setNumPairs(DtU32 pairs);
00074    virtual DtU32 numPairs() const;
00075 
00076 #if DtHLA_1516
00077    virtual void setAvMap( const RTI::AttributeHandleValueMap& atts);
00078    virtual const RTI::AttributeHandleValueMap& avMap() const;
00079 #else
00080    virtual void setAvPairSet( const RTI::AttributeHandleValuePairSet& atts);
00081    virtual const RTI::AttributeHandleValuePairSet& avPairSet() const;
00082 #endif
00083 
00085 #if DtHLA_1516
00086    virtual void setAttributeHandle(DtU32 index, RTI::AttributeHandle handle);
00087    virtual RTI::AttributeHandle attributeHandle(DtU32 index) const;
00088 #else
00089    virtual void setAttributeHandle(DtU32 index, DtU32 handle);
00090    virtual DtU32 attributeHandle(DtU32 index) const;
00091 #endif
00092 
00094    virtual void setAttributeValueLength(DtU32 index, DtU32 length);
00095    virtual DtU32 attributeValueLength(DtU32 index) const;
00096 
00097    virtual void setAttributeValue(DtU32 index, const char* usr);
00098    virtual const char* attributeValue(DtU32 index) const;
00099 
00105    virtual DtDatumRecordSet* datumRecSet(); 
00106    virtual const DtDatumRecordSet* datumRecSet() const;
00107 
00109    virtual const char* name() const;
00110 
00111 public:
00112 
00115    static DtInteraction* create();
00116 
00119    static void addCallback(DtExerciseConn* conn,
00120       DtAttributeChangeReqInterCb cb, void* usr,
00121       DtDDMRegionSP region = DtDDMRegionSP());
00122    static void removeCallback(DtExerciseConn* conn,
00123       DtAttributeChangeReqInterCb cb, void* usr,
00124       DtDDMRegionSP region = DtDDMRegionSP());
00125 
00126 protected:
00127 
00128    DtGlobalObjectDesignatorList myObjectList;
00129    DtGlobalObjectDesignator myNthId;
00130    DtDatumRecordSet myRecordSet;   
00131 
00132 #if DtHLA_1516
00133    mutable RTI::AttributeHandleValueMap myMap;
00134 #endif
00135 
00136 };
00137 
00138 inline const char* DtAttributeChangeReqInter::name() const
00139 {
00140    return "DtAttributeChangeReqInter";
00141 }
00142 
00143 #endif
00144 #endif
00145 

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)