SDRAngel
4.11.5
Developer docs for <a href="https://github.com/f4exb/sdrangel">SDRangel<\a>, an Open Source Qt5 / OpenGL 3.0+ SDR and signal analyzer frontend to various hardware.
sdrbase
util
syncmessenger.h
Go to the documentation of this file.
1
// Copyright (C) 2015 F4EXB //
3
// written by Edouard Griffiths //
4
// //
5
// This program is free software; you can redistribute it and/or modify //
6
// it under the terms of the GNU General Public License as published by //
7
// the Free Software Foundation as version 3 of the License, or //
8
// (at your option) any later version. //
9
// //
10
// This program is distributed in the hope that it will be useful, //
11
// but WITHOUT ANY WARRANTY; without even the implied warranty of //
12
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
13
// GNU General Public License V3 for more details. //
14
// //
15
// You should have received a copy of the GNU General Public License //
16
// along with this program. If not, see <http://www.gnu.org/licenses/>. //
18
19
#ifndef INCLUDE_UTIL_SYNCMESSENGER_H_
20
#define INCLUDE_UTIL_SYNCMESSENGER_H_
21
22
#include <QObject>
23
#include <QWaitCondition>
24
#include <QMutex>
25
#include <QAtomicInt>
26
#include "
export.h
"
27
28
class
Message
;
29
33
class
SDRBASE_API
SyncMessenger
:
public
QObject {
34
Q_OBJECT
35
36
public
:
37
SyncMessenger
();
38
~
SyncMessenger
();
39
40
int
sendWait(
Message
& message,
unsigned
long
msPollTime = 100);
41
Message
*
getMessage
()
const
{
return
m_message; }
42
void
storeMessage
(
Message
& message) { m_message = &message; }
43
void
done(
int
result = 0);
44
45
signals:
46
void
messageSent();
47
48
protected
:
49
QWaitCondition
m_waitCondition
;
50
QMutex
m_mutex
;
51
QAtomicInt
m_complete
;
52
Message
*
m_message
;
53
int
m_result
;
54
};
55
56
57
58
#endif
/* INCLUDE_UTIL_SYNCMESSENGER_H_ */
Message
Definition:
message.h:25
export.h
SyncMessenger::storeMessage
void storeMessage(Message &message)
Definition:
syncmessenger.h:42
SyncMessenger::m_mutex
QMutex m_mutex
Definition:
syncmessenger.h:50
SyncMessenger::m_message
Message * m_message
Definition:
syncmessenger.h:52
SyncMessenger::m_result
int m_result
Definition:
syncmessenger.h:53
SyncMessenger::m_complete
QAtomicInt m_complete
Definition:
syncmessenger.h:51
SyncMessenger
Definition:
syncmessenger.h:33
SyncMessenger::getMessage
Message * getMessage() const
Definition:
syncmessenger.h:41
SyncMessenger::m_waitCondition
QWaitCondition m_waitCondition
Definition:
syncmessenger.h:49
SDRBASE_API
#define SDRBASE_API
Definition:
export.h:40
Generated on Fri Aug 2 2019 17:56:33 for SDRAngel by
1.8.13