mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-12 23:35:33 +08:00
refs #248 added menu interface to start the XBus server
This commit is contained in:
@@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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);
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user