|
VLink 2.0.0
A high-performance communication middleware
|
Pure-virtual plugin interface for external transport Conf factories.
More...
#include <conf_plugin_interface.h>
Public Member Functions | |
| virtual TransportType | get_transport_type () const =0 |
| Returns the transport backend handled by this plugin. | |
| virtual std::unique_ptr< Conf > | create () const =0 |
Creates and returns a new transport Conf instance. | |
Protected Member Functions | |
| ConfPluginInterface ()=default | |
| virtual | ~ConfPluginInterface ()=default |
Pure-virtual plugin interface for external transport Conf factories.
Each VLink transport plugin exports exactly one concrete subclass of this interface. The VLink runtime loads the plugin shared library, locates the registered instance via VLINK_PLUGIN_REGISTER, and queries it for the supported transport backend and new Conf objects.
|
protecteddefault |
|
protectedvirtualdefault |
|
nodiscardpure virtual |
Creates and returns a new transport Conf instance.
Called once per Url construction that matches this plugin's transport. The returned object must be fully initialised and ready for parse() calls. Ownership is transferred to the caller via unique_ptr.
Conf subclass specific to this transport.
|
nodiscardpure virtual |
Returns the transport backend handled by this plugin.
Called by Url::load_for_plugin() to determine whether this plugin supports the transport of the URL being constructed.
TransportType enumeration value identifying the transport backend.