Go to the documentation of this file.00001
00002
00003
00004
00005
00009
00010 #ifndef baseObjDesc1516_H_
00011 #define baseObjDesc1516_H_
00012
00013 #if DtHLA
00014 #if DtHLA_1516
00015
00016 #include "lgrSim.h"
00017 #include "lgrHlaAttribute.h"
00018 #include "lgrVariableLengthData.h"
00019 #include <vlutil/vlString.h>
00020
00021 #include "baseHla1516Class.h"
00022 #include "baseAttr1516.h"
00023
00024 class DtObjClassDesc;
00025
00026 namespace MAKLogger
00027 {
00028
00029 class DtLgrOnlineFomDesc;
00030
00033 class DT_DLL_LGRSIM DtBaseObjClassDesc : public DtBaseHla1516Class<DtBaseAttrDesc>
00034 {
00035
00036 public:
00039 DtBaseObjClassDesc( const DtString& className,
00040 DtBaseObjClassDesc* baseClass, unsigned int hand,
00041 const void* handCode, int codeSize );
00043
00044 DtBaseObjClassDesc( const DtString& className,
00045 const DtString& baseClassName, unsigned int hand,
00046 const void* handCode, int codeSize );
00047
00049 DtBaseObjClassDesc( char*& bfr, int& bsz );
00050
00052 virtual ~DtBaseObjClassDesc();
00053
00055 DtBaseObjClassDesc( const DtBaseObjClassDesc& src );
00056
00058 DtBaseObjClassDesc& operator=( const DtBaseObjClassDesc& src );
00059
00060 public:
00061
00063 RTI::ObjectClassHandle rtiHandle(const DtLgrOnlineFomDesc& fomDesc) const;
00064
00066 inline bool isBaseClass() const;
00067
00069 inline void setIsBaseClass(bool isBaseClass);
00070
00072 inline bool isSubscribedTo() const;
00074 inline void setIsSubscribedTo( bool onOff );
00075
00077 inline bool isFilteredClass() const;
00079 inline void setIsFilteredClass( bool onOff );
00080
00081
00092 int serialize( char*& bfr, int& bsz ) const;
00093
00094 protected:
00096 void resetAll();
00097
00098
00099
00100
00101 int unserializeAttributes( char* bfr, int bsz, int num );
00102
00103 };
00104
00105 inline void DtBaseObjClassDesc::setIsBaseClass(bool isBaseClass)
00106 {
00107 if(isBaseClass)
00108 {
00109 setFlags(flags() | DtLgrFomDesc_IsBaseClass);
00110 }
00111 else
00112 {
00113 setFlags(flags() & ~DtLgrFomDesc_IsBaseClass);
00114 }
00115 }
00116
00117 inline bool DtBaseObjClassDesc::isBaseClass() const
00118 {
00119 return ( ( flags() & DtLgrFomDesc_IsBaseClass ) != 0 );
00120 }
00121
00122
00123 inline bool DtBaseObjClassDesc::isSubscribedTo() const
00124 {
00125 return ( ( flags() & DtLgrFomDesc_IsSubscribed ) != 0 );
00126 }
00127
00128
00129 inline void DtBaseObjClassDesc::setIsSubscribedTo( bool onOff )
00130 {
00131 if ( onOff )
00132 {
00133 setFlags(flags() | DtLgrFomDesc_IsSubscribed);
00134
00135 }
00136 else
00137 {
00138 setFlags(flags() & ~DtLgrFomDesc_IsSubscribed);
00139 }
00140 }
00141
00142 inline bool DtBaseObjClassDesc::isFilteredClass() const
00143 {
00144 return ( ( flags() & DtLgrFomDesc_IsFiltered ) != 0 );
00145 }
00146
00147 inline void DtBaseObjClassDesc::setIsFilteredClass( bool onOff )
00148 {
00149 if ( onOff )
00150 {
00151 setFlags(flags() | DtLgrFomDesc_IsFiltered);
00152 }
00153 else
00154 {
00155 setFlags(flags() & ~DtLgrFomDesc_IsFiltered);
00156 }
00157 }
00158
00159 }
00160
00161 #endif //! DtHLA_1516
00162 #endif //! DtHLA
00163 #endif //! DtBaseObjClassDesc_H_
00164
00165