Developer documentation
Version 3.0.3-105-gd3941f44
processlock.h
Go to the documentation of this file.
1
/* Copyright (c) 2008-2022 the MRtrix3 contributors.
2
*
3
* This Source Code Form is subject to the terms of the Mozilla Public
4
* License, v. 2.0. If a copy of the MPL was not distributed with this
5
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
6
*
7
* Covered Software is provided under this License on an "as is"
8
* basis, without warranty of any kind, either expressed, implied, or
9
* statutory, including, without limitation, warranties that the
10
* Covered Software is free of defects, merchantable, fit for a
11
* particular purpose or non-infringing.
12
* See the Mozilla Public License v. 2.0 for more details.
13
*
14
* For more details, see http://www.mrtrix.org/.
15
*/
16
#ifndef __sync_processlock_h__
17
#define __sync_processlock_h__
18
19
#include <QSharedMemory>
20
#include <QSystemSemaphore>
21
22
#include "types.h"
23
24
namespace
MR
25
{
26
namespace
GUI
27
{
28
namespace
MRView
29
{
30
namespace
Sync
31
{
38
class
ProcessLock
39
{
NOMEMALIGN
40
41
public
:
42
ProcessLock
(
const
QString& key);
43
~ProcessLock
();
44
45
bool
IsAnotherRunning
();
46
bool
TryToRun
();
47
void
Release
();
48
49
private
:
50
const
QString key;
51
const
QString memLockKey;
52
const
QString sharedmemKey;
53
54
QSharedMemory sharedMem;
55
QSystemSemaphore memLock;
56
57
Q_DISABLE_COPY(
ProcessLock
)
58
};
59
60
}
61
}
62
}
63
}
64
65
#endif
// __sync_processlock_h__
MR::GUI::MRView::Sync::ProcessLock
Definition:
processlock.h:39
MR::GUI::MRView::Sync::ProcessLock::ProcessLock
ProcessLock(const QString &key)
MR::GUI::MRView::Sync::ProcessLock::TryToRun
bool TryToRun()
MR::GUI::MRView::Sync::ProcessLock::~ProcessLock
~ProcessLock()
MR::GUI::MRView::Sync::ProcessLock::IsAnotherRunning
bool IsAnotherRunning()
MR::GUI::MRView::Sync::ProcessLock::Release
void Release()
NOMEMALIGN
#define NOMEMALIGN
Definition:
memory.h:22
MR
Definition:
base.h:24
src
gui
mrview
sync
processlock.h
Generated on Mon Jul 4 2022 08:00:07 for MRtrix by
1.9.3