12#include "../../Plugin.hpp"
13#include <dfx-core/transports/sources/SourceTransport.hpp>
43 void stop() noexcept override;
Convenience macros to explicitly control copy and move semantics.
#define DFX_DISABLE_COPY_AND_MOVE(ClassName)
Disable both copy and move.
Definition CopyMoveControl.hpp:37
void * dfx_transport_handle_t
Opaque handle representing a transport instance created by the plugin.
Definition PluginInterface.h:66
Definition Endpoint.hpp:24
Abstract base class for all source transports that inject messages into a Channel.
Definition SourceTransport.hpp:25
Endpoint const & endpoint() const noexcept
Gets the endpoint descriptor associated with this transport.
Definition Transport.hpp:161
nlohmann::json const & config() const noexcept
Gets the JSON configuration used to initialize this transport.
Definition Transport.hpp:176
Abstract interface for FD-based event polling.
Definition Poller.hpp:37
~CSourceTransport()
Destructor. Calls dfx_transport_interface_t::destroy on the plugin API.
CSourceTransport(Core::Endpoint endpoint, nlohmann::json config, Plugin const &plugin, dfx_transport_interface_t interface)
Constructs the adaptor and initializes the plugin-side transport.
void stop() noexcept override
Deactivates the transport.
void start(FdWatch::Poller &poller) override
Activates the transport and provides the poller vtable to the plugin.
Manager for a loaded plugin shared library.
Definition Plugin.hpp:38
Definition MessageApi.hpp:16
Interface to the host's event loop (Poller).
Definition PluginInterface.h:212
The Transport Plugin Interface.
Definition PluginInterface.h:781