#ifndef IPCCLIENT_H #define IPCCLIENT_H #include #include #include "ipc.h" #include "rep_ipcinterface_replica.h" class IpcClient : public QObject { Q_OBJECT public: static IpcClient &Instance(); static bool init(); static QSharedPointer Interface() { return Instance().m_ipcClient; } static QSharedPointer CreatePrivilegedProcess(); signals: private: explicit IpcClient(QObject *parent = nullptr); QRemoteObjectNode m_ClientNode; QSharedPointer m_ipcClient; QSharedPointer m_localSocket; struct ProcessDescriptor { ProcessDescriptor () { replicaNode = QSharedPointer(new QRemoteObjectNode()); ipcProcess = QSharedPointer(); localSocket = QSharedPointer(); } QSharedPointer ipcProcess; QSharedPointer replicaNode; QSharedPointer localSocket; }; QMap> m_processNodes; }; #endif // IPCCLIENT_H