swift
Loading...
Searching...
No Matches
testservice.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (C) 2013 swift Project Community / Contributors
2// SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-swift-pilot-client-1
3
5
6#ifndef SWIFT_MISC_TEST_TESTSERVICE_H
7#define SWIFT_MISC_TEST_TESTSERVICE_H
8
9// clash with struct interface in objbase.h used to happen
10#pragma push_macro("interface")
11#undef interface
12
13#include <QDBusConnection>
14#include <QDBusObjectPath>
15#include <QList>
16#include <QObject>
17#include <QString>
18#include <QTextStream>
19#include <QVariantList>
20
30#include "misc/network/client.h"
32#include "misc/network/user.h"
33#include "misc/pq/length.h"
34#include "misc/pq/speed.h"
42#include "misc/variant.h"
43#include "misc/variantlist.h"
44
45// clazy:excludeall=const-signal-or-slot
46
47class QDBusObjectPath;
48class QVariant;
49
50namespace swift::misc::aviation
51{
52 class CCallsign;
53 class CComSystem;
54 class CTrack;
55} // namespace swift::misc::aviation
56
58#define SWIFT_MISC_TESTSERVICE_INTERFACENAME "misc.test"
59
60namespace swift::misc::test
61{
65 {
68
69 // For some reasons the interface name in the XML is not set correctly
70 // to the above name
71
72 public:
74 explicit CTestService(QObject *parent = nullptr);
75
77 explicit CTestService(bool verbose, QObject *parent = nullptr);
78
80 static bool canRegisterTestService(QDBusConnection &connection);
81
83 static CTestService *registerTestService(QDBusConnection &connection, bool verbose, QObject *parent = nullptr);
84
86 static bool unregisterTestService(QDBusConnection &connection);
87
89 static qint64 getPid() { return QCoreApplication::applicationPid(); }
90
92 static const QString &InterfaceName();
93
95 static const QString &ObjectPath();
96
97 signals:
99 void sendStringMessage(const QString &message);
100
101 public slots:
103 void receiveStringMessage(const QString &message) const;
104
106 void receiveVariant(const swift::misc::CVariant &variant) const;
107
110
112 void receiveComUnit(const swift::misc::aviation::CComSystem &comUnit) const;
113
115 void receiveAltitude(const swift::misc::aviation::CAltitude &altitude) const;
116
118 void receiveList(const QList<double> &list) const;
119
122
124 void receiveTransponder(const swift::misc::aviation::CTransponder &transponder) const;
125
127 void receiveTrack(const swift::misc::aviation::CTrack &track) const;
128
131
133 void receiveVariantList(const swift::misc::CVariantList &variantList) const;
134
136 void receiveAtcStation(const swift::misc::aviation::CAtcStation &station) const;
137
139 void receiveCallsign(const swift::misc::aviation::CCallsign &callsign) const;
140
142 void receiveAtcStationList(const swift::misc::aviation::CAtcStationList &atcStationList) const;
143
145 void receiveValueMap(const swift::misc::CPropertyIndexVariantMap &valueMap) const;
146
149
152
155
159
162
166
170
174
178
182
186
190
194
198
202
205
209
212
215
219
223
226
229
232
235
238
239 private:
240 static QTextStream &out();
241 static QTextStream &err();
242 bool m_verbose = true;
243 };
244} // namespace swift::misc::test
245
246#pragma pop_macro("interface")
247
248#endif // SWIFT_MISC_TEST_TESTSERVICE_H
Specialized value object compliant map for variants, based on indexes.
Wrapper around QVariant which provides transparent access to CValueObject methods of the contained ob...
Definition variant.h:69
Value object encapsulating a list of variants.
Definition variantlist.h:29
Value object encapsulating information about aircraft's engines.
Value object for ICAO classification.
Value object encapsulating information about aircraft's lights.
Value object encapsulating information of aircraft's parts.
Value object encapsulating information of an aircraft's situation.
Value object for a list of airports.
Definition airportlist.h:29
Altitude as used in aviation, can be AGL or MSL altitude.
Definition altitude.h:52
Value object encapsulating information about an ATC station.
Definition atcstation.h:38
Value object for a list of ATC stations.
Value object encapsulating information of a callsign.
Definition callsign.h:30
COM system (aka "radio").
Definition comsystem.h:37
Value object for a flight plan.
Definition flightplan.h:148
Track as used in aviation, can be true or magnetic Track.
Definition track.h:44
Another client software.
Definition client.h:27
Value object encapsulating a list of voice rooms.
Definition clientlist.h:27
Value object encapsulating information of a user.
Definition user.h:28
Physical unit length (length).
Definition length.h:18
Aircraft model (used by another pilot, my models on disk).
Value object encapsulating a list of aircraft models.
Comprehensive information of an aircraft.
Value object encapsulating a list of aircraft.
swift::misc::aviation::CAircraftLights pingAircraftLights(const swift::misc::aviation::CAircraftLights &aircraftLights) const
Ping aircraft lights.
swift::misc::network::CUser pingUser(const swift::misc::network::CUser &user) const
Ping user.
swift::misc::aviation::CAircraftIcaoCode pingAircraftIcaoData(const swift::misc::aviation::CAircraftIcaoCode &icao) const
Ping ICAO data object.
void receiveAltitude(const swift::misc::aviation::CAltitude &altitude) const
Receive altitude.
void receiveSpeed(const swift::misc::physical_quantities::CSpeed &speed) const
Receive speed.
swift::misc::aviation::CTransponder pingTransponder(const swift::misc::aviation::CTransponder &transponder) const
Ping transponder.
swift::misc::aviation::CAircraftParts pingAircraftParts(const swift::misc::aviation::CAircraftParts &aircraftParts) const
Ping parts.
void receiveTransponder(const swift::misc::aviation::CTransponder &transponder) const
Receive transponder.
void receiveValueMap(const swift::misc::CPropertyIndexVariantMap &valueMap) const
Receive an value map.
swift::misc::simulation::CAircraftModelList pingAircraftModelList(const swift::misc::simulation::CAircraftModelList &aircraftModels) const
Ping model.
swift::misc::aviation::CFlightPlan pingFlightPlan(const swift::misc::aviation::CFlightPlan &flightPlan) const
Ping flight plan.
static bool canRegisterTestService(QDBusConnection &connection)
Can the testservice be registered?
swift::misc::physical_quantities::CSpeed pingSpeed(const swift::misc::physical_quantities::CSpeed &speed) const
Ping speed.
swift::misc::simulation::CSimulatedAircraftList pingAircraftList(const swift::misc::simulation::CSimulatedAircraftList &aircraftList) const
Ping aircraft list.
void receiveVariant(const swift::misc::CVariant &variant) const
Receive a QVariant.
swift::misc::simulation::fscommon::CAircraftCfgEntriesList getAircraftCfgEntriesList(int n) const
Return stations via DBus.
void receiveAtcStationList(const swift::misc::aviation::CAtcStationList &atcStationList) const
Receive ATC list.
swift::misc::simulation::CAircraftModel pingAircraftModel(const swift::misc::simulation::CAircraftModel &aircraftModel) const
Ping model.
swift::misc::CPropertyIndex pingPropertyIndex(const swift::misc::CPropertyIndex &properties) const
Ping property index.
void receiveLength(const swift::misc::physical_quantities::CLength &length) const
Receive a length.
void receiveVariantList(const swift::misc::CVariantList &variantList) const
Receive variant list.
swift::misc::aviation::CAtcStationList getAtcStationList(int n) const
Return stations via DBus.
swift::misc::simulation::CSimulatedAircraft pingSimulatedAircraft(const swift::misc::simulation::CSimulatedAircraft &aircraft) const
Ping simulated aircraft.
swift::misc::aviation::CAtcStationList pingAtcStationList(const swift::misc::aviation::CAtcStationList &atcStationList) const
Ping ATC list.
QList< QDBusObjectPath > getObjectPaths(int n) const
Return paths via DBus.
swift::misc::aviation::CAircraftSituation pingSituation(const swift::misc::aviation::CAircraftSituation &situation) const
Ping situation.
swift::misc::network::CClient pingClient(const swift::misc::network::CClient &client) const
Ping client.
swift::misc::simulation::CSimulatorPluginInfo pingPluginInfo(const swift::misc::simulation::CSimulatorPluginInfo &info) const
Ping plugin info.
void receiveTrack(const swift::misc::aviation::CTrack &track) const
Receive track.
swift::misc::aviation::CAtcStation pingAtcStation(const swift::misc::aviation::CAtcStation &station) const
Ping ATC station.
void sendStringMessage(const QString &message)
Send string message.
void receiveList(const QList< double > &list) const
Receive list.
swift::misc::network::CClientList pingClientList(const swift::misc::network::CClientList &clientList) const
Ping NW clients list.
swift::misc::aviation::CAirportList pingAirportList(const swift::misc::aviation::CAirportList &airportList) const
Ping airports list.
void receiveComUnit(const swift::misc::aviation::CComSystem &comUnit) const
Receive com unit.
swift::misc::aviation::CAltitude pingAltitude(const swift::misc::aviation::CAltitude &altitude) const
Ping altitude.
static CTestService * registerTestService(QDBusConnection &connection, bool verbose, QObject *parent=nullptr)
Register testservice with connection.
swift::misc::aviation::CAircraftEngine pingAircraftEngine(const swift::misc::aviation::CAircraftEngine &aircraftEngine) const
Ping engine.
void receiveStringMessage(const QString &message) const
Receive string message.
CTestService(QObject *parent=nullptr)
Constructor.
static bool unregisterTestService(QDBusConnection &connection)
Can the testservice be registered?
swift::misc::CPropertyIndexVariantMap pingIndexVariantMap(const swift::misc::CPropertyIndexVariantMap &indexVariantMap) const
Ping index variant map.
swift::misc::CVariant pingCVariant(const swift::misc::CVariant &variant) const
Ping CVariant.
void receiveCallsign(const swift::misc::aviation::CCallsign &callsign) const
Receive callsign.
void receiveGeoPosition(const swift::misc::geo::CCoordinateGeodetic &geo) const
Receive a geo position.
static qint64 getPid()
Process id.
Definition testservice.h:89
void receiveAtcStation(const swift::misc::aviation::CAtcStation &station) const
Receive ATC station.
Generate data for testing purposes.
Definition testdata.h:45
qint64 applicationPid()
QObject(QObject *parent)
Q_CLASSINFO(Name, Value)
Q_OBJECTQ_OBJECT
QObject * parent() const const
#define SWIFT_MISC_EXPORT
Export a class or function from the library.
#define SWIFT_MISC_TESTSERVICE_INTERFACENAME
DBus interface for test service.
Definition testservice.h:58