VR-Link API Documentation for HLA 1516
dReflectedAgg.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 1992-2010 VT MAK
3 ** All rights reserved.
4 *********************************************************************/
5 
6 
9 
10 #ifndef DtReflectedAggregate_H_
11 #define DtReflectedAggregate_H_
12 
13 #if DtDIS
14 
15 #include <vlutil/vlMachineTypes.h>
16 #include "dReflectedObj.h"
17 #include "dAggDec.h"
18 #include "aggStatePdu.h"
19 #include "globalObjDes.h"
20 #include "objIdHashKey.h"
21 #include "relLocPdu.h"
22 
26 
29 typedef void (*DtAggregateCallbackFunction)(
30  DtReflectedAggregate* obj, void* userData);
31 
36 {
37 public:
38 
40  typedef DtAggregateStateRepository* (*DtStateRepCreator)();
41 
42 public:
43 
46  const DtEntityIdentifier& id,
47  const DtEntityType& type);
48 
50  virtual ~DtReflectedAggregate();
51 
54  virtual DtAggregateStateRepository* aggregateStateRep() const;
55 
57  virtual DtAggregateStateRepository* asr() const;
58 
62  virtual DtStateRepository* stateRep() const;
63 
66  virtual DtAggregateStateDecoder* decoder();
67 
69  virtual const DtEntityIdentifier& aggregateID() const;
70 
72  virtual const DtObjectId& id() const;
73 
76  virtual const DtGlobalObjectDesignator& globalId() const;
77 
80  virtual void processStateMessage(const DtStateMsg& msg);
81 
82  virtual void processRelativeLocation(const DtRelativeLocationPdu& pdu);
83 
85  virtual DtReflectedAggregate* next() const;
86  virtual DtReflectedAggregate* prev() const;
87 
89  virtual DtReflectedAggregate* wrapNext() const;
90  virtual DtReflectedAggregate* wrapPrev() const;
91 
93  virtual void addPostUpdateCallback(
94  DtAggregateCallbackFunction cb, void* userData);
95  virtual void removePostUpdateCallback(
96  DtAggregateCallbackFunction cb, void* userData);
97 
99  virtual const DtBaseHashKey& hashKey() const;
100 
102  virtual DtString idString() const;
103 
106  virtual void processAggregateState(const DtAggregateStatePdu& pdu);
107 
108 public:
109 
111  static void setStateRepCreator(DtStateRepCreator creator);
112  static DtStateRepCreator stateRepCreator(void);
113 
114 protected:
115 
118 
121 
122 protected:
123 
125  DtAggregateStateRepository* myAggregateStateRep;
126  DtAggregateStateDecoder* myAggregateDecoder;
127  DtEntityIdentifierHashKey myHashKey;
128 
129 protected:
130 
131  static DtStateRepCreator theStateRepCreator;
132 
133 };
134 
135 #endif
136 #endif
137 

Document ID: Generated on Wed Aug 14 15:35:11 EDT 2013 from SVN revision 130445
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)