13 class QDBusConnection;
16 using namespace swift::misc::aviation;
17 using namespace swift::misc::simulation;
18 using namespace swift::misc::geo;
19 using namespace swift::misc::network;
21 using namespace swift::misc::physical_quantities;
25 ITestServiceInterface::ITestServiceInterface(
const QString &service,
const QString &path,
26 const QDBusConnection &connection, QObject *parent)
36 QTextStream out(stdout);
40 ok = pingCompare(pi, piPing, out, verbose, errors);
41 if (verbose) { out <<
"Pinged property index via interface" << errorInfo(ok) << Qt::endl; }
45 ok = pingCompare(ivm, ivmPing, out, verbose, errors);
46 if (verbose) { out <<
"Pinged variant map via interface" << errorInfo(ok) << Qt::endl; }
48 const CSimulatorPluginInfo pluginInfo(
"fsx",
"FSX Simulator",
"FSX",
"Flight Simulator X",
true);
50 ok = pingCompare(pluginInfo, pluginInfoPing, out, verbose, errors);
51 if (verbose) { out <<
"Pinged info via interface" << errorInfo(ok) << Qt::endl; }
53 const CSpeed speedNotNull(22, CSpeedUnit::m_s());
54 const CSpeed speedNull =
CSpeed(0, CSpeedUnit::nullUnit());
56 const CSpeed speedNotNullPing = testServiceInterface.
pingSpeed(speedNotNull);
57 ok = pingCompare(speedNotNull, speedNotNullPing, out, verbose, errors);
58 if (verbose) { out <<
"Pinged not null speed via interface" << errorInfo(ok) << Qt::endl; }
61 ok = pingCompare(speedNull, speedNullPing, out, verbose, errors);
62 if (verbose) { out <<
"Pinged null speed via interface" << errorInfo(ok) << Qt::endl; }
66 ok = pingCompare(station, stationPing, out, verbose, errors);
67 if (verbose) { out <<
"Pinged ATC station via interface" << errorInfo(ok) << Qt::endl; }
71 ok = pingCompare(icaoData, icaoDataPing, out, verbose, errors);
72 if (verbose) { out <<
"Pinged ICAO data via interface" << errorInfo(ok) << Qt::endl; }
76 ok = pingCompare(user, userPing, out, verbose, errors);
77 if (verbose) { out <<
"Pinged user via interface" << errorInfo(ok) << Qt::endl; }
81 ok = pingCompare(situation, situationPing, out, verbose, errors);
82 if (verbose) { out <<
"Pinged situation via interface" << errorInfo(ok) << Qt::endl; }
86 ok = pingCompare(transponder, transponderPing, out, verbose, errors);
87 if (verbose) { out <<
"Pinged transponder via interface" << errorInfo(ok) << Qt::endl; }
91 ok = pingCompare(lights, lightsPing, out, verbose, errors);
92 if (verbose) { out <<
"Pinged lights via interface" << errorInfo(ok) << Qt::endl; }
96 ok = pingCompare(engine, enginePing, out, verbose, errors);
97 if (verbose) { out <<
"Pinged engine via interface" << errorInfo(ok) << Qt::endl; }
100 const CAircraftParts parts(lights,
true, 11,
true, engines,
true);
102 ok = pingCompare(parts, partsPing, out, verbose, errors);
103 if (verbose) { out <<
"Pinged engine via interface" << errorInfo(ok) << Qt::endl; }
107 ok = pingCompare(model, modelPing, out, verbose, errors);
108 if (verbose) { out <<
"Pinged model via interface" << errorInfo(ok) << Qt::endl; }
112 ok = pingCompare(models, modelsPing, out, verbose, errors);
113 if (verbose) { out <<
"Pinged model list via interface" << errorInfo(ok) << Qt::endl; }
117 ok = pingCompare(aircraft, aircraftPing, out, verbose, errors);
118 if (verbose) { out <<
"Pinged simulated aircraft via interface" << errorInfo(ok) << Qt::endl; }
122 ok = pingCompare(atcStationList, atcStationListPing, out, verbose, errors);
123 if (verbose) { out <<
"Pinged ATC station list via interface" << errorInfo(ok) << Qt::endl; }
127 ok = pingCompare(airportList, airportListPing, out, verbose, errors);
128 if (verbose) { out <<
"Pinged airports list via interface" << errorInfo(ok) << Qt::endl; }
133 ok = pingCompare(client, clientPing, out, verbose, errors);
134 if (verbose) { out <<
"Pinged client list via interface" << errorInfo(ok) << Qt::endl; }
137 ok = pingCompare(clients, clientsPing, out, verbose, errors);
138 if (verbose) { out <<
"Pinged client list via interface" << errorInfo(ok) << Qt::endl; }
146 ok = pingCompare(flightPlan, flightPlanPing, out, verbose, errors);
147 if (verbose) { out <<
"Pinged flight plan via interface" << errorInfo(ok) << Qt::endl; }
152 if (verbose) { out <<
"Pinged CVariant(clients) list via interface" << errorInfo(ok) << Qt::endl; }
157 if (verbose) { out <<
"Pinged CVariant(aircraft) list via interface" << errorInfo(ok) << Qt::endl; }
163 const char *ITestServiceInterface::InterfaceName()
166 return in.constData();
169 const QString &ITestServiceInterface::errorInfo(
bool ok)
171 static const QString sOk(
": ok");
172 static const QString sError(
": !! ERROR !!");
173 return ok ? sOk : sError;
Specialized value object compliant map for variants, based on indexes.
reference front()
Access the first element.
Wrapper around QVariant which provides transparent access to CValueObject methods of the contained ob...
static CVariant fromValue(T &&value)
Construct a variant from a value.
T value() const
Return the value converted to the type T.
Value object encapsulating information about aircraft's engines.
Value object encapsulating a list of aircraft 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.
Altitude as used in aviation, can be AGL or MSL altitude.
Value object encapsulating information about an ATC station.
Value object for a list of ATC stations.
Value object for a flight plan.
void setCruiseTrueAirspeed(const physical_quantities::CSpeed &cruiseTrueAirspeed)
Set planned cruise TAS.
void setFuelTime(const physical_quantities::CTime &fuelTime)
Set amount of fuel load in time.
void setEnrouteTime(const physical_quantities::CTime &enrouteTime)
Set planned enroute flight time.
void setCruiseAltitude(const CAltitude &cruiseAltitude)
Set planned cruise altitude.
Value object encapsulating a list of voice rooms.
Value object encapsulating information of a user.
Aircraft model (used by another pilot, my models on disk)
Value object encapsulating a list of aircraft models.
Comprehensive information of an aircraft.
Describing a simulator plugin.
static const swift::misc::aviation::CAtcStation & getRandomAtcStation()
Get ATC station.
static const swift::misc::network::CUser & getRandomPilot()
Get a random pilot user.
static const swift::misc::CPropertyIndexVariantMap & getCPropertyIndexVariantMap()
Get a variant map.
static const swift::misc::aviation::CAircraftSituation & getAircraftSituationAboveMunichTower()
Aircraft situation (Munich)
static const swift::misc::aviation::CAtcStationList & getAtcStations()
Tower stations.
static const swift::misc::simulation::CAircraftModel & getDbAircraftModelFsxA2AC172Skyhawk()
FSX aircraft model, a C172 Skyhawk.
static const swift::misc::aviation::CAircraftIcaoCode & getDBAircraftIcaoB737()
B737 ICAO code (as from DB)
static const swift::misc::simulation::CAircraftModel & getDbAircraftModelFsxAerosoftA320()
FSX aircraft model, an Airbus A320.
static const swift::misc::simulation::CSimulatedAircraft & getA320Aircraft()
A320 simulated aircraft, a A.
static const QString & InterfaceName()
DBus interface name.
static swift::misc::network::CClientList getClients(int number)
Get clients.
static swift::misc::aviation::CAirportList getAirports(int number)
Get airports.
Proxy class for swift::misc::Test::CTestService. This part is the caller.
QDBusPendingReply< swift::misc::aviation::CFlightPlan > pingFlightPlan(const aviation::CFlightPlan &flightPlan)
DBus calls.
QDBusPendingReply< swift::misc::aviation::CTransponder > pingTransponder(const swift::misc::aviation::CTransponder &transponder)
DBus calls.
QDBusPendingReply< swift::misc::network::CClientList > pingClientList(const swift::misc::network::CClientList &clientList)
DBus calls.
QDBusPendingReply< swift::misc::simulation::CAircraftModel > pingAircraftModel(const swift::misc::simulation::CAircraftModel &model)
DBus calls.
virtual ~ITestServiceInterface()
Destructor.
QDBusPendingReply< swift::misc::CPropertyIndexVariantMap > pingIndexVariantMap(const swift::misc::CPropertyIndexVariantMap &indexVariantMap)
DBus calls.
QDBusPendingReply< swift::misc::aviation::CAircraftIcaoCode > pingAircraftIcaoData(const swift::misc::aviation::CAircraftIcaoCode &icaoData)
DBus calls.
QDBusPendingReply< swift::misc::network::CUser > pingUser(const swift::misc::network::CUser &user)
DBus calls.
QDBusPendingReply< swift::misc::aviation::CAtcStation > pingAtcStation(const swift::misc::aviation::CAtcStation &station)
DBus calls.
QDBusPendingReply< swift::misc::aviation::CAirportList > pingAirportList(const swift::misc::aviation::CAirportList &airportList)
DBus calls.
QDBusPendingReply< swift::misc::aviation::CAircraftLights > pingAircraftLights(const swift::misc::aviation::CAircraftLights &lights)
DBus calls.
QDBusPendingReply< swift::misc::aviation::CAtcStationList > pingAtcStationList(const swift::misc::aviation::CAtcStationList &atcStationList)
DBus calls.
QDBusPendingReply< swift::misc::simulation::CAircraftModelList > pingAircraftModelList(const swift::misc::simulation::CAircraftModelList &model)
DBus calls.
QDBusPendingReply< swift::misc::CPropertyIndex > pingPropertyIndex(const swift::misc::CPropertyIndex &index)
DBus calls.
QDBusPendingReply< swift::misc::CVariant > pingCVariant(const swift::misc::CVariant &variant)
DBus calls.
static int pingTests(ITestServiceInterface &testServiceInterface, bool verbose)
Ping via DBus, tests object marshalling/unmarshalling.
QDBusPendingReply< swift::misc::network::CClient > pingClient(const swift::misc::network::CClient &client)
DBus calls.
QDBusPendingReply< swift::misc::simulation::CSimulatorPluginInfo > pingPluginInfo(const swift::misc::simulation::CSimulatorPluginInfo &info)
DBus calls.
QDBusPendingReply< swift::misc::aviation::CAircraftSituation > pingSituation(const swift::misc::aviation::CAircraftSituation &situation)
DBus calls.
QDBusPendingReply< swift::misc::physical_quantities::CSpeed > pingSpeed(const swift::misc::physical_quantities::CSpeed &speed)
DBus calls.
QDBusPendingReply< swift::misc::simulation::CSimulatedAircraft > pingSimulatedAircraft(const swift::misc::simulation::CSimulatedAircraft &aircraft)
DBus calls.
QDBusPendingReply< swift::misc::aviation::CAircraftParts > pingAircraftParts(const swift::misc::aviation::CAircraftParts &parts)
DBus calls.
QDBusPendingReply< swift::misc::aviation::CAircraftEngine > pingAircraftEngine(const swift::misc::aviation::CAircraftEngine &engine)
DBus calls.
Generate data for testing purposes.
Free functions in swift::misc.