GNU Radio Manual and C++ API Reference
3.9.1.0
The Free & Open Software Radio Ecosystem
rpcmanager.h
Go to the documentation of this file.
1
/* -*- c++ -*- */
2
/*
3
* Copyright 2012 Free Software Foundation, Inc.
4
*
5
* This file is part of GNU Radio
6
*
7
* SPDX-License-Identifier: GPL-3.0-or-later
8
*
9
*/
10
11
#ifndef RPCMANAGER_H
12
#define RPCMANAGER_H
13
14
#include <
gnuradio/api.h
>
15
#include <
gnuradio/rpcmanager_base.h
>
16
#include <
gnuradio/rpcserver_booter_aggregator.h
>
17
#include <iostream>
18
#include <memory>
19
20
class
GR_RUNTIME_API
rpcmanager
:
public
virtual
rpcmanager_base
21
{
22
public
:
23
rpcmanager
();
24
~
rpcmanager
();
25
26
static
rpcserver_booter_base
* get();
27
28
static
void
register_booter(
rpcserver_booter_base
* booter);
29
30
template
<
typename
T>
31
class
rpcserver_booter_register_helper
32
{
33
public
:
34
rpcserver_booter_register_helper
() {
rpcmanager::register_booter
(
new
T()); }
35
36
// TODO: unregister
37
};
38
39
private
:
40
static
bool
make_aggregator;
41
static
bool
booter_registered;
42
static
bool
aggregator_registered;
43
static
void
rpcserver_booter_base_sptr_dest(
rpcserver_booter_base
* b) { (void)b; }
44
static
std::unique_ptr<rpcserver_booter_base> boot;
45
static
std::unique_ptr<rpcserver_booter_aggregator> aggregator;
46
};
47
48
#endif
/* RPCMANAGER_H */
rpcmanager_base
Definition:
rpcmanager_base.h:19
rpcmanager
Definition:
rpcmanager.h:20
rpcmanager_base.h
rpcmanager::register_booter
static void register_booter(rpcserver_booter_base *booter)
GR_RUNTIME_API
#define GR_RUNTIME_API
Definition:
gnuradio-runtime/include/gnuradio/api.h:18
rpcserver_booter_aggregator.h
rpcmanager::rpcserver_booter_register_helper::rpcserver_booter_register_helper
rpcserver_booter_register_helper()
Definition:
rpcmanager.h:34
api.h
rpcserver_booter_base
Definition:
rpcserver_booter_base.h:19
rpcmanager::rpcserver_booter_register_helper
Definition:
rpcmanager.h:31
gnuradio-runtime
include
gnuradio
rpcmanager.h
Generated by
1.8.17