9 #ifndef baseFomDesc13_H_
10 #define baseFomDesc13_H_
12 #if DtHLA & !DtHLA_1516
37 const size_t DtGenFomDescSz =
sizeof( DtGenFomDesc );
49 const size_t DtGenObjDescSz =
sizeof( DtGenObjDesc );
59 const size_t DtGenAttrDescSz =
sizeof( DtGenAttrDesc ) - 4;
62 struct DtSubscriptionMap
74 const size_t DtSubscriptionMapSz =
sizeof( 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 );
262 typedef DtMultiKeyMap<DtString,DtLgrHlaHandle,DtBaseObjClassDesc*> ObjectMap;
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();
283 inline int DtBaseFomDesc::interactionClassCount()
const
285 return (
int)myInteractionClasses.size();
289 inline int DtBaseFomDesc::count()
const
291 return ( objectClassCount() + interactionClassCount() );
Defines IMPORT/EXPORT macros for lgrSim library.
Contains Little Endian Types.
#define DT_DLL_LGRSIM
Definition: lgrSim.h:21
#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
Contains MAKLogger::DtLgrVariableLengthData class.
Contains DT_VIRTUAL_CTR DT_VIRTUAL_CTR_DEFAULTS DT_VIRTUAL_COPY_ASSIGN DT_VIRTUAL_BASE_CTR DT_PURE_VI...
Contains MAKLogger::DtLgrHlaHandle typedef and MAKLogger::DtLgrValueReference and MAKLogger::DtLgrVal...
Little Endian unsigned 32-bit quantity.
Definition: leTypes.h:52
Contains MAKLogger::DtMultiKeyMap class.
Contains MAKLogger::DtLgrSimDriver subclass of MAKLogger::DtLgrCommandHandler.
class 'DtDynamicBuffer'
Definition: lgrDynStrings.h:169
#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