baseObjDesc13.h
Go to the documentation of this file.
00001 /******************************************************************************
00002 ** Copyright (c) 1992-2010 VT MAK
00003 ** All rights reserved.
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_

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)