diff options
Diffstat (limited to 'src/singleapplication.h')
-rw-r--r-- | src/singleapplication.h | 22 |
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> ¶ms); + int sendMessage(const SessionParam ¶ms); signals: - void messageAvailable(const QHash<QString, QVariant> ¶ms); + void messageAvailable(const SessionParam ¶ms); 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; }; |