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
channel
remotedataqueue.h
Go to the documentation of this file.
1
// Copyright (C) 2018 Edouard Griffiths, F4EXB. //
3
// //
4
// Remote sink channel (Rx) data blocks queue //
5
// //
6
// SDRangel can serve as a remote SDR front end that handles the interface //
7
// with a physical device and sends or receives the I/Q samples stream via UDP //
8
// to or from another SDRangel instance or any program implementing the same //
9
// protocol. The remote SDRangel is controlled via its Web REST API. //
10
// //
11
// This program is free software; you can redistribute it and/or modify //
12
// it under the terms of the GNU General Public License as published by //
13
// the Free Software Foundation as version 3 of the License, or //
14
// (at your option) any later version. //
15
// //
16
// This program is distributed in the hope that it will be useful, //
17
// but WITHOUT ANY WARRANTY; without even the implied warranty of //
18
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
19
// GNU General Public License V3 for more details. //
20
// //
21
// You should have received a copy of the GNU General Public License //
22
// along with this program. If not, see <http://www.gnu.org/licenses/>. //
24
25
#ifndef CHANNEL_REMOTEDATAQUEUE_H_
26
#define CHANNEL_REMOTEDATAQUEUE_H_
27
28
#include <QObject>
29
#include <QMutex>
30
#include <QQueue>
31
32
#include "
export.h
"
33
34
class
RemoteDataBlock
;
35
36
class
SDRBASE_API
RemoteDataQueue
:
public
QObject {
37
Q_OBJECT
38
39
public
:
40
RemoteDataQueue
(QObject* parent = NULL);
41
~
RemoteDataQueue
();
42
43
void
push(
RemoteDataBlock
* dataBlock,
bool
emitSignal =
true
);
44
RemoteDataBlock
* pop();
45
46
int
size();
47
void
clear();
48
49
signals:
50
void
dataBlockEnqueued();
51
52
private
:
53
QMutex
m_lock
;
54
QQueue<RemoteDataBlock*>
m_queue
;
55
};
56
57
#endif
/* CHANNEL_REMOTEDATAQUEUE_H_ */
RemoteDataQueue::m_lock
QMutex m_lock
Definition:
remotedataqueue.h:53
RemoteDataQueue::m_queue
QQueue< RemoteDataBlock * > m_queue
Definition:
remotedataqueue.h:54
export.h
RemoteDataBlock
Definition:
remotedatablock.h:161
SDRBASE_API
#define SDRBASE_API
Definition:
export.h:40
RemoteDataQueue
Definition:
remotedataqueue.h:36
Generated on Fri Aug 2 2019 17:56:33 for SDRAngel by
1.8.13