10 #ifndef baseIntDesc1516_H_
11 #define baseIntDesc1516_H_
21 #include <vl/rtiCompatibility.h>
22 #include <vl/rtiNamespace.h>
25 class DtInterClassDesc;
29 class DtLgrOnlineFomDesc;
33 class DT_DLL_LGRSIM DtBaseInterClassDesc :
public DtBaseHla1516Class<DtBaseParamDesc>
38 DtBaseInterClassDesc(
const DtString& className,
39 DtBaseInterClassDesc* baseClass, DtLgrHlaHandle handle,
40 const void* handCode,
int codeSize );
44 DtBaseInterClassDesc(
const DtString& className,
45 const DtString& baseClassName, DtLgrHlaHandle hand,
46 const void* handCode,
int codeSize );
49 DtBaseInterClassDesc(
char*& bfr,
int& bsz );
52 virtual ~DtBaseInterClassDesc();
55 DtBaseInterClassDesc(
const DtBaseInterClassDesc& src );
58 DtBaseInterClassDesc& operator=(
const DtBaseInterClassDesc& src );
61 RTI::InteractionClassHandle rtiHandle(
const DtLgrOnlineFomDesc& fomDesc)
const;
64 inline bool isBaseClass()
const;
67 inline void setIsBaseClass(
bool);
70 inline bool isSubscribedTo()
const;
73 inline void setIsSubscribedTo(
bool onOff );
76 inline bool isFilteredClass()
const;
79 inline void setIsFilteredClass(
bool onOff );
83 inline DtLgrFomTransportType transportType()
const;
86 inline void setTransportType(DtLgrFomTransportType type);
90 inline DtLgrFomOrderType orderType()
const;
93 inline void setOrderType(DtLgrFomOrderType type);
107 int serialize(
char*& bfr,
int& bsz )
const;
112 int unserializeParameters(
char* bfr,
int bsz,
int num );
116 inline bool DtBaseInterClassDesc::isBaseClass()
const
118 return ( ( flags() & DtLgrFomDesc_IsBaseClass ) != 0 );
121 inline void DtBaseInterClassDesc::setIsBaseClass(
bool isBaseClass)
125 setFlags(flags() | DtLgrFomDesc_IsBaseClass);
129 setFlags(flags() & ~DtLgrFomDesc_IsBaseClass);
134 inline bool DtBaseInterClassDesc::isSubscribedTo()
const
136 return ( ( flags() & DtLgrFomDesc_IsSubscribed ) != 0 );
140 inline void DtBaseInterClassDesc::setIsSubscribedTo(
bool onOff )
144 setFlags(flags() | DtLgrFomDesc_IsSubscribed);
148 setFlags(flags() & ~DtLgrFomDesc_IsSubscribed);
153 inline bool DtBaseInterClassDesc::isFilteredClass()
const
155 return ( ( flags() & DtLgrFomDesc_IsFiltered ) != 0 );
159 inline void DtBaseInterClassDesc::setIsFilteredClass(
bool onOff )
163 setFlags(flags() | DtLgrFomDesc_IsFiltered);
167 setFlags(flags() & ~DtLgrFomDesc_IsFiltered);
172 inline DtLgrFomTransportType DtBaseInterClassDesc::transportType()
const
174 if ( ( flags() & DtLgrFomDesc_Reliable ) != 0 )
176 return DtLgr_Reliable;
180 return DtLgr_BestEffort;
184 inline void DtBaseInterClassDesc::setTransportType(DtLgrFomTransportType type)
186 if(type == DtLgr_Reliable)
188 setFlags(flags() | DtLgrFomDesc_Reliable);
192 setFlags(flags() & ~DtLgrFomDesc_Reliable);
196 inline DtLgrFomOrderType DtBaseInterClassDesc::orderType()
const
198 if ( ( flags() & DtLgrFomDesc_TimeStamp ) != 0 )
200 return DtLgr_TimeStamp;
204 return DtLgr_Receive;
208 inline void DtBaseInterClassDesc::setOrderType(DtLgrFomOrderType type)
210 if(type == DtLgr_TimeStamp)
212 setFlags(flags() | DtLgrFomDesc_TimeStamp);
216 setFlags(flags() & ~DtLgrFomDesc_TimeStamp);