- NGL_ADD_LIBRARY2: 87 CMakeLists.txt konvertiert für Export-Header Generierung - 44 Export-Header Include-Pfade korrigiert (_export.h) - 81 DDS-Stub-Header generiert (*_dtc.h, *_fts.h, *_dts.h, *_ftc.h) - INGLLogger: Duplikat gelöscht, m_logger Member entfernt, variadische Makros - Q_FUNC_INFO Redefinition behoben (Qt6 definiert bereits) - FATAL_LOG Makro hinzugefügt - InfrastructureManagement DDS-Stubs (ism.hpp, ism_enums.hpp, ism_ftc.h) - FilterManagement DDS-Stubs (flt_ftc.h, flt_dts.h) - AreaEffectSimulation DDS-Stubs (aes.hpp, aes_enums.hpp) - SymbolAppearance Klasse vollständig definiert mit content() Methode - BuildingComponentFilter Klasse definiert mit Copy-Konstruktor - Ftc Factory: nullptr Return (abstract class) - AesFilter Klasse in aes.hpp hinzugefügt - Dtc Klasse in ppm.hpp mit participantChanged Signal - AesType Enum: alle 15 At* Werte definiert - AesEffectState_def: EsReceived hinzugefügt - DataModification Enum: eAdded/eModified/eRemoved - function_reply_object.h → core_types.h Include-Pfad (72 Dateien) - Enum-Class-Streaming Template-Operator in INGLLogger.h - ism_mounting_point.h: QImage → QtGui/QImage, QGuiApplication/QScreen - ism_data_plugin_interface.h: QSet Include, Include-Reihenfolge - QRegExp → QRegularExpression in tpm_js_parser.cpp - .underlying() Aufrufe zu direktem Enum-Vergleich korrigiert - Include-Pfade: aes.hpp in symbol_appearance_settings_impl.h und aes_display_filter_impl.h Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
1594 lines
52 KiB
C++
Executable File
1594 lines
52 KiB
C++
Executable File
#pragma once
|
|
#include "saatelegrams_export.h"
|
|
#include <QChar>
|
|
#include <QDateTime>
|
|
#include <QJsonArray>
|
|
#include <QJsonObject>
|
|
#include <QString>
|
|
#include <QUuid>
|
|
#include <QVector>
|
|
|
|
#include <ProjectDataManagement/pdm_enums.hpp>
|
|
|
|
namespace AdlerJson
|
|
{
|
|
|
|
namespace JsonKeys
|
|
{
|
|
|
|
inline QString DATA() { return QStringLiteral("data"); }
|
|
inline QString UUID_() { return QStringLiteral("uuid"); }
|
|
inline QString TYPE() { return QStringLiteral("type"); }
|
|
inline QString TYPE_ID() { return QStringLiteral("typeId"); }
|
|
inline QString TIMESTAMP() { return QStringLiteral("timestamp"); }
|
|
|
|
inline QString VERSION() { return QStringLiteral("version"); }
|
|
inline QString SENDER() { return QStringLiteral("sender"); }
|
|
inline QString RECEIVER() { return QStringLiteral("receiver"); }
|
|
inline QString REFERENCE_UUID() { return QStringLiteral("referenceUuid"); }
|
|
inline QString AFE() { return QStringLiteral("Afe"); }
|
|
inline QString PARTY_ID() { return QStringLiteral("partyId"); }
|
|
inline QString ADLER_VERBUND() { return QStringLiteral("adlerVerbund"); }
|
|
inline QString SZENAR() { return QStringLiteral("szenar"); }
|
|
inline QString STATUS() { return QStringLiteral("status"); }
|
|
|
|
|
|
|
|
|
|
inline QString JAHR() { return QStringLiteral("jahr"); }
|
|
inline QString MONAT() { return QStringLiteral("monat"); }
|
|
inline QString TAG() { return QStringLiteral("tag"); }
|
|
inline QString STUNDEN() { return QStringLiteral("stunden"); }
|
|
inline QString MINUTEN() { return QStringLiteral("minuten"); }
|
|
inline QString SEKUNDEN() { return QStringLiteral("sekunden"); }
|
|
inline QString ZDS() { return QStringLiteral("zds"); }
|
|
inline QString ZDM() { return QStringLiteral("zdm"); }
|
|
inline QString ZVZ() { return QStringLiteral("zvz"); }
|
|
|
|
|
|
|
|
inline QString EX_AWES_PLANNING() { return QStringLiteral(" EX-FQ(BA-BB-FK)"); }
|
|
inline QString EX_MANUAL_REPLY() { return QStringLiteral("EX-MQ"); }
|
|
inline QString EX_READY_TO_FIRE() { return QStringLiteral("EX-FQ(FB)"); }
|
|
inline QString EX_FIRE() { return QStringLiteral("EX-FQ(FN)"); }
|
|
inline QString EX_FIRED() { return QStringLiteral("EX-FQ(AF)"); }
|
|
inline QString EX_ENFORCEMENT() { return QStringLiteral("EX-FQ(VM)"); }
|
|
inline QString EX_FIRE_HALT() { return QStringLiteral("EX-FH"); }
|
|
inline QString EX_DONT_FIRE() { return QStringLiteral("EX-FQ(nFN)"); }
|
|
inline QString EX_POSITION_REPORT_FIRE() { return QStringLiteral("EX-SQ(FS)"); }
|
|
inline QString EX_POSITION_REPORT_WEAPON() { return QStringLiteral("EX-SQ(WS)"); }
|
|
inline QString EX_POSITION_REPORT_LOADING_PLACE() { return QStringLiteral("EX-SQ(LP)"); }
|
|
inline QString EX_EXPLORATION_RESULTS() { return QStringLiteral("EX-Erkundungsergebnisse"); }
|
|
inline QString EX_FIRE_FIGHT() { return QStringLiteral("EX-FQ(BA-BB)"); }
|
|
inline QString EX_POSITION_CHANGED() { return QStringLiteral("EX-Stellungswechsel"); }
|
|
inline QString EX_GUIDING_LINES() { return QStringLiteral("EX-HQ(K)"); }
|
|
inline QString EX_GUIDING_LINES_AND_BOUNDARIES() { return QStringLiteral("EX-HQ(G)"); }
|
|
inline QString EX_AQ() { return QStringLiteral("EX-AQ"); }
|
|
inline QString EX_FLUGBAHNBERECHNUNG() { return QStringLiteral("EX-Flugbahnberechnung"); }
|
|
inline QString EX_FLUGBAHNDATEN() { return QStringLiteral("EX-Flugbahndaten"); }
|
|
|
|
|
|
|
|
|
|
inline QString EX_REGISTRATION_REQUEST() { return QStringLiteral("EX-Anmeldung"); }
|
|
inline QString EX_REGISTRATION_CONFIRMATION() { return QStringLiteral("EX-Anmeldebestaetigung"); }
|
|
inline QString EX_DEREGISTRATION_REQUEST() { return QStringLiteral("EX-Abmeldung"); }
|
|
inline QString EX_STATUS() { return QStringLiteral("EX-Status"); }
|
|
inline QString EX_CONNECTION_TEST_REQUEST() { return QStringLiteral("EX-Verbindungsanfrage"); }
|
|
inline QString EX_CONNECTION_TEST_REPLY() { return QStringLiteral("EX-Verbindungsantwort"); }
|
|
inline QString EX_TQ() { return QStringLiteral("EX-TQ"); }
|
|
|
|
|
|
|
|
|
|
inline QString FEUERKAMPFREFERENZ() { return QStringLiteral("feuerkampfReferenz"); }
|
|
inline QString ZIELDATEN() { return QStringLiteral("zieldaten"); }
|
|
inline QString NUMMER() { return QStringLiteral("nummer"); }
|
|
inline QString GEOMETRIE() { return QStringLiteral("geometrie"); }
|
|
inline QString KOORDINATE() { return QStringLiteral("koordinate"); }
|
|
inline QString KOORDINATEN() { return QStringLiteral("koordinaten"); }
|
|
inline QString ZIELKOORDINATE() { return QStringLiteral("zielkoordinate"); }
|
|
inline QString STANDORT() { return QStringLiteral("standort"); }
|
|
inline QString LATITUDE() { return QStringLiteral("latitude"); }
|
|
inline QString LONGITUDE() { return QStringLiteral("longitude"); }
|
|
inline QString HOEHE() { return QStringLiteral("hoehe"); }
|
|
inline QString MAXGIPFEL() { return QStringLiteral("maxGipfel"); }
|
|
inline QString RELATIV_KOORDINATE() { return QStringLiteral("relativKoordinate"); }
|
|
inline QString BREITE_RADIUS() { return QStringLiteral("breiteRadius"); }
|
|
inline QString RADIUS() { return QStringLiteral("radius"); }
|
|
inline QString TIEFE() { return QStringLiteral("tiefe"); }
|
|
inline QString ZIELACHSE() { return QStringLiteral("zielachse"); }
|
|
inline QString ZOG() { return QStringLiteral("zog"); }
|
|
inline QString ELEMENTE() { return QStringLiteral("elemente"); }
|
|
inline QString TYP() { return QStringLiteral("typ"); }
|
|
inline QString SUB_TYP() { return QStringLiteral("subTyp"); }
|
|
inline QString ABFEUERUNGSART() { return QStringLiteral("abfeuerungsArt"); }
|
|
inline QString ART() { return QStringLiteral("art"); }
|
|
inline QString FORDERUNG() { return QStringLiteral("forderung"); }
|
|
inline QString DAUER() { return QStringLiteral("dauer"); }
|
|
|
|
inline QString FEUERKOMMANDO() { return QStringLiteral("feuerkommando"); }
|
|
inline QString VEREIN() { return QStringLiteral("verein"); }
|
|
inline QString WIRKMITTEL() { return QStringLiteral("wirkmittel"); }
|
|
inline QString WIRKMITTELRAKETE() { return QStringLiteral("wirkmittelRakete"); }
|
|
inline QString KENNER() { return QStringLiteral("kenner"); }
|
|
inline QString AUFTREFFPUNKT() { return QStringLiteral("auftreffpunkt"); }
|
|
inline QString TREFFPUNKTE() { return QStringLiteral("treffpunkte"); }
|
|
inline QString FLUGZEIT() { return QStringLiteral("flugzeit"); }
|
|
inline QString GIPFELHOEHE() { return QStringLiteral("gipfelhoehe"); }
|
|
inline QString SCHUSSRICHTUNG() { return QStringLiteral("schussrichtung"); }
|
|
inline QString GESCHOSS() { return QStringLiteral("geschoss"); }
|
|
inline QString GESCHOSSE() { return QStringLiteral("geschosse"); }
|
|
inline QString GESCHOSSSORTE() { return QStringLiteral("geschosssorte"); }
|
|
inline QString LADUNG() { return QStringLiteral("ladung"); }
|
|
inline QString LADUNGSNUMMER() { return QStringLiteral("ladungsNummer"); }
|
|
inline QString ZUENDER() { return QStringLiteral("zuender"); }
|
|
inline QString ZUENDERFUNKTION() { return QStringLiteral("zuenderFunktion"); }
|
|
inline QString ZUENDER_ZEIT() { return QStringLiteral("zuenderZeit"); }
|
|
inline QString ANZAHL() { return QStringLiteral("anzahl"); }
|
|
inline QString INTERVALL() { return QStringLiteral("intervall"); }
|
|
inline QString FLUGBAHNPUNKT() { return QStringLiteral("flugbahnpunkt"); }
|
|
inline QString SPRENGHOEHE() { return QStringLiteral("sprenghoehe"); }
|
|
inline QString ZEIT() { return QStringLiteral("zeit"); }
|
|
inline QString X_RELATIV() { return QStringLiteral("xRelativ"); }
|
|
inline QString Y_RELATIV() { return QStringLiteral("yRelativ"); }
|
|
inline QString Z_RELATIV() { return QStringLiteral("zRelativ"); }
|
|
inline QString STREUUNG() { return QStringLiteral("streuung"); }
|
|
inline QString LAENGS_STREUUNG() { return QStringLiteral("laengsstreuung"); }
|
|
inline QString SEITEN_STREUUNG() { return QStringLiteral("seitenstreuung"); }
|
|
inline QString LAENGS_STREUUNG_H() { return QStringLiteral("laengsstreuungH"); }
|
|
inline QString SEITEN_STREUUNG_H() { return QStringLiteral("seitenstreuungH"); }
|
|
inline QString EINHEIT() { return QStringLiteral("einheit"); }
|
|
inline QString FEUEREINHEIT() { return QStringLiteral("feuereinheit"); }
|
|
inline QString MITTELPUNKT() { return QStringLiteral("mittelpunkt"); }
|
|
inline QString GRUNDRICHTUNG() { return QStringLiteral("grundrichtung"); }
|
|
inline QString WINKELGRUPPE() { return QStringLiteral("winkelgruppe"); }
|
|
inline QString LINKS() { return QStringLiteral("links"); }
|
|
inline QString RECHTS() { return QStringLiteral("rechts"); }
|
|
inline QString WIRKUNGSBEREICH() { return QStringLiteral("wirkungsbereich"); }
|
|
inline QString NAME() { return QStringLiteral("name"); }
|
|
inline QString TRUPPENTEIL() { return QStringLiteral("truppenteil"); }
|
|
|
|
inline QString MELDUNGSNUMMER() { return QStringLiteral("meldungsnummer"); }
|
|
inline QString AB() { return QStringLiteral("ab"); }
|
|
inline QString BIS() { return QStringLiteral("bis"); }
|
|
inline QString LINKERNACHBAR() { return QStringLiteral("linkerNachbar"); }
|
|
inline QString RECHTERNACHBAR() { return QStringLiteral("rechterNachbar"); }
|
|
inline QString BESCHREIBUNG() { return QStringLiteral("beschreibung"); }
|
|
inline QString FREITEXT() { return QStringLiteral("freitext"); }
|
|
inline QString KATEGORIE() { return QStringLiteral("kategorie"); }
|
|
inline QString FEUERKAMPF() { return QStringLiteral("feuerkampf"); }
|
|
inline QString ZPNUMMER() { return QStringLiteral("zpNummer"); }
|
|
inline QString OI() { return QStringLiteral("oi"); }
|
|
inline QString R() { return QStringLiteral("r"); }
|
|
inline QString WAFFENPLAETZE() { return QStringLiteral("waffenplaetze"); }
|
|
inline QString WAFFENSYSTEM() { return QStringLiteral("waffensystem"); }
|
|
inline QString STELLUNGEN() { return QStringLiteral("stellungen"); }
|
|
inline QString TEXTVAL() { return QStringLiteral("text"); }
|
|
inline QString FEHLERCODE() { return QStringLiteral("fehlercode"); }
|
|
inline QString FALLWINKEL() { return QStringLiteral("fallwinkel"); }
|
|
inline QString ERRORTEXT() { return QStringLiteral("error"); }
|
|
inline QString ANFLUG() { return QStringLiteral("anflug"); }
|
|
inline QString GPS() { return QStringLiteral("gps"); }
|
|
inline QString WIRKZEIT() { return QStringLiteral("wirkzeit"); }
|
|
inline QString ENTLADENSCHUSS() { return QStringLiteral("entladenSchuss"); }
|
|
|
|
inline QString ABFEUERUNGSZEIT() { return QStringLiteral("abfeuerungsZeit"); }
|
|
|
|
}
|
|
|
|
namespace TelegramIds
|
|
{
|
|
static constexpr int EX_REGISTRATION_REQUEST() { return 6007; }
|
|
static constexpr int EX_DEREGISTRATION_REQUEST() { return 6009; }
|
|
static constexpr int EX_REGISTRATION_CONFIRMATION() { return 6008; }
|
|
static constexpr int EX_CONNECTION_TEST_REQUEST() { return 6011; }
|
|
static constexpr int EX_CONNECTION_TEST_REPLY() { return 6012; }
|
|
static constexpr int EX_STATUS() { return 6010; }
|
|
|
|
|
|
static constexpr int EX_AWES_PLANNING() { return 1000; }
|
|
static constexpr int EX_MANUAL_REPLY() { return 1001; }
|
|
static constexpr int EX_READY_TO_FIRE() { return 1002; }
|
|
static constexpr int EX_FIRE() { return 1003; }
|
|
static constexpr int EX_FIRED() { return 1004; }
|
|
static constexpr int EX_ENFORCEMENT() { return 1005; }
|
|
static constexpr int EX_FIRE_HALT() { return 1006; }
|
|
static constexpr int EX_DONT_FIRE() { return 1007; }
|
|
static constexpr int EX_POSITION_REPORT_FIRE() { return 2000; }
|
|
static constexpr int EX_POSITION_REPORT_WEAPON() { return 2001; }
|
|
static constexpr int EX_POSITION_REPORT_LOADING_PLACE() { return 2002; }
|
|
static constexpr int EX_EXPLORATION_RESULTS() { return 5000; }
|
|
static constexpr int EX_FIRE_FIGHT() { return 19; }
|
|
static constexpr int EX_POSITION_CHANGED() { return 20; }
|
|
static constexpr int EX_GUIDING_LINES() { return 3000; }
|
|
static constexpr int EX_GUIDING_LINES_AND_BOUNDARIES() { return 3001; }
|
|
static constexpr int EX_TQ() { return 6013; }
|
|
static constexpr int EX_AQ() { return 5001; }
|
|
|
|
static constexpr int EX_FLUGBAHNBERECHNUNG() { return 4000; }
|
|
static constexpr int EX_FLUGBAHNDATEN() { return 4001; }
|
|
|
|
}
|
|
|
|
|
|
struct SAATELEGRAMS_EXPORT Zeitangabe_DTG
|
|
{
|
|
int stunden;
|
|
int minuten;
|
|
int sekunden;
|
|
int tag;
|
|
int monat;
|
|
int jahr;
|
|
QString ZVz;
|
|
QString ZDS;
|
|
QString ZDM;
|
|
};
|
|
|
|
|
|
|
|
struct SAATELEGRAMS_EXPORT SAATelegram
|
|
{
|
|
virtual QJsonObject toJson() = 0;
|
|
|
|
explicit SAATelegram() {}
|
|
virtual ~SAATelegram() {}
|
|
|
|
public:
|
|
template <typename T> QJsonObject toJsonInternal();
|
|
};
|
|
template <> QJsonObject SAATelegram::toJsonInternal<SAATelegram>();
|
|
|
|
|
|
struct SAATELEGRAMS_EXPORT EXTelegramBase : public SAATelegram
|
|
{
|
|
QString typeName;
|
|
int typeId;
|
|
QString uuid;
|
|
QString version;
|
|
QString sender;
|
|
QString receiver;
|
|
QString referenceUuid;
|
|
QString timestamp;
|
|
|
|
EXTelegramBase(const QString &typeName, int typeId)
|
|
: typeName(typeName)
|
|
, typeId(typeId)
|
|
, uuid(QUuid::createUuid().toString(QUuid::WithoutBraces))
|
|
{
|
|
}
|
|
|
|
QJsonObject toJson() override;
|
|
|
|
public:
|
|
template <typename T> QJsonObject toJsonInternal();
|
|
};
|
|
template <> QJsonObject EXTelegramBase::toJsonInternal<SAATelegram>();
|
|
template <> QJsonObject EXTelegramBase::toJsonInternal<EXTelegramBase>();
|
|
|
|
|
|
|
|
struct SAATELEGRAMS_EXPORT EXRegistration : public EXTelegramBase
|
|
{
|
|
int partyId;
|
|
bool adlerVerbund;
|
|
QString szenar;
|
|
|
|
EXRegistration()
|
|
: EXTelegramBase(JsonKeys::EX_REGISTRATION_REQUEST(), TelegramIds::EX_REGISTRATION_REQUEST())
|
|
{
|
|
}
|
|
|
|
QJsonObject toJson() override;
|
|
|
|
public:
|
|
template <typename T> QJsonObject toJsonInternal();
|
|
};
|
|
|
|
template <> QJsonObject EXRegistration::toJsonInternal<EXRegistration>();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
struct SAATELEGRAMS_EXPORT EXDeregistration : EXTelegramBase
|
|
{
|
|
int partyId;
|
|
EXDeregistration()
|
|
: EXTelegramBase(JsonKeys::EX_DEREGISTRATION_REQUEST(), TelegramIds::EX_DEREGISTRATION_REQUEST())
|
|
{
|
|
}
|
|
|
|
QJsonObject toJson() override;
|
|
|
|
public:
|
|
template <typename T> QJsonObject toJsonInternal();
|
|
};
|
|
template <> QJsonObject EXDeregistration::toJsonInternal<EXDeregistration>();
|
|
|
|
struct SAATELEGRAMS_EXPORT EXConnectionTestRequest : public EXTelegramBase
|
|
{
|
|
EXConnectionTestRequest()
|
|
: EXTelegramBase(JsonKeys::EX_CONNECTION_TEST_REQUEST(), TelegramIds::EX_CONNECTION_TEST_REQUEST())
|
|
{
|
|
}
|
|
QJsonObject toJson() override;
|
|
|
|
public:
|
|
template <typename T> QJsonObject toJsonInternal();
|
|
};
|
|
struct SAATELEGRAMS_EXPORT EXConnectionTestReply : public EXTelegramBase
|
|
{
|
|
EXConnectionTestReply()
|
|
: EXTelegramBase(JsonKeys::EX_CONNECTION_TEST_REPLY(), TelegramIds::EX_CONNECTION_TEST_REPLY())
|
|
{
|
|
}
|
|
QJsonObject toJson() override;
|
|
|
|
public:
|
|
template <typename T> QJsonObject toJsonInternal();
|
|
};
|
|
|
|
enum class Szenarstatus
|
|
{
|
|
Inaktiv,
|
|
Geplant,
|
|
Aktiv,
|
|
Gestoppt,
|
|
};
|
|
QString SAATELEGRAMS_EXPORT szenarstatusToStr(Szenarstatus status);
|
|
Szenarstatus SAATELEGRAMS_EXPORT strToSzenarstatus(QString status);
|
|
|
|
struct SAATELEGRAMS_EXPORT EXStatus : public EXTelegramBase
|
|
{
|
|
Szenarstatus status;
|
|
|
|
EXStatus()
|
|
: EXTelegramBase(JsonKeys::EX_STATUS(), TelegramIds::EX_STATUS())
|
|
{
|
|
}
|
|
|
|
QJsonObject toJson() override;
|
|
|
|
public:
|
|
template <typename T> QJsonObject toJsonInternal();
|
|
};
|
|
void SAATELEGRAMS_EXPORT statusFromJson(const QJsonObject &data, EXStatus &eXStatus, bool &bOk);
|
|
|
|
|
|
|
|
|
|
|
|
template <> QJsonObject EXStatus::toJsonInternal<EXStatus>();
|
|
|
|
|
|
|
|
|
|
|
|
struct SAATELEGRAMS_EXPORT Koordinate
|
|
{
|
|
double latitude;
|
|
double longitude;
|
|
};
|
|
|
|
|
|
struct SAATELEGRAMS_EXPORT KoordinateMitHoehe
|
|
{
|
|
Koordinate koordinate;
|
|
int hoehe;
|
|
};
|
|
|
|
|
|
enum class SAATELEGRAMS_EXPORT Abfeuerungsart
|
|
{
|
|
A,
|
|
B,
|
|
F,
|
|
T,
|
|
K,
|
|
};
|
|
|
|
|
|
enum SAATELEGRAMS_EXPORT Art_L24
|
|
{
|
|
AL,
|
|
ANL,
|
|
AO,
|
|
ATRZ,
|
|
BAA,
|
|
BCA,
|
|
BDRY,
|
|
BHA,
|
|
CAA,
|
|
CCA,
|
|
CFL,
|
|
CFZ,
|
|
CHA,
|
|
CP,
|
|
CZ,
|
|
EA,
|
|
EZ,
|
|
FLET,
|
|
FLOT,
|
|
FOAZI,
|
|
FOAZII,
|
|
IZ,
|
|
LZ,
|
|
MA,
|
|
NAI,
|
|
OA,
|
|
PL,
|
|
ROTACA,
|
|
ROTAHA,
|
|
ROTARA,
|
|
ROUTE,
|
|
RP,
|
|
SP,
|
|
TAI,
|
|
FEBA,
|
|
VZL,
|
|
MFLD,
|
|
ZOF,
|
|
TAREA,
|
|
PP,
|
|
AMA,
|
|
ARA
|
|
};
|
|
|
|
|
|
const QMap<QString, ProjectDataManagement::L26_EffectingSystemType> waffensystemtypMap = {
|
|
{QStringLiteral("Pzh2000"), ProjectDataManagement::L26_EffectingSystemType::Pzh2000},
|
|
{QStringLiteral("RRohr"), ProjectDataManagement::L26_EffectingSystemType::RRohr},
|
|
{QStringLiteral("Mars"), ProjectDataManagement::L26_EffectingSystemType::Mars},
|
|
};
|
|
|
|
|
|
const QMap<QString, ProjectDataManagement::L27_EffectorId> waffensystemkennerMap = {
|
|
{QStringLiteral("A"), ProjectDataManagement::L27_EffectorId::A},
|
|
{QStringLiteral("B"), ProjectDataManagement::L27_EffectorId::B},
|
|
{QStringLiteral("C"), ProjectDataManagement::L27_EffectorId::C},
|
|
{QStringLiteral("D"), ProjectDataManagement::L27_EffectorId::D},
|
|
{QStringLiteral("E"), ProjectDataManagement::L27_EffectorId::E},
|
|
{QStringLiteral("F"), ProjectDataManagement::L27_EffectorId::F},
|
|
{QStringLiteral("G"), ProjectDataManagement::L27_EffectorId::G},
|
|
{QStringLiteral("H"), ProjectDataManagement::L27_EffectorId::H},
|
|
{QStringLiteral("I"), ProjectDataManagement::L27_EffectorId::I},
|
|
{QStringLiteral("J"), ProjectDataManagement::L27_EffectorId::J},
|
|
{QStringLiteral("K"), ProjectDataManagement::L27_EffectorId::K},
|
|
{QStringLiteral("L"), ProjectDataManagement::L27_EffectorId::L},
|
|
{QStringLiteral("M"), ProjectDataManagement::L27_EffectorId::M},
|
|
{QStringLiteral("N"), ProjectDataManagement::L27_EffectorId::N},
|
|
{QStringLiteral("O"), ProjectDataManagement::L27_EffectorId::O},
|
|
{QStringLiteral("P"), ProjectDataManagement::L27_EffectorId::P},
|
|
{QStringLiteral("Q"), ProjectDataManagement::L27_EffectorId::Q},
|
|
{QStringLiteral("R"), ProjectDataManagement::L27_EffectorId::R},
|
|
{QStringLiteral("S"), ProjectDataManagement::L27_EffectorId::S},
|
|
{QStringLiteral("T"), ProjectDataManagement::L27_EffectorId::T},
|
|
{QStringLiteral("U"), ProjectDataManagement::L27_EffectorId::U},
|
|
{QStringLiteral("V"), ProjectDataManagement::L27_EffectorId::V},
|
|
{QStringLiteral("W"), ProjectDataManagement::L27_EffectorId::W},
|
|
{QStringLiteral("X"), ProjectDataManagement::L27_EffectorId::X},
|
|
{QStringLiteral("Y"), ProjectDataManagement::L27_EffectorId::Y},
|
|
{QStringLiteral("Z"), ProjectDataManagement::L27_EffectorId::Z},
|
|
{QStringLiteral("B1"), ProjectDataManagement::L27_EffectorId::B1},
|
|
{QStringLiteral("B2"), ProjectDataManagement::L27_EffectorId::B2},
|
|
{QStringLiteral("B3"), ProjectDataManagement::L27_EffectorId::B3},
|
|
{QStringLiteral("B4"), ProjectDataManagement::L27_EffectorId::B4},
|
|
{QStringLiteral("B5"), ProjectDataManagement::L27_EffectorId::B5},
|
|
{QStringLiteral("B6"), ProjectDataManagement::L27_EffectorId::B6},
|
|
{QStringLiteral("B7"), ProjectDataManagement::L27_EffectorId::B7},
|
|
{QStringLiteral("B8"), ProjectDataManagement::L27_EffectorId::B8},
|
|
{QStringLiteral("C1"), ProjectDataManagement::L27_EffectorId::C1},
|
|
{QStringLiteral("C2"), ProjectDataManagement::L27_EffectorId::C2},
|
|
{QStringLiteral("C3"), ProjectDataManagement::L27_EffectorId::C3},
|
|
{QStringLiteral("C4"), ProjectDataManagement::L27_EffectorId::C4},
|
|
{QStringLiteral("C5"), ProjectDataManagement::L27_EffectorId::C5},
|
|
{QStringLiteral("C6"), ProjectDataManagement::L27_EffectorId::C6},
|
|
{QStringLiteral("C7"), ProjectDataManagement::L27_EffectorId::C7},
|
|
{QStringLiteral("C8"), ProjectDataManagement::L27_EffectorId::C8},
|
|
{QStringLiteral("211"), ProjectDataManagement::L27_EffectorId::NO_211},
|
|
{QStringLiteral("212"), ProjectDataManagement::L27_EffectorId::NO_212},
|
|
{QStringLiteral("213"), ProjectDataManagement::L27_EffectorId::NO_213},
|
|
{QStringLiteral("214"), ProjectDataManagement::L27_EffectorId::NO_214},
|
|
{QStringLiteral("215"), ProjectDataManagement::L27_EffectorId::NO_215},
|
|
{QStringLiteral("216"), ProjectDataManagement::L27_EffectorId::NO_216},
|
|
{QStringLiteral("217"), ProjectDataManagement::L27_EffectorId::NO_217},
|
|
{QStringLiteral("218"), ProjectDataManagement::L27_EffectorId::NO_218},
|
|
{QStringLiteral("221"), ProjectDataManagement::L27_EffectorId::NO_221},
|
|
{QStringLiteral("222"), ProjectDataManagement::L27_EffectorId::NO_222},
|
|
{QStringLiteral("223"), ProjectDataManagement::L27_EffectorId::NO_223},
|
|
{QStringLiteral("224"), ProjectDataManagement::L27_EffectorId::NO_224},
|
|
{QStringLiteral("225"), ProjectDataManagement::L27_EffectorId::NO_225},
|
|
{QStringLiteral("226"), ProjectDataManagement::L27_EffectorId::NO_226},
|
|
{QStringLiteral("227"), ProjectDataManagement::L27_EffectorId::NO_227},
|
|
{QStringLiteral("228"), ProjectDataManagement::L27_EffectorId::NO_228},
|
|
{QStringLiteral("311"), ProjectDataManagement::L27_EffectorId::NO_311},
|
|
{QStringLiteral("312"), ProjectDataManagement::L27_EffectorId::NO_312},
|
|
{QStringLiteral("313"), ProjectDataManagement::L27_EffectorId::NO_313},
|
|
{QStringLiteral("314"), ProjectDataManagement::L27_EffectorId::NO_314},
|
|
{QStringLiteral("315"), ProjectDataManagement::L27_EffectorId::NO_315},
|
|
{QStringLiteral("316"), ProjectDataManagement::L27_EffectorId::NO_316},
|
|
{QStringLiteral("317"), ProjectDataManagement::L27_EffectorId::NO_317},
|
|
{QStringLiteral("318"), ProjectDataManagement::L27_EffectorId::NO_318},
|
|
{QStringLiteral("321"), ProjectDataManagement::L27_EffectorId::NO_321},
|
|
{QStringLiteral("322"), ProjectDataManagement::L27_EffectorId::NO_322},
|
|
{QStringLiteral("323"), ProjectDataManagement::L27_EffectorId::NO_323},
|
|
{QStringLiteral("324"), ProjectDataManagement::L27_EffectorId::NO_324},
|
|
{QStringLiteral("325"), ProjectDataManagement::L27_EffectorId::NO_325},
|
|
{QStringLiteral("326"), ProjectDataManagement::L27_EffectorId::NO_326},
|
|
{QStringLiteral("327"), ProjectDataManagement::L27_EffectorId::NO_327},
|
|
{QStringLiteral("328"), ProjectDataManagement::L27_EffectorId::NO_328},
|
|
{QStringLiteral("411"), ProjectDataManagement::L27_EffectorId::NO_411},
|
|
{QStringLiteral("412"), ProjectDataManagement::L27_EffectorId::NO_412},
|
|
{QStringLiteral("413"), ProjectDataManagement::L27_EffectorId::NO_413},
|
|
{QStringLiteral("414"), ProjectDataManagement::L27_EffectorId::NO_414},
|
|
{QStringLiteral("415"), ProjectDataManagement::L27_EffectorId::NO_415},
|
|
{QStringLiteral("416"), ProjectDataManagement::L27_EffectorId::NO_416},
|
|
{QStringLiteral("417"), ProjectDataManagement::L27_EffectorId::NO_417},
|
|
{QStringLiteral("418"), ProjectDataManagement::L27_EffectorId::NO_418},
|
|
{QStringLiteral("421"), ProjectDataManagement::L27_EffectorId::NO_421},
|
|
{QStringLiteral("422"), ProjectDataManagement::L27_EffectorId::NO_422},
|
|
{QStringLiteral("423"), ProjectDataManagement::L27_EffectorId::NO_423},
|
|
{QStringLiteral("424"), ProjectDataManagement::L27_EffectorId::NO_424},
|
|
{QStringLiteral("425"), ProjectDataManagement::L27_EffectorId::NO_425},
|
|
{QStringLiteral("426"), ProjectDataManagement::L27_EffectorId::NO_426},
|
|
{QStringLiteral("427"), ProjectDataManagement::L27_EffectorId::NO_427},
|
|
{QStringLiteral("428"), ProjectDataManagement::L27_EffectorId::NO_428},
|
|
{QStringLiteral("511"), ProjectDataManagement::L27_EffectorId::NO_511},
|
|
{QStringLiteral("512"), ProjectDataManagement::L27_EffectorId::NO_512},
|
|
{QStringLiteral("513"), ProjectDataManagement::L27_EffectorId::NO_513},
|
|
{QStringLiteral("514"), ProjectDataManagement::L27_EffectorId::NO_514},
|
|
{QStringLiteral("515"), ProjectDataManagement::L27_EffectorId::NO_515},
|
|
{QStringLiteral("516"), ProjectDataManagement::L27_EffectorId::NO_516},
|
|
{QStringLiteral("517"), ProjectDataManagement::L27_EffectorId::NO_517},
|
|
{QStringLiteral("518"), ProjectDataManagement::L27_EffectorId::NO_518},
|
|
{QStringLiteral("521"), ProjectDataManagement::L27_EffectorId::NO_521},
|
|
{QStringLiteral("522"), ProjectDataManagement::L27_EffectorId::NO_522},
|
|
{QStringLiteral("523"), ProjectDataManagement::L27_EffectorId::NO_523},
|
|
{QStringLiteral("524"), ProjectDataManagement::L27_EffectorId::NO_524},
|
|
{QStringLiteral("525"), ProjectDataManagement::L27_EffectorId::NO_525},
|
|
{QStringLiteral("526"), ProjectDataManagement::L27_EffectorId::NO_526},
|
|
{QStringLiteral("527"), ProjectDataManagement::L27_EffectorId::NO_527},
|
|
{QStringLiteral("528"), ProjectDataManagement::L27_EffectorId::NO_528}
|
|
};
|
|
|
|
|
|
enum SAATELEGRAMS_EXPORT Status_L32
|
|
{
|
|
INV,
|
|
DAT,
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
enum class SAATELEGRAMS_EXPORT Winkelgruppe
|
|
{
|
|
Untere = 0,
|
|
Obere = 1
|
|
};
|
|
|
|
|
|
enum class SAATELEGRAMS_EXPORT FlugbahnberechnungFehlercode
|
|
{
|
|
Ok = 0,
|
|
MinimaleEntfernung = 1,
|
|
MaximaleEntfernung = 2,
|
|
GeschossKombination = 3,
|
|
Ungueltig = 4,
|
|
};
|
|
|
|
|
|
enum class SAATELEGRAMS_EXPORT L45_AnmeldebestaetigungFehlercode
|
|
{
|
|
Ok = 0,
|
|
Doppelt = 1,
|
|
Mehrfach = 2,
|
|
Belegt = 3
|
|
};
|
|
|
|
|
|
struct SAATELEGRAMS_EXPORT Einheit
|
|
{
|
|
QString verein;
|
|
int r;
|
|
ProjectDataManagement::L19_Oi oi;
|
|
};
|
|
|
|
|
|
struct SAATELEGRAMS_EXPORT Geschoss
|
|
{
|
|
QString geschosssorte;
|
|
QString ladung;
|
|
QString zuender;
|
|
int anzahl{0};
|
|
};
|
|
|
|
|
|
struct SAATELEGRAMS_EXPORT Zieldaten
|
|
{
|
|
int nummer{0};
|
|
ProjectDataManagement::L4_TargetGeometry geometrie;
|
|
KoordinateMitHoehe koordinate;
|
|
KoordinateMitHoehe relativKoordinate;
|
|
int breiteRadius{0};
|
|
int tiefe{0};
|
|
int zielachse{0};
|
|
int zog{0};
|
|
int elemente{0};
|
|
QString typ;
|
|
QString subTyp;
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
struct SAATELEGRAMS_EXPORT Wirkungsbereich
|
|
{
|
|
int grundrichtung;
|
|
int links;
|
|
int rechts;
|
|
};
|
|
|
|
|
|
struct SAATELEGRAMS_EXPORT Feuereinheit
|
|
{
|
|
QString verein;
|
|
int r;
|
|
};
|
|
|
|
|
|
struct SAATELEGRAMS_EXPORT Erkundungseinheit
|
|
{
|
|
QString verein;
|
|
int r;
|
|
};
|
|
|
|
|
|
struct SAATELEGRAMS_EXPORT Erkundungsstellungen
|
|
{
|
|
QVector<KoordinateMitHoehe> waffenplaetze;
|
|
Wirkungsbereich wirkungsbereich;
|
|
};
|
|
|
|
|
|
struct SAATELEGRAMS_EXPORT FeuerkommandoGeschosse
|
|
{
|
|
QString geschosssorte;
|
|
QString ladung;
|
|
QString zuender;
|
|
QString zuenderFunktion;
|
|
double zuenderZeit;
|
|
int anzahl;
|
|
int ladungsNummer;
|
|
double intervall;
|
|
};
|
|
|
|
|
|
struct SAATELEGRAMS_EXPORT Flugbahnpunkt
|
|
{
|
|
double zeit;
|
|
double xRelativ;
|
|
double yRelativ;
|
|
double zRelativ;
|
|
};
|
|
|
|
|
|
struct SAATELEGRAMS_EXPORT FlugbahnberechnungGeschosse
|
|
{
|
|
QString geschosssorte;
|
|
QString ladung;
|
|
QString zuender;
|
|
QString zuenderFunktion;
|
|
};
|
|
|
|
|
|
struct SAATELEGRAMS_EXPORT FlugbahndatenGeschosse
|
|
{
|
|
QString geschosssorte;
|
|
QString ladung;
|
|
int ladungsNummer;
|
|
QString zuender;
|
|
QString zuenderFunktion;
|
|
double zuenderZeit;
|
|
};
|
|
|
|
|
|
struct SAATELEGRAMS_EXPORT Streuungsdaten
|
|
{
|
|
double laengsstreuung;
|
|
double seitenstreuung;
|
|
double laengsstreuungH;
|
|
double seitenstreuungH;
|
|
};
|
|
|
|
|
|
struct SAATELEGRAMS_EXPORT WirkmittelFeuerkommando
|
|
{
|
|
ProjectDataManagement::L27_EffectorId kenner;
|
|
KoordinateMitHoehe auftreffpunkt;
|
|
double flugzeit;
|
|
int gipfelhoehe;
|
|
double schussrichtung;
|
|
FeuerkommandoGeschosse geschoss;
|
|
QVector<Flugbahnpunkt> flugbahnpunkt;
|
|
Streuungsdaten streuung;
|
|
};
|
|
|
|
|
|
struct SAATELEGRAMS_EXPORT Treffpunkt
|
|
{
|
|
KoordinateMitHoehe koordinate;
|
|
int anzahl;
|
|
};
|
|
|
|
|
|
struct SAATELEGRAMS_EXPORT WirkmittelFeuerkommandoRakete
|
|
{
|
|
ProjectDataManagement::L27_EffectorId kenner;
|
|
QVector<Treffpunkt> treffpunkte;
|
|
double flugzeit;
|
|
int gipfelhoehe;
|
|
double schussrichtung;
|
|
int fallwinkel;
|
|
ProjectDataManagement::L48_TrajectoryRocket anflug;
|
|
FeuerkommandoGeschosse geschoss;
|
|
ProjectDataManagement::L46_GpsFrequency gps;
|
|
int wirkzeit;
|
|
};
|
|
|
|
|
|
struct SAATELEGRAMS_EXPORT Feuerkommando
|
|
{
|
|
QString verein;
|
|
ProjectDataManagement::L26_EffectingSystemType typ;
|
|
QVector<WirkmittelFeuerkommando> wirkmittel;
|
|
QVector<WirkmittelFeuerkommandoRakete> wirkmittelRakete;
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
struct SAATELEGRAMS_EXPORT Wirkfelddaten
|
|
{
|
|
QString feuerkampfReferenz;
|
|
Zieldaten zieldaten;
|
|
Abfeuerungsart abfeuerungsArt;
|
|
ProjectDataManagement::L7_Request forderung;
|
|
int dauer;
|
|
Feuerkommando feuerkommando;
|
|
};
|
|
|
|
|
|
struct SAATELEGRAMS_EXPORT Feuerkampfdaten
|
|
{
|
|
QString feuerkampfReferenz;
|
|
QString verein;
|
|
ProjectDataManagement::L27_EffectorId kenner;
|
|
};
|
|
|
|
|
|
struct SAATELEGRAMS_EXPORT Erkundungsdaten
|
|
{
|
|
Erkundungseinheit einheit;
|
|
KoordinateMitHoehe ladeplatz;
|
|
Erkundungsstellungen stellungen;
|
|
};
|
|
|
|
|
|
struct SAATELEGRAMS_EXPORT Zielmeldedaten
|
|
{
|
|
Zieldaten zieldaten;
|
|
Abfeuerungsart abfeuerungsArt;
|
|
ProjectDataManagement::L7_Request forderung;
|
|
int dauer;
|
|
QVector<Feuerkommando> feuerkommandos;
|
|
};
|
|
|
|
|
|
struct SAATELEGRAMS_EXPORT Feuerstellungsdaten
|
|
{
|
|
ProjectDataManagement::L26_EffectingSystemType typ;
|
|
ProjectDataManagement::L28_Status status;
|
|
Einheit feuereinheit;
|
|
KoordinateMitHoehe mittelpunkt;
|
|
QVector<KoordinateMitHoehe> koordinaten;
|
|
QVector<Geschoss> geschosse;
|
|
Wirkungsbereich wirkungsbereich;
|
|
};
|
|
|
|
|
|
struct SAATELEGRAMS_EXPORT Waffensystemdaten
|
|
{
|
|
ProjectDataManagement::L26_EffectingSystemType typ;
|
|
ProjectDataManagement::L27_EffectorId kenner;
|
|
ProjectDataManagement::L28_Status status;
|
|
Einheit einheit;
|
|
QVector<Geschoss> geschosse;
|
|
KoordinateMitHoehe koordinate;
|
|
Wirkungsbereich wirkungsbereich;
|
|
};
|
|
|
|
|
|
struct SAATELEGRAMS_EXPORT Ladeplatzdaten
|
|
{
|
|
Einheit einheit;
|
|
KoordinateMitHoehe koordinate;
|
|
QVector<Geschoss> geschosse;
|
|
};
|
|
|
|
|
|
struct SAATELEGRAMS_EXPORT Stellungswechseldaten
|
|
{
|
|
QString verein;
|
|
int r;
|
|
ProjectDataManagement::L19_Oi oi;
|
|
};
|
|
|
|
|
|
struct SAATELEGRAMS_EXPORT Munitionsdaten
|
|
{
|
|
QString verein;
|
|
};
|
|
|
|
|
|
struct SAATELEGRAMS_EXPORT LpMunitionsdaten
|
|
{
|
|
Einheit einheit;
|
|
};
|
|
|
|
|
|
struct SAATELEGRAMS_EXPORT Koordinierungsdaten
|
|
{
|
|
ProjectDataManagement::L25_KindGuidingLine art;
|
|
QString name;
|
|
int meldungsnummer;
|
|
QString truppenteil;
|
|
Zeitangabe_DTG ab;
|
|
Zeitangabe_DTG bis;
|
|
QVector<Koordinate> koordinaten;
|
|
Koordinate mittelpunkt;
|
|
int radius;
|
|
int maxGipfel;
|
|
};
|
|
|
|
|
|
struct SAATELEGRAMS_EXPORT WirkfeldplanungData
|
|
{
|
|
QString feuerkampfReferenz;
|
|
Zieldaten zieldaten;
|
|
Abfeuerungsart abfeuerungsArt;
|
|
ProjectDataManagement::L7_Request forderung;
|
|
int dauer;
|
|
Feuerkommando feuerkommando;
|
|
};
|
|
|
|
|
|
struct SAATELEGRAMS_EXPORT Fuehrungsdaten
|
|
{
|
|
Art_L24 art;
|
|
QString name;
|
|
int meldungsnummer;
|
|
Zeitangabe_DTG ab;
|
|
Zeitangabe_DTG bis;
|
|
QVector<Koordinate> koordinaten;
|
|
QString linkerNachbar;
|
|
QString rechterNachbar;
|
|
};
|
|
|
|
|
|
struct SAATELEGRAMS_EXPORT Anmeldedaten
|
|
{
|
|
int partyId;
|
|
bool adlerVerbund;
|
|
QString szenar;
|
|
};
|
|
void SAATELEGRAMS_EXPORT anmeldedatenFromJson(const QJsonObject &data, Anmeldedaten &anmeldedaten, bool &bOk);
|
|
|
|
|
|
struct SAATELEGRAMS_EXPORT Abmeldedaten
|
|
{
|
|
int partyId;
|
|
};
|
|
void SAATELEGRAMS_EXPORT abmeldedatenFromJson(const QJsonObject &data, Abmeldedaten &anmeldedaten, bool &bOk);
|
|
|
|
|
|
struct SAATELEGRAMS_EXPORT TechnischeDaten
|
|
{
|
|
Status_L32 status;
|
|
QString beschreibung;
|
|
};
|
|
|
|
|
|
struct SAATELEGRAMS_EXPORT FreitextDaten
|
|
{
|
|
QString text;
|
|
};
|
|
|
|
|
|
struct SAATELEGRAMS_EXPORT ManuelleQuittungDaten
|
|
{
|
|
QString feuerkampfreferenz;
|
|
};
|
|
|
|
|
|
struct SAATELEGRAMS_EXPORT FeuerHaltDaten
|
|
{
|
|
QString verein;
|
|
ProjectDataManagement::L27_EffectorId kenner;
|
|
ProjectDataManagement::L22_FireHaltCategory kategorie;
|
|
QString feuerkampfReferenz;
|
|
int zpNummer;
|
|
Koordinate koordinate;
|
|
int radius;
|
|
bool entladenSchuss;
|
|
};
|
|
|
|
|
|
struct SAATELEGRAMS_EXPORT AnBestaetigungsdaten
|
|
{
|
|
L45_AnmeldebestaetigungFehlercode error;
|
|
};
|
|
|
|
|
|
struct SAATELEGRAMS_EXPORT FlugBerechnungsDaten
|
|
{
|
|
KoordinateMitHoehe standort;
|
|
KoordinateMitHoehe zielkoordinate;
|
|
ProjectDataManagement::L26_EffectingSystemType waffensystem;
|
|
FlugbahnberechnungGeschosse geschoss;
|
|
int sprenghoehe;
|
|
Winkelgruppe winkelgruppe;
|
|
};
|
|
|
|
|
|
struct SAATELEGRAMS_EXPORT Flugbahndaten
|
|
{
|
|
FlugbahnberechnungFehlercode fehlercode;
|
|
KoordinateMitHoehe zielkoordinate;
|
|
ProjectDataManagement::L26_EffectingSystemType waffensystem;
|
|
int flugzeit;
|
|
int gipfelhoehe;
|
|
int schussrichtung;
|
|
int fallwinkel;
|
|
QVector<Flugbahnpunkt> flugbahnpunkt;
|
|
Streuungsdaten streuung;
|
|
FlugbahndatenGeschosse geschoss;
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void SAATELEGRAMS_EXPORT wirkfeldplanungDataFromJson(const QJsonObject &data, WirkfeldplanungData &wirkfeldplanungData, bool &bOk);
|
|
struct SAATELEGRAMS_EXPORT ExAwesPlanning : public EXTelegramBase
|
|
{
|
|
WirkfeldplanungData wirkfeldplanungData;
|
|
|
|
ExAwesPlanning()
|
|
: EXTelegramBase(JsonKeys::EX_AWES_PLANNING(), TelegramIds::EX_AWES_PLANNING())
|
|
{
|
|
}
|
|
QJsonObject toJson() override;
|
|
|
|
public:
|
|
template <typename T> QJsonObject toJsonInternal();
|
|
};
|
|
|
|
template <> QJsonObject ExAwesPlanning::toJsonInternal<ExAwesPlanning>();
|
|
|
|
|
|
void SAATELEGRAMS_EXPORT feuerkampfdatenFromJson(const QJsonObject &data, Feuerkampfdaten &feuerkampfdaten, bool &bOk);
|
|
struct SAATELEGRAMS_EXPORT ExFeuerbereit : public EXTelegramBase
|
|
{
|
|
Feuerkampfdaten feuerkampfdaten;
|
|
|
|
ExFeuerbereit()
|
|
: EXTelegramBase(JsonKeys::EX_READY_TO_FIRE(), TelegramIds::EX_READY_TO_FIRE())
|
|
{
|
|
}
|
|
QJsonObject toJson() override;
|
|
|
|
public:
|
|
template <typename T> QJsonObject toJsonInternal();
|
|
};
|
|
|
|
template <> QJsonObject ExFeuerbereit::toJsonInternal<ExFeuerbereit>();
|
|
|
|
|
|
struct SAATELEGRAMS_EXPORT ExFeuern : public EXTelegramBase
|
|
{
|
|
Feuerkampfdaten feuerkampfdaten;
|
|
|
|
ExFeuern()
|
|
: EXTelegramBase(JsonKeys::EX_FIRE(), TelegramIds::EX_FIRE())
|
|
{
|
|
}
|
|
QJsonObject toJson() override;
|
|
|
|
public:
|
|
template <typename T> QJsonObject toJsonInternal();
|
|
};
|
|
|
|
template <> QJsonObject ExFeuern::toJsonInternal<ExFeuern>();
|
|
|
|
|
|
struct SAATELEGRAMS_EXPORT ExAbgefeuert : public EXTelegramBase
|
|
{
|
|
Feuerkampfdaten feuerkampfdaten;
|
|
|
|
ExAbgefeuert()
|
|
: EXTelegramBase(JsonKeys::EX_FIRED(), TelegramIds::EX_FIRED())
|
|
{
|
|
}
|
|
QJsonObject toJson() override;
|
|
|
|
public:
|
|
template <typename T> QJsonObject toJsonInternal();
|
|
};
|
|
|
|
template <> QJsonObject ExFeuern::toJsonInternal<ExAbgefeuert>();
|
|
|
|
|
|
struct SAATELEGRAMS_EXPORT ExVollzugsmeldung : public EXTelegramBase
|
|
{
|
|
Feuerkampfdaten feuerkampfdaten;
|
|
|
|
ExVollzugsmeldung()
|
|
: EXTelegramBase(JsonKeys::EX_ENFORCEMENT(), TelegramIds::EX_ENFORCEMENT())
|
|
{
|
|
}
|
|
QJsonObject toJson() override;
|
|
|
|
public:
|
|
template <typename T> QJsonObject toJsonInternal();
|
|
};
|
|
|
|
template <> QJsonObject ExFeuern::toJsonInternal<ExVollzugsmeldung>();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void SAATELEGRAMS_EXPORT erkundungsdatenFromJson(const QJsonObject &data, Erkundungsdaten &erkundungsdaten, bool &bOk);
|
|
|
|
struct SAATELEGRAMS_EXPORT ExErkundungsergebnisse : public EXTelegramBase
|
|
{
|
|
Erkundungsdaten erkundungsdaten;
|
|
|
|
ExErkundungsergebnisse()
|
|
: EXTelegramBase(JsonKeys::EX_EXPLORATION_RESULTS(), TelegramIds::EX_EXPLORATION_RESULTS())
|
|
{
|
|
}
|
|
QJsonObject toJson() override;
|
|
|
|
public:
|
|
template <typename T> QJsonObject toJsonInternal();
|
|
};
|
|
|
|
template <> QJsonObject ExFeuern::toJsonInternal<ExErkundungsergebnisse>();
|
|
|
|
|
|
|
|
|
|
void SAATELEGRAMS_EXPORT zielmeldedatenFromJson(const QJsonObject &data, Zielmeldedaten &zielmeldedaten, bool &bOk);
|
|
struct SAATELEGRAMS_EXPORT ExFeuerkampf : public EXTelegramBase
|
|
{
|
|
Zielmeldedaten zielmeldedaten;
|
|
|
|
ExFeuerkampf()
|
|
: EXTelegramBase(JsonKeys::EX_FIRE_FIGHT(), TelegramIds::EX_FIRE_FIGHT())
|
|
{
|
|
}
|
|
QJsonObject toJson() override;
|
|
|
|
public:
|
|
template <typename T> QJsonObject toJsonInternal();
|
|
};
|
|
|
|
template <> QJsonObject ExFeuern::toJsonInternal<ExFeuerkampf>();
|
|
|
|
|
|
|
|
void SAATELEGRAMS_EXPORT feuerHaltDatenFromJson(const QJsonObject &data, FeuerHaltDaten &feuerHaltDaten, bool &bOk);
|
|
struct SAATELEGRAMS_EXPORT ExFeuerhalt : public EXTelegramBase
|
|
{
|
|
FeuerHaltDaten feuerHaltDaten;
|
|
|
|
ExFeuerhalt()
|
|
: EXTelegramBase(JsonKeys::EX_FIRE_HALT(), TelegramIds::EX_FIRE_HALT())
|
|
{
|
|
}
|
|
QJsonObject toJson() override;
|
|
|
|
public:
|
|
template <typename T> QJsonObject toJsonInternal();
|
|
};
|
|
|
|
template <> QJsonObject ExFeuern::toJsonInternal<ExFeuerhalt>();
|
|
|
|
|
|
|
|
void SAATELEGRAMS_EXPORT feuerstellungsdatenFromJson(const QJsonObject &data, Feuerstellungsdaten &feuerstellungsdaten, bool &bOk);
|
|
struct SAATELEGRAMS_EXPORT ExFeuerstellungFS : public EXTelegramBase
|
|
{
|
|
Feuerstellungsdaten feuerstellungsdaten;
|
|
|
|
ExFeuerstellungFS()
|
|
: EXTelegramBase(JsonKeys::EX_POSITION_REPORT_FIRE(), TelegramIds::EX_POSITION_REPORT_FIRE())
|
|
{
|
|
}
|
|
QJsonObject toJson() override;
|
|
|
|
public:
|
|
template <typename T> QJsonObject toJsonInternal();
|
|
};
|
|
|
|
template <> QJsonObject ExFeuerstellungFS::toJsonInternal<ExFeuerstellungFS>();
|
|
|
|
|
|
|
|
void SAATELEGRAMS_EXPORT waffensystemdatenFromJson(const QJsonObject &data, Waffensystemdaten &waffensystemdaten, bool &bOk);
|
|
struct SAATELEGRAMS_EXPORT ExFeuerstellungWS : public EXTelegramBase
|
|
{
|
|
Waffensystemdaten waffensystemdaten;
|
|
|
|
ExFeuerstellungWS()
|
|
: EXTelegramBase(JsonKeys::EX_POSITION_REPORT_WEAPON(), TelegramIds::EX_POSITION_REPORT_WEAPON())
|
|
{
|
|
}
|
|
QJsonObject toJson() override;
|
|
|
|
public:
|
|
template <typename T> QJsonObject toJsonInternal();
|
|
};
|
|
|
|
template <> QJsonObject ExFeuerstellungWS::toJsonInternal<ExFeuerstellungWS>();
|
|
|
|
|
|
|
|
void SAATELEGRAMS_EXPORT ladeplatzdatenFromJson(const QJsonObject &data, Ladeplatzdaten &ladeplatzdaten, bool &bOk);
|
|
struct SAATELEGRAMS_EXPORT ExFeuerstellungLP : public EXTelegramBase
|
|
{
|
|
Ladeplatzdaten ladeplatzdaten;
|
|
|
|
ExFeuerstellungLP()
|
|
: EXTelegramBase(JsonKeys::EX_POSITION_REPORT_LOADING_PLACE(), TelegramIds::EX_POSITION_REPORT_LOADING_PLACE())
|
|
{
|
|
}
|
|
QJsonObject toJson() override;
|
|
|
|
public:
|
|
template <typename T> QJsonObject toJsonInternal();
|
|
};
|
|
|
|
template <> QJsonObject ExFeuerstellungLP::toJsonInternal<ExFeuerstellungLP>();
|
|
|
|
|
|
|
|
void SAATELEGRAMS_EXPORT stellungswechseldatenFromJson(const QJsonObject &data, Stellungswechseldaten &stellungswechseldaten, bool &bOk);
|
|
struct SAATELEGRAMS_EXPORT ExStellungswechsel : public EXTelegramBase
|
|
{
|
|
Stellungswechseldaten stellungswechseldaten;
|
|
|
|
ExStellungswechsel()
|
|
: EXTelegramBase(JsonKeys::EX_POSITION_CHANGED(), TelegramIds::EX_POSITION_CHANGED())
|
|
{
|
|
}
|
|
QJsonObject toJson() override;
|
|
|
|
public:
|
|
template <typename T> QJsonObject toJsonInternal();
|
|
};
|
|
|
|
template <> QJsonObject ExStellungswechsel::toJsonInternal<ExStellungswechsel>();
|
|
|
|
|
|
|
|
void SAATELEGRAMS_EXPORT koordinierungsdatenFromJson(const QJsonObject &data, Koordinierungsdaten &koordinierungsdaten, bool &bOk);
|
|
struct SAATELEGRAMS_EXPORT ExHqKoordinierungsmassnahmen : public EXTelegramBase
|
|
{
|
|
Koordinierungsdaten koordinierungsdaten;
|
|
|
|
ExHqKoordinierungsmassnahmen()
|
|
: EXTelegramBase(JsonKeys::EX_GUIDING_LINES(), TelegramIds::EX_GUIDING_LINES())
|
|
{
|
|
}
|
|
QJsonObject toJson() override;
|
|
|
|
public:
|
|
template <typename T> QJsonObject toJsonInternal();
|
|
};
|
|
|
|
template <> QJsonObject ExHqKoordinierungsmassnahmen::toJsonInternal<ExHqKoordinierungsmassnahmen>();
|
|
|
|
|
|
|
|
void SAATELEGRAMS_EXPORT fuehrungsdatenFromJson(const QJsonObject &data, Fuehrungsdaten &fuehrungsdaten, bool &bOk);
|
|
struct SAATELEGRAMS_EXPORT ExHqFuehrungslinien : public EXTelegramBase
|
|
{
|
|
Fuehrungsdaten fuehrungsdaten;
|
|
|
|
ExHqFuehrungslinien()
|
|
: EXTelegramBase(JsonKeys::EX_GUIDING_LINES_AND_BOUNDARIES(), TelegramIds::EX_GUIDING_LINES_AND_BOUNDARIES())
|
|
{
|
|
}
|
|
QJsonObject toJson() override;
|
|
|
|
public:
|
|
template <typename T> QJsonObject toJsonInternal();
|
|
};
|
|
|
|
template <> QJsonObject ExHqFuehrungslinien::toJsonInternal<ExHqFuehrungslinien>();
|
|
|
|
|
|
|
|
void SAATELEGRAMS_EXPORT technischeDatenFromJson(const QJsonObject &data, TechnischeDaten &technischeDaten, bool &bOk);
|
|
struct SAATELEGRAMS_EXPORT ExTqTechnischeQuittung : public EXTelegramBase
|
|
{
|
|
TechnischeDaten technischeDaten;
|
|
|
|
ExTqTechnischeQuittung()
|
|
: EXTelegramBase(JsonKeys::EX_TQ(), TelegramIds::EX_TQ())
|
|
{
|
|
}
|
|
QJsonObject toJson() override;
|
|
|
|
public:
|
|
template <typename T> QJsonObject toJsonInternal();
|
|
};
|
|
|
|
template <> QJsonObject ExTqTechnischeQuittung::toJsonInternal<ExTqTechnischeQuittung>();
|
|
|
|
|
|
|
|
void SAATELEGRAMS_EXPORT FreitextDatenFromJson(const QJsonObject &data, FreitextDaten &freitextDaten, bool &bOk);
|
|
struct SAATELEGRAMS_EXPORT ExAqFreitextmeldung : public EXTelegramBase
|
|
{
|
|
FreitextDaten freitextDaten;
|
|
|
|
ExAqFreitextmeldung()
|
|
: EXTelegramBase(JsonKeys::EX_AQ(), TelegramIds::EX_AQ())
|
|
{
|
|
}
|
|
QJsonObject toJson() override;
|
|
|
|
public:
|
|
template <typename T> QJsonObject toJsonInternal();
|
|
};
|
|
template <> QJsonObject ExAqFreitextmeldung::toJsonInternal<ExAqFreitextmeldung>();
|
|
|
|
|
|
|
|
void SAATELEGRAMS_EXPORT mqManuelleQuittungDatenFromJson(const QJsonObject &data, ManuelleQuittungDaten &manuelleQuittungDaten, bool &bOk);
|
|
struct SAATELEGRAMS_EXPORT ExMqManuelleQuittung : public EXTelegramBase
|
|
{
|
|
ManuelleQuittungDaten mqManuelleQuittungDaten;
|
|
|
|
ExMqManuelleQuittung()
|
|
: EXTelegramBase(JsonKeys::EX_MANUAL_REPLY(), TelegramIds::EX_MANUAL_REPLY())
|
|
{
|
|
}
|
|
QJsonObject toJson() override;
|
|
|
|
public:
|
|
template <typename T> QJsonObject toJsonInternal();
|
|
};
|
|
template <> QJsonObject ExMqManuelleQuittung::toJsonInternal<ExMqManuelleQuittung>();
|
|
|
|
|
|
|
|
void SAATELEGRAMS_EXPORT exNichtFeuernFromJson(const QJsonObject &data, Feuerkampfdaten &feuerkampfdaten, bool &bOk);
|
|
|
|
struct SAATELEGRAMS_EXPORT exNichtFeuern : public EXTelegramBase
|
|
{
|
|
Feuerkampfdaten feuerkampfdaten;
|
|
|
|
exNichtFeuern()
|
|
: EXTelegramBase(JsonKeys::EX_DONT_FIRE(), TelegramIds::EX_DONT_FIRE())
|
|
{
|
|
}
|
|
|
|
QJsonObject toJson() override;
|
|
|
|
public:
|
|
template <typename T> QJsonObject toJsonInternal();
|
|
};
|
|
template <> QJsonObject exNichtFeuern::toJsonInternal<exNichtFeuern>();
|
|
|
|
|
|
void SAATELEGRAMS_EXPORT exAnmeldebestaetigungDatenFromJson(const QJsonObject &data, AnBestaetigungsdaten &anBestaetigungsdaten, bool &bOk);
|
|
struct SAATELEGRAMS_EXPORT ExAnmeldebestaetigung : public EXTelegramBase
|
|
{
|
|
AnBestaetigungsdaten anBestaetigungsdaten;
|
|
|
|
ExAnmeldebestaetigung()
|
|
: EXTelegramBase(JsonKeys::EX_REGISTRATION_CONFIRMATION(), TelegramIds::EX_REGISTRATION_CONFIRMATION())
|
|
{
|
|
}
|
|
QJsonObject toJson() override;
|
|
|
|
public:
|
|
template <typename T> QJsonObject toJsonInternal();
|
|
};
|
|
template <> QJsonObject ExAnmeldebestaetigung::toJsonInternal<ExAnmeldebestaetigung>();
|
|
|
|
|
|
|
|
void SAATELEGRAMS_EXPORT exFlugbahnberechnungDatenFromJson(const QJsonObject &data, FlugBerechnungsDaten &flugBerechnungsDaten, bool &bOk);
|
|
struct SAATELEGRAMS_EXPORT ExFlugbahnberechnung : public EXTelegramBase
|
|
{
|
|
FlugBerechnungsDaten flugbahnberechnungDaten;
|
|
|
|
ExFlugbahnberechnung()
|
|
: EXTelegramBase(JsonKeys::EX_FLUGBAHNBERECHNUNG(), TelegramIds::EX_FLUGBAHNBERECHNUNG())
|
|
{
|
|
}
|
|
QJsonObject toJson() override;
|
|
|
|
public:
|
|
template <typename T> QJsonObject toJsonInternal();
|
|
};
|
|
template <> QJsonObject ExFlugbahnberechnung::toJsonInternal<ExFlugbahnberechnung>();
|
|
|
|
|
|
|
|
void SAATELEGRAMS_EXPORT flugbahndatenFromJson(const QJsonObject &data, Flugbahndaten &flugbahndaten, bool &bOk);
|
|
struct SAATELEGRAMS_EXPORT ExFlugbahndaten : public EXTelegramBase
|
|
{
|
|
Flugbahndaten flugbahndaten;
|
|
|
|
ExFlugbahndaten()
|
|
: EXTelegramBase(JsonKeys::EX_FLUGBAHNDATEN(), TelegramIds::EX_FLUGBAHNDATEN())
|
|
{
|
|
}
|
|
QJsonObject toJson() override;
|
|
|
|
public:
|
|
template <typename T> QJsonObject toJsonInternal();
|
|
};
|
|
template <> QJsonObject ExFlugbahndaten::toJsonInternal<Flugbahndaten>();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const QMap<QString, ProjectDataManagement::L4_TargetGeometry> zielgeometrieMap = {
|
|
{QStringLiteral("P"), ProjectDataManagement::L4_TargetGeometry::Point},
|
|
{QStringLiteral("F"), ProjectDataManagement::L4_TargetGeometry::Area},
|
|
{QStringLiteral("R"), ProjectDataManagement::L4_TargetGeometry::Radial},
|
|
{QStringLiteral("L"), ProjectDataManagement::L4_TargetGeometry::Linear}
|
|
};
|
|
|
|
|
|
const QMap<QString, Abfeuerungsart> AbfeuerungsartMap = {
|
|
{QStringLiteral("A"), Abfeuerungsart::A},
|
|
{QStringLiteral("B"), Abfeuerungsart::B},
|
|
{QStringLiteral("F"), Abfeuerungsart::F},
|
|
{QStringLiteral("T"), Abfeuerungsart::T},
|
|
{QStringLiteral("K"), Abfeuerungsart::K},
|
|
};
|
|
|
|
|
|
const QMap<QString, ProjectDataManagement::L7_Request> ForderungMap = {
|
|
{QStringLiteral("ABR"), ProjectDataManagement::L7_Request::ABR},
|
|
{QStringLiteral("BEK"), ProjectDataManagement::L7_Request::BEK},
|
|
{QStringLiteral("BEL"), ProjectDataManagement::L7_Request::BEL},
|
|
{QStringLiteral("BLE"), ProjectDataManagement::L7_Request::BLE},
|
|
{QStringLiteral("NIE"), ProjectDataManagement::L7_Request::NIE},
|
|
{QStringLiteral("SPE"), ProjectDataManagement::L7_Request::SPE},
|
|
{QStringLiteral("STO"), ProjectDataManagement::L7_Request::STO},
|
|
{QStringLiteral("UBW"), ProjectDataManagement::L7_Request::UBW},
|
|
{QStringLiteral("VER"), ProjectDataManagement::L7_Request::VER},
|
|
{QStringLiteral("ZSL"), ProjectDataManagement::L7_Request::ZSL},
|
|
{QStringLiteral("ZER"), ProjectDataManagement::L7_Request::ZER},
|
|
{QStringLiteral("BWL"), ProjectDataManagement::L7_Request::BWL},
|
|
{QStringLiteral("MRK"), ProjectDataManagement::L7_Request::MRK},
|
|
{QStringLiteral("WRN"), ProjectDataManagement::L7_Request::WRN},
|
|
{QStringLiteral("BLI"), ProjectDataManagement::L7_Request::BLI},
|
|
{QStringLiteral("BEI"), ProjectDataManagement::L7_Request::BEI},
|
|
{QStringLiteral("BEW"), ProjectDataManagement::L7_Request::BEW},
|
|
{QStringLiteral("BEO"), ProjectDataManagement::L7_Request::BEO},
|
|
{QStringLiteral("BLW"), ProjectDataManagement::L7_Request::BLW},
|
|
{QStringLiteral("MBE"), ProjectDataManagement::L7_Request::MBE},
|
|
{QStringLiteral("MBL"), ProjectDataManagement::L7_Request::MBL},
|
|
{QStringLiteral("MIR"), ProjectDataManagement::L7_Request::MIR},
|
|
};
|
|
|
|
|
|
const QMap<QString, ProjectDataManagement::L19_Oi> ortsIdMap = {
|
|
{QStringLiteral("Empty"), ProjectDataManagement::L19_Oi::Empty},
|
|
{QStringLiteral("F1"), ProjectDataManagement::L19_Oi::F1},
|
|
{QStringLiteral("F2"), ProjectDataManagement::L19_Oi::F2},
|
|
{QStringLiteral("F3"), ProjectDataManagement::L19_Oi::F3},
|
|
{QStringLiteral("F4"), ProjectDataManagement::L19_Oi::F4},
|
|
{QStringLiteral("F5"), ProjectDataManagement::L19_Oi::F5},
|
|
{QStringLiteral("F6"), ProjectDataManagement::L19_Oi::F6},
|
|
{QStringLiteral("F7"), ProjectDataManagement::L19_Oi::F7},
|
|
{QStringLiteral("F8"), ProjectDataManagement::L19_Oi::F8},
|
|
{QStringLiteral("F9"), ProjectDataManagement::L19_Oi::F9},
|
|
{QStringLiteral("L"), ProjectDataManagement::L19_Oi::L}
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
const QMap<QString, ProjectDataManagement::L22_FireHaltCategory> feuerHaltKategorieMap = {
|
|
{QStringLiteral("A"), ProjectDataManagement::L22_FireHaltCategory::A},
|
|
{QStringLiteral("R"), ProjectDataManagement::L22_FireHaltCategory::R},
|
|
{QStringLiteral("E"), ProjectDataManagement::L22_FireHaltCategory::E},
|
|
{QStringLiteral("C"), ProjectDataManagement::L22_FireHaltCategory::C},
|
|
{QStringLiteral("F"), ProjectDataManagement::L22_FireHaltCategory::F},
|
|
};
|
|
|
|
|
|
const QMap<QString, Art_L24> art_L24Map = {
|
|
{QStringLiteral("AL"), Art_L24::AL},
|
|
{QStringLiteral("ANL"), Art_L24::ANL},
|
|
{QStringLiteral("AO"), Art_L24::AO},
|
|
{QStringLiteral("ATRZ"), Art_L24::ATRZ},
|
|
{QStringLiteral("BAA"), Art_L24::BAA},
|
|
{QStringLiteral("BCA"), Art_L24::BCA},
|
|
{QStringLiteral("BDRY"), Art_L24::BDRY},
|
|
{QStringLiteral("BHA"), Art_L24::BHA},
|
|
{QStringLiteral("CAA"), Art_L24::CAA},
|
|
{QStringLiteral("CCA"), Art_L24::CCA},
|
|
{QStringLiteral("CFL"), Art_L24::CFL},
|
|
{QStringLiteral("CFZ"), Art_L24::CFZ},
|
|
{QStringLiteral("CHA"), Art_L24::CHA},
|
|
{QStringLiteral("CP"), Art_L24::CP},
|
|
{QStringLiteral("CZ"), Art_L24::CZ},
|
|
{QStringLiteral("EA"), Art_L24::EA},
|
|
{QStringLiteral("EZ"), Art_L24::EZ},
|
|
{QStringLiteral("FLET"), Art_L24::FLET},
|
|
{QStringLiteral("FLOT"), Art_L24::FLOT},
|
|
{QStringLiteral("FOAZI"), Art_L24::FOAZI},
|
|
{QStringLiteral("FOAZII"), Art_L24::FOAZII},
|
|
{QStringLiteral("IZ"), Art_L24::IZ},
|
|
{QStringLiteral("LZ"), Art_L24::LZ},
|
|
{QStringLiteral("MA"), Art_L24::MA},
|
|
{QStringLiteral("NAI"), Art_L24::NAI},
|
|
{QStringLiteral("OA"), Art_L24::OA},
|
|
{QStringLiteral("PL"), Art_L24::PL},
|
|
{QStringLiteral("ROTACA"), Art_L24::ROTACA},
|
|
{QStringLiteral("ROTAHA"), Art_L24::ROTAHA},
|
|
{QStringLiteral("ROTARA"), Art_L24::ROTARA},
|
|
{QStringLiteral("ROUTE"), Art_L24::ROUTE},
|
|
{QStringLiteral("RP"), Art_L24::RP},
|
|
{QStringLiteral("SP"), Art_L24::SP},
|
|
{QStringLiteral("TAI"), Art_L24::TAI},
|
|
{QStringLiteral("FEBA"), Art_L24::FEBA},
|
|
{QStringLiteral("VZL"), Art_L24::VZL},
|
|
{QStringLiteral("MFLD"), Art_L24::MFLD},
|
|
{QStringLiteral("ZOF"), Art_L24::ZOF},
|
|
{QStringLiteral("TAREA"), Art_L24::TAREA},
|
|
{QStringLiteral("PP"), Art_L24::PP},
|
|
{QStringLiteral("AMA"), Art_L24::AMA},
|
|
{QStringLiteral("ARA"), Art_L24::ARA},
|
|
};
|
|
|
|
|
|
const QMap<QString, ProjectDataManagement::L25_KindGuidingLine> art_L25Map = {
|
|
{QStringLiteral("FFA"), ProjectDataManagement::L25_KindGuidingLine::FFA},
|
|
{QStringLiteral("NFA"), ProjectDataManagement::L25_KindGuidingLine::NFA},
|
|
{QStringLiteral("RFA"), ProjectDataManagement::L25_KindGuidingLine::RFA},
|
|
{QStringLiteral("FSCL"), ProjectDataManagement::L25_KindGuidingLine::FSCL},
|
|
{QStringLiteral("RFL"), ProjectDataManagement::L25_KindGuidingLine::RFL},
|
|
{QStringLiteral("FSSL"), ProjectDataManagement::L25_KindGuidingLine::FSSL},
|
|
{QStringLiteral("NFL"), ProjectDataManagement::L25_KindGuidingLine::NFL},
|
|
};
|
|
|
|
|
|
const QMap<QString, ProjectDataManagement::L28_Status> StatusL28Map = {
|
|
|
|
{QStringLiteral("Nicht einsatzbereit"), ProjectDataManagement::L28_Status::NichtEinsatzbereit},
|
|
{QStringLiteral("Einsatzbereit"), ProjectDataManagement::L28_Status::Einsatzbereit}};
|
|
|
|
|
|
const QMap<QString, Status_L32> StatusL32Map = {
|
|
{QStringLiteral("INV"), Status_L32::INV},
|
|
{QStringLiteral("DAT"), Status_L32::DAT},
|
|
};
|
|
|
|
|
|
const QMap<QString, Szenarstatus> szenarstatusMap = {
|
|
{QStringLiteral("Inaktiv"), Szenarstatus::Inaktiv},
|
|
{QStringLiteral("Geplant"), Szenarstatus::Geplant},
|
|
{QStringLiteral("Aktiv"), Szenarstatus::Aktiv},
|
|
{QStringLiteral("Gestoppt"), Szenarstatus::Gestoppt},
|
|
};
|
|
|
|
|
|
const QMap<QString, Winkelgruppe> winkelgruppeMap = {
|
|
{QStringLiteral("Untere"), Winkelgruppe::Untere},
|
|
{QStringLiteral("Obere"), Winkelgruppe::Obere},
|
|
};
|
|
|
|
|
|
const QMap<QString, FlugbahnberechnungFehlercode> FehlercodeMap = {
|
|
{QStringLiteral("ok"), FlugbahnberechnungFehlercode::Ok},
|
|
{QStringLiteral("MinimaleEntfernung"), FlugbahnberechnungFehlercode::MinimaleEntfernung},
|
|
{QStringLiteral("MaximaleEntfernung"), FlugbahnberechnungFehlercode::MaximaleEntfernung},
|
|
{QStringLiteral("GeschossKombination"), FlugbahnberechnungFehlercode::GeschossKombination},
|
|
{QStringLiteral("Ungueltig"), FlugbahnberechnungFehlercode::Ungueltig},
|
|
};
|
|
|
|
|
|
const QMap<QString, L45_AnmeldebestaetigungFehlercode> AnmeldebestaetigungFehlercodeMap = {
|
|
{QStringLiteral("ok"), L45_AnmeldebestaetigungFehlercode::Ok},
|
|
{QStringLiteral("doppelt"), L45_AnmeldebestaetigungFehlercode::Doppelt},
|
|
{QStringLiteral("mehrfach"), L45_AnmeldebestaetigungFehlercode::Mehrfach},
|
|
{QStringLiteral("belegt"), L45_AnmeldebestaetigungFehlercode::Belegt},
|
|
};
|
|
|
|
|
|
const QMap<QString, ProjectDataManagement::L46_GpsFrequency> GpsFrequencyMap
|
|
= {{QStringLiteral("L1"), ProjectDataManagement::L46_GpsFrequency::L1}, {QStringLiteral("L1"), ProjectDataManagement::L46_GpsFrequency::L2}};
|
|
|
|
|
|
const QMap<QString, ProjectDataManagement::L48_TrajectoryRocket> TrajectoryRocketMap
|
|
= {{QStringLiteral("Nominal"), ProjectDataManagement::L48_TrajectoryRocket::Nominal},
|
|
{QStringLiteral("Vertical"), ProjectDataManagement::L48_TrajectoryRocket::Vertical}};
|
|
|
|
|
|
void SAATELEGRAMS_EXPORT koordinierungsdatenFromJson(const QJsonObject &data, Koordinierungsdaten &koordinierungsdaten, bool &bOk);
|
|
void SAATELEGRAMS_EXPORT koordinierungsdatenToJson(QJsonObject &data, const Koordinierungsdaten &koordinierungsdaten);
|
|
|
|
|
|
void SAATELEGRAMS_EXPORT fuehrungsdatenFromJson(const QJsonObject &data, Fuehrungsdaten &fuehrungsdaten, bool &bOk);
|
|
void SAATELEGRAMS_EXPORT fuehrungsdatenToJson(QJsonObject &data, const Fuehrungsdaten &fuehrungsdaten);
|
|
|
|
|
|
void SAATELEGRAMS_EXPORT feuerHaltDatenFromJson(const QJsonObject &data, FeuerHaltDaten &feuerHaltDaten, bool &bOk);
|
|
void SAATELEGRAMS_EXPORT feuerHaltDatenToJson(QJsonObject &data, const FeuerHaltDaten &feuerHaltDaten);
|
|
|
|
|
|
void SAATELEGRAMS_EXPORT wirkmittelFeuerkommandoRaketeToJson(QJsonObject &data, const WirkmittelFeuerkommandoRakete &wirkmittelFeuerkommandoRakete);
|
|
void SAATELEGRAMS_EXPORT wirkmittelFeuerkommandoRaketeFromJson(const QJsonObject &data, WirkmittelFeuerkommandoRakete &wirkmittelFeuerkommandoRakete, bool &bOk);
|
|
int SAATELEGRAMS_EXPORT getFeuerkommandoRaketeEffectDurationMsec(const QJsonObject &data);
|
|
|
|
}
|