ConnectionManager¶
-
class
kanzi::connect
::
ConnectionManager
: public ConnectionServiceConcept, private NetworkListener::Observer, public ConnectionManagerMessageHookInterface¶ A service class to manage clients on server side. Implements Connection Interface on server.
Public Types
-
typedef map<int, ConnectedClientSharedPtr>
ClientContainer
¶ Container for connected clients.
Public Functions
Constructor.
- Parameters
connectDomain
: The connect domain.messageRouterInterface
: Interface to object that will handle incoming messages.diagManager
: The diagnostics manager, used to deliver diagnostics related data.objectFactory
: Factory interface to create connection adapters.
-
~ConnectionManager
() override¶ Destructor.
-
void
addMessageHook
(ConnectionManagerMessageHookInterface *messageInterface)¶ Installs new message hook processor.
- Parameters
messageInterface
: the message interface
-
void
addObserver
(Observer *observer)¶ Adds observer to listen for notifications on this service.
- Parameters
observer
: Observer to add.
-
ClientContainer::const_iterator
beginClients
() const¶ Return iterator to container for all connected clients (begin).
- Return
Iterator that points the beginning of the container.
-
ClientContainer::const_iterator
endClients
() const¶ Return iterator to container for all connected clients (end).
- Return
Iterator that points the end of the container.
-
ClientIdManager &
getClientIdManager
()¶ Retrieve the client id manager class.
- Return
reference to ClientIdManager instance.
-
ConnectionAdapter *
getConnectionAdapter
(const int clientId) const¶ Find the connection adapter that handles the connection for the given client.
- Return
Pointer to the connection adapter, null pointer if not found
- Parameters
clientId
: Identifies the client
-
ConnectionAdapterObjectFactorySharedPtr
getConnectionAdapterObjectFactory
()¶ Retrieve the Connection adapter factory.
-
NetworkListenerSharedPtr
getNetworkListener
(const int clientId) const¶ Find the network listener that handlers the particular client.
- Return
shared pointer to network listener object
- Parameters
clientId
: the client identifier
See AbstractService::initialize.
-
AbstractSessionSharedPtr
onAcquireSession
(int clientId, int sessionId, MessageDispatcher *dispatcher, const string &instanceName) override¶ See AbstractService::onAcquireSession.
-
void
removeMessageHook
(ConnectionManagerMessageHookInterface *messageInterface)¶ Removes existing message hook processor.
- Parameters
messageInterface
: the message interface
-
void
removeObserver
(Observer *observer)¶ Remove observer to stop listening for notifications on this service.
- Parameters
observer
: Observer to remove.
Set HTTP server to handle HTTP requests.
- Parameters
httpServer
: HTTP server to handle HTTP requests.
-
void
uninitialize
() override¶ See AbstractService::uninitialize.
-
class
Observer
¶ Observer for client connections.
Subclassed by ServiceManager
Public Functions
-
void
onClientConnected
(ConnectedClient *client) = 0¶ Notification about newly connected client.
- Parameters
client
: The client that connected.
-
void
onClientDisconnected
(ConnectedClient *client) = 0¶ Notification about disconnected client.
- Parameters
client
: The client that disconnected.
-
void
onClientIdentified
(ConnectedClient *client) = 0¶ Notification about client being identified (name assigned).
- Parameters
client
: The client that is being identified.
-
void
-
typedef map<int, ConnectedClientSharedPtr>