Kanzi Connect 3.9.10
kanzi::connect::ContentAdapter Class Reference

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

#include <content_adapter.hpp>

Inheritance diagram for kanzi::connect::ContentAdapter:
kanzi::connect::ContentAdapterManager kanzi::connect::ContentLoader::Observer

Public Member Functions

void attachModificationHandlers (RuntimeDataObjectSharedPtr object)
 
 ContentAdapter (const string &serverName, const ContentAdapterConfigurationSharedPtr config, Domain *domain, ContextSharedPtr context, DataSource *dataSource)
 Constructor.
 
void detachModificationHandlers (RuntimeDataObjectSharedPtr object)
 
const ContentAdapterConfigurationSharedPtr getConfig () const
 Retrieves current configuration of the adapter.
 
DataObjectSharedPtr getDataObject () const
 Retrieves current root of the data object hierarchy.
 
DataObjectSharedPtr getItemTemplate () const
 Retrieves a list template item of the data object hierarchy.
 
ContentLoaderSharedPtr getLoader ()
 
virtual void initialize (DataObjectSharedPtr root, bool rootIsParent=true)
 Initializes internal state of content adapter according the given configuration.
 
virtual void initializeRuntimeData (DataObjectSharedPtr root)
 Initializes runtime data.
 
bool loadItems (size_t first, size_t count)
 Query items from loader.
 
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.
 
void setParent (ContentAdapterManager *manager)
 Stored the parent object.
 
void start (ContentLoaderSharedPtr contentLoader)
 Starts operation of content adapter.
 
void stop ()
 Stops operation of content adapter.
 
void stopBecauseServiceVanished ()
 Stops the operation of content adapter. to be called when bound service disappears.
 
virtual ~ContentAdapter () override
 Destructor.
 
- Public Member Functions inherited from kanzi::connect::ContentAdapterManager
void addAdapter (ContentAdapterSharedPtr adapter)
 Adds new adapter to list of adapters, but does not set up or start it.
 
 ContentAdapterManager (ContextSharedPtr context, DataSource *dataSource)
 Constructor.
 
 ContentAdapterManager (DataSource *dataSource)
 Constructor.
 
virtual ContentAdapterSharedPtr createAdapter (const string &serverName, const ContentAdapterConfigurationSharedPtr config, Domain *domain)
 Creates a standard adapter.
 
void destroyAllAdapters ()
 Stops and cleans up all adapters.
 
ContentAdapterSharedPtr findDynamicSource (const string &name)
 Locates a dynamic source with given name.
 
ContentAdapterSharedPtr findSource (const string &name)
 Locates a source with given name.
 
ContentAdapterManager::AdapterContainer getAdapters ()
 Retrieves all currently known adapters.
 
ContextSharedPtr getContext () const
 Returns gateway to Kanzi Connect server.
 
void initializeAllAdapters (DataObjectSharedPtr root)
 Initializes all adapters.
 
void removeAdapter (ContentAdapterSharedPtr adapter)
 Removes adapter from list of adapters.
 
void setContext (ContextSharedPtr context)
 Set gateway to Kanzi Connect server.
 
virtual ContentAdapterSharedPtr startAdapter (const string &serverName, DataObjectSharedPtr root, const ContentAdapterConfigurationSharedPtr config)
 Instantiates and starts new adapter according to given parameters.
 
void startAllAdapters ()
 Starts all adapters.
 
virtual void stopAdapter (ContentAdapterSharedPtr adapter)
 Stops an existing adapter.
 
void stopAllAdapters ()
 Stops all existing adapters.
 
virtual ~ContentAdapterManager ()=default
 dtor
 

Static Public Member Functions

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

Protected Member Functions

virtual void createDataObjects (DataObjectSharedPtr parent)
 Initializes data object hierarchy according to configuration.
 
void onContentLoadedList (ContentResult *result, bool valid)
 Pushes list-type result data to data objects.
 
void onContentLoadedSingle (DataObjectSharedPtr parent, ContentResult *result)
 Pushes result data to data objects.
 
virtual void onStart ()
 Allows derived classes to do additional operation when adapter is started.
 
virtual void onStop ()
 Allows derived classes to do additional operation when adapter is stopped.
 
void runtimeProcessObject (RuntimeDataObjectSharedPtr object, DataObjectSharedPtr root)
 

Additional Inherited Members

- Public Types inherited from kanzi::connect::ContentAdapterManager
typedef vector< ContentAdapterSharedPtrAdapterContainer
 
- Protected Attributes inherited from kanzi::connect::ContentAdapterManager
DataSource * m_dataSource
 The instance which owns the data objects managed by content adapters.
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ ContentAdapter()

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

Constructor.

Parameters
serverNameIdentifies the server connection this content adapter belongs to
configConfiguration for this adapter that defines where to load data from.
domainUI domain.
contextGateway to Kanzi Connect server.
dataSourceThe data source instance which owns this content adapter

◆ ~ContentAdapter()

virtual kanzi::connect::ContentAdapter::~ContentAdapter ( )
overridevirtual

Destructor.

Member Function Documentation

◆ attachModificationHandlers()

void kanzi::connect::ContentAdapter::attachModificationHandlers ( RuntimeDataObjectSharedPtr object)

◆ createDataObject()

static DataObjectSharedPtr kanzi::connect::ContentAdapter::createDataObject ( RuntimeDataObjectSharedPtr object,
Domain * domain,
ContentAdapterSharedPtr self )
static

◆ createDataObjectRecursively()

static DataObjectSharedPtr kanzi::connect::ContentAdapter::createDataObjectRecursively ( RuntimeDataObjectSharedPtr object,
DataObjectSharedPtr root,
Domain * domain,
ContentAdapterSharedPtr self )
static

◆ createDataObjects()

virtual void kanzi::connect::ContentAdapter::createDataObjects ( DataObjectSharedPtr parent)
protectedvirtual

Initializes data object hierarchy according to configuration.

Parameters
parentRoot of the data object hierarchy.

◆ detachModificationHandlers()

void kanzi::connect::ContentAdapter::detachModificationHandlers ( RuntimeDataObjectSharedPtr object)

◆ getConfig()

const ContentAdapterConfigurationSharedPtr kanzi::connect::ContentAdapter::getConfig ( ) const

Retrieves current configuration of the adapter.

Returns
Current configuration.

◆ getDataObject()

DataObjectSharedPtr kanzi::connect::ContentAdapter::getDataObject ( ) const

Retrieves current root of the data object hierarchy.

Returns
Data object that encapsulates all data loaded by this adapter.

◆ getItemTemplate()

DataObjectSharedPtr kanzi::connect::ContentAdapter::getItemTemplate ( ) const

Retrieves a list template item of the data object hierarchy.

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

◆ getLoader()

ContentLoaderSharedPtr kanzi::connect::ContentAdapter::getLoader ( )
inline

◆ initialize()

virtual void kanzi::connect::ContentAdapter::initialize ( DataObjectSharedPtr root,
bool rootIsParent = true )
virtual

Initializes internal state of content adapter according the given configuration.

Parameters
rootRoot of the data object tree.
rootIsParentIf false, adapter will take over the root object (if root is shared between multiple adapters, set this to true).

◆ initializeRuntimeData()

virtual void kanzi::connect::ContentAdapter::initializeRuntimeData ( DataObjectSharedPtr root)
virtual

Initializes runtime data.

Parameters
rootthe root object

◆ loadItems()

bool kanzi::connect::ContentAdapter::loadItems ( size_t first,
size_t count )

Query items from loader.

Parameters
firstZero based index of first row
countRow count
Returns
Query was sent successfully

◆ onContentLoadedList()

void kanzi::connect::ContentAdapter::onContentLoadedList ( ContentResult * result,
bool valid )
protected

Pushes list-type result data to data objects.

Parameters
resultResult of content query.
validWhether the result contains valid data.

◆ onContentLoadedSingle()

void kanzi::connect::ContentAdapter::onContentLoadedSingle ( DataObjectSharedPtr parent,
ContentResult * result )
protected

Pushes result data to data objects.

Parameters
parentRoot of the data object hierarchy.
resultResult of content query.

◆ onStart()

virtual void kanzi::connect::ContentAdapter::onStart ( )
protectedvirtual

Allows derived classes to do additional operation when adapter is started.

◆ onStop()

virtual void kanzi::connect::ContentAdapter::onStop ( )
protectedvirtual

Allows derived classes to do additional operation when adapter is stopped.

◆ pauseP2P()

void kanzi::connect::ContentAdapter::pauseP2P ( )

Pause for P2P purposes.

◆ refreshContent()

void kanzi::connect::ContentAdapter::refreshContent ( DataObjectSharedPtr root)

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

Parameters
rootThe root object of the data object tree used by kanzi data source

◆ runtimeProcessObject()

void kanzi::connect::ContentAdapter::runtimeProcessObject ( RuntimeDataObjectSharedPtr object,
DataObjectSharedPtr root )
protected

◆ setParent()

void kanzi::connect::ContentAdapter::setParent ( ContentAdapterManager * manager)

Stored the parent object.

Parameters
managerthe parent object.

◆ start()

void kanzi::connect::ContentAdapter::start ( ContentLoaderSharedPtr contentLoader)

Starts operation of content adapter.

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

Parameters
contentLoaderContent loader that is used to read external database.

◆ stop()

void kanzi::connect::ContentAdapter::stop ( )

Stops operation of content adapter.

◆ stopBecauseServiceVanished()

void kanzi::connect::ContentAdapter::stopBecauseServiceVanished ( )

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


The documentation for this class was generated from the following file: