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
282 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;