Adds q2 repos to migrate
This commit is contained in:
1 parent
ad1f62c4ee
commit
17f1c61c9e
991 files changed
+178451
No files matched your search
@@ -0,0 +1,372 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "LogViewXdrStandardType.hpp"
|
||||
#include "LogViewField.hpp"
|
||||
#include <CoPrtCnv/CoPrtCnvLogHeader.hpp>
|
||||
#include <QIcon>
|
||||
#include <QJsonObject>
|
||||
#include <QJsonDocument>
|
||||
|
||||
namespace N_CoPrtCnv
|
||||
{
|
||||
class CoPrtCnvRadioTelegram;
|
||||
}
|
||||
|
||||
namespace N_LogView
|
||||
{
|
||||
struct StructInformation;
|
||||
struct MemberInformation;
|
||||
class LogViewTetraTelegramsParser;
|
||||
class LogViewXdrParser;
|
||||
class LogViewXdrType;
|
||||
|
||||
|
||||
class LogViewTelegram final
|
||||
{
|
||||
public:
|
||||
|
||||
|
||||
|
||||
enum E_Validity
|
||||
{
|
||||
e_NotYetEvaluated,
|
||||
e_Valid,
|
||||
e_Invalid
|
||||
};
|
||||
|
||||
|
||||
|
||||
enum E_Column
|
||||
{
|
||||
e_ColName,
|
||||
e_ColGpsTime,
|
||||
e_ColLogTime,
|
||||
e_ColJsonData,
|
||||
e_ColMax
|
||||
};
|
||||
|
||||
|
||||
~LogViewTelegram();
|
||||
|
||||
|
||||
|
||||
static const uint16_t SIZE_CENTRAL_DYN_ARRAY_SIZE;
|
||||
|
||||
|
||||
|
||||
|
||||
LogViewTelegram(const LogViewTelegram &o);
|
||||
|
||||
LogViewTelegram &operator=(const LogViewTelegram &o) = delete;
|
||||
|
||||
|
||||
LogViewTelegram(const N_CoPrtCnv::CoPrtCnvLogHeader::E_CoPrtCnvProtocol a_destination,
|
||||
int telegramId);
|
||||
|
||||
|
||||
|
||||
LogViewTelegram(const N_CoPrtCnv::CoPrtCnvLogHeader::E_CoPrtCnvProtocol a_destination,
|
||||
const quint64 a_unixTime,
|
||||
const QByteArray &a_telegramData);
|
||||
|
||||
|
||||
|
||||
void setUIntX(const uint8_t a_size,
|
||||
quint64 a_value,
|
||||
const LogViewXdrStandardType::E_ByteOrder a_byteOrder = LogViewXdrStandardType::e_ByteOrderBigEndian);
|
||||
|
||||
|
||||
|
||||
bool setData(const uint16_t a_offset, const uint8_t a_data);
|
||||
|
||||
|
||||
|
||||
quint64 getLogTime() const { return m_LogTime; }
|
||||
quint64 getLogTimeMsec() const;
|
||||
|
||||
|
||||
|
||||
QString getLogTimeText() const;
|
||||
|
||||
|
||||
QString getDestinationText() const;
|
||||
|
||||
|
||||
|
||||
quint64 getGpsTime() const { return m_GpsTime; }
|
||||
|
||||
|
||||
|
||||
QString getGpsTimeText() const;
|
||||
|
||||
|
||||
uint32_t getISSI() const { return m_ISSI; }
|
||||
|
||||
|
||||
int getParticipantId() const { return m_ParticipantId; }
|
||||
|
||||
|
||||
|
||||
int32_t getDelay() const;
|
||||
|
||||
|
||||
|
||||
QString getToolTipText(const E_Column a_col);
|
||||
|
||||
|
||||
void resetOffset();
|
||||
|
||||
|
||||
LogViewField* getFieldTree();
|
||||
|
||||
|
||||
void dump() const;
|
||||
|
||||
|
||||
QString getStructName() const;
|
||||
|
||||
|
||||
bool isValid();
|
||||
|
||||
|
||||
N_CoPrtCnv::CoPrtCnvLogHeader::E_CoPrtCnvProtocol getDestination() const { return m_Destination; }
|
||||
|
||||
|
||||
N_CoPrtCnv::CoPrtCnvLogHeader::E_CoPrtCnvProtocol getDirection() const;
|
||||
|
||||
|
||||
N_CoPrtCnv::CoPrtCnvLogHeader::E_CoPrtCnvProtocol getProtocol() const { return m_Protocol; }
|
||||
|
||||
|
||||
int getTelId() const { return m_TelId; }
|
||||
|
||||
|
||||
QIcon getIcon() const;
|
||||
|
||||
bool isJsonTelegram() const { return N_CoPrtCnv::CoPrtCnvLogHeader::e_DestProtocolCentral == m_Protocol; }
|
||||
void clearJsonData() { m_json.remove(QStringLiteral("data")); }
|
||||
void rebuildJsonString() { if (!m_json.isEmpty()) m_data.clear(); }
|
||||
void setJsonValue(const QStringList &path, const QJsonValue &val);
|
||||
QJsonObject jsonData() const { return m_json; }
|
||||
void updateJsonValue(const QStringList &path, const QJsonValue &newVal, QJsonObject &obj);
|
||||
void updateJsonValue(const QStringList &path, const QJsonValue &newVal, QJsonArray &arr);
|
||||
|
||||
|
||||
const N_CoPrtCnv::CoPrtCnvRadioTelegram* getTetraTelegram() const;
|
||||
|
||||
static LogViewTetraTelegramsParser *jsonParser();
|
||||
static LogViewXdrParser *tetraParser();
|
||||
|
||||
QByteArray getData(QJsonDocument::JsonFormat format = QJsonDocument::JsonFormat::Compact) const;
|
||||
|
||||
|
||||
|
||||
uint32_t getWaitTime() const { return m_WaitTime; }
|
||||
|
||||
|
||||
|
||||
void setWaitTime(uint32_t newVal) { m_WaitTime = newVal; }
|
||||
|
||||
|
||||
|
||||
QString getName() const { return m_Name; }
|
||||
|
||||
|
||||
|
||||
void setName(const QString &newVal) { m_Name = newVal; }
|
||||
|
||||
|
||||
void setNextFieldAsGpsTimeField();
|
||||
|
||||
QVector<uint16_t> getGpsTimeField() const { return m_GpsFieldOffset; }
|
||||
|
||||
void setGpsTimeField(const QVector<uint16_t> &gpsFieldOffset) { m_GpsFieldOffset = gpsFieldOffset; }
|
||||
|
||||
void actualizeGpsTime();
|
||||
|
||||
|
||||
|
||||
void createToolTipTextForColName();
|
||||
|
||||
|
||||
static double xdrToDouble(quint64 in);
|
||||
static float xdrToFloat(uint32_t in);
|
||||
static quint64 doubleToXdr(double in);
|
||||
static uint32_t floatToXdr(float in);
|
||||
|
||||
protected:
|
||||
|
||||
|
||||
|
||||
QString m_Name;
|
||||
|
||||
|
||||
std::vector<QString> m_ToolTipText;
|
||||
|
||||
|
||||
uint32_t m_WaitTime;
|
||||
int m_ParticipantId;
|
||||
|
||||
|
||||
uint32_t m_ISSI;
|
||||
|
||||
|
||||
int m_AllocatedSize;
|
||||
static const LogViewXdrParser* m_Parser;
|
||||
uint16_t m_ActOffset;
|
||||
QVector<uint16_t> m_GpsFieldOffset;
|
||||
int m_TelId;
|
||||
|
||||
|
||||
uint32_t m_LastUnsignedValue;
|
||||
|
||||
|
||||
uint16_t m_MaxArraySize;
|
||||
static const uint16_t START_OFFSET_CENTRAL;
|
||||
static const uint16_t POS_CENTRAL_COUNTER;
|
||||
static const uint16_t POS_CENTRAL_TELID;
|
||||
static const uint16_t POS_CENTRAL_PARTICIPANTID;
|
||||
static const uint16_t START_OFFSET_TETRA_REGISTER;
|
||||
static const uint16_t START_OFFSET_TETRA_AIRLOAD;
|
||||
static const uint16_t START_OFFSET_TETRA_DATA;
|
||||
static const uint16_t START_OFFSET_TETRA_LOGIN;
|
||||
static const uint16_t START_OFFSET_TETRA_FRAGMENT;
|
||||
LogViewXdrStandardType::E_DynArraySizeMethod m_DynArraySizeMethod;
|
||||
|
||||
N_CoPrtCnv::CoPrtCnvLogHeader::E_CoPrtCnvProtocol m_Destination;
|
||||
|
||||
E_Validity m_Validity;
|
||||
|
||||
N_CoPrtCnv::CoPrtCnvLogHeader::E_CoPrtCnvProtocol m_Protocol;
|
||||
|
||||
quint64 m_LogTime;
|
||||
|
||||
mutable QString m_logTimeText;
|
||||
|
||||
quint64 m_GpsTime;
|
||||
|
||||
QByteArray m_data;
|
||||
QJsonObject m_json;
|
||||
|
||||
N_CoPrtCnv::CoPrtCnvRadioTelegram *m_TetraTelegram;
|
||||
|
||||
LogViewField *getFieldTree(const QString& a_type, const QString& a_name,
|
||||
uint16_t a_arraySize, const LogViewXdrType* a_parentElement = nullptr,
|
||||
const bool a_hasContent = true);
|
||||
LogViewField *getFieldTreeJson(const QJsonValue &data,
|
||||
const QString &name,
|
||||
const StructInformation &si,
|
||||
const QStringList &objectPathBase);
|
||||
|
||||
static void addFieldTreeStruct(const QJsonObject &parentObject,
|
||||
LogViewField *parent,
|
||||
const StructInformation &si,
|
||||
const QString &objectNameArrayHint,
|
||||
NGL::INGLLogger &logger);
|
||||
static void addFieldTreeJsonString(const QJsonValue &val,
|
||||
LogViewField *parent,
|
||||
const QString &name,
|
||||
bool isBinary,
|
||||
const QString &objectNameArrayHint,
|
||||
LogViewField::E_FieldKind fieldKind,
|
||||
NGL::INGLLogger &logger);
|
||||
static void addFieldTreeJsonPod(const QJsonValue &val,
|
||||
LogViewField *parent,
|
||||
const QString &name,
|
||||
const QString &type,
|
||||
const QString &objectNameArrayHint,
|
||||
LogViewField::E_FieldKind fieldKind,
|
||||
NGL::INGLLogger &logger);
|
||||
static void addFieldTreeJsonEnum(const QJsonValue &val,
|
||||
LogViewField *parent,
|
||||
const QString &name,
|
||||
const QString &type,
|
||||
const QString &objectNameArrayHint,
|
||||
LogViewField::E_FieldKind fieldKind,
|
||||
NGL::INGLLogger &logger);
|
||||
|
||||
static QString typeFromStructInformation(const StructInformation &si, const QString &name);
|
||||
static MemberInformation memberFromStructInformation(const StructInformation &si, const QString &name);
|
||||
|
||||
|
||||
|
||||
uint16_t getUInt16(const uint16_t a_offset) const;
|
||||
|
||||
|
||||
|
||||
uint32_t getUInt32(const uint16_t a_offset) const;
|
||||
|
||||
|
||||
|
||||
int32_t getInt32(const uint16_t a_offset) const;
|
||||
|
||||
|
||||
|
||||
quint64 getUIntX(const uint16_t a_offset, const uint8_t a_size, const LogViewXdrStandardType::E_ByteOrder a_byteOrder = LogViewXdrStandardType::e_ByteOrderBigEndian) const;
|
||||
|
||||
|
||||
|
||||
int32_t getSIntX(const uint16_t a_offset, const uint8_t a_size, const LogViewXdrStandardType::E_ByteOrder a_byteOrder = LogViewXdrStandardType::e_ByteOrderBigEndian) const;
|
||||
|
||||
|
||||
|
||||
char getChar(const uint16_t a_offset, const uint8_t a_size) const;
|
||||
|
||||
|
||||
|
||||
LogViewField* getContent(const LogViewXdrStandardType* a_standardType, uint16_t& a_offset, const uint16_t a_arraySize);
|
||||
|
||||
|
||||
|
||||
bool isScalar(const LogViewXdrType* a_xdrType) const;
|
||||
|
||||
|
||||
|
||||
void showMessageBox(const QString& a_errorText, const QString& a_title = QObject::tr("Invalid telegram")) const;
|
||||
|
||||
|
||||
|
||||
uint16_t getDynArraySize(uint16_t& a_offset) const;
|
||||
|
||||
|
||||
|
||||
static QString formatToolTipLine(const QString& a_name, const uint32_t a_value)
|
||||
{
|
||||
return formatToolTipLine(a_name, QString::number(a_value), a_value);
|
||||
}
|
||||
|
||||
|
||||
|
||||
static QString formatToolTipLine(const QString& a_name, const QString& a_text, const uint32_t a_value);
|
||||
|
||||
static QString formatToolTipLine(const QString& a_name, const std::string& a_text, const uint32_t a_value)
|
||||
{
|
||||
return formatToolTipLine(a_name, QString::fromStdString(a_text), a_value);
|
||||
}
|
||||
|
||||
|
||||
|
||||
uint8_t getData(const uint16_t a_offset) const;
|
||||
|
||||
private:
|
||||
|
||||
|
||||
NGL::INGLLogger &m_logger;
|
||||
|
||||
friend class LogViewTabWidget;
|
||||
|
||||
};
|
||||
}
|
||||
Reference in new issue
Block a user