VR-Link API Documentation for DIS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
attributeChangeResInter.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 1992-2010 VT MAK
3 ** All rights reserved.
4 *********************************************************************/
5 
6 
7 #ifndef attributeChangeResInter_H_
8 #define attributeChangeResInter_H_
9 
10 #if DtHLA
11 
12 #include "interactionWithEncDec.h"
13 #include "hostStructs.h"
14 #include <matrix/vlMath.h>
15 #include "datumRecordSet.h"
16 
17 
18 
22 
23 class DT_DLL_VL DtAttributeChangeResInter;
25 
26 
28 typedef void (*DtAttributeChangeResInterCb)(DtAttributeChangeResInter* inter,
29  void* usr);
30 
31 
35 class DT_DLL_VL DtAttributeChangeResInter : public DtInteractionWithEncDec
36 {
37 public:
38 
40  DtAttributeChangeResInter();
41 
43  virtual ~DtAttributeChangeResInter();
44 
46  DtAttributeChangeResInter(const DtAttributeChangeResInter& orig);
47 
49  DtAttributeChangeResInter& operator=(const DtAttributeChangeResInter& orig);
50 
52  virtual void printData() const;
53 
55  virtual void printDataToStream(std::ostream& stream) const;
56 
58  virtual void setObjectId(const DtGlobalObjectDesignator &id);
59  virtual const DtGlobalObjectDesignator &objectId() const;
60 
62  virtual void setNumPairs(DtU32 pairs);
63  virtual DtU32 numPairs() const;
64 
65 #if DtHLA_1516
66  virtual void setAvMap( const RTI::AttributeHandleValueMap& atts);
67 
68  virtual const RTI::AttributeHandleValueMap& avMap() const;
69 #else
70  virtual void setAvPairSet(
71  const RTI::AttributeHandleValuePairSet& atts);
72 
73  virtual const RTI::AttributeHandleValuePairSet& avPairSet() const;
74 #endif
75 
77 #if DtHLA_1516
78  virtual void setAttributeHandle(DtU32 index, RTI::AttributeHandle handle);
79  virtual RTI::AttributeHandle attributeHandle(DtU32 index) const;
80 #else
81  virtual void setAttributeHandle(DtU32 index, DtU32 handle);
82  virtual DtU32 attributeHandle(DtU32 index) const;
83 #endif
84 
86  virtual void setAttributeValueLength(DtU32 index, DtU32 length);
87  virtual DtU32 attributeValueLength(DtU32 index) const;
88 
89  virtual void setAttributeValue(DtU32 index, const char* usr);
90  virtual const char* attributeValue(DtU32 index) const;
91 
97  virtual DtDatumRecordSet* datumRecSet();
98  virtual const DtDatumRecordSet* datumRecSet() const;
99 
101  virtual void setAttributeChangeResult(DtAttributeChangeResult result);
102  virtual DtAttributeChangeResult attributeChangeResult() const;
103 
105  virtual const char* name() const;
106 
107 public:
108 
111  static DtInteraction* create();
112 
115  static void addCallback(DtExerciseConn* conn,
116  DtAttributeChangeResInterCb cb, void* usr,
117  DtDDMRegionSP region = DtDDMRegionSP());
118  static void removeCallback(DtExerciseConn* conn,
119  DtAttributeChangeResInterCb cb, void* usr,
120  DtDDMRegionSP region = DtDDMRegionSP());
121 
122 protected:
123  DtGlobalObjectDesignator myObjectId;
124  DtDatumRecordSet myRecordSet;
125  DtAttributeChangeResult myAttributeChangeResult;
126 #if DtHLA_1516
127  mutable RTI::AttributeHandleValueMap myMap;
128 #endif
129 };
130 
131 inline const char* DtAttributeChangeResInter::name() const
132 {
133  return "DtAttributeChangeResInter";
134 }
135 
136 #endif
137 #endif
138 

Document ID: Generated on Tue Mar 1 02:56:17 EST 2016 from SVN revision 162687
Copyright © 2005-2014 VT MÄK. All Rights Reserved (www.mak.com)