Kanzi  3.9.9
Kanzi Engine C++ API
kanzi::BindingLookupNotificationBase Class Referenceabstract

Base class for notifications on binding lookup. More...

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

Inheritance diagram for kanzi::BindingLookupNotificationBase:
[legend]

Public Member Functions

void clearLocalNotificationFlag ()
 Clears local notification flag. More...
 
bool isGlobalNotificationInstalled () const
 Tells if this a global notification has been registered. More...
 
bool isLocalNotificationInstalled () const
 Tells if this a local notification has been registered. More...
 
virtual void onGlobalLookupNotification ()=0
 Called when global notification is triggered. More...
 
virtual void onLocalLookupNotification ()=0
 Called when local notification is triggered. More...
 
void registerGlobalNotification (BindingLookupContext &lookupContext, string_view path)
 Installs a global notification listener. More...
 
void registerLocalNotification (BindingLookupContext &lookupContext, PropertyObject *object, string_view path)
 Installs a local notification listener. More...
 
void registerLocalNotification (BindingLookupContext &lookupContext, PropertyObject &object, string_view path)
 Installs a local notification listener. More...
 
void unregisterGlobalNotification (BindingLookupContext &lookupContext, string_view path)
 Uninstalls a global notification listener. More...
 
void unregisterLocalNotification (BindingLookupContext &lookupContext, PropertyObject *object, string_view path)
 Removes a local notification listener. More...
 
void unregisterLocalNotification (BindingLookupContext &lookupContext, PropertyObject &object, string_view path)
 Removes a local notification listener. More...
 
 ~BindingLookupNotificationBase ()
 Destructor. More...
 

Protected Member Functions

 BindingLookupNotificationBase ()
 Constructor. More...
 

Protected Attributes

bool m_globalNotificationInstalled
 Is the global notification listener installed? More...
 
bool m_localNotificationInstalled
 Is the local notification listener installed? More...
 

Detailed Description

Base class for notifications on binding lookup.

Implementing classes have virtual functions to react to either object globally becoming available, or locally potentially changing availability.

Since
Kanzi 3.7.0

Constructor & Destructor Documentation

kanzi::BindingLookupNotificationBase::BindingLookupNotificationBase ( )
inlineexplicitprotected

Constructor.

kanzi::BindingLookupNotificationBase::~BindingLookupNotificationBase ( )
inline

Destructor.

Member Function Documentation

bool kanzi::BindingLookupNotificationBase::isGlobalNotificationInstalled ( ) const
inline

Tells if this a global notification has been registered.

Returns
True if global notification registered, false otherwise.
bool kanzi::BindingLookupNotificationBase::isLocalNotificationInstalled ( ) const
inline

Tells if this a local notification has been registered.

Returns
True if local notification registered, false otherwise.
void kanzi::BindingLookupNotificationBase::clearLocalNotificationFlag ( )
inline

Clears local notification flag.

Should be done if the object local notification was installed for is lost.

void kanzi::BindingLookupNotificationBase::registerGlobalNotification ( BindingLookupContext lookupContext,
string_view  path 
)

Installs a global notification listener.

Parameters
lookupContextLookup context to use.
pathPath associated with lookup.
void kanzi::BindingLookupNotificationBase::unregisterGlobalNotification ( BindingLookupContext lookupContext,
string_view  path 
)

Uninstalls a global notification listener.

Parameters
lookupContextLookup context to use.
pathPath associated with lookup.
void kanzi::BindingLookupNotificationBase::registerLocalNotification ( BindingLookupContext lookupContext,
PropertyObject object,
string_view  path 
)

Installs a local notification listener.

Object parameter may only be nullptr if path points to a local resource.

Parameters
lookupContextLookup context to use.
objectObject to listen on.
pathPath associated with lookup.
void kanzi::BindingLookupNotificationBase::registerLocalNotification ( BindingLookupContext lookupContext,
PropertyObject object,
string_view  path 
)
inline

Installs a local notification listener.

Parameters
lookupContextLookup context to use.
objectObject to listen on.
pathPath associated with lookup.
void kanzi::BindingLookupNotificationBase::unregisterLocalNotification ( BindingLookupContext lookupContext,
PropertyObject object,
string_view  path 
)

Removes a local notification listener.

Object parameter may only be nullptr if path points to a local resource.

Parameters
lookupContextLookup context to use.
objectObject to listen on.
pathPath associated with lookup.
void kanzi::BindingLookupNotificationBase::unregisterLocalNotification ( BindingLookupContext lookupContext,
PropertyObject object,
string_view  path 
)
inline

Removes a local notification listener.

Parameters
lookupContextLookup context to use.
objectObject to listen on.
pathPath associated with lookup.
virtual void kanzi::BindingLookupNotificationBase::onGlobalLookupNotification ( )
pure virtual

Called when global notification is triggered.

This usually means a target object may have become available.

Implemented in kanzi::TypedObjectPropertyBindingSourceRuntime< T >, and kanzi::TypedObjectPropertyExpressionValueSourceRuntime< T >.

virtual void kanzi::BindingLookupNotificationBase::onLocalLookupNotification ( )
pure virtual

Called when local notification is triggered.

This usually means a target object may have become unavailable.

Implemented in kanzi::TypedObjectPropertyBindingSourceRuntime< T >, and kanzi::TypedObjectPropertyExpressionValueSourceRuntime< T >.

Member Data Documentation

bool kanzi::BindingLookupNotificationBase::m_globalNotificationInstalled
protected

Is the global notification listener installed?

bool kanzi::BindingLookupNotificationBase::m_localNotificationInstalled
protected

Is the local notification listener installed?


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