10 #ifndef hReflectedFed_H_
11 #define hReflectedFed_H_
18 class DtReflectedFederate;
20 typedef void (*DtFederateCallbackFunction)(
21 DtReflectedFederate* obj,
void* userData);
30 typedef DtFederateStateRepository* (*DtStateRepCreator)();
37 virtual ~DtReflectedFederate();
40 virtual DtFederateStateRepository* federateRep()
const;
43 virtual DtFederateStateRepository* fsr()
const;
47 virtual DtReflectedFederate*
next()
const;
51 virtual DtReflectedFederate*
prev()
const;
55 virtual DtReflectedFederate*
wrapNext()
const;
59 virtual DtReflectedFederate*
wrapPrev()
const;
63 virtual void addPostUpdateCallback(
64 DtFederateCallbackFunction cb,
void* userData);
68 virtual void removePostUpdateCallback(
69 DtFederateCallbackFunction cb,
void* userData);
73 static DtStateRepCreator setStateRepCreator(DtStateRepCreator creator);
77 DtReflectedFederate(
const DtReflectedFederate& orig);
80 DtReflectedFederate&
operator=(
const DtReflectedFederate& orig);
84 static DtStateRepCreator theStateRepCreator;
87 inline DtFederateStateRepository* DtReflectedFederate::federateRep()
const
89 return (DtFederateStateRepository*) myStateRep;
92 inline DtFederateStateRepository* DtReflectedFederate::fsr()
const
94 return (DtFederateStateRepository*) myStateRep;