Files
pilotclient/src/blackcore/coreruntime.cpp
Mathew Sutcliffe 0bad7bb2e8 Contexts' getRuntime method uses static_cast instead of reinterpret_cast.
This required a few changes in include order and forward declarations to fix the real reason why reinterpret_cast was mistakenly used.

refs #81
2014-01-09 01:15:58 +00:00

63 lines
2.1 KiB
C++

#include "blackcore/coreruntime.h"
#include "blackmisc/blackmiscfreefunctions.h"
#include "blackmisc/nwserver.h"
#include "blackcore/context_application.h"
#include "blackcore/context_network.h"
#include "blackcore/context_settings.h"
#include "blackcore/context_voice.h"
namespace BlackCore
{
/*
* Constructor
*/
CCoreRuntime::CCoreRuntime(bool withDbus, QObject *parent) :
QObject(parent), m_init(false), m_dbusServer(nullptr), m_contextNetwork(nullptr), m_settings(nullptr)
{
this->init(withDbus);
}
/*
* Init runtime
*/
void CCoreRuntime::init(bool withDbus)
{
if (m_init) return;
BlackMisc::registerMetadata();
BlackMisc::initResources();
// TODO: read settings
if (withDbus)
{
QString dBusAddress = "session";
this->m_dbusServer = new CDBusServer(dBusAddress, this);
}
// contexts
this->m_settings = new CContextSettings(this);
if (withDbus) this->m_settings->registerWithDBus(this->m_dbusServer);
this->m_contextNetwork = new CContextNetwork(this);
if (withDbus) this->m_contextNetwork->registerWithDBus(this->m_dbusServer); // complete object after init
// flag
m_init = true;
}
IContextNetwork *CCoreRuntime::getIContextNetwork() { return this->m_contextNetwork; }
const IContextNetwork *CCoreRuntime::getIContextNetwork() const { return this->m_contextNetwork; }
IContextVoice *CCoreRuntime::getIContextVoice() { return this->m_contextVoice; }
const IContextVoice *CCoreRuntime::getIContextVoice() const { return this->m_contextVoice; }
IContextSettings *CCoreRuntime::getIContextSettings() { return this->m_contextSettings; }
const IContextSettings *CCoreRuntime::getIContextSettings() const { return this->m_contextSettings; }
const IContextApplication *CCoreRuntime::getIContextApplication() const { return this->m_contextApplication; }
IContextApplication *CCoreRuntime::getIContextApplication() { return this->m_contextApplication; }
}