aboutsummaryrefslogtreecommitdiff
path: root/src/qt/ipc.h
diff options
context:
space:
mode:
authordsc <xmrdsc@protonmail.com>2019-03-22 21:02:08 +0100
committerxmrdsc <xmrdsc@protonmail.com>2019-04-29 19:56:46 +0200
commit18f2accc7f5ac0941c703a7cb4dd9cab2a2bca77 (patch)
treeb1aeea40a02d76c352097dde7514b849c0e91483 /src/qt/ipc.h
parentff6ce6294b561a6f15769a8e7a8270d57d02f8de (diff)
downloadmonzero-gui-18f2accc7f5ac0941c703a7cb4dd9cab2a2bca77.tar.gz
monzero-gui-18f2accc7f5ac0941c703a7cb4dd9cab2a2bca77.tar.xz
monzero-gui-18f2accc7f5ac0941c703a7cb4dd9cab2a2bca77.zip
IPC and custom protocol handler for monero://
Diffstat (limited to 'src/qt/ipc.h')
-rw-r--r--src/qt/ipc.h35
1 files changed, 35 insertions, 0 deletions
diff --git a/src/qt/ipc.h b/src/qt/ipc.h
new file mode 100644
index 00000000..5c3cc73a
--- /dev/null
+++ b/src/qt/ipc.h
@@ -0,0 +1,35 @@
+#ifndef IPC_H
+#define IPC_H
+
+#include <QtCore>
+#include <QLocalServer>
+#include <qt/utils.h>
+
+class IPC : public QObject
+{
+Q_OBJECT
+public:
+ IPC(QObject *parent = 0) : QObject(parent) {}
+ QFileInfo socketFile() const { return m_socketFile; }
+ Q_INVOKABLE QString queuedCmd() { return m_queuedCmd; }
+ void SetQueuedCmd(const QString cmdString) { m_queuedCmd = cmdString; }
+
+public slots:
+ void bind();
+ void handleConnection();
+ bool saveCommand(QString cmdString);
+ bool saveCommand(const QUrl &url);
+ void parseCommand(QString cmdString);
+ void parseCommand(const QUrl &url);
+ void emitUriHandler(QString uriString);
+
+signals:
+ void uriHandler(QString uriString);
+
+private:
+ QLocalServer *m_server;
+ QString m_queuedCmd;
+ QFileInfo m_socketFile = QFileInfo(QString(QDir::tempPath() + "/xmr-gui_%2.sock").arg(getAccountName()));
+};
+
+#endif // IPC_H