diff options
| author | Qudix <17361645+Qudix@users.noreply.github.com> | 2020-11-09 13:02:01 -0600 |
|---|---|---|
| committer | Qudix <17361645+Qudix@users.noreply.github.com> | 2020-11-09 13:02:01 -0600 |
| commit | 0a3bdad8afd18a21a3697804ae344abd09e3712e (patch) | |
| tree | 0bf234b41dff43cdfe39afea48c7c1d8bdd995c2 /src/singleinstance.h | |
| parent | b7b843d42badab83b262260035658259f24e4f9a (diff) | |
| parent | fef8543a58b4226242ce26c4c8876abaa64394cb (diff) | |
Merge branch 'master' of https://github.com/ModOrganizer2/modorganizer into master
Diffstat (limited to 'src/singleinstance.h')
| -rw-r--r-- | src/singleinstance.h | 90 |
1 files changed, 0 insertions, 90 deletions
diff --git a/src/singleinstance.h b/src/singleinstance.h deleted file mode 100644 index 5f6c3633..00000000 --- a/src/singleinstance.h +++ /dev/null @@ -1,90 +0,0 @@ -/*
-Copyright (C) 2012 Sebastian Herbord. All rights reserved.
-
-This file is part of Mod Organizer.
-
-Mod Organizer is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
-
-Mod Organizer is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with Mod Organizer. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#ifndef SINGLEINSTANCE_H
-#define SINGLEINSTANCE_H
-
-#include <QObject>
-#include <QSharedMemory>
-#include <QLocalServer>
-
-
-/**
- * used to ensure only a single instance of Mod Organizer is started and to
- * allow ephemeral instances to send messages to the primary (visible) one.
- * This way, other instances can start a download in the primary one
- **/
-class SingleInstance : public QObject
-{
-
- Q_OBJECT
-
-public:
- // `allowMultiple`: if another instance is running, run this one
- // disconnected from the shared memory
- explicit SingleInstance(bool allowMultiple, QObject *parent = 0);
-
- /**
- * @return true if this instance's job is to forward data to the primary
- * instance through shared memory
- **/
- bool ephemeral() const
- {
- return m_Ephemeral;
- }
-
- // returns true if this is not the primary instance, but was allowed because
- // of the AllowMultiple flag
- //
- bool secondary() const
- {
- return !m_Ephemeral && !m_OwnsSM;
- }
-
- /**
- * send a message to the primary instance. This can be used to transmit download urls
- *
- * @param message message to send
- **/
- void sendMessage(const QString &message);
-
-signals:
-
- /**
- * @brief emitted when an ephemeral instance has sent a message (to us)
- *
- * @param message the message we received
- **/
- void messageSent(const QString &message);
-
-public slots:
-
-private slots:
-
- void receiveMessage();
-
-private:
- bool m_Ephemeral;
- bool m_OwnsSM;
- QSharedMemory m_SharedMem;
- QLocalServer m_Server;
-
-};
-
-#endif // SINGLEINSTANCE_H
|
