baseObjDesc1516.h
Go to the documentation of this file.
00001 /******************************************************************************
00002 ** Copyright (c) 1992-2010 VT MAK
00003 ** All rights reserved.
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       //int  initNames( const char* ownName, const char* baseName );
00099       //void initCode( const char* handCode, int codeSize );
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 

Document ID: Generated on Tue Oct 11 19:41:03 EDT 2011 from SVN revision 107422
Copyright © 2005-2011 VT MÄK Inc. All Rights Reserved (www.mak.com)