baseAttr1516.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 baseAttr1516_H_
00010 #define baseAttr1516_H_
00011 
00012 #if DtHLA
00013 #if DtHLA_1516
00014 
00015 #include "lgrSim.h"
00016 #include "lgrVariableLengthData.h"
00017 #include "lgrHlaAttribute.h"
00018 #include "baseHla1516Value.h"
00019 
00020 #include <RTI/RTI1516.h>
00021 #include <vl/rtiNamespace.h>
00022 
00023 class DtString;
00024 
00025 namespace MAKLogger
00026 {
00027 
00028    class DtLgrOnlineFomDesc;
00029    class DtBaseObjClassDesc;
00030 
00033    class DT_DLL_LGRSIM DtBaseAttrDesc : public DtBaseHla1516Value
00034    {
00035    public:
00037       DtBaseAttrDesc( const DtString& name, 
00038          DtLgrHlaHandle handle, const void* handCode, int codeSize );
00040 
00041       virtual ~DtBaseAttrDesc();
00042 
00044       DtBaseAttrDesc( const DtBaseAttrDesc& src );
00045 
00047       DtBaseAttrDesc& operator=( const DtBaseAttrDesc& src );
00048 
00049    public:
00050 
00052       RTI::AttributeHandle rtiHandle(const DtLgrOnlineFomDesc&) const;
00053 
00055       inline bool isSubscribedTo() const;
00056 
00058       inline void setIsSubscribedTo( bool onOff );
00059 
00060       inline bool isReliable() const;
00061       inline void setIsReliable(bool reliable);
00062 
00063       inline bool isTimeStamped() const;
00064       inline void setTimeStamped(bool timeStamped);
00065 
00068       inline DtLgrFomTransportType transportType() const;
00069 
00072       inline DtLgrFomOrderType orderType() const;      
00073    };
00074 
00075    inline bool DtBaseAttrDesc::isSubscribedTo() const
00076    {
00077       return ( ( flags() & DtLgrFomDesc_IsSubscribed ) != 0 );
00078    }
00079 
00080    inline bool DtBaseAttrDesc::isReliable() const
00081    {
00082       return ( ( flags() & DtLgrFomDesc_Reliable ) != 0 );
00083    }
00084 
00085    inline void DtBaseAttrDesc::setIsReliable(bool reliable)
00086    {
00087       if(reliable)
00088       {
00089          setFlags(flags() | DtLgrFomDesc_Reliable);
00090       }
00091       else
00092       {
00093          setFlags(flags() & ~DtLgrFomDesc_Reliable);
00094       }
00095    }
00096 
00097    inline bool DtBaseAttrDesc::isTimeStamped() const
00098    {
00099       return flags() & DtLgrFomDesc_TimeStamp;
00100    }
00101 
00102    inline void DtBaseAttrDesc::setTimeStamped(bool timeStamped)
00103    {
00104       if(timeStamped)
00105       {
00106          setFlags(flags() | DtLgrFomDesc_TimeStamp);
00107       }
00108       else
00109       {
00110          setFlags(flags() & ~DtLgrFomDesc_TimeStamp);
00111       }
00112    }
00113 
00114    inline void DtBaseAttrDesc::setIsSubscribedTo( bool onOff )
00115    {
00116       if ( onOff )
00117       {
00118          setFlags(flags() | DtLgrFomDesc_IsSubscribed);
00119       }
00120       else
00121       {
00122          setFlags(flags() & ~DtLgrFomDesc_IsSubscribed);
00123       }
00124    }
00125 
00126 
00127    inline DtLgrFomTransportType DtBaseAttrDesc::transportType() const
00128    {
00129       if ( ( flags() & DtLgrFomDesc_Reliable ) != 0 )
00130       {
00131          return DtLgr_Reliable;
00132       }
00133       else
00134       {
00135          return DtLgr_BestEffort;
00136       }
00137    }
00138 
00139 
00140    inline DtLgrFomOrderType DtBaseAttrDesc::orderType() const
00141    {
00142       if ( ( flags() & DtLgrFomDesc_TimeStamp ) != 0 )
00143       {
00144          return DtLgr_TimeStamp;
00145       }
00146       else
00147       {
00148          return DtLgr_Receive;
00149       }
00150    }
00151 
00152 }
00153 
00154 #endif   //! DtHLA_1516
00155 #endif   //! DtHLA
00156 #endif   //! DtBaseAttrDesc_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)