GNU Radio Manual and C++ API Reference
3.10.5.1
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 <memory>
18
19
class
GR_RUNTIME_API
rpcmanager
:
public
virtual
rpcmanager_base
20
{
21
public
:
22
rpcmanager
();
23
~
rpcmanager
();
24
25
static
rpcserver_booter_base
* get();
26
27
static
void
register_booter(
rpcserver_booter_base
* booter);
28
29
template
<
typename
T>
30
class
rpcserver_booter_register_helper
31
{
32
public
:
33
rpcserver_booter_register_helper
() {
rpcmanager::register_booter
(
new
T()); }
34
35
// TODO: unregister
36
};
37
38
private
:
39
static
bool
make_aggregator;
40
static
bool
booter_registered;
41
static
bool
aggregator_registered;
42
static
void
rpcserver_booter_base_sptr_dest(
rpcserver_booter_base
* b) { (void)b; }
43
static
std::unique_ptr<rpcserver_booter_base> boot;
44
static
std::unique_ptr<rpcserver_booter_aggregator> aggregator;
45
};
46
47
#endif
/* RPCMANAGER_H */
rpcmanager_base
Definition:
rpcmanager_base.h:19
rpcmanager
Definition:
rpcmanager.h:19
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:33
api.h
rpcserver_booter_base
Definition:
rpcserver_booter_base.h:19
rpcmanager::rpcserver_booter_register_helper
Definition:
rpcmanager.h:30
gnuradio-runtime
include
gnuradio
rpcmanager.h
Generated by
1.8.17