Go to the documentation of this file.00001
00002
00003
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_