15 #include <vl/globalObjectDesignator.h>
17 class DtAggregateStateRepository;
19 namespace MAKVrExchange
22 namespace DtTenaBroker
26 class DtReflectedAggregate;
29 typedef void (*DtAggregateCallbackFunction)(
30 DtReflectedAggregate* obj,
void* userData);
35 class DT_DLL_VLTENA DtReflectedAggregate :
public DtReflectedObject
41 typedef DtAggregateStateRepository* (*DtStateRepCreator)();
46 DtReflectedAggregate(DtExerciseConn* conn);
49 virtual ~DtReflectedAggregate();
52 virtual DtReflectedAggregate* next()
const;
56 virtual DtAggregateStateRepository* aggregateStateRep()
const;
59 virtual DtAggregateStateRepository* asr()
const;
62 virtual DtReflectedAggregate* prev()
const;
66 virtual DtReflectedAggregate* wrapNext()
const;
70 virtual DtReflectedAggregate* wrapPrev()
const;
73 void removePostUpdateCallback( DtAggregateCallbackFunction ,
void* );
76 void addPostUpdateCallback( DtAggregateCallbackFunction ,
void* );
79 virtual const DtObjectId& id()
const;
82 virtual const DtGlobalObjectDesignator& globalId()
const;
85 virtual void printDataToStream(std::ostream& str)
const;
88 static DtStateRepCreator setStateRepCreator(DtStateRepCreator creator);
93 DtReflectedAggregate(
const DtReflectedAggregate& orig);
96 DtReflectedAggregate& operator=(
const DtReflectedAggregate& orig);
100 static DtStateRepCreator theStateRepCreator;
104 inline DtAggregateStateRepository* DtReflectedAggregate::aggregateStateRep()
const
106 return (DtAggregateStateRepository*) myStateRep;
109 inline DtAggregateStateRepository* DtReflectedAggregate::asr()
const
111 return (DtAggregateStateRepository*) myStateRep;