Cockatrice 2026-09-01-Development-3.1.0-beta.10
A virtual tabletop for multiplayer card games
Loading...
Searching...
No Matches
single_instance_manager.h
Go to the documentation of this file.
1#ifndef COCKATRICE_SINGLE_INSTANCE_MANAGER_H
2#define COCKATRICE_SINGLE_INSTANCE_MANAGER_H
3
4#include <QDataStream>
5#include <QDebug>
6#include <QLocalServer>
7#include <QLocalSocket>
8
9class SingleInstanceManager : public QObject
10{
11 Q_OBJECT
12public:
13 explicit SingleInstanceManager(QObject *parent = nullptr);
14
15 // Returns true if this process became the primary instance, false if
16 // another instance is already running (and received our files).
17 bool tryRun(const QStringList &initialFiles);
18
19signals:
20 void filesReceived(const QStringList &files);
21
22private slots:
24
25private:
26 bool forwardToPrimary(const QStringList &filesToSend);
27
28 QString serverName;
29 QLocalServer *server = nullptr;
30};
31
32#endif // COCKATRICE_SINGLE_INSTANCE_MANAGER_H
bool forwardToPrimary(const QStringList &filesToSend)
Definition single_instance_manager.cpp:53
void filesReceived(const QStringList &files)
QLocalServer * server
Definition single_instance_manager.h:29
SingleInstanceManager(QObject *parent=nullptr)
Definition single_instance_manager.cpp:5
bool tryRun(const QStringList &initialFiles)
Definition single_instance_manager.cpp:9
void handleNewConnection()
Definition single_instance_manager.cpp:78
QString serverName
Definition single_instance_manager.h:28