LocalContentClient

class kanzi::connect::LocalContentClient : public ContentClient

A content client variant that provides direct access to the content manager without any extra overhead.

This class can be used in Kanzi Connect server to directly operate with the Content Service. It introduces certain constraints to the usage:

  • Since content manager is a core service of Kanzi Connect server, this class is only useful on server-side development.

  • The Content Service and the user of this class (content subscriber) need to operate in the same process and thread.

  • The access to the Content Service is synchronous and is not protected in any way (ie. it is not thread safe). To get around these constraints, use RemoteContentClient class instead.

Unnamed Group

virtual ContentToken acquireContentToken () KZ_OVERRIDE

See

ContentClient

virtual void releaseContentToken (ContentToken token) KZ_OVERRIDE

Release content token and unregister from content service.

Parameters
  • token: the content token to release.

virtual bool subscribe (ContentToken token, ContentQueryArgumentsSharedPtr args, ResultCallbackFunction callback, ContentInvalidationFunction invalidationCallback) KZ_OVERRIDE

Subscribe to a table based content.

Return

true if subscription started, false if problems were met. Possible reasons for failure include for example trying to subscribe to same domain twice using same content token.

Parameters
  • token: Content token, identifies the user of content API, needs to be acquired first. When subscribing to table based content (content:// or service://) new token must be allocated for each content domain (E.g. com.rightware.content).

  • args: Query Arguments.

  • callback: Function callback for results.

  • invalidationCallback: function to invoke when content provider informs that certain part of the content has been invalidated.

virtual bool subscribeEx (ContentToken token, ContentQueryArgumentsSharedPtr args, ContentClientObserver *callback) KZ_OVERRIDE

Subscribe to content.

Return

true if subscription started, false if there were no session available.

Parameters
  • token: content content, identifies the user of content API.

  • args: Query Arguments.

virtual void unsubscribe (ContentToken token, const string &uri) KZ_OVERRIDE

Unsubscribe from content URI.

Parameters
  • token: Content token.

  • uri: Content URI to unsubscribe. Must be previously subscribed.

virtual bool addContentProvider (ContentToken token, const string &uri, ContentProviderSharedPtr contentProvider) KZ_OVERRIDE

Adds content provider to content system.

Return

true if succeeded, false on error.

Parameters
  • token: Content token, identifies the user of content API, needs to be acquired first.

  • uri: Content URI that is handled by the content provider.

  • contentProvider: Content provider to add.

virtual void removeContentProvider (ContentToken token, ContentProviderSharedPtr contentProvider) KZ_OVERRIDE

Removes content provider from content system.

Parameters
  • token: Content token, identifies the user of content API, needs to be acquired first.

  • contentProvider: Content provider to remove.

virtual bool subscribeRuntimeData (ContentToken token, const string uri, RuntimeDataResultCallbackFunction callback, int credits, int creditreturninterval) KZ_OVERRIDE

Subscribes to a service runtime data.

Return

true if subscription started, false if there were no session available.

Parameters
  • token: Content token, identifies the user of content API.

  • uri: The content URI where to subscribe. Usually something like service://cluster.

  • callback: Function callback for results.

  • credits: amount of transter credits that define the maximum amount of queued items (including both service and client ends) of this type.

  • creditreturninterval: how often functionality will return transfer credits to the content producer. Smaller the value more housekeeping traffic is produced.

virtual bool subscribeRuntimeDataEx (ContentToken token, const string uri, ContentClientRuntimeDataObserver *observer, int credits, int creditreturninterval) KZ_OVERRIDE

Subscribe to service runtime data.

Return

true if subscription started, false if there were no session available or subscription for the specific uri is already available.

Parameters
  • token: Content token, identifies the user of content API, needs to be acquired first.

  • observer: Observer interface to be invoked when subscribed runtime data changes.

  • credits: amount of transter credits that define the maximum amount of queued items (including both service and client ends) of this type.

  • creditreturninterval: how often functionality will return transfer credits to the content producer. Smaller the value more housekeeping traffic is produced.

virtual void unsubscribeRuntimeData (ContentToken token, const string &uri) KZ_OVERRIDE

Unsubscribe from runtime data.

Parameters
  • token: Content token to unsubscribe.

  • uri: Service URI where to unsubscribe from.

virtual bool hasSession (ContentToken token) KZ_OVERRIDE

Determine whether specific content token has session currently available.

Return

true if session exists

Parameters
  • token: content token

virtual void setVerboseLog (bool verbose) KZ_OVERRIDE

Configures verbose logging for the content client.

Parameters
  • verbose: whether to be verbose or not.

virtual bool getVerboseLog () const KZ_OVERRIDE

Return the current state of log verbosity.

Return

log verbosity.

Public Functions

virtual ~LocalContentClient()

Destructor.

Public Static Functions

static LocalContentClientSharedPtr create(ContentManagerSharedPtr contentManager)

Creates a new instance of LocalContentClient class.

Return

Shared pointer to new LocalContentClient instance.

Parameters
  • contentManager: Content Manager that is used to access to content.