84 #include "../base/plugin.h"
130 [[nodiscard]]
virtual std::unique_ptr<Conf>
create()
const = 0;
Transport-configuration base contract and the supporting boilerplate macros.
#define VLINK_DISALLOW_COPY_AND_ASSIGN(classname)
Deletes the copy constructor and copy-assignment operator of classname.
Definition: macros.h:174
TransportType
Enumeration of every transport backend recognised by VLink.
Definition: types.h:128
#define VLINK_PLUGIN_REGISTER(InterfaceType)
Declares a plugin's identity from the demangled name of its abstract interface.
Definition: plugin.h:345
Stateless factory contract that external recognized-transport plugins must implement.
Definition: conf_plugin_interface.h:101
virtual ~ConfPluginInterface()=default
virtual TransportType get_transport_type() const =0
Reports the transport identifier this plugin can produce confs for.
virtual std::unique_ptr< Conf > create() const =0
Allocates a fresh transport Conf instance.
ConfPluginInterface()=default