RemoteContentClient¶
-
class
kanzi::connect
::
RemoteContentClient
: public ContentClient¶ A content client variant that provides remote access to the content manager over network.
This class can be used in Kanzi Connect client to operate with the Content Service. The guidelines for the usage:
If Content Service is running on different device, process or thread, then use RemoteContentClient class to access it.
This class operates over network, so the access is asynchronous and there is a slight extra overhead involved. In server-side single-thread development, consider using LocalContentClient class instead.
Unnamed Group
-
ContentToken
acquireContentToken
() override¶ - See
ContentClient
-
void
releaseContentToken
(ContentToken token) override¶ Release content token and unregister from content service.
- Parameters
token
: the content token to release.
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.
-
bool
subscribeRuntimeData
(ContentToken token, const string uri, RuntimeDataResultCallbackFunction callback, int credits, int creditreturninterval) 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.
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.
-
bool
subscribeRuntimeDataEx
(ContentToken token, const string uri, ContentClientRuntimeDataObserver *observer, int credits, int creditreturninterval) 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.
-
void
unsubscribe
(ContentToken token, const string &uri) override¶ Unsubscribe from content URI.
- Parameters
token
: Content token.uri
: Content URI to unsubscribe. Must be previously subscribed.
-
void
unsubscribeRuntimeData
(ContentToken token, const string &uri) override¶ Unsubscribe from runtime data.
- Parameters
token
: Content token to unsubscribe.uri
: Service URI where to unsubscribe from.
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.
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.
-
bool
hasSession
(ContentToken token) override¶ Determine whether specific content token has session currently available.
- Return
true if session exists
- Parameters
token
: content token
-
void
setVerboseLog
(bool verbose) override¶ Configures verbose logging for the content client.
- Parameters
verbose
: whether to be verbose or not.
-
bool
getVerboseLog
() const override¶ Return the current state of log verbosity.
- Return
log verbosity.
Public Functions
-
~RemoteContentClient
()¶ Destructor.
-
ContentInterfaceClient *
getInterface
()¶ Returns the underlying content interface.
-
void
work
() override¶ Perform work that is pending. Called on main thread.
Public Static Functions
Creates a new instance of RemoteContentClient class.
- Return
Shared pointer to new RemoteContentClient instance.
- Parameters
client
: Client class that provides access to Kanzi Connect network.