refs #248 added menu interface to start the XBus server

This commit is contained in:
Mathew Sutcliffe
2014-06-14 22:01:04 +01:00
parent 3b12ff93a3
commit 9669ebefe3
2 changed files with 11 additions and 0 deletions

View File

@@ -10,11 +10,17 @@ namespace XBus
CPlugin::CPlugin() CPlugin::CPlugin()
{ {
m_menu = CMenu::mainMenu().subMenu("XBus");
m_startServerMenuItems.push_back(m_menu.item("Start server on session bus", [this]{ startServer(BlackCore::CDBusServer::sessionDBusServer()); }));
m_startServerMenuItems.push_back(m_menu.item("Start server on system bus", [this]{ startServer(BlackCore::CDBusServer::systemDBusServer()); }));
m_startServerMenuItems.push_back(m_menu.item("Start server on localhost P2P", [this]{ startServer(BlackCore::CDBusServer::p2pAddress()); }));
} }
void CPlugin::startServer(const QString &address) void CPlugin::startServer(const QString &address)
{ {
Q_ASSERT(! m_server); Q_ASSERT(! m_server);
for (auto &item : m_startServerMenuItems) { item.setEnabled(false); }
m_server = new BlackCore::CDBusServer(address, this); m_server = new BlackCore::CDBusServer(address, this);
} }

View File

@@ -11,12 +11,15 @@
//! \namespace XBus //! \namespace XBus
#define NOMINMAX #define NOMINMAX
#include "menus.h"
#pragma push_macro("interface") #pragma push_macro("interface")
#undef interface #undef interface
#include "blackcore/dbus_server.h" #include "blackcore/dbus_server.h"
#pragma pop_macro("interface") #pragma pop_macro("interface")
#include <QVector>
namespace XBus namespace XBus
{ {
/*! /*!
@@ -31,6 +34,8 @@ namespace XBus
private: private:
BlackCore::CDBusServer *m_server = nullptr; BlackCore::CDBusServer *m_server = nullptr;
CMenu m_menu;
QVector<CMenuItem> m_startServerMenuItems;
void startServer(const QString &address); void startServer(const QString &address);
}; };