ExternalServiceAdapter

class kanzi::connect::ExternalServiceAdapter : public AbstractService

Adapter class between Java implemented services and AbstractService instance.

Unnamed Group

virtual GenericInvoker * getGenericInvoker () KZ_OVERRIDE

See

kanzi::connect::connect::AbstractService

virtual AbstractSessionSharedPtr onAcquireSession (int clientId, int sessionId, MessageDispatcher *dispatcher, const string &instanceName) KZ_OVERRIDE

Session factorization method interface.

To be overrided by concrete services

Return

newly allocated session. ownership is transfered.

Parameters
  • clientId: client identifier number

  • sessionId: session identifier number

  • dispatcher: message dispatching functionality for the session.

  • instanceName: name for the service/session instance

inline virtual ContentProviderCollectionSharedPtr getContentProvider () KZ_OVERRIDE

Returns content provider for this service.

Return

Collection of content providers, created by this service.

virtual string getIdentifier () const KZ_OVERRIDE
virtual void onReleaseSession (AbstractSessionSharedPtr session) KZ_OVERRIDE

Virtual method that inheriting classes can implement.

Can be used to receive notifications when sessions are destroyed.

Parameters
  • session: identifies the session to be released. ownership not transfered.

Unnamed Group

bool addSubscriptionExt(const string &identifier, shared_ptr<ExternalServiceSession> session)

See

kanzi::connect::connect::AbstractService

vector<string> removeSubscriptionsExt(shared_ptr<ExternalServiceSession> session, const string &identifier = "")
bool hasSubscriptionsExt(const string &identifier)
vector<shared_ptr<ExternalServiceSession>> findSubscribersExt(const string &identifier)

Public Functions

ExternalServiceAdapter(const string &identfier)

Constructor.

Parameters
  • identfier: the name of the service this adapter represents.

inline virtual ~ExternalServiceAdapter()

Destructor.

virtual void receive(shared_ptr<ExternalServiceSession> session, const MessagePackage &message)

Invoked to receive incoming message.

This is handled in external code (Java etc)

Parameters
  • message: the message to be processed.

virtual void transmitToAll(const MessagePackage &message)

Transmits a provided message to wire and delivers it to all sessions available.

Parameters
  • message: the message to be sent.

virtual bool transmitToSession(shared_ptr<ExternalServiceSession> session, const MessagePackage &message)

Transmits a provided message to specific session.

Parameters
  • session: the session where to send to message. Session presence is verified before making the call.

  • message: the message to be sent.