15 #include <vl/globalObjectDesignator.h>
17 class DtEmitterSystemRepository;
22 namespace DtTenaBroker
26 class DtReflectedEmitterSystem;
29 typedef void (*DtEmitterSystemCallbackFunction)(
30 DtReflectedEmitterSystem* obj,
void* userData);
35 class DT_DLL_VLTENA DtReflectedEmitterSystem :
public DtReflectedObject
41 typedef DtEmitterSystemRepository* (*DtStateRepCreator)();
46 DtReflectedEmitterSystem(DtExerciseConn* conn);
49 virtual ~DtReflectedEmitterSystem();
52 virtual DtReflectedEmitterSystem* next()
const;
56 virtual DtEmitterSystemRepository* emitterSysRep()
const;
59 virtual DtEmitterSystemRepository* esr()
const;
62 virtual DtReflectedEmitterSystem* prev()
const;
66 virtual DtReflectedEmitterSystem* wrapNext()
const;
70 virtual DtReflectedEmitterSystem* wrapPrev()
const;
73 void removePostUpdateCallback( DtEmitterSystemCallbackFunction ,
void* );
76 void addPostUpdateCallback( DtEmitterSystemCallbackFunction ,
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 DtReflectedEmitterSystem(
const DtReflectedEmitterSystem& orig);
96 DtReflectedEmitterSystem& operator=(
const DtReflectedEmitterSystem& orig);
100 static DtStateRepCreator theStateRepCreator;
104 inline DtEmitterSystemRepository* DtReflectedEmitterSystem::emitterSysRep()
const
106 return (DtEmitterSystemRepository*) myStateRep;
109 inline DtEmitterSystemRepository* DtReflectedEmitterSystem::esr()
const
111 return (DtEmitterSystemRepository*) myStateRep;