mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-03-23 23:45:35 +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()
|
||||
{
|
||||
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)
|
||||
{
|
||||
Q_ASSERT(! m_server);
|
||||
for (auto &item : m_startServerMenuItems) { item.setEnabled(false); }
|
||||
|
||||
m_server = new BlackCore::CDBusServer(address, this);
|
||||
}
|
||||
|
||||
|
||||
@@ -11,12 +11,15 @@
|
||||
//! \namespace XBus
|
||||
|
||||
#define NOMINMAX
|
||||
#include "menus.h"
|
||||
|
||||
#pragma push_macro("interface")
|
||||
#undef interface
|
||||
#include "blackcore/dbus_server.h"
|
||||
#pragma pop_macro("interface")
|
||||
|
||||
#include <QVector>
|
||||
|
||||
namespace XBus
|
||||
{
|
||||
/*!
|
||||
@@ -31,6 +34,8 @@ namespace XBus
|
||||
|
||||
private:
|
||||
BlackCore::CDBusServer *m_server = nullptr;
|
||||
CMenu m_menu;
|
||||
QVector<CMenuItem> m_startServerMenuItems;
|
||||
|
||||
void startServer(const QString &address);
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user