Qt remote objects IPC
This commit is contained in:
parent
c4df9c004b
commit
048a673d31
18 changed files with 340 additions and 25 deletions
|
|
@ -3,6 +3,7 @@
|
|||
#include <QLocalServer>
|
||||
#include <QLocalSocket>
|
||||
|
||||
#include "ipc.h"
|
||||
#include "localserver.h"
|
||||
#include "utils.h"
|
||||
|
||||
|
|
@ -14,19 +15,23 @@
|
|||
|
||||
LocalServer::LocalServer(QObject *parent) : QObject(parent),
|
||||
m_clientConnection(nullptr),
|
||||
m_clientConnected(false)
|
||||
m_clientConnected(false),
|
||||
m_ipcServer(this)
|
||||
{
|
||||
m_server = QSharedPointer<QLocalServer>(new QLocalServer(this));
|
||||
m_server->setSocketOptions(QLocalServer::WorldAccessOption);
|
||||
|
||||
if (!m_server->listen(Utils::serverName())) {
|
||||
qDebug() << QString("Unable to start the server: %1.").arg(m_server->errorString());
|
||||
return;
|
||||
}
|
||||
// if (!m_server->listen(Utils::serverName())) {
|
||||
// qDebug() << QString("Unable to start the server: %1.").arg(m_server->errorString());
|
||||
// return;
|
||||
// }
|
||||
|
||||
connect(m_server.data(), &QLocalServer::newConnection, this, &LocalServer::onNewConnection);
|
||||
// connect(m_server.data(), &QLocalServer::newConnection, this, &LocalServer::onNewConnection);
|
||||
|
||||
qDebug().noquote() << QString("Local server started on '%1'").arg(m_server->serverName());
|
||||
// qDebug().noquote() << QString("Local server started on '%1'").arg(m_server->serverName());
|
||||
|
||||
m_serverNode.setHostUrl(QUrl(QStringLiteral(IPC_SERVICE_URL))); // create host node without Registry
|
||||
m_serverNode.enableRemoting(&m_ipcServer); // enable remoting/sharing
|
||||
}
|
||||
|
||||
LocalServer::~LocalServer()
|
||||
|
|
@ -41,7 +46,8 @@ LocalServer::~LocalServer()
|
|||
|
||||
bool LocalServer::isRunning() const
|
||||
{
|
||||
return m_server->isListening();
|
||||
return true;
|
||||
//return m_server->isListening();
|
||||
}
|
||||
|
||||
void LocalServer::onNewConnection()
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@
|
|||
#include <QVector>
|
||||
|
||||
#include "message.h"
|
||||
#include "ipcserver.h"
|
||||
|
||||
class QLocalServer;
|
||||
class QLocalSocket;
|
||||
|
|
@ -46,6 +47,9 @@ private:
|
|||
|
||||
QVector<QProcess*> m_processList;
|
||||
bool m_clientConnected;
|
||||
|
||||
IpcServer m_ipcServer;
|
||||
QRemoteObjectHost m_serverNode;
|
||||
};
|
||||
|
||||
#endif // LOCALSERVER_H
|
||||
|
|
|
|||
|
|
@ -1,11 +1,14 @@
|
|||
TARGET = AmneziaVPN-service
|
||||
TEMPLATE = app
|
||||
CONFIG += console qt no_batch
|
||||
QT += core network
|
||||
QT += core network remoteobjects
|
||||
|
||||
HEADERS = \
|
||||
../../client/message.h \
|
||||
../../client/utils.h \
|
||||
../../ipc/ipc.h \
|
||||
../../ipc/ipcserver.h \
|
||||
../../ipc/ipcserverprocess.h \
|
||||
localserver.h \
|
||||
log.h \
|
||||
router.h \
|
||||
|
|
@ -14,6 +17,8 @@ HEADERS = \
|
|||
SOURCES = \
|
||||
../../client/message.cpp \
|
||||
../../client/utils.cpp \
|
||||
../../ipc/ipcserver.cpp \
|
||||
../../ipc/ipcserverprocess.cpp \
|
||||
localserver.cpp \
|
||||
log.cpp \
|
||||
main.cpp \
|
||||
|
|
@ -47,3 +52,5 @@ include(../src/qtservice.pri)
|
|||
#}
|
||||
|
||||
INCLUDEPATH += "$$PWD/../../client"
|
||||
|
||||
REPC_SOURCE += ../../ipc/ipcinterface.rep
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue