9 #ifndef baseFomDesc13_H_
10 #define baseFomDesc13_H_
12 #if DtHLA & !DtHLA_1516
62 struct DtSubscriptionMap
77 class DtBaseObjClassDesc;
78 class DtBaseInterClassDesc;
97 virtual ~DtBaseFomDesc();
101 virtual DtBaseObjClassDesc* addObjectClass(const DtBaseObjClassDesc&);
102 virtual DtBaseInterClassDesc* addInteractionClass(const DtBaseInterClassDesc&);
106 virtual
int readFromFile( FILE* fp );
107 virtual
int readFromFile64(
int fd );
110 virtual
int writeToFile( FILE* fp ) const;
111 virtual
int writeToFile64(
int fd ) const;
114 virtual
int setFromSerialForm( const
void* p );
117 virtual
char* serialize(
int* pSize = 0 ) const;
119 typedef std::vector<DtBaseObjClassDesc*>::iterator objectIterator;
120 typedef std::vector<DtBaseObjClassDesc*>::const_iterator const_objectIterator;
122 typedef std::vector<DtBaseInterClassDesc*>::iterator interactionIterator;
123 typedef std::vector<DtBaseInterClassDesc*>::const_iterator const_interactionIterator;
127 objectIterator obj_begin();
129 const_objectIterator obj_begin() const;
133 objectIterator obj_end();
135 const_objectIterator obj_end() const;
139 interactionIterator inter_begin();
141 const_interactionIterator inter_begin() const;
145 interactionIterator inter_end();
147 const_interactionIterator inter_end() const;
151 virtual DtBaseObjClassDesc* objDesc(
unsigned int hand );
153 virtual const DtBaseObjClassDesc* objDesc(
unsigned int hand ) const;
157 virtual DtBaseObjClassDesc* objDesc( const
DtString& _name );
159 virtual const DtBaseObjClassDesc* objDesc( const
DtString& _name ) const;
163 virtual DtBaseInterClassDesc* interDesc(
unsigned int hand );
165 virtual const DtBaseInterClassDesc* interDesc(
unsigned int hand ) const;
169 virtual DtBaseInterClassDesc* interDesc( const
DtString& _name );
171 virtual const DtBaseInterClassDesc* interDesc( const
DtString& _name ) const;
175 inline
int objectClassCount() const;
178 inline
int interactionClassCount() const;
181 inline
int count() const;
185 virtual
bool equivalent( const DtBaseFomDesc& other) const;
189 virtual
bool identical( const DtBaseFomDesc& other) const;
192 virtual
void setFilterByClass( const DtSubscriptionMap* map );
195 virtual
void setFilterAllObjectClasses();
198 virtual
void setFilterNoObjectClasses();
201 virtual
void setFilterAllInteractionClasses();
204 virtual
void setFilterNoInteractionClasses();
207 virtual
void empty();
210 virtual
void setObjectClassHeartbeatTime(const
DtString& className,
double time,
bool includeSubclasses = false);
214 virtual
bool getObjectClassHeartbeatTime(const
DtString& className,
double& heartbeat) const;
217 virtual
bool objectClassHeartbeatInheritable(const
DtString& className) const;
220 virtual
void setObjectClassTimeoutTime(const
DtString& className,
double time,
bool includeSubclasses = false);
224 virtual
bool getObjectClassTimeoutTime(const
DtString& className,
double& timeout) const;
227 virtual
bool objectClassTimeoutInheritable(const
DtString& className) const;
230 virtual
void initObjClasses();
235 virtual
void initIntClasses();
241 bool processCommand(const
char*command,
char* tkn,const
char* sep);
244 virtual
void deleteObjClasses();
247 virtual
void deleteIntClasses();
253 void initFromSource( const DtBaseFomDesc& src );
256 int unserialize( const
char* bfr );
263 typedef DtMultiKeyMap<DtString,DtLgrHlaHandle,DtBaseInterClassDesc*> InteractionMap;
265 ObjectMap myObjectLookupMap;
266 InteractionMap myInteractionLookupMap;
268 std::vector<DtBaseObjClassDesc*> myObjectClasses;
269 std::vector<DtBaseInterClassDesc*> myInteractionClasses;
270 std::map<DtString, DtLgrSimDriver::HeartbeatTimeRecord> myHeartbeatTimes;
271 std::map<DtString, DtLgrSimDriver::HeartbeatTimeRecord> myTimeoutTimes;
274 static
int theHashSize;
278 inline
int DtBaseFomDesc::objectClassCount()
const
280 return (
int)myObjectClasses.size();
285 return (
int)myInteractionClasses.size();
291 return ( objectClassCount() + interactionClassCount() );
int size
Definition: baseFomDesc1516.h:65
int objSubsOffPos
Definition: baseFomDesc1516.h:69
const size_t DtSubscriptionMapSz
Definition: baseFomDesc1516.h:75
DtLeInt32 numIntClasses
Definition: baseFomDesc1516.h:32
Defines IMPORT/EXPORT macros for lgrSim library.
Contains Little Endian Types.
#define DT_DLL_LGRSIM
Definition: lgrSim.h:21
DtU32 DtLgrHlaHandle
Logger Psuedo Handle type.
Definition: hlaTimeStampedAttr.h:22
int count() const
Get the total number of classes in the FOM (object and interaction)
Definition: baseFomDesc1516.h:285
#define DT_VIRTUAL_CTR(CLASS_NAME, ARG_TYPES_LIST)
Declare a Virtual Constructor Create using DT_VIRTUAL_CTR(CLASS_NAME,ARG_TYPES_LIST) Where CLASS_NAME...
Definition: virtualConstructor.h:34
DtLeInt32 attrsOff
Definition: baseFomDesc1516.h:46
DtLeInt32 size
Definition: baseFomDesc1516.h:39
Contains MAKLogger::DtLgrVariableLengthData class.
int objSubsOnNum
Definition: baseFomDesc1516.h:66
int intSubsOffPos
Definition: baseFomDesc1516.h:73
DtLeU32 flags
Definition: baseFomDesc1516.h:41
Contains DT_VIRTUAL_CTR DT_VIRTUAL_CTR_DEFAULTS DT_VIRTUAL_COPY_ASSIGN DT_VIRTUAL_BASE_CTR DT_PURE_VI...
int objSubsOffNum
Definition: baseFomDesc1516.h:68
DtLeInt32 bufIntClassesSz
Definition: baseFomDesc1516.h:33
Contains MAKLogger::DtLgrHlaHandle typedef and MAKLogger::DtLgrValueReference and MAKLogger::DtLgrVal...
Little Endian unsigned 32-bit quantity.
Definition: leTypes.h:52
Contains MAKLogger::DtMultiKeyMap class.
int objSubsOnPos
Definition: baseFomDesc1516.h:67
DtLeU32 flags
Definition: baseFomDesc1516.h:54
DtLeInt32 size
Definition: baseFomDesc1516.h:29
Contains MAKLogger::DtLgrSimDriver subclass of MAKLogger::DtLgrCommandHandler.
class 'DtDynamicBuffer'
Definition: lgrDynStrings.h:169
DtLeU32 handle
Definition: baseFomDesc1516.h:53
const size_t DtGenFomDescSz
Definition: baseFomDesc1516.h:35
#define DT_VIRTUAL_COPY_ASSIGN(CLASS_NAME)
Declare a Virtual Copy Constructor Create using DT_VIRTUAL_COPY_CTR(CLASS_NAME) Where CLASS_NAME = th...
Definition: virtualConstructor.h:93
Little endian signed 32-bit quantity.
Definition: leTypes.h:130
const size_t DtGenAttrDescSz
Definition: baseFomDesc1516.h:60
const size_t DtGenObjDescSz
Definition: baseFomDesc1516.h:48
DtLeInt32 bufObjClassesSz
Definition: baseFomDesc1516.h:31
int intSubsOffNum
Definition: baseFomDesc1516.h:72
DtLeInt32 baseNameOff
Definition: baseFomDesc1516.h:44
DtLeInt32 numAttrs
Definition: baseFomDesc1516.h:45
int interactionClassCount() const
Get the number of interaction classes in the FOM.
Definition: baseFomDesc1516.h:279
DtLeInt32 size
Definition: baseFomDesc1516.h:55
int intSubsOnNum
Definition: baseFomDesc1516.h:70
DtLeU32 handle
Definition: baseFomDesc1516.h:40
DtLeInt32 numObjClasses
Definition: baseFomDesc1516.h:30
int intSubsOnPos
Definition: baseFomDesc1516.h:71
DtLeInt32 ownNameOff
Definition: baseFomDesc1516.h:43