118 lines
1.4 KiB
C++
118 lines
1.4 KiB
C++
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
#include "LogViewXdrElement.hpp"
|
|
|
|
namespace N_LogView
|
|
{
|
|
|
|
|
|
class LogViewXdrStandardType final : public LogViewXdrElement
|
|
{
|
|
public:
|
|
|
|
|
|
|
|
enum E_ValueKind
|
|
{
|
|
|
|
|
|
e_Unsigned,
|
|
|
|
|
|
e_Signed,
|
|
|
|
|
|
e_Float,
|
|
|
|
|
|
e_Character,
|
|
|
|
|
|
e_Boolean,
|
|
|
|
|
|
e_Data
|
|
};
|
|
|
|
|
|
|
|
enum E_ByteOrder
|
|
{
|
|
e_ByteOrderBigEndian,
|
|
e_ByteOrderLittleEndian
|
|
};
|
|
|
|
|
|
|
|
enum E_DynArraySizeMethod
|
|
{
|
|
|
|
|
|
e_DynArrayMsgLength,
|
|
|
|
|
|
e_DynArrayIndex,
|
|
|
|
|
|
e_DynArrayIndexDiv8
|
|
};
|
|
|
|
|
|
|
|
LogViewXdrStandardType(const QString &a_name,
|
|
const int a_valueSize,
|
|
const int a_editSize,
|
|
const E_ValueKind a_valueKind,
|
|
const E_DynArraySizeMethod a_dynArraySizeMethod,
|
|
E_ByteOrder a_byteOrder);
|
|
|
|
|
|
uint16_t getValueSize() const;
|
|
|
|
|
|
LogViewXdrStandardType::E_ValueKind getValueKind() const;
|
|
|
|
|
|
void dump() const override;
|
|
|
|
|
|
LogViewXdrStandardType::E_DynArraySizeMethod getDynArraySizeMethod() const;
|
|
|
|
|
|
LogViewXdrStandardType::E_ByteOrder getByteOrder() const;
|
|
|
|
|
|
|
|
uint16_t getEditSize() const;
|
|
|
|
protected:
|
|
|
|
|
|
|
|
int m_ValueSize;
|
|
|
|
|
|
int m_EditSize;
|
|
E_ValueKind m_ValueKind;
|
|
|
|
E_ByteOrder m_ByteOrder;
|
|
|
|
E_DynArraySizeMethod m_DynArraySizeMethod;
|
|
|
|
};
|
|
|
|
}
|