Kanzi  3.9.8
Kanzi Engine C++ API
kanzi::BindingSourceRuntime Class Referenceabstract

Binding source runtime interface. More...

#include <kanzi/core.ui/binding/binding_source_runtime.hpp>

Inheritance diagram for kanzi::BindingSourceRuntime:
[legend]

Public Types

using BindingProcessorRuntimeConstIterator = BindingProcessorRuntimeContainer::const_iterator
 Binding processor runtime constant iterator type. More...
 
using BindingProcessorRuntimeContainer = vector< BindingProcessorRuntimePtr >
 Binding processor runtime container type. More...
 

Public Member Functions

void attachForRead ()
 Attaches the binding source runtime for reading. More...
 
void attachForWrite ()
 Attaches the binding source runtime for writing. More...
 
BindingProcessorRuntimeConstIterator beginProcessorRuntimes () const
 Gets an iterator to the beginning of binding processors. More...
 
void createBindingProcessorRuntimes (const AbstractBinding &binding)
 Creates a processor runtime for each BindingProcessor held by the binding parameter. More...
 
void detach ()
 Detaches the binding source runtime. More...
 
BindingProcessorRuntimeConstIterator endProcessorRuntimes () const
 Gets an iterator to the end of binding processors. More...
 
AbstractBindingRuntimegetBindingRuntime () const
 Gets the binding runtime. More...
 
BindingLookupContextgetLookupContext () const
 Gets the lookup context. More...
 
bool isConnected ()
 Indicates whether this source is connected. More...
 
bool read (Variant &value)
 Reads a value from binding source. More...
 
void setBindingRuntime (AbstractBindingRuntime &bindingRuntime)
 Sets the binding runtime. More...
 
bool write (const Variant &value)
 Writes a value to binding source. More...
 
virtual ~BindingSourceRuntime ()=default
 Destructor. More...
 

Protected Member Functions

virtual void attachForReadOverride ()=0
 Implementation-dependent attach for read. More...
 
virtual void attachForWriteOverride ()=0
 Implementation-dependent attach for write. More...
 
 BindingSourceRuntime ()=default
 Constructor. More...
 
virtual void detachOverride ()=0
 Implementation-dependent detach. More...
 
virtual bool isConnectedOverride ()=0
 Implementation-dependent connected check. More...
 
virtual bool readOverride (Variant &value)=0
 Implementation-dependent read. More...
 
virtual bool writeOverride (const Variant &value)
 Implementation-dependent write. More...
 

Protected Attributes

AbstractBindingRuntimem_bindingRuntime
 Abstract binding runtime for this source. More...
 
BindingProcessorRuntimeContainer m_processorRuntimes
 Binding processors (for the source, forward direction). More...
 

Detailed Description

Binding source runtime interface.

Inherited by specialized binding source runtimes.

See also
BindingSource
Since
Kanzi 3.7.0

Member Typedef Documentation

using kanzi::BindingSourceRuntime::BindingProcessorRuntimeConstIterator = BindingProcessorRuntimeContainer::const_iterator

Binding processor runtime constant iterator type.

Constructor & Destructor Documentation

virtual kanzi::BindingSourceRuntime::~BindingSourceRuntime ( )
virtualdefault

Destructor.

kanzi::BindingSourceRuntime::BindingSourceRuntime ( )
explicitprotecteddefault

Constructor.

Since
Kanzi 3.9.6 Removed BindingLookupContextPtr.

Member Function Documentation

void kanzi::BindingSourceRuntime::attachForRead ( )

Attaches the binding source runtime for reading.

After attaching the binding source runtime for reading, the binding source triggers calls to AbstractBindingRuntime::notifySourceChanged(). Calling this function on binding sources is optional. Most bindings need source write notifications, and the binding runtime calls this function. You must call attachForWrite() before calling this function.

void kanzi::BindingSourceRuntime::attachForWrite ( )

Attaches the binding source runtime for writing.

After this function is called and the target is connected, you can call the write() function to write the values to the source. You must call this function before calling attachForRead().

void kanzi::BindingSourceRuntime::detach ( )

Detaches the binding source runtime.

bool kanzi::BindingSourceRuntime::read ( Variant value)

Reads a value from binding source.

Parameters
valueOutput parameter for value read.
Returns
Write success status.
bool kanzi::BindingSourceRuntime::write ( const Variant value)

Writes a value to binding source.

Parameters
valueValue to write.
Returns
Write success status.
bool kanzi::BindingSourceRuntime::isConnected ( )

Indicates whether this source is connected.

Returns
If the source is connected, true, otherwise false.
void kanzi::BindingSourceRuntime::createBindingProcessorRuntimes ( const AbstractBinding binding)

Creates a processor runtime for each BindingProcessor held by the binding parameter.

Parameters
bindingThe binding containing a collection of processors.
BindingProcessorRuntimeConstIterator kanzi::BindingSourceRuntime::beginProcessorRuntimes ( ) const
inline

Gets an iterator to the beginning of binding processors.

Returns
Iterator to beginning of processor array.
BindingProcessorRuntimeConstIterator kanzi::BindingSourceRuntime::endProcessorRuntimes ( ) const
inline

Gets an iterator to the end of binding processors.

Returns
Iterator to end of processor array.
BindingLookupContext& kanzi::BindingSourceRuntime::getLookupContext ( ) const
inline

Gets the lookup context.

Returns
The binding lookup context.
void kanzi::BindingSourceRuntime::setBindingRuntime ( AbstractBindingRuntime bindingRuntime)
inline

Sets the binding runtime.

This function is called during construction, after setting the source runtime to the binding runtime.

Parameters
bindingRuntimeBinding runtime to set.
AbstractBindingRuntime* kanzi::BindingSourceRuntime::getBindingRuntime ( ) const
inline

Gets the binding runtime.

Returns
Pointer to owning binding runtime.

Member Data Documentation

BindingProcessorRuntimeContainer kanzi::BindingSourceRuntime::m_processorRuntimes
protected

Binding processors (for the source, forward direction).

AbstractBindingRuntime* kanzi::BindingSourceRuntime::m_bindingRuntime
protected

Abstract binding runtime for this source.


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