VR-Link API Documentation for DIS
hAttChgResInt.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 hAttChgResInt_H_
00008 #define hAttChgResInt_H_
00009 
00010 #if DtHLA
00011 
00012 #include "hIntWEncDec.h"
00013 #include "hostStructs.h"
00014 #include <matrix/vlMath.h>
00015 #include "datumRecSet.h"
00016 
00017 
00018 
00022 
00023 class DT_DLL_VL DtAttributeChangeResInter;
00024 class DT_DLL_VL DtExerciseConn;
00025 
00026 
00028 typedef void (*DtAttributeChangeResInterCb)(DtAttributeChangeResInter* inter,
00029    void* usr);
00030 
00031 
00035 class DT_DLL_VL DtAttributeChangeResInter : public DtInteractionWithEncDec
00036 {
00037 public:
00038 
00040    DtAttributeChangeResInter();
00041 
00043    virtual ~DtAttributeChangeResInter();
00044 
00046    DtAttributeChangeResInter(const DtAttributeChangeResInter& orig);
00047 
00049    DtAttributeChangeResInter& operator=(const DtAttributeChangeResInter& orig);
00050 
00052    virtual void printData() const;
00053 
00055    virtual void printDataToStream(std::ostream& stream) const;
00056 
00058    virtual void setObjectId(const DtGlobalObjectDesignator &id);
00059    virtual const DtGlobalObjectDesignator &objectId() const;
00060 
00062    virtual void setNumPairs(DtU32 pairs);
00063    virtual DtU32 numPairs() const;
00064 
00065 #if DtHLA_1516
00066    virtual void setAvMap( const RTI::AttributeHandleValueMap& atts);
00067 
00068    virtual const RTI::AttributeHandleValueMap& avMap() const;
00069 #else
00070    virtual void setAvPairSet(
00071       const RTI::AttributeHandleValuePairSet& atts);
00072 
00073    virtual const RTI::AttributeHandleValuePairSet& avPairSet() const;
00074 #endif
00075 
00077 #if DtHLA_1516
00078    virtual void setAttributeHandle(DtU32 index, RTI::AttributeHandle handle);
00079    virtual RTI::AttributeHandle attributeHandle(DtU32 index) const;
00080 #else
00081    virtual void setAttributeHandle(DtU32 index, DtU32 handle);
00082    virtual DtU32 attributeHandle(DtU32 index) const;
00083 #endif
00084 
00086    virtual void setAttributeValueLength(DtU32 index, DtU32 length);
00087    virtual DtU32 attributeValueLength(DtU32 index) const;
00088 
00089    virtual void setAttributeValue(DtU32 index, const char* usr);
00090    virtual const char* attributeValue(DtU32 index) const;
00091 
00097    virtual DtDatumRecordSet* datumRecSet(); 
00098    virtual const DtDatumRecordSet* datumRecSet() const;
00099 
00101    virtual void setAttributeChangeResult(DtAttributeChangeResult result);
00102    virtual DtAttributeChangeResult attributeChangeResult() const;
00103 
00105    virtual const char* name() const;
00106 
00107 public:
00108 
00111    static DtInteraction* create();
00112 
00115    static void addCallback(DtExerciseConn* conn,
00116       DtAttributeChangeResInterCb cb, void* usr,
00117       DtDDMRegionSP region = DtDDMRegionSP());
00118    static void removeCallback(DtExerciseConn* conn,
00119       DtAttributeChangeResInterCb cb, void* usr,
00120       DtDDMRegionSP region = DtDDMRegionSP());
00121 
00122 protected:
00123    DtGlobalObjectDesignator myObjectId;
00124    DtDatumRecordSet myRecordSet;   
00125    DtAttributeChangeResult myAttributeChangeResult;
00126 #if DtHLA_1516
00127    mutable RTI::AttributeHandleValueMap myMap;
00128 #endif
00129 };
00130 
00131 inline const char* DtAttributeChangeResInter::name() const
00132 {
00133    return "DtAttributeChangeResInter";
00134 }
00135 
00136 #endif
00137 #endif
00138 

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)