NDEVR
API Documentation
ConnectionFactoryabstract

Stores factories that can be registered for creating Connections of various types by instantiating a ConnectionBackend based on a provided ConnectionInfo. More...

Inheritance diagram for ConnectionFactory:
[legend]
Collaboration diagram for ConnectionFactory:
[legend]

Public Member Functions

virtual Buffer< ConnectionCategoryavailableConnectionCategories ()=0
 Returns the connection categories this factory supports.
virtual Buffer< ConnectionInfoavailableConnections (const ConnectionSearchParameters &params)=0
 Discovers available connections matching the given search parameters.
virtual bool canConnectTo (const ConnectionInfo &request) const
 Checks whether this factory can establish a connection with the given info.
virtual ConnectionBackendcreateConnection (const ConnectionInfo &request)=0
 Creates a new ConnectionBackend for the given connection info.
virtual bool handlesType (const StringView &request) const =0
 Checks whether this factory handles the given connection type.

Static Public Member Functions

static Buffer< ConnectionCategoryAvailableConnectionCategories ()
 Returns all connection categories from all registered factories.
static Buffer< ConnectionInfoAvailableConnections (const ConnectionSearchParameters &params)
 Discovers available connections across all registered factories.
static ConnectionBackendCreateConnection (const ConnectionInfo &request)
 Creates a ConnectionBackend by searching all registered factories for one that handles the request.
static void RegisterConnectionFactory (ConnectionFactory *factory)
 Registers a ConnectionFactory so it can be used to create connections.

Static Protected Attributes

static Buffer< ConnectionFactory * > s_registered_factories
 All registered connection factories.

Detailed Description

Stores factories that can be registered for creating Connections of various types by instantiating a ConnectionBackend based on a provided ConnectionInfo.


Definition at line 249 of file Connection.h.

Member Function Documentation

◆ AvailableConnectionCategories()

Buffer< ConnectionCategory > ConnectionFactory::AvailableConnectionCategories ( )
static

Returns all connection categories from all registered factories.

Returns
A buffer of all available ConnectionCategory objects.

◆ availableConnectionCategories()

virtual Buffer< ConnectionCategory > ConnectionFactory::availableConnectionCategories ( )
pure virtual

Returns the connection categories this factory supports.

Returns
A buffer of ConnectionCategory objects.

Implemented in BluetoothConnectionFactory, SerialPortConnectionFactory, SocketConnectionFactory, SocketIOConnectionFactory, and WebSocketConnectionFactory.

◆ AvailableConnections()

Buffer< ConnectionInfo > ConnectionFactory::AvailableConnections ( const ConnectionSearchParameters & params)
static

Discovers available connections across all registered factories.

Parameters
[in]paramsThe search parameters.
Returns
A buffer of all discovered ConnectionInfo objects.

◆ availableConnections()

virtual Buffer< ConnectionInfo > ConnectionFactory::availableConnections ( const ConnectionSearchParameters & params)
pure virtual

Discovers available connections matching the given search parameters.

Parameters
[in]paramsThe search parameters including filters and callbacks.
Returns
A buffer of available ConnectionInfo objects.

Implemented in BluetoothConnectionFactory, SerialPortConnectionFactory, SocketConnectionFactory, SocketIOConnectionFactory, and WebSocketConnectionFactory.

◆ canConnectTo()

virtual bool ConnectionFactory::canConnectTo ( const ConnectionInfo & request) const
virtual

Checks whether this factory can establish a connection with the given info.

Parameters
[in]requestThe connection info to check.
Returns
True if a connection can be established.

◆ CreateConnection()

ConnectionBackend * ConnectionFactory::CreateConnection ( const ConnectionInfo & request)
static

Creates a ConnectionBackend by searching all registered factories for one that handles the request.

Parameters
[in]requestThe connection parameters.
Returns
A newly allocated ConnectionBackend, or nullptr if no factory can handle the request.

◆ createConnection()

virtual ConnectionBackend * ConnectionFactory::createConnection ( const ConnectionInfo & request)
pure virtual

Creates a new ConnectionBackend for the given connection info.

Parameters
[in]requestThe connection parameters.
Returns
A newly allocated ConnectionBackend, or nullptr on failure.

Implemented in BluetoothConnectionFactory, SerialPortConnectionFactory, SocketConnectionFactory, SocketIOConnectionFactory, and WebSocketConnectionFactory.

◆ handlesType()

virtual bool ConnectionFactory::handlesType ( const StringView & request) const
pure virtual

Checks whether this factory handles the given connection type.

Parameters
[in]requestThe connection type string to check.
Returns
True if this factory can handle the type.

Implemented in BluetoothConnectionFactory, SerialPortConnectionFactory, SocketConnectionFactory, SocketIOConnectionFactory, and WebSocketConnectionFactory.

◆ RegisterConnectionFactory()

void ConnectionFactory::RegisterConnectionFactory ( ConnectionFactory * factory)
static

Registers a ConnectionFactory so it can be used to create connections.

Parameters
[in]factoryThe factory to register.

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