27 typedef std::map<DtObjectId, DtReflectedObject*> DtRefHlaObjectMap;
42 const DtDDMRegionSet* regionSetToUse = 0,
61 RTI::ObjectInstanceHandle
id);
63 RTI::ObjectHandle id);
75 virtual int count()
const;
89 virtual void manageObjectClass(RTI::ObjectClassHandle handle);
99 virtual bool removeObject(
const DtObjectId&
id);
102 virtual void addObjectAdditionCallback(
104 virtual void removeObjectAdditionCallback(
108 virtual void addObjectRemovalCallback(
110 virtual void removeObjectRemovalCallback(
114 virtual void print();
118 virtual void setTimeoutProcessing(
bool onOff);
121 virtual bool isTimeoutProcessing()
const;
126 virtual void setWaitListRefreshEnabled(
bool on);
129 virtual void setTimeoutInterval(
DtTime time);
130 virtual DtTime timeoutInterval();
133 virtual void setWaitlistRefreshPeriod(
DtTime time);
134 virtual DtTime waitlistRefreshPeriod();
142 virtual void clearDiscoveryCondition();
145 virtual const DtDDMRegionSet& subscribedRegions();
153 static void setAutoSubscribeFlag(
bool flag);
154 static bool autoSubscribeFlag();
159 static void setRequestClassUpdateFlag(
bool onOff);
160 static bool requestClassUpdateFlag();
164 static void setRequestObjectUpdateFlag(
bool onOff);
165 static bool requestObjectUpdateFlag();
168 static void findDiscoveredObjectsCb(
void* usr);
175 virtual void processDiscoverObject(DtHlaObject* obj);
179 virtual void processRemoveObject(DtHlaObject* obj);
183 virtual void processTimedOutObjectReflect(
const DtStateMsg& msg,
189 virtual void doTimeouts();
193 virtual void doRequestWaitListUpdates();
222 virtual void unTimeOutObject(DtHlaObject* obj);
226 virtual void addObjectClass(RTI::ObjectClassHandle handle);
230 virtual void addObjectClassByName(
const char* className);
234 virtual void init(
const DtList* handleList);
242 void emptyCallbackLists();
245 virtual void processObjectAdditionCallbacks(
247 virtual void processObjectRemovalCallbacks(
254 virtual void findAlreadyDiscoveredObjects();
268 RTI::ObjectInstanceHandle
id);
270 RTI::ObjectHandle id);
277 void unsubscribeRegions();
279 #if DtHLA_1516_EVOLVED
280 const DtString& updateRateSubscriptionName()
const;
289 static void discoverObjectCb(DtHlaObject* hlaObj,
void* rel);
293 static void removeObjectCb(DtHlaObject* hlaObj,
void* rel);
297 static void timedOutObjectReflectCb(
const DtStateMsg& msg,
302 static void doTimeoutsPostDrainCb(
void* usr);
305 static void doRequestWaitListUpdatesPostDrainCb(
void* usr);
313 DtRefHlaObjectMap myObjectList;
315 DtRefHlaObjectMap myWaitList;
316 DtList myTimedOutObjectList;
317 std::vector<RTI::ObjectClassHandle> myHandleList;
321 bool myTimeoutProcessingFlag;
322 bool myWaitListRequestUpdateFlag;
324 void* myDiscoveryConditionParameter;
326 DtTime myWaitlistRefreshPeriod;
327 DtDDMRegionSet mySubscribedRegions;
332 static bool theAutoSubscribeFlag;
333 static bool theRequestClassUpdateFlag;
334 static bool theRequestObjectUpdateFlag;
359 inline void DtReflectedObjectList::setWaitlistRefreshPeriod(
DtTime time)
361 myWaitlistRefreshPeriod = time;
364 inline DtTime DtReflectedObjectList::waitlistRefreshPeriod()
366 return myWaitlistRefreshPeriod;
Instances of DtReflectedObjectList are lists of instances of classes derived from DtReflectedObject...
Definition: reflectedObjectListDIS.h:38
bool(* DtDiscoveryCondition)(DtReflectedObject *refObj, void *usr)
Definition: reflectedObjectListDIS.h:30
Instances of DtExerciseConn are used to provide an application's interface or connection to the netwo...
Definition: exerciseConnDIS.h:61
virtual DtReflectedObject * firstObj() const
Get the first/last object in the list.
#define DT_DLL_VL
Definition: vlMachineTypes.h:108
virtual void setTimeoutInterval(DtTime time)
Set/Get the remote object timeout period.
DtTime myTimeoutInterval
Definition: reflectedObjectListDIS.h:190
virtual DtExerciseConn * exerciseConn() const
Get my exerciseConn.
This file contains typedefs used to represent objects in a protocol neutral way.
An intrusive list is a list that assumes that the elements that you add are pointers to instances of ...
Definition: vlList.h:196
DtList is deprecated, please use std::list<T>.
Definition: vlList.h:71
Instances of DtReflectedObject are used to represent a simulation entity reflected across a network (...
Definition: reflectedObjectDIS.h:34
Instances of DtEntityIdentifier are used as a unique ID for entities in DIS.
Definition: entityIdentifier.h:31
virtual DtReflectedObject * lastObj() const
virtual DtTime timeoutInterval()
DtHashlist is deprecated and provided for backwards compatibility only.
Definition: vlHashlist.h:69
void(* DtReflectedObjectCallbackFunction)(DtReflectedObject *obj, void *userData)
Callback function that takes a DtReflectedObject and user data.
Definition: reflectedObjectCallbackInfo.h:19
Instances of DtString are used to represent strings.
Definition: vlString.h:29
DtIntrusiveList myObjectList
Definition: reflectedObjectListDIS.h:185
Instances of DtStateMsg are used to represent state data communicated via the network in a DIS (as op...
Definition: stateMsgDIS.h:21
DtExerciseConn * myExConn
Definition: reflectedObjectListDIS.h:182