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