Bitcoin Core 29.99.0
P2P Digital Currency
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
mp::ProxyClientBase< Interface_, Impl_ > Class Template Reference

Base class for generated ProxyClient classes that implement a C++ interface and forward calls to a capnp interface. More...

#include <proxy.h>

Inheritance diagram for mp::ProxyClientBase< Interface_, Impl_ >:
[legend]
Collaboration diagram for mp::ProxyClientBase< Interface_, Impl_ >:
[legend]

Public Types

using Interface = Interface_
 
using Impl = Impl_
 
using Sub = ProxyClient< Interface >
 
using Super = ProxyClientBase< Interface, Impl >
 

Public Member Functions

 ProxyClientBase (typename Interface::Client client, Connection *connection, bool destroy_connection)
 Construct libmultiprocess client object wrapping Cap'n Proto client object with a reference to the associated mp::Connection object. More...
 
 ~ProxyClientBase () noexcept
 

Static Public Member Functions

static void construct (Super &)
 
static void destroy (Super &)
 

Public Attributes

Interface::Client m_client
 
ProxyContext m_context
 

Detailed Description

template<typename Interface_, typename Impl_>
class mp::ProxyClientBase< Interface_, Impl_ >

Base class for generated ProxyClient classes that implement a C++ interface and forward calls to a capnp interface.

Definition at line 80 of file proxy.h.

Member Typedef Documentation

◆ Impl

template<typename Interface_ , typename Impl_ >
using mp::ProxyClientBase< Interface_, Impl_ >::Impl = Impl_

Definition at line 84 of file proxy.h.

◆ Interface

template<typename Interface_ , typename Impl_ >
using mp::ProxyClientBase< Interface_, Impl_ >::Interface = Interface_

Definition at line 83 of file proxy.h.

◆ Sub

template<typename Interface_ , typename Impl_ >
using mp::ProxyClientBase< Interface_, Impl_ >::Sub = ProxyClient<Interface>

Definition at line 85 of file proxy.h.

◆ Super

template<typename Interface_ , typename Impl_ >
using mp::ProxyClientBase< Interface_, Impl_ >::Super = ProxyClientBase<Interface, Impl>

Definition at line 86 of file proxy.h.

Constructor & Destructor Documentation

◆ ProxyClientBase()

template<typename Interface , typename Impl >
mp::ProxyClientBase< Interface, Impl >::ProxyClientBase ( typename Interface::Client  client,
Connection connection,
bool  destroy_connection 
)

Construct libmultiprocess client object wrapping Cap'n Proto client object with a reference to the associated mp::Connection object.

The destroy_connection option determines whether destroying this client object closes the connection. It is set to true for the ProxyClient<InitInterface> object returned by ConnectStream, to let IPC clients close the connection by freeing the object. It is false for other client objects so they can be destroyed without affecting the connection.

Definition at line 398 of file proxy-io.h.

Here is the call graph for this function:

◆ ~ProxyClientBase()

template<typename Interface , typename Impl >
mp::ProxyClientBase< Interface, Impl >::~ProxyClientBase
noexcept

Definition at line 458 of file proxy-io.h.

Here is the call graph for this function:

Member Function Documentation

◆ construct()

template<typename Interface_ , typename Impl_ >
static void mp::ProxyClientBase< Interface_, Impl_ >::construct ( Super )
inlinestatic

Definition at line 129 of file proxy.h.

◆ destroy()

template<typename Interface_ , typename Impl_ >
static void mp::ProxyClientBase< Interface_, Impl_ >::destroy ( Super )
inlinestatic

Definition at line 130 of file proxy.h.

Member Data Documentation

◆ m_client

template<typename Interface_ , typename Impl_ >
Interface::Client mp::ProxyClientBase< Interface_, Impl_ >::m_client

Definition at line 132 of file proxy.h.

◆ m_context

template<typename Interface_ , typename Impl_ >
ProxyContext mp::ProxyClientBase< Interface_, Impl_ >::m_context

Definition at line 133 of file proxy.h.


The documentation for this class was generated from the following files: