ContentAdapter

class kanzi::connect::ContentAdapter : public ContentAdapterManager, public enable_shared_from_this<ContentAdapter>, private ContentLoader::Observer

A class that acts as an adapter between Kanzi Connect database and Kanzi Data Objects.

It is able to utilize Kanzi Connect Content loaders and form Data Object tree according to given configuration.

Public Functions

explicit ContentAdapter(const string &serverName, const ContentAdapterConfigurationSharedPtr config, Domain *domain, ContextSharedPtr context, DataSource *dataSource)

Constructor.

Parameters
  • serverName: Identifies the server connection this content adapter belongs to

  • config: Configuration for this adapter that defines where to load data from.

  • domain: UI domain.

  • context: Gateway to Kanzi Connect server.

  • dataSource: The data source instance which owns this content adapter

virtual  ~ContentAdapter () KZ_OVERRIDE

Destructor.

void attachModificationHandlers(RuntimeDataObjectSharedPtr object)
void detachModificationHandlers(RuntimeDataObjectSharedPtr object)
const ContentAdapterConfigurationSharedPtr getConfig() const

Retrieves current configuration of the adapter.

Return

Current configuration.

DataObjectSharedPtr getDataObject() const

Retrieves current root of the data object hierarchy.

Return

Data object that encapsulates all data loaded by this adapter.

DataObjectSharedPtr getItemTemplate() const

Retrieves a list template item of the data object hierarchy.

Return

list item template. Empty if adapter is not list type.

inline ContentLoaderSharedPtr getLoader()
virtual void initialize(DataObjectSharedPtr root, bool rootIsParent = true)

Initializes internal state of content adapter according the given configuration.

Parameters
  • root: Root of the data object tree.

  • rootIsParent: If false, adapter will take over the root object (if root is shared between multiple adapters, set this to true).

virtual void initializeRuntimeData(DataObjectSharedPtr root)

Initializes runtime data.

Parameters
  • root: the root object

bool loadItems(size_t first, size_t count)

Query items from loader.

Return

Query was sent successfully

Parameters
  • first: Zero based index of first row

  • count: Row count

void pauseP2P()

Pause for P2P purposes.

void refreshContent(DataObjectSharedPtr root)

Invalidate all previous content and reload everything to get rid of content that no longer exists.

Parameters
  • root: The root object of the data object tree used by kanzi data source

void setParent(ContentAdapterManager *manager)

Stored the parent object.

Parameters
  • manager: the parent object.

void start(ContentLoaderSharedPtr contentLoader)

Starts operation of content adapter.

The adapter will connect to external data source and starts pushing changes to data objects.

Parameters
  • contentLoader: Content loader that is used to read external database.

void stop()

Stops operation of content adapter.

void stopBecauseServiceVanished()

Stops the operation of content adapter. to be called when bound service disappears.

Public Static Functions

static DataObjectSharedPtr createDataObject(RuntimeDataObjectSharedPtr object, Domain *domain, ContentAdapterSharedPtr self)
static DataObjectSharedPtr createDataObjectRecursively(RuntimeDataObjectSharedPtr object, DataObjectSharedPtr root, Domain *domain, ContentAdapterSharedPtr self)