Cockatrice
2026-10-19-Development-3.1.2-beta.2
A virtual tabletop for multiplayer card games
Toggle main menu visibility
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 <QObject>
5
#include <QString>
6
#include <QStringList>
7
#include <qtmetamacros.h>
8
9
class
QLocalServer;
10
11
class
SingleInstanceManager
:
public
QObject
12
{
13
Q_OBJECT
14
public
:
15
explicit
SingleInstanceManager
(QObject *parent =
nullptr
);
16
17
// Returns true if this process became the primary instance, false if
18
// another instance is already running (and received our files).
19
bool
tryRun
(
const
QStringList &initialFiles);
20
21
signals:
22
void
filesReceived
(
const
QStringList &files);
23
24
private
slots:
25
void
handleNewConnection
();
26
27
private
:
28
enum class
ForwardResult
29
{
30
Delivered,
// a live primary acknowledged the payload
31
NoPrimary,
// no connectable primary socket exists
32
PrimaryBusy
// a primary exists but did not acknowledge in time
33
};
34
35
ForwardResult
forwardToPrimary
(
const
QStringList &filesToSend);
36
37
QString
serverName
;
38
QLocalServer *
server
=
nullptr
;
39
};
40
41
#endif
// COCKATRICE_SINGLE_INSTANCE_MANAGER_H
SingleInstanceManager::ForwardResult
ForwardResult
Definition
single_instance_manager.h:29
SingleInstanceManager::filesReceived
void filesReceived(const QStringList &files)
SingleInstanceManager::server
QLocalServer * server
Definition
single_instance_manager.h:38
SingleInstanceManager::SingleInstanceManager
SingleInstanceManager(QObject *parent=nullptr)
Definition
single_instance_manager.cpp:22
SingleInstanceManager::tryRun
bool tryRun(const QStringList &initialFiles)
Definition
single_instance_manager.cpp:26
SingleInstanceManager::handleNewConnection
void handleNewConnection()
Definition
single_instance_manager.cpp:115
SingleInstanceManager::forwardToPrimary
ForwardResult forwardToPrimary(const QStringList &filesToSend)
Definition
single_instance_manager.cpp:74
SingleInstanceManager::serverName
QString serverName
Definition
single_instance_manager.h:37
cockatrice
src
single_instance_manager.h
Generated by
1.18.0