12 #ifndef tExerciseConn_H_
13 #define tExerciseConn_H_
15 #include <TENA/Middleware/config.h>
16 #include <TENA/Middleware/SDO/ID.h>
40 typedef DtLromMapper* (*DtLromMapperCreator)(
void* usr);
43 typedef void (*DtLromMapperDeletor)(DtLromMapper*);
55 const DtString& sessionName,
const DtString& orbDefaultInitRef,
bool useAmo =
true,
56 TENA::Middleware::CommunicationProperties transport = TENA::Middleware::Reliable);
70 virtual TENA::Middleware::SessionPtr sessionPtr();
92 virtual int siteId()
const;
102 virtual void drainInput(
int usecs = 20);
105 virtual void addInteractionCallback(
const DtString& name,
109 virtual void removeInteractionCallback(
const DtString& name,
113 virtual void applyInteractionCallback(
const DtString& name,
117 virtual DtLromMapper *lromMapper();
128 virtual void setReflecting();
131 virtual bool reflecting()
const;
135 virtual DtAmoPublisher* amoPublisher();
140 virtual void setTransportType(TENA::Middleware::CommunicationProperties transportType);
143 virtual TENA::Middleware::CommunicationProperties transportType()
const;
148 virtual void incrementNumberOfObjectsServed();
153 virtual void decrementNumberOfObjectsServed();
158 virtual void incrementNumberOfProxies();
163 virtual void decrementNumberOfProxies();
168 void initializeLromMapper(
const DtString& lromMapperLibName,
void* initData);
170 void getFuncsFromSharedLib(
DtDynamicLibrary& dso, DtLromMapperCreator* creator,
171 DtLromMapperDeletor* deletor);
175 TENA::Middleware::RuntimePtr myRuntimePtr;
176 TENA::Middleware::ExecutionPtr myExecutionPtr;
177 TENA::Middleware::SessionPtr mySessionPtr;
178 TENA::Middleware::CommunicationProperties myTransportType;
187 DtInteractionCallbackManager myInteractionCallbackManager;
188 DtLromMapper *myLromMapper;
189 DtLromMapperCreator myDsoCreator;
190 DtLromMapperDeletor myDsoDeletor;
191 bool myUseLromMapperDeletor;
193 DtAmoPublisher* myAmoPublisher;