12 #ifndef DtObjectClassInfo_H_
13 #define DtObjectClassInfo_H_
15 #include <vlutil/vlList.h>
16 #include <vlutil/vlHashlist.h>
17 #include <vlutil/vlFedTarget.h>
18 #include <vlutil/vlInetAddr.h>
44 const MAKRti::DtString& semantics);
54 virtual void setFomType(MAKRti::DtFomType type);
55 virtual MAKRti::DtFomType fomType()
const;
58 virtual DtAttrInfo* addAttr(
const char* attrName,
59 MAKRti::DtTransportType transport,
60 MAKRti::DtOrderType order,
63 const MAKRti::DtString& updateCondition,
65 const MAKRti::DtString& semantics,
69 virtual DtAttrInfo* addAttr(
const char* attrName,
70 MAKRti::DtTransportType transport,
71 MAKRti::DtOrderType order,
75 const MAKRti::DtString& updateCondition,
77 const MAKRti::DtString& semantics,
81 virtual const char* name()
const;
88 virtual const char* semantics()
const;
89 virtual void setSemantics(
const MAKRti::DtString& sem);
94 virtual bool isName(
const char* name)
const;
96 virtual bool isFullName(
const char* name)
const;
117 virtual MAKRti::DtList* subclasses();
123 virtual DtAttrInfo* attrByName(
const char* theName);
127 virtual const DtAttrInfo* attrByName(
const char* theName)
const;
133 const char* theName)
const;
136 virtual char* attrName (
140 virtual MAKRti::DtTransportType attrTransport(
144 virtual MAKRti::DtOrderType attrOrder(
155 virtual int numAttributes()
const;
164 DtObjectMgr* objMgr,
bool isReplacement,
bool isRepublish);
166 bool implicitUnpublishPrivilegeToDelete,
DtObjectMgr* objMgr);
169 virtual bool published()
const;
174 #
if defined(DtIFSPEC1516) || defined(DtIFSPEC1516E)
176 bool isReplacement=
false);
179 bool isReplacement=
true);
181 virtual void unsubscribeClass();
182 virtual void unsubscribeAttributes(
186 virtual bool subscribed()
const;
189 virtual bool isPassive()
const;
193 virtual const bool isSubscribed(
195 virtual const bool isActiveSubscribed(
224 virtual void remoteSubscribe(
238 virtual void remoteUnsubscribeAttributes(
244 virtual void removeSubscriptions(
247 bool isResigning =
false);
250 virtual int numRemoteFederatesSubscribed();
253 virtual bool remoteFederateIsSubscribed(
261 virtual const MAKRti::DtHashList& subscribedFederates()
const;
266 virtual bool relevant()
const;
275 virtual const MAKRti::DtInetAddr& destinationAddress()
const;
276 virtual const MAKRti::DtInetAddr& destinationDevice()
const;
277 virtual void setDestination(MAKRti::DtInetAddr addr,
278 MAKRti::DtInetAddr devAddr,
bool inclusive, MAKRti::DtInetAddr oldAddr,
279 MAKRti::DtInetAddr oldDevAddr);
284 virtual void setForcedDestinations(
DtBitMask const& mask,
285 MAKRti::DtTime delay);
289 virtual bool getForcedDestinations(
DtBitMask &mask)
const;
292 virtual void setSubscribedRate(
float rate,
const MAKRti::DtString& name,
bool inclusive);
293 virtual float maxSubscribedRate();
294 virtual const MAKRti::DtString& maxSubscribedRateName();
299 virtual void remoteSubscribeWithRegion(
308 virtual DtHandle remoteRegionSubscription(
313 virtual void addMatchingPub(
DtHandle regSetHandle,
315 virtual void removeMatchingPub(
DtHandle regSetHandle,
320 virtual void moveToOverlapPub(
DtHandle regSetHandle,
322 virtual void moveToMatchingPub(
DtHandle regSetHandle,
326 virtual void addOverlapPub(
DtHandle regSetHandle,
331 virtual void addMatchingSub(
DtHandle regSetHandle,
333 virtual void removeMatchingSub(
DtHandle regSetHandle,
338 virtual void moveToOverlapSub(
DtHandle regSetHandle);
339 virtual void moveToMatchingSub(
DtHandle regSetHandle,
343 virtual void addOverlapSub(
DtHandle regSetHandle,
347 virtual void subscribeByRegion(DtSubRegionSet
const& subRegSet,
349 virtual void unsubscribeByRegion(
DtHandle regSetHandle,
359 virtual int subscribeOverlaps(
DtHandle regSetHandle)
const;
362 virtual int subscribedWithRegions()
const;
367 virtual void incrementUpdateTally();
368 virtual void setUpdateTally(
unsigned long value);
369 virtual unsigned long updateTally();
370 virtual void incrementSentAttributesTally(MAKRti::DtTransportType transport,
371 unsigned int numberAttrs);
372 virtual void setSentAttributesTally(
unsigned long value,
373 MAKRti::DtTransportType transport);
374 virtual unsigned long sentAttributesTally(MAKRti::DtTransportType transport);
376 virtual void incrementReflectTally(MAKRti::DtTransportType transport,
377 unsigned int numberAttrs);
378 virtual void setReflectTally(
unsigned long value,
379 MAKRti::DtTransportType transport);
380 virtual unsigned long reflectTally(MAKRti::DtTransportType transport);
381 virtual void setReflectAttributesTally(
unsigned long value,
382 MAKRti::DtTransportType transport);
383 virtual unsigned long reflectAttributesTally(MAKRti::DtTransportType transport);
391 virtual void print()
const;
399 bool isScaffolding()
const;
403 bool isUnknown()
const;
405 void setIsUnknown(
bool unknown);
413 static bool sameAttrs(
const std::vector<DtAttrInfo>&,
const std::vector<DtAttrInfo>& );
417 virtual void throwIfNotDefined(
441 virtual void addSet(MAKRti::DtHashList& setList,
DtHandle regSetHandle,
443 virtual void removeSet(MAKRti::DtHashList& setList,
DtHandle regSetHandle,
445 virtual void moveSet(MAKRti::DtHashList& fromList,
446 MAKRti::DtHashList& toList,
DtHandle regSetHandle);
447 virtual void moveSet(MAKRti::DtHashList& fromList,
448 MAKRti::DtHashList& toList,
DtHandle regSetHandle,
457 void emptyRegionLists();
464 virtual DtAttrInfo* addAttrSorted(
const char* attrName,
465 MAKRti::DtTransportType transport, MAKRti::DtOrderType order,
468 const MAKRti::DtString& updateCondition,
470 const MAKRti::DtString& semantics );
471 virtual DtAttrInfo* addAttrUnsorted(
const char* attrName,
472 MAKRti::DtTransportType transport, MAKRti::DtOrderType order,
475 const MAKRti::DtString& updateCondition,
477 const MAKRti::DtString& semantics );
480 virtual DtAttrInfo* addAttrUnsorted(
const char* attrName,
481 MAKRti::DtTransportType transport, MAKRti::DtOrderType order,
484 const MAKRti::DtString& updateCondition,
486 const MAKRti::DtString& semantics );
487 virtual DtAttrInfo* addAttrSorted(
const char* attrName,
488 MAKRti::DtTransportType transport, MAKRti::DtOrderType order,
491 const MAKRti::DtString& updateCondition,
493 const MAKRti::DtString& semantics );
519 unsigned long myUpdateTally;
520 unsigned long myBestEffortReflectTally;
521 unsigned long myReliableReflectTally;
522 unsigned long myBestEffortSentAttributesTally;
523 unsigned long myBestEffortReflectAttributesTally;
524 unsigned long myReliableSentAttributesTally;
525 unsigned long myReliableReflectAttributesTally;
556 MAKRti::DtHashList mySubByRegion;
557 MAKRti::DtHashList myMatchingPubByRegion;
558 MAKRti::DtHashList myOverlapPubByRegion;
559 MAKRti::DtHashList myMatchingSubByRegion;
560 MAKRti::DtHashList myOverlapSubByRegion;
562 MAKRti::DtHashList myActiveSubByRegion;
593 bool regionSetHasDimensionsValue) :