44 const DtDDMRegionSet* regionSetToUse = 0,
63 RTI::ObjectInstanceHandle
id);
65 RTI::ObjectHandle id);
77 virtual int count()
const;
91 virtual void manageObjectClass(RTI::ObjectClassHandle handle);
101 virtual bool removeObject(
const DtObjectId&
id);
104 virtual void addObjectAdditionCallback(
106 virtual void removeObjectAdditionCallback(
110 virtual void addObjectRemovalCallback(
112 virtual void removeObjectRemovalCallback(
116 virtual void print();
120 virtual void setTimeoutProcessing(
bool onOff);
125 virtual void setWaitListRefreshEnabled(
bool on);
128 virtual void setTimeoutInterval(
DtTime time);
129 virtual DtTime timeoutInterval();
132 virtual void setWaitlistRefreshPeriod(
DtTime time);
133 virtual DtTime waitlistRefreshPeriod();
141 virtual void clearDiscoveryCondition();
144 virtual const DtDDMRegionSet& subscribedRegions();
152 static void setAutoSubscribeFlag(
bool flag);
153 static bool autoSubscribeFlag();
158 static void setRequestClassUpdateFlag(
bool onOff);
159 static bool requestClassUpdateFlag();
163 static void setRequestObjectUpdateFlag(
bool onOff);
164 static bool requestObjectUpdateFlag();
167 static void findDiscoveredObjectsCb(
void* usr);
174 virtual void processDiscoverObject(DtHlaObject* obj);
178 virtual void processRemoveObject(DtHlaObject* obj);
182 virtual void processTimedOutObjectReflect(
const DtStateMsg& msg,
188 virtual void doTimeouts();
192 virtual void doRequestWaitListUpdates();
221 virtual void unTimeOutObject(DtHlaObject* obj);
225 virtual void addObjectClass(RTI::ObjectClassHandle handle);
229 virtual void addObjectClassByName(
const char* className);
233 virtual void init(
const DtList* handleList);
241 void emptyCallbackLists();
244 virtual void processObjectAdditionCallbacks(
246 virtual void processObjectRemovalCallbacks(
253 virtual void findAlreadyDiscoveredObjects();
268 void unsubscribeRegions();
270 #if DtHLA_1516_EVOLVED
273 const DtString& updateRateSubscriptionName()
const;
280 static void discoverObjectCb(DtHlaObject* hlaObj,
void* rel);
284 static void removeObjectCb(DtHlaObject* hlaObj,
void* rel);
288 static void timedOutObjectReflectCb(
const DtStateMsg& msg,
293 static void doTimeoutsPostDrainCb(
void* usr);
296 static void doRequestWaitListUpdatesPostDrainCb(
void* usr);
307 DtList myTimedOutObjectList;
308 std::vector<RTI::ObjectClassHandle> myHandleList;
312 bool myTimeoutProcessingFlag;
313 bool myWaitListRequestUpdateFlag;
315 void* myDiscoveryConditionParameter;
317 DtTime myWaitlistRefreshPeriod;
318 DtDDMRegionSet mySubscribedRegions;
323 static bool theAutoSubscribeFlag;
324 static bool theRequestClassUpdateFlag;
325 static bool theRequestObjectUpdateFlag;
350 inline void DtReflectedObjectList::setWaitlistRefreshPeriod(
DtTime time)
352 myWaitlistRefreshPeriod = time;
355 inline DtTime DtReflectedObjectList::waitlistRefreshPeriod()
357 return myWaitlistRefreshPeriod;