15#include <dfx-core/transports/destinations/DestinationTransport.hpp>
16#include <dfx-core/transports/sources/SourceTransport.hpp>
17#include <dfx-utilities/StringMap.hpp>
Definition Endpoint.hpp:24
Base class for both input and output ports.
Definition Port.hpp:66
In-memory graph builder and mutation controller (nodes + channels) with optional connection verificat...
Definition Controller.hpp:63
Core::DestinationTransportPtr createDestination(std::string_view uri, nlohmann::json config, Controller &controller)
Creates a DestinationTransport based on a URI string.
static Core::Endpoint endpointFromDescriptor(Core::Endpoint::Descriptor desc, Core::Port *port=nullptr)
Converts a descriptor into a concrete Endpoint.
std::move_only_function< Core::DestinationTransportPtr(Core::Endpoint, nlohmann::json)> DestinationBuilder
Function signature for creating a destination transport.
Definition TransportFactory.hpp:52
Core::SourceTransportPtr createSource(Core::Endpoint::Descriptor descriptor, nlohmann::json config, Controller &controller)
Creates a SourceTransport based on a Core::Endpoint::Descriptor.
void registerBuilder(std::string scheme, SourceBuilder sourceBuilder, DestinationBuilder destinationBuilder)
Register new builders for a specific scheme into the factory.
std::move_only_function< Core::SourceTransportPtr(Core::Endpoint, nlohmann::json)> SourceBuilder
Function signature for creating a source transport.
Definition TransportFactory.hpp:46
TransportFactory()
Default constructor.
static Core::Endpoint::Descriptor descriptorFromString(std::string_view str)
Parses a URI-like string into an endpoint descriptor.
Core::SourceTransportPtr createSource(std::string_view uri, nlohmann::json config, Controller &controller)
Creates a SourceTransport based on a URI string.
Core::DestinationTransportPtr createDestination(Core::Endpoint::Descriptor descriptor, nlohmann::json config, Controller &controller)
Creates a DestinationTransport based on a Core::Endpoint::Descriptor.
std::unique_ptr< SourceTransport > SourceTransportPtr
Unique ownership handle for SourceTransport.
Definition SourceTransport.hpp:48
std::unordered_map< std::string, T, TransparentHash, TransparentEqual, Allocator > UnorderedStringMap
Convenience alias for an unordered map keyed by std::string with transparent lookup.
Definition StringMap.hpp:76
Parsed metadata for an endpoint, used for routing and graph introspection.
Definition Endpoint.hpp:61