mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-25 18:25:42 +08:00
refs #246 refactored construction of the network context into a factory method
This commit is contained in:
27
src/blackcore/context_network.cpp
Normal file
27
src/blackcore/context_network.cpp
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
/* Copyright (C) 2013 VATSIM Community / contributors
|
||||||
|
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
|
* 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/. */
|
||||||
|
|
||||||
|
#include "context_network.h"
|
||||||
|
#include "context_network_impl.h"
|
||||||
|
#include "context_network_proxy.h"
|
||||||
|
|
||||||
|
namespace BlackCore
|
||||||
|
{
|
||||||
|
|
||||||
|
IContextNetwork *IContextNetwork::create(CRuntime *parent, CRuntimeConfig::ContextMode mode, CDBusServer *server, QDBusConnection &conn)
|
||||||
|
{
|
||||||
|
switch (mode)
|
||||||
|
{
|
||||||
|
case CRuntimeConfig::Local:
|
||||||
|
case CRuntimeConfig::LocalInDbusServer:
|
||||||
|
return (new CContextNetwork(mode, parent))->registerWithDBus(server);
|
||||||
|
case CRuntimeConfig::Remote:
|
||||||
|
return new BlackCore::CContextNetworkProxy(BlackCore::CDBusServer::ServiceName, conn, mode, parent);
|
||||||
|
default:
|
||||||
|
return nullptr; // network not mandatory
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -46,6 +46,9 @@ namespace BlackCore
|
|||||||
//! \copydoc CContext::getPathAndContextId()
|
//! \copydoc CContext::getPathAndContextId()
|
||||||
virtual QString getPathAndContextId() const { return this->buildPathAndContextId(ObjectPath()); }
|
virtual QString getPathAndContextId() const { return this->buildPathAndContextId(ObjectPath()); }
|
||||||
|
|
||||||
|
//! Factory method
|
||||||
|
static IContextNetwork *create(CRuntime *parent, CRuntimeConfig::ContextMode mode, CDBusServer *server, QDBusConnection &conn);
|
||||||
|
|
||||||
//! Destructor
|
//! Destructor
|
||||||
virtual ~IContextNetwork() {}
|
virtual ~IContextNetwork() {}
|
||||||
|
|
||||||
|
|||||||
@@ -29,6 +29,7 @@ namespace BlackCore
|
|||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
Q_CLASSINFO("D-Bus Interface", BLACKCORE_CONTEXTNETWORK_INTERFACENAME)
|
Q_CLASSINFO("D-Bus Interface", BLACKCORE_CONTEXTNETWORK_INTERFACENAME)
|
||||||
|
friend class IContextNetwork;
|
||||||
friend class CRuntime;
|
friend class CRuntime;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ namespace BlackCore
|
|||||||
class CContextNetworkProxy : public IContextNetwork
|
class CContextNetworkProxy : public IContextNetwork
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
friend class CRuntime;
|
friend class IContextNetwork;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
|
|||||||
@@ -394,18 +394,7 @@ namespace BlackCore
|
|||||||
}
|
}
|
||||||
times.insert("Audio", time.restart());
|
times.insert("Audio", time.restart());
|
||||||
|
|
||||||
switch (config.getModeNetwork())
|
this->m_contextNetwork = IContextNetwork::create(this, config.getModeNetwork(), this->m_dbusServer, this->m_dbusConnection);
|
||||||
{
|
|
||||||
case CRuntimeConfig::Local:
|
|
||||||
case CRuntimeConfig::LocalInDbusServer:
|
|
||||||
this->m_contextNetwork = (new CContextNetwork(config.getModeNetwork(), this))->registerWithDBus(this->m_dbusServer);
|
|
||||||
break;
|
|
||||||
case CRuntimeConfig::Remote:
|
|
||||||
this->m_contextNetwork = new BlackCore::CContextNetworkProxy(BlackCore::CDBusServer::ServiceName, this->m_dbusConnection, config.getModeNetwork(), this);
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
break; // network not mandatory
|
|
||||||
}
|
|
||||||
times.insert("Network", time.restart());
|
times.insert("Network", time.restart());
|
||||||
|
|
||||||
switch (config.getModeSimulator())
|
switch (config.getModeSimulator())
|
||||||
|
|||||||
Reference in New Issue
Block a user