11#ifndef L16_MESSAGEACCESSOR_HPP
12#define L16_MESSAGEACCESSOR_HPP
14#include "wsf_l16_export.h"
118 DataType GetType()
const;
119 int GetId()
const {
return mAccessorType->mId; }
123 void Set(
bool aValue);
124 void Set(
int aValue);
125 void Set(
const std::string& aValue);
126 void Set(
double aValue);
128 bool GetBool()
const;
130 std::string GetString()
const;
131 double GetDouble()
const;
132 bool GetEnumeration(std::string& aEnum)
const;
133 bool GetUnits(std::string& aUnitsType)
const;
134 bool IsNoStatement()
const;
135 bool IsSpare()
const;
136 bool IsDisused()
const;
138 void SetRawData(
int aValue);
139 int GetRawData()
const;
140 void SetNoStatement();
142 const std::string&
GetName()
const {
return *mNamePtr; }
147 const std::string* mNamePtr;
Definition MessageAccessor.hpp:38
bool mIsSpare
Definition MessageAccessor.hpp:67
static void ResetState()
Definition MessageAccessor.hpp:75
void(* mFieldGetter)(void *aFieldPtr, Variant &aValue)
Definition MessageAccessor.hpp:72
int mFieldSizeBits
Definition MessageAccessor.hpp:62
bool mIsDisused
Definition MessageAccessor.hpp:68
friend class FieldAccessor
Definition MessageAccessor.hpp:48
bool mUsingRawData
Definition MessageAccessor.hpp:65
std::string mUnitsName
Definition MessageAccessor.hpp:70
void(* mFieldSetter)(void *aFieldPtr, const Variant &aValue)
Definition MessageAccessor.hpp:71
AccessorType
Definition MessageAccessor.hpp:41
@ cSTRING
Definition MessageAccessor.hpp:44
@ cINTEGER
Definition MessageAccessor.hpp:43
@ cDOUBLE
Definition MessageAccessor.hpp:45
@ cBOOLEAN
Definition MessageAccessor.hpp:42
@ cENUMERATION
Definition MessageAccessor.hpp:46
int mId
Definition MessageAccessor.hpp:61
int mNoStatementValue
Definition MessageAccessor.hpp:66
std::map< int, std::string > mEnumMap
Definition MessageAccessor.hpp:63
void FormatEnumNames()
Definition MessageAccessor.cpp:44
static FieldAccessorType * Find(const std::type_index &aType)
Definition MessageAccessor.cpp:31
static std::map< std::type_index, FieldAccessorType > sFieldAccessorTypes
Definition MessageAccessor.hpp:74
FieldAccessorType()
Definition MessageAccessor.cpp:25
AccessorType mAccessor
Definition MessageAccessor.hpp:64
bool mHasUnits
Definition MessageAccessor.hpp:69
Definition MessageAccessor.hpp:106
DataType
Definition MessageAccessor.hpp:111
@ cINTEGER
Definition MessageAccessor.hpp:113
@ cDOUBLE
Definition MessageAccessor.hpp:115
@ cSTRING
Definition MessageAccessor.hpp:114
@ cBOOLEAN
Definition MessageAccessor.hpp:112
@ cENUMERATION
Definition MessageAccessor.hpp:116
FieldAccessor(void *aFieldPtr, FieldAccessorType *aAccessorType, const std::string *aNamePtr)
Definition MessageAccessor.cpp:96
int GetId() const
Definition MessageAccessor.hpp:119
const std::string & GetName() const
Definition MessageAccessor.hpp:142
Definition MessageAccessor.hpp:80
std::string mMessageName
Definition MessageAccessor.hpp:93
FieldAccessor GetField(Messages::Base *aMessage, int aFieldIndex)
Definition MessageAccessor.cpp:76
static MessageAccessorType * Find(Messages::Base *aMessage)
Definition MessageAccessor.cpp:82
int mWordNumber
Definition MessageAccessor.hpp:92
int mLabel
Definition MessageAccessor.hpp:90
int mSubLabel
Definition MessageAccessor.hpp:91
static std::map< int, MessageAccessorType > sMessageAccessorTypes
Definition MessageAccessor.hpp:99
Messages::Base::WordType mWordType
Definition MessageAccessor.hpp:89
friend class MessageAccessor
Definition MessageAccessor.hpp:97
std::vector< FieldData > mFields
Definition MessageAccessor.hpp:88
static void ResetState()
Definition MessageAccessor.hpp:100
int mCurrentField
Definition MessageAccessor.hpp:161
MessageAccessor(const Messages::Base *aMessage)
Definition MessageAccessor.cpp:392
const Messages::Base * mMessagePtr
Definition MessageAccessor.hpp:160
FieldAccessor GetField(int aIndex)
Returns the FieldAccessor for the field with the index: aIndex.
Definition MessageAccessor.cpp:401
int FieldCount()
Returns the number of fields in this message.
Definition MessageAccessor.cpp:409
MessageAccessorType * mAccessorType
Definition MessageAccessor.hpp:162
Definition ComputerPart.hpp:45
This file should be included prior to defining a message. Currently there is a limit of 32 fields per...
Definition AllMessages.hpp:55
Definition MessageAccessor.hpp:54
double mDouble
Definition MessageAccessor.hpp:58
int mInteger
Definition MessageAccessor.hpp:56
bool mBoolean
Definition MessageAccessor.hpp:55
std::string mString
Definition MessageAccessor.hpp:57
Definition MessageAccessor.hpp:83
int mByteOffset
Definition MessageAccessor.hpp:84
std::string mName
Definition MessageAccessor.hpp:85
FieldAccessorType * mAccessorType
Definition MessageAccessor.hpp:86