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,
63 const MAKRti::DtString& updateCondition,
65 const MAKRti::DtString& semantics,
69 virtual DtAttrInfo* addAttr(
const char* attrName,
70 MAKRti::DtTransportType transport,
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);
96 virtual bool isFullName(
const char* name);
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(
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(
220 virtual void remoteSubscribe(
234 virtual void remoteUnsubscribeAttributes(
240 virtual void removeSubscriptions(
243 bool isResigning =
false);
246 virtual int numRemoteFederatesSubscribed();
249 virtual bool remoteFederateIsSubscribed(
257 virtual const MAKRti::DtHashList& subscribedFederates()
const;
262 virtual bool relevant()
const;
271 virtual const MAKRti::DtInetAddr& destinationAddress()
const;
272 virtual const MAKRti::DtInetAddr& destinationDevice()
const;
273 virtual void setDestination(MAKRti::DtInetAddr addr,
274 MAKRti::DtInetAddr devAddr,
bool inclusive, MAKRti::DtInetAddr oldAddr,
275 MAKRti::DtInetAddr oldDevAddr);
280 virtual void setForcedDestinations(
DtBitMask const& mask,
281 MAKRti::DtTime delay);
285 virtual bool getForcedDestinations(
DtBitMask &mask)
const;
288 virtual void setSubscribedRate(
float rate,
const MAKRti::DtString& name,
bool inclusive);
289 virtual float maxSubscribedRate();
290 virtual const MAKRti::DtString& maxSubscribedRateName();
295 virtual void remoteSubscribeWithRegion(
304 virtual DtHandle remoteRegionSubscription(
309 virtual void addMatchingPub(
DtHandle regSetHandle,
311 virtual void removeMatchingPub(
DtHandle regSetHandle,
316 virtual void moveToOverlapPub(
DtHandle regSetHandle,
318 virtual void moveToMatchingPub(
DtHandle regSetHandle,
322 virtual void addOverlapPub(
DtHandle regSetHandle,
327 virtual void addMatchingSub(
DtHandle regSetHandle,
329 virtual void removeMatchingSub(
DtHandle regSetHandle,
334 virtual void moveToOverlapSub(
DtHandle regSetHandle);
335 virtual void moveToMatchingSub(
DtHandle regSetHandle,
339 virtual void addOverlapSub(
DtHandle regSetHandle,
343 virtual void subscribeByRegion(DtSubRegionSet
const& subRegSet,
345 virtual void unsubscribeByRegion(
DtHandle regSetHandle,
355 virtual int subscribeOverlaps(
DtHandle regSetHandle)
const;
358 virtual int subscribedWithRegions()
const;
363 virtual void incrementUpdateTally();
364 virtual void setUpdateTally(
unsigned long value);
365 virtual unsigned long updateTally();
366 virtual void incrementSentAttributesTally(MAKRti::DtTransportType transport,
367 unsigned int numberAttrs);
368 virtual void setSentAttributesTally(
unsigned long value,
369 MAKRti::DtTransportType transport);
370 virtual unsigned long sentAttributesTally(MAKRti::DtTransportType transport);
372 virtual void incrementReflectTally(MAKRti::DtTransportType transport,
373 unsigned int numberAttrs);
374 virtual void setReflectTally(
unsigned long value,
375 MAKRti::DtTransportType transport);
376 virtual unsigned long reflectTally(MAKRti::DtTransportType transport);
377 virtual void setReflectAttributesTally(
unsigned long value,
378 MAKRti::DtTransportType transport);
379 virtual unsigned long reflectAttributesTally(MAKRti::DtTransportType transport);
387 virtual void print()
const;
395 bool isScaffolding()
const;
399 bool isUnknown()
const;
401 void setIsUnknown(
bool unknown);
409 static bool sameAttrs(
const std::vector<DtAttrInfo>&,
const std::vector<DtAttrInfo>& );
413 virtual void throwIfNotDefined(
437 virtual void addSet(MAKRti::DtHashList& setList,
DtHandle regSetHandle,
439 virtual void removeSet(MAKRti::DtHashList& setList,
DtHandle regSetHandle,
441 virtual void moveSet(MAKRti::DtHashList& fromList,
442 MAKRti::DtHashList& toList,
DtHandle regSetHandle);
443 virtual void moveSet(MAKRti::DtHashList& fromList,
444 MAKRti::DtHashList& toList,
DtHandle regSetHandle,
453 void emptyRegionLists();
460 virtual DtAttrInfo* addAttrSorted(
const char* attrName,
464 const MAKRti::DtString& updateCondition,
466 const MAKRti::DtString& semantics );
467 virtual DtAttrInfo* addAttrUnsorted(
const char* attrName,
471 const MAKRti::DtString& updateCondition,
473 const MAKRti::DtString& semantics );
476 virtual DtAttrInfo* addAttrUnsorted(
const char* attrName,
480 const MAKRti::DtString& updateCondition,
482 const MAKRti::DtString& semantics );
483 virtual DtAttrInfo* addAttrSorted(
const char* attrName,
487 const MAKRti::DtString& updateCondition,
489 const MAKRti::DtString& semantics );
512 unsigned long myUpdateTally;
513 unsigned long myBestEffortReflectTally;
514 unsigned long myReliableReflectTally;
515 unsigned long myBestEffortSentAttributesTally;
516 unsigned long myBestEffortReflectAttributesTally;
517 unsigned long myReliableSentAttributesTally;
518 unsigned long myReliableReflectAttributesTally;
549 MAKRti::DtHashList mySubByRegion;
550 MAKRti::DtHashList myMatchingPubByRegion;
551 MAKRti::DtHashList myOverlapPubByRegion;
552 MAKRti::DtHashList myMatchingSubByRegion;
553 MAKRti::DtHashList myOverlapSubByRegion;
584 bool regionSetHasDimensionsValue) :