mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-04 00:16:51 +08:00
48 lines
1.4 KiB
C++
48 lines
1.4 KiB
C++
/* Copyright (C) 2013 VATSIM Community / authors
|
|
* 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/. */
|
|
|
|
#ifndef BLACKCORE_CONTEXTAPPLICATION_IMPL_H
|
|
#define BLACKCORE_CONTEXTAPPLICATION_IMPL_H
|
|
|
|
#include "context_application.h"
|
|
#include "context_runtime.h"
|
|
#include "dbus_server.h"
|
|
|
|
namespace BlackCore
|
|
{
|
|
class CRuntime;
|
|
|
|
/*!
|
|
* \brief Application context
|
|
*/
|
|
class CContextApplication : public IContextApplication
|
|
{
|
|
Q_CLASSINFO("D-Bus Interface", BLACKCORE_CONTEXTAPPLICATION_INTERFACENAME)
|
|
Q_OBJECT
|
|
friend class CRuntime;
|
|
|
|
protected:
|
|
//! Constructor
|
|
CContextApplication(CRuntimeConfig::ContextMode mode, CRuntime *runtime);
|
|
|
|
//! Register myself in DBus, fail safe
|
|
CContextApplication *registerWithDBus(CDBusServer *server)
|
|
{
|
|
if (!server || this->m_mode != CRuntimeConfig::LocalInDbusServer) return this;
|
|
server->addObject(IContextApplication::ObjectPath(), this);
|
|
return this;
|
|
}
|
|
public:
|
|
//! Destructor
|
|
virtual ~CContextApplication() {}
|
|
|
|
public slots:
|
|
//! \copydoc IContextApplication::ping()
|
|
virtual qint64 ping(qint64 token) const override;
|
|
};
|
|
}
|
|
|
|
#endif // guard
|