ContentSubscription

class kanzi::connect::ContentSubscription : public ContentProvider::Observer, public enable_shared_from_this<ContentSubscription>

A class that represents one content query that was received by the Content Manager.

Public Types

typedef function<void(const string &uri, int reason, int startRow, int endRow)> ContentInvalidationCallback

Callback function for content invalidation.

typedef function<void(const string &uri, ContentDataSharedPtr data)> ContentResultCallback

Callback function for content result.

Public Functions

ContentSubscription(shared_ptr<ContentServiceConcept::Session> session, const string &contentUri, ContentQueryArgumentsSharedPtr args, ContentResultCallback callback, ContentInvalidationCallback invalidationCallback)

Builds a content subscription object.

Parameters
  • session – the session

  • args – query arguments

  • callback – for content result, invoked whenever subscription is updated.

  • invalidationCallback – Callback for content invalidation notification.

ContentSubscription(shared_ptr<ContentServiceConcept::Session> session, const string &uri, const string &contentUri, const vector<string> &columns, const string &filter, const string &limit, const string &sort, ContentResultCallback callback, ContentInvalidationCallback invalidationCallback)

Constructor.

Parameters
  • session – Session that initiated the content query.

  • uri – Complete content URI for the query.

  • contentUri – Content table in the encapsulated database.

  • columns – Table columns for the database projection.

  • filter – ‘Where’ clause for filtering output rows.

  • limit – ‘Limit’ clause for selecting output rows.

  • sort – ‘Order by’ clause for sorting output rows.

  • callback – Callback for content result, invoked whenever content subscription is updated.

  • invalidationCallback – Callback for content invalidation notification.

virtual ~ContentSubscription()

Destructor.

const vector<string> &getColumns() const

Retrieve Table columns for the database projection.

Returns

Table columns for the database projection.

const string &getContentUri() const

Retrieve content table in the encapsulated database.

Returns

Content table in the encapsulated database.

shared_ptr<ContentServiceConcept::Session> getSession() const

Retrieve the session that initiated the query.

Returns

Session that initiated the query.

const string &getUri() const

Retrieve complete content URI for the content query.

Returns

Content URI for the query.

virtual void onChanged (ContentProvider *provider, const string &uri, bool) KZ_OVERRIDE

See ContentProvider::Observer::onChanged.

virtual void onInvalidated (ContentProvider *provider, const string &uri, int reason, int startRow, int endRow) KZ_OVERRIDE

Callback to notify invalidation of content provider.

Parameters
  • provider – Content provider that changed.

  • reason – the reason for invalidation. Not currently used.

  • beginRow – inclusive start row of the change. Not currently used.

  • endRow – inclusive end row of the change. Not currently used.

void update(ContentProvider *provider)

Asks the content subscription to update.

Causes it to re-perform the content query.

Parameters

provider – Content provider that manages data for this subscription.

void useDiagnosticsTrafficDataSink(DiagnosticsTrafficDataSinkSharedPtr dataSink)

Configures diagnostics data sink to be used by the class.