refs #288, added FSD servers to context

* new logging in empty context
* formatting
This commit is contained in:
Klaus Basan
2014-11-08 16:42:09 +01:00
committed by Roland Winklmeier
parent a401ce439d
commit c39b72b12f
8 changed files with 123 additions and 45 deletions

View File

@@ -12,14 +12,13 @@
#include "blackcore/context_runtime_config.h" #include "blackcore/context_runtime_config.h"
#include "blackcore/context_runtime.h" #include "blackcore/context_runtime.h"
#include "blackmisc/logmessage.h"
#include <QObject> #include <QObject>
#include <QDateTime> #include <QDateTime>
namespace BlackCore namespace BlackCore
{ {
/*! //! Base for all context classes
* \brief Base for all context classes
*/
class CContext : public QObject class CContext : public QObject
{ {
public: public:
@@ -129,6 +128,12 @@ namespace BlackCore
return QString(path) + ":" + QString::number(this->getUniqueId()); return QString(path) + ":" + QString::number(this->getUniqueId());
} }
//! Empty context called
void logEmptyContextWarning(const QString &functionName) const
{
CLogMessage(this, CLogCategory::contextSlot()).warning("Empty context called, details: %1") << functionName;
}
//! Standard message when status message is returned in empty context //! Standard message when status message is returned in empty context
static const BlackMisc::CStatusMessage &statusMessageEmptyContext(); static const BlackMisc::CStatusMessage &statusMessageEmptyContext();
}; };

View File

@@ -26,7 +26,7 @@ namespace BlackCore
return new BlackCore::CContextNetworkProxy(BlackCore::CDBusServer::ServiceName, conn, mode, runtime); return new BlackCore::CContextNetworkProxy(BlackCore::CDBusServer::ServiceName, conn, mode, runtime);
case CRuntimeConfig::NotUsed: case CRuntimeConfig::NotUsed:
default: default:
return new BlackCore::CContextNetworkEmpty(true, runtime); return new BlackCore::CContextNetworkEmpty(runtime);
} }
} }

View File

@@ -137,9 +137,15 @@ namespace BlackCore
//! Information about other clients //! Information about other clients
virtual BlackMisc::Network::CClientList getOtherClients() const = 0; virtual BlackMisc::Network::CClientList getOtherClients() const = 0;
//! Clients for given callsign, e.g. to test direct model //! Clients for given callsign, e.g. to test/fetch direct aircraft model
virtual BlackMisc::Network::CClientList getOtherClientsForCallsigns(const BlackMisc::Aviation::CCallsignList &callsigns) const = 0; virtual BlackMisc::Network::CClientList getOtherClientsForCallsigns(const BlackMisc::Aviation::CCallsignList &callsigns) const = 0;
//! Known voice servers, available when data file was first read
virtual BlackMisc::Network::CServerList getVatsimVoiceServers() const = 0;
//! Known FSD servers, available when data file was first read
virtual BlackMisc::Network::CServerList getVatsimFsdServers() const = 0;
/*! /*!
* Connect to Network * Connect to Network
* \return messages gererated during connecting * \return messages gererated during connecting

View File

@@ -13,6 +13,7 @@
#define BLACKCORE_CONTEXTNETWORK_EMPTY_H #define BLACKCORE_CONTEXTNETWORK_EMPTY_H
#include "context_network.h" #include "context_network.h"
#include "blackmisc/logmessage.h"
namespace BlackCore namespace BlackCore
{ {
@@ -25,7 +26,7 @@ namespace BlackCore
public: public:
//! Constructor //! Constructor
CContextNetworkEmpty(bool log, CRuntime *runtime) : IContextNetwork(CRuntimeConfig::NotUsed, runtime), m_log(log) {} CContextNetworkEmpty(CRuntime *runtime) : IContextNetwork(CRuntimeConfig::NotUsed, runtime) {}
//! Destructor //! Destructor
virtual ~CContextNetworkEmpty() {} virtual ~CContextNetworkEmpty() {}
@@ -35,155 +36,174 @@ namespace BlackCore
//! \copydoc IContextNetwork::readAtcBookingsFromSource() //! \copydoc IContextNetwork::readAtcBookingsFromSource()
virtual void readAtcBookingsFromSource() const override virtual void readAtcBookingsFromSource() const override
{ {
if (m_log) { qDebug() << Q_FUNC_INFO ; } logEmptyContextWarning(Q_FUNC_INFO);
} }
//! \copydoc IContextNetwork::getAtcStationsOnline() //! \copydoc IContextNetwork::getAtcStationsOnline()
virtual const BlackMisc::Aviation::CAtcStationList getAtcStationsOnline() const override virtual const BlackMisc::Aviation::CAtcStationList getAtcStationsOnline() const override
{ {
if (m_log) { qDebug() << Q_FUNC_INFO ; } logEmptyContextWarning(Q_FUNC_INFO);
return BlackMisc::Aviation::CAtcStationList(); return BlackMisc::Aviation::CAtcStationList();
} }
//! \copydoc IContextNetwork::getAtcStationsBooked() //! \copydoc IContextNetwork::getAtcStationsBooked()
virtual const BlackMisc::Aviation::CAtcStationList getAtcStationsBooked() const override virtual const BlackMisc::Aviation::CAtcStationList getAtcStationsBooked() const override
{ {
if (m_log) { qDebug() << Q_FUNC_INFO ; } logEmptyContextWarning(Q_FUNC_INFO);
return BlackMisc::Aviation::CAtcStationList(); return BlackMisc::Aviation::CAtcStationList();
} }
//! \copydoc IContextNetwork::getAircraftsInRange() //! \copydoc IContextNetwork::getAircraftsInRange()
virtual const BlackMisc::Aviation::CAircraftList getAircraftsInRange() const override virtual const BlackMisc::Aviation::CAircraftList getAircraftsInRange() const override
{ {
if (m_log) { qDebug() << Q_FUNC_INFO ; } logEmptyContextWarning(Q_FUNC_INFO);
return BlackMisc::Aviation::CAircraftList(); return BlackMisc::Aviation::CAircraftList();
} }
//! \copydoc IContextNetwork::connectToNetwork() //! \copydoc IContextNetwork::connectToNetwork()
virtual BlackMisc::CStatusMessage connectToNetwork(uint mode) override virtual BlackMisc::CStatusMessage connectToNetwork(uint mode) override
{ {
if (m_log) { qDebug() << Q_FUNC_INFO << mode; } Q_UNUSED(mode);
logEmptyContextWarning(Q_FUNC_INFO);
return statusMessageEmptyContext(); return statusMessageEmptyContext();
} }
//! \copydoc IContextNetwork::disconnectFromNetwork() //! \copydoc IContextNetwork::disconnectFromNetwork()
virtual BlackMisc::CStatusMessage disconnectFromNetwork() override virtual BlackMisc::CStatusMessage disconnectFromNetwork() override
{ {
if (m_log) { qDebug() << Q_FUNC_INFO ; } logEmptyContextWarning(Q_FUNC_INFO);
return statusMessageEmptyContext(); return statusMessageEmptyContext();
} }
//! \copydoc IContextNetwork::isConnected() //! \copydoc IContextNetwork::isConnected()
virtual bool isConnected() const override virtual bool isConnected() const override
{ {
if (m_log) { qDebug() << Q_FUNC_INFO ; } logEmptyContextWarning(Q_FUNC_INFO);
return false; return false;
} }
//! \copydoc IContextNetwork::sendTextMessages() //! \copydoc IContextNetwork::sendTextMessages()
virtual void sendTextMessages(const BlackMisc::Network::CTextMessageList &textMessages) override virtual void sendTextMessages(const BlackMisc::Network::CTextMessageList &textMessages) override
{ {
if (m_log) { qDebug() << Q_FUNC_INFO << textMessages; } Q_UNUSED(textMessages);
logEmptyContextWarning(Q_FUNC_INFO);
} }
//! \copydoc IContextNetwork::sendFlightPlan() //! \copydoc IContextNetwork::sendFlightPlan()
virtual void sendFlightPlan(const BlackMisc::Aviation::CFlightPlan &flightPlan) override virtual void sendFlightPlan(const BlackMisc::Aviation::CFlightPlan &flightPlan) override
{ {
if (m_log) { qDebug() << Q_FUNC_INFO << flightPlan; } Q_UNUSED(flightPlan);
logEmptyContextWarning(Q_FUNC_INFO);
} }
//! \copydoc IContextNetwork::loadFlightPlanFromNetwork() //! \copydoc IContextNetwork::loadFlightPlanFromNetwork()
virtual BlackMisc::Aviation::CFlightPlan loadFlightPlanFromNetwork(const BlackMisc::Aviation::CCallsign &callsign) const override virtual BlackMisc::Aviation::CFlightPlan loadFlightPlanFromNetwork(const BlackMisc::Aviation::CCallsign &callsign) const override
{ {
if (m_log) { qDebug() << Q_FUNC_INFO << callsign; } Q_UNUSED(callsign);
logEmptyContextWarning(Q_FUNC_INFO);
return BlackMisc::Aviation::CFlightPlan(); return BlackMisc::Aviation::CFlightPlan();
} }
//! \copydoc IContextNetwork::getMetar //! \copydoc IContextNetwork::getMetar
virtual BlackMisc::Aviation::CInformationMessage getMetar(const BlackMisc::Aviation::CAirportIcao &airportIcaoCode) override virtual BlackMisc::Aviation::CInformationMessage getMetar(const BlackMisc::Aviation::CAirportIcao &airportIcaoCode) override
{ {
if (m_log) { qDebug() << Q_FUNC_INFO << airportIcaoCode; } Q_UNUSED(airportIcaoCode);
logEmptyContextWarning(Q_FUNC_INFO);
return BlackMisc::Aviation::CInformationMessage(); return BlackMisc::Aviation::CInformationMessage();
} }
//! \copydoc IContextNetwork::getSelectedVoiceRooms() //! \copydoc IContextNetwork::getSelectedVoiceRooms()
virtual BlackMisc::Audio::CVoiceRoomList getSelectedVoiceRooms() const override virtual BlackMisc::Audio::CVoiceRoomList getSelectedVoiceRooms() const override
{ {
if (m_log) { qDebug() << Q_FUNC_INFO ; } logEmptyContextWarning(Q_FUNC_INFO);
return BlackMisc::Audio::CVoiceRoomList(); return BlackMisc::Audio::CVoiceRoomList();
} }
//! \copydoc IContextNetwork::getSelectedAtcStations //! \copydoc IContextNetwork::getSelectedAtcStations
virtual BlackMisc::Aviation::CAtcStationList getSelectedAtcStations() const override virtual BlackMisc::Aviation::CAtcStationList getSelectedAtcStations() const override
{ {
if (m_log) { qDebug() << Q_FUNC_INFO ; } logEmptyContextWarning(Q_FUNC_INFO);
return BlackMisc::Aviation::CAtcStationList(); return BlackMisc::Aviation::CAtcStationList();
} }
//! \copydoc IContextNetwork::getUsers() //! \copydoc IContextNetwork::getUsers()
virtual BlackMisc::Network::CUserList getUsers() const override virtual BlackMisc::Network::CUserList getUsers() const override
{ {
if (m_log) { qDebug() << Q_FUNC_INFO ; } logEmptyContextWarning(Q_FUNC_INFO);
return BlackMisc::Network::CUserList(); return BlackMisc::Network::CUserList();
} }
//! \copydoc IContextNetwork::getUsersForCallsigns //! \copydoc IContextNetwork::getUsersForCallsigns
virtual BlackMisc::Network::CUserList getUsersForCallsigns(const BlackMisc::Aviation::CCallsignList &callsigns) const override virtual BlackMisc::Network::CUserList getUsersForCallsigns(const BlackMisc::Aviation::CCallsignList &callsigns) const override
{ {
if (m_log) { qDebug() << Q_FUNC_INFO << callsigns; } Q_UNUSED(callsigns);
logEmptyContextWarning(Q_FUNC_INFO);
return BlackMisc::Network::CUserList(); return BlackMisc::Network::CUserList();
} }
//! \copydoc IContextNetwork::getUserForCallsign //! \copydoc IContextNetwork::getUserForCallsign
virtual BlackMisc::Network::CUser getUserForCallsign(const BlackMisc::Aviation::CCallsign &callsign) const override virtual BlackMisc::Network::CUser getUserForCallsign(const BlackMisc::Aviation::CCallsign &callsign) const override
{ {
if (m_log) { qDebug() << Q_FUNC_INFO << callsign; } Q_UNUSED(callsign);
logEmptyContextWarning(Q_FUNC_INFO);
return BlackMisc::Network::CUser(); return BlackMisc::Network::CUser();
} }
//! \copydoc IContextNetwork::getOtherClients //! \copydoc IContextNetwork::getOtherClients
virtual BlackMisc::Network::CClientList getOtherClients() const override virtual BlackMisc::Network::CClientList getOtherClients() const override
{ {
if (m_log) { qDebug() << Q_FUNC_INFO ; } logEmptyContextWarning(Q_FUNC_INFO);
return BlackMisc::Network::CClientList(); return BlackMisc::Network::CClientList();
} }
//! \copydoc IContextNetwork::getOtherClientForCallsigns //! \copydoc IContextNetwork::getOtherClientForCallsigns
virtual BlackMisc::Network::CClientList getOtherClientsForCallsigns(const BlackMisc::Aviation::CCallsignList &callsigns) const override virtual BlackMisc::Network::CClientList getOtherClientsForCallsigns(const BlackMisc::Aviation::CCallsignList &callsigns) const override
{ {
if (m_log) { qDebug() << Q_FUNC_INFO << callsigns; } Q_UNUSED(callsigns);
logEmptyContextWarning(Q_FUNC_INFO);
return BlackMisc::Network::CClientList(); return BlackMisc::Network::CClientList();
} }
//! \copydoc IContextNetwork::requestDataUpdates //! \copydoc IContextNetwork::requestDataUpdates
virtual void requestDataUpdates()override virtual void requestDataUpdates()override
{ {
if (m_log) { qDebug() << Q_FUNC_INFO ; } logEmptyContextWarning(Q_FUNC_INFO);
} }
//! \copydoc IContextNetwork::requestAtisUpdates //! \copydoc IContextNetwork::requestAtisUpdates
virtual void requestAtisUpdates() override virtual void requestAtisUpdates() override
{ {
if (m_log) { qDebug() << Q_FUNC_INFO ; } logEmptyContextWarning(Q_FUNC_INFO);
} }
//! \copydoc IContextNetwork::testCreateDummyOnlineAtcStations //! \copydoc IContextNetwork::testCreateDummyOnlineAtcStations
virtual void testCreateDummyOnlineAtcStations(int number) override virtual void testCreateDummyOnlineAtcStations(int number) override
{ {
if (m_log) { qDebug() << Q_FUNC_INFO << number; } Q_UNUSED(number);
logEmptyContextWarning(Q_FUNC_INFO);
} }
//! \copydoc IContextNetwork::parseCommandLine //! \copydoc IContextNetwork::parseCommandLine
virtual bool parseCommandLine(const QString &commandLine) override virtual bool parseCommandLine(const QString &commandLine) override
{ {
if (m_log) { qDebug() << Q_FUNC_INFO << commandLine; } Q_UNUSED(commandLine);
logEmptyContextWarning(Q_FUNC_INFO);
return false; return false;
} }
//! \copydoc IContextNetwork::getVatsimVoiceServers
virtual BlackMisc::Network::CServerList getVatsimVoiceServers() const
{
logEmptyContextWarning(Q_FUNC_INFO);
return BlackMisc::Network::CServerList();
}
private: //! \copydoc IContextNetwork::getVatsimFsdServers
bool m_log = true; virtual BlackMisc::Network::CServerList getVatsimFsdServers() const
{
logEmptyContextWarning(Q_FUNC_INFO);
return BlackMisc::Network::CServerList();
}
}; };
} // namespace } // namespace

View File

@@ -39,8 +39,7 @@ namespace BlackCore
* Init this context * Init this context
*/ */
CContextNetwork::CContextNetwork(CRuntimeConfig::ContextMode mode, CRuntime *runtime) : CContextNetwork::CContextNetwork(CRuntimeConfig::ContextMode mode, CRuntime *runtime) :
IContextNetwork(mode, runtime), m_airspace(nullptr), m_network(nullptr), m_currentStatus(INetwork::Disconnected), IContextNetwork(mode, runtime)
m_vatsimBookingReader(nullptr), m_vatsimDataFileReader(nullptr), m_dataUpdateTimer(nullptr)
{ {
Q_ASSERT(this->getRuntime()); Q_ASSERT(this->getRuntime());
Q_ASSERT(this->getRuntime()->getIContextSettings()); Q_ASSERT(this->getRuntime()->getIContextSettings());
@@ -259,13 +258,33 @@ namespace BlackCore
} }
/* /*
* Other clients * Other clients for callsign
*/ */
CClientList CContextNetwork::getOtherClientsForCallsigns(const CCallsignList &callsigns) const CClientList CContextNetwork::getOtherClientsForCallsigns(const CCallsignList &callsigns) const
{ {
return this->m_airspace->getOtherClientsForCallsigns(callsigns); return this->m_airspace->getOtherClientsForCallsigns(callsigns);
} }
/*
* VATSIM FSD servers
*/
CServerList CContextNetwork::getVatsimFsdServers() const
{
Q_ASSERT(this->m_vatsimDataFileReader);
CLogMessage(this, CLogCategory::contextSlot()).debug() << Q_FUNC_INFO;
return this->m_vatsimDataFileReader->getFsdServers();
}
/*
* VATSIM Voice servers
*/
CServerList CContextNetwork::getVatsimVoiceServers() const
{
Q_ASSERT(this->m_vatsimDataFileReader);
CLogMessage(this, CLogCategory::contextSlot()).debug() << Q_FUNC_INFO;
return this->m_vatsimDataFileReader->getVoiceServers();
}
/* /*
* Connection status changed * Connection status changed
*/ */

View File

@@ -126,6 +126,12 @@ namespace BlackCore
//! \copydoc IContextNetwork::getOtherClientForCallsigns //! \copydoc IContextNetwork::getOtherClientForCallsigns
virtual BlackMisc::Network::CClientList getOtherClientsForCallsigns(const BlackMisc::Aviation::CCallsignList &callsigns) const override; virtual BlackMisc::Network::CClientList getOtherClientsForCallsigns(const BlackMisc::Aviation::CCallsignList &callsigns) const override;
//! \copydoc IContextNetwork::getVatsimFsdServers
virtual BlackMisc::Network::CServerList getVatsimFsdServers() const override;
//! \copydoc IContextNetwork::getVatsimVoiceServers
virtual BlackMisc::Network::CServerList getVatsimVoiceServers() const override;
//! \copydoc IContextNetwork::requestDataUpdates //! \copydoc IContextNetwork::requestDataUpdates
virtual void requestDataUpdates()override; virtual void requestDataUpdates()override;
@@ -151,18 +157,18 @@ namespace BlackCore
} }
private: private:
CAirspaceMonitor *m_airspace; CAirspaceMonitor *m_airspace = nullptr;
BlackCore::INetwork *m_network; BlackCore::INetwork *m_network = nullptr;
INetwork::ConnectionStatus m_currentStatus; //!< used to detect pending connections INetwork::ConnectionStatus m_currentStatus = INetwork::Disconnected; //!< used to detect pending connections
BlackMisc::CDigestSignal m_dsAtcStationsBookedChanged { this, &IContextNetwork::changedAtcStationsBooked, &IContextNetwork::changedAtcStationsBookedDigest, 750, 2 }; BlackMisc::CDigestSignal m_dsAtcStationsBookedChanged { this, &IContextNetwork::changedAtcStationsBooked, &IContextNetwork::changedAtcStationsBookedDigest, 750, 2 };
BlackMisc::CDigestSignal m_dsAtcStationsOnlineChanged { this, &IContextNetwork::changedAtcStationsOnline, &IContextNetwork::changedAtcStationsOnlineDigest, 750, 4 }; BlackMisc::CDigestSignal m_dsAtcStationsOnlineChanged { this, &IContextNetwork::changedAtcStationsOnline, &IContextNetwork::changedAtcStationsOnlineDigest, 750, 4 };
BlackMisc::CDigestSignal m_dsAircraftsInRangeChanged { this, &IContextNetwork::changedAircraftsInRange, &IContextNetwork::changedAircraftsInRangeDigest, 750, 4 }; BlackMisc::CDigestSignal m_dsAircraftsInRangeChanged { this, &IContextNetwork::changedAircraftsInRange, &IContextNetwork::changedAircraftsInRangeDigest, 750, 4 };
// for reading XML and VATSIM data files // for reading XML and VATSIM data files
CVatsimBookingReader *m_vatsimBookingReader; CVatsimBookingReader *m_vatsimBookingReader = nullptr;
CVatsimDataFileReader *m_vatsimDataFileReader; CVatsimDataFileReader *m_vatsimDataFileReader = nullptr;
QTimer *m_dataUpdateTimer; //!< general updates such as ATIS, frequencies, see requestDataUpdates() QTimer *m_dataUpdateTimer = nullptr; //!< general updates such as ATIS, frequencies, see requestDataUpdates()
//! Get network settings //! Get network settings
BlackMisc::Settings::CSettingsNetwork getNetworkSettings() const BlackMisc::Settings::CSettingsNetwork getNetworkSettings() const

View File

@@ -101,6 +101,16 @@ namespace BlackCore
return this->m_dBusInterface->callDBusRet<BlackMisc::Network::CClientList>(QLatin1Literal("getOtherClients")); return this->m_dBusInterface->callDBusRet<BlackMisc::Network::CClientList>(QLatin1Literal("getOtherClients"));
} }
BlackMisc::Network::CServerList CContextNetworkProxy::getVatsimFsdServers() const
{
return this->m_dBusInterface->callDBusRet<BlackMisc::Network::CServerList>(QLatin1Literal("getVatsimFsdServers"));
}
BlackMisc::Network::CServerList CContextNetworkProxy::getVatsimVoiceServers() const
{
return this->m_dBusInterface->callDBusRet<BlackMisc::Network::CServerList>(QLatin1Literal("getVatsimVoiceServers"));
}
BlackMisc::Network::CClientList CContextNetworkProxy::getOtherClientsForCallsigns(const BlackMisc::Aviation::CCallsignList &callsigns) const BlackMisc::Network::CClientList CContextNetworkProxy::getOtherClientsForCallsigns(const BlackMisc::Aviation::CCallsignList &callsigns) const
{ {
return this->m_dBusInterface->callDBusRet<BlackMisc::Network::CClientList>(QLatin1Literal("getOtherClientsForCallsigns"), callsigns); return this->m_dBusInterface->callDBusRet<BlackMisc::Network::CClientList>(QLatin1Literal("getOtherClientsForCallsigns"), callsigns);

View File

@@ -1,7 +1,13 @@
/* Copyright (C) 2013 VATSIM Community / authors /* Copyright (C) 2013
* This Source Code Form is subject to the terms of the Mozilla Public * swift Project Community / Contributors
* License, v. 2.0. If a copy of the MPL was not distributed with this *
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ * This file is part of swift project. It is subject to the license terms in the LICENSE file found in the top-level
* directory of this distribution and at http://www.swift-project.org/license.html. No part of swift project,
* including this file, may be copied, modified, propagated, or distributed except according to the terms
* contained in the LICENSE file.
*/
//! \file
#ifndef BLACKCORE_CONTEXTNETWORK_PROXY_H #ifndef BLACKCORE_CONTEXTNETWORK_PROXY_H
#define BLACKCORE_CONTEXTNETWORK_PROXY_H #define BLACKCORE_CONTEXTNETWORK_PROXY_H
@@ -101,6 +107,12 @@ namespace BlackCore
//! \copydoc IContextNetwork::getOtherClients //! \copydoc IContextNetwork::getOtherClients
virtual BlackMisc::Network::CClientList getOtherClients() const override; virtual BlackMisc::Network::CClientList getOtherClients() const override;
//! \copydoc IContextNetwork::getVatsimVoiceServers
virtual BlackMisc::Network::CServerList getVatsimVoiceServers() const override;
//! \copydoc IContextNetwork::getVatsimFsdServers
virtual BlackMisc::Network::CServerList getVatsimFsdServers() const override;
//! \copydoc IContextNetwork::getOtherClientForCallsigns //! \copydoc IContextNetwork::getOtherClientForCallsigns
virtual BlackMisc::Network::CClientList getOtherClientsForCallsigns(const BlackMisc::Aviation::CCallsignList &callsigns) const override; virtual BlackMisc::Network::CClientList getOtherClientsForCallsigns(const BlackMisc::Aviation::CCallsignList &callsigns) const override;