aboutsummaryrefslogtreecommitdiff
path: root/src/singleapplication.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/singleapplication.h')
-rw-r--r--src/singleapplication.h22
1 files changed, 16 insertions, 6 deletions
diff --git a/src/singleapplication.h b/src/singleapplication.h
index 053ead2..fd9ce39 100644
--- a/src/singleapplication.h
+++ b/src/singleapplication.h
@@ -10,29 +10,39 @@
#define SINGLEAPPLICATION_H
#include <QApplication>
+#include <QVector>
class QLocalServer;
class SingleApplication : public QApplication
{
Q_OBJECT
+
public:
+
+ struct SessionParam
+ {
+ QString profile;
+ bool newWindow;
+ QVector<QUrl> urls;
+ };
+
explicit SingleApplication(int &argc, char **argv);
~SingleApplication();
- void bindLocalSocket();
+ bool bindLocalSocket(const QString &name = QString());
+ QString serverName() const;
- bool isRunning();
- bool sendMessage(const QHash<QString, QVariant> &params);
+ int sendMessage(const SessionParam &params);
signals:
- void messageAvailable(const QHash<QString, QVariant> &params);
+ void messageAvailable(const SessionParam &params);
private slots:
- void slot_receiveMessage();
+ void parseMessage();
private:
const int LOCALSERVER_TIMEOUT = 500;
- const QString LOCALSERVER_KEY = "smolbote_socket";
+ QString LOCALSERVER_KEY;
QLocalServer *m_localServer = nullptr;
};