Bitcoin Core
31.1.0
P2P Digital Currency
Toggle main menu visibility
Loading...
Searching...
No Matches
src
ipc
protocol.h
Go to the documentation of this file.
1
// Copyright (c) 2021-present The Bitcoin Core developers
2
// Distributed under the MIT software license, see the accompanying
3
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
4
5
#ifndef BITCOIN_IPC_PROTOCOL_H
6
#define BITCOIN_IPC_PROTOCOL_H
7
8
#include <
interfaces/init.h
>
9
10
#include <functional>
11
#include <memory>
12
#include <typeindex>
13
14
namespace
ipc
{
15
struct
Context
;
16
21
class
Protocol
22
{
23
public
:
24
virtual
~Protocol
() =
default
;
25
35
virtual
std::unique_ptr<interfaces::Init>
connect
(
int
fd,
const
char
* exe_name) = 0;
36
40
virtual
void
listen
(
int
listen_fd,
const
char
* exe_name,
interfaces::Init
&
init
) = 0;
41
53
//
59
virtual
void
serve
(
int
fd,
const
char
* exe_name,
interfaces::Init
&
init
,
const
std::function<
void
()>& ready_fn = {}) = 0;
60
62
virtual
void
disconnectIncoming
() = 0;
63
66
virtual
void
addCleanup
(std::type_index type,
void
* iface, std::function<
void
()> cleanup) = 0;
67
69
virtual
Context
&
context
() = 0;
70
};
71
}
// namespace ipc
72
73
#endif
// BITCOIN_IPC_PROTOCOL_H
interfaces::Init
Definition
init.h:31
ipc::Protocol
Definition
protocol.h:22
ipc::Protocol::disconnectIncoming
virtual void disconnectIncoming()=0
Disconnect any incoming connections that are still connected.
ipc::Protocol::addCleanup
virtual void addCleanup(std::type_index type, void *iface, std::function< void()> cleanup)=0
ipc::Protocol::listen
virtual void listen(int listen_fd, const char *exe_name, interfaces::Init &init)=0
ipc::Protocol::serve
virtual void serve(int fd, const char *exe_name, interfaces::Init &init, const std::function< void()> &ready_fn={})=0
ipc::Protocol::connect
virtual std::unique_ptr< interfaces::Init > connect(int fd, const char *exe_name)=0
ipc::Protocol::context
virtual Context & context()=0
Context accessor.
ipc::Protocol::~Protocol
virtual ~Protocol()=default
init.h
init
Definition
bitcoin-gui.cpp:17
ipc
Definition
ipc.h:12
ipc::Context
Definition
context.h:15
Generated on
for Bitcoin Core by
1.17.0