Kanzi Connect  3.9.8
Kanzi Connect C++ API
kanzi::connect::AbstractServiceClient Class Referenceabstract

Abstract client-side base class for Kanzi Connect services. More...

#include <abstract_service_client.hpp>

Inheritance diagram for kanzi::connect::AbstractServiceClient:
kanzi::connect::ContentClient kanzi::connect::ExternalClientAdapter kanzi::connect::StreamServiceClient kanzi::connect::VirtualFileClient kanzi::connect::LocalContentClient kanzi::connect::RemoteContentClient kanzi::connect::VirtualFileLocalClient kanzi::connect::VirtualFileRemoteClient

Public Types

typedef function< void(void)> SessionRunningFunction
 
typedef shared_ptr< void > SessionRunningSubscriptionToken
 
typedef function< void(void)> SessionStoppedFunction
 

Public Member Functions

 AbstractServiceClient ()
 Constructor. More...
 
AbstractSession::MessageSubscriptionToken addMessageSubscription (const string &messageType, AbstractSession::MessageReceivedFunction function)
 
SessionRunningSubscriptionToken addSessionRunningSubscription (SessionRunningFunction function)
 
SessionRunningSubscriptionToken addSessionStoppedSubscription (SessionStoppedFunction function)
 
optional< int > getActiveSessionIdentifier ()
 
virtual string getIdentifier () const =0
 Returns the type of the service. More...
 
optional< const AbstractSession::ServiceAttributesgetServiceAttributes ()
 
virtual void onSessionRunning ()
 
virtual void onSessionStopped ()
 
void removeMessageSubscription (const string &messageType, AbstractSession::MessageSubscriptionToken token)
 
void removeSessionRunningSubscription (SessionRunningSubscriptionToken token)
 
void removeSessionStoppedSubscription (SessionRunningSubscriptionToken token)
 
void setEnabledState (bool newEnabledState)
 Enable/disable the service by allowing or blocking traffic between client and server. More...
 
bool transmit (const MessagePackage &message)
 
virtual void work ()
 Carry out asynchronous work bound to Kanzi Connect client main thread. More...
 
virtual ~AbstractServiceClient ()
 Destructor. More...
 

Protected Types

enum  SessionState { INITIALIZED = 0, RUNNING = 1, STOPPED = 2 }
 

Protected Member Functions

virtual AbstractSessionSharedPtr getSession ()
 

Protected Attributes

SessionState m_sessionState
 

Detailed Description

Abstract client-side base class for Kanzi Connect services.

Member Typedef Documentation

◆ SessionRunningFunction

◆ SessionRunningSubscriptionToken

◆ SessionStoppedFunction

Member Enumeration Documentation

◆ SessionState

Enumerator
INITIALIZED 
RUNNING 
STOPPED 

Constructor & Destructor Documentation

◆ AbstractServiceClient()

kanzi::connect::AbstractServiceClient::AbstractServiceClient ( )

Constructor.

◆ ~AbstractServiceClient()

virtual kanzi::connect::AbstractServiceClient::~AbstractServiceClient ( )
virtual

Destructor.

Member Function Documentation

◆ addMessageSubscription()

AbstractSession::MessageSubscriptionToken kanzi::connect::AbstractServiceClient::addMessageSubscription ( const string &  messageType,
AbstractSession::MessageReceivedFunction  function 
)
inline

◆ addSessionRunningSubscription()

SessionRunningSubscriptionToken kanzi::connect::AbstractServiceClient::addSessionRunningSubscription ( SessionRunningFunction  function)

◆ addSessionStoppedSubscription()

SessionRunningSubscriptionToken kanzi::connect::AbstractServiceClient::addSessionStoppedSubscription ( SessionStoppedFunction  function)

◆ getActiveSessionIdentifier()

optional<int> kanzi::connect::AbstractServiceClient::getActiveSessionIdentifier ( )
inline

◆ getIdentifier()

virtual string kanzi::connect::AbstractServiceClient::getIdentifier ( ) const
pure virtual

Returns the type of the service.

Returns
Identifier of the service, as a string.

Implemented in kanzi::connect::ExternalClientAdapter, kanzi::connect::VirtualFileClient, kanzi::connect::ContentClient, and kanzi::connect::StreamServiceClient.

◆ getServiceAttributes()

optional<const AbstractSession::ServiceAttributes> kanzi::connect::AbstractServiceClient::getServiceAttributes ( )
inline

◆ getSession()

virtual AbstractSessionSharedPtr kanzi::connect::AbstractServiceClient::getSession ( )
inlineprotectedvirtual

◆ onSessionRunning()

virtual void kanzi::connect::AbstractServiceClient::onSessionRunning ( )
virtual

◆ onSessionStopped()

virtual void kanzi::connect::AbstractServiceClient::onSessionStopped ( )
virtual

◆ removeMessageSubscription()

void kanzi::connect::AbstractServiceClient::removeMessageSubscription ( const string &  messageType,
AbstractSession::MessageSubscriptionToken  token 
)
inline

◆ removeSessionRunningSubscription()

void kanzi::connect::AbstractServiceClient::removeSessionRunningSubscription ( SessionRunningSubscriptionToken  token)

◆ removeSessionStoppedSubscription()

void kanzi::connect::AbstractServiceClient::removeSessionStoppedSubscription ( SessionRunningSubscriptionToken  token)

◆ setEnabledState()

void kanzi::connect::AbstractServiceClient::setEnabledState ( bool  newEnabledState)

Enable/disable the service by allowing or blocking traffic between client and server.

Parameters
newEnabledStateTrue enables and false disables the service

◆ transmit()

bool kanzi::connect::AbstractServiceClient::transmit ( const MessagePackage message)
inline

◆ work()

virtual void kanzi::connect::AbstractServiceClient::work ( )
inlinevirtual

Carry out asynchronous work bound to Kanzi Connect client main thread.

Reimplemented in kanzi::connect::ContentClient, and kanzi::connect::RemoteContentClient.

Member Data Documentation

◆ m_sessionState

SessionState kanzi::connect::AbstractServiceClient::m_sessionState
protected

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