Property manager. More...
#include <user/properties/kzu_vector3_property.h>
#include <kanzi/property/property_data_type.hpp>
#include <user/properties/kzu_int_property.h>
#include <user/properties/kzu_property_registry.h>
#include <user/properties/kzu_property.h>
#include <system/kzs_types.h>
#include <system/debug/kzs_error.h>
#include "kzu_property_manager_bool.h"
#include "kzu_property_manager_color.h"
#include "kzu_property_manager_float.h"
#include "kzu_property_manager_int.h"
#include "kzu_property_manager_matrix3x3.h"
#include "kzu_property_manager_matrix4x4.h"
#include "kzu_property_manager_pointer.h"
#include "kzu_property_manager_string.h"
#include "kzu_property_manager_vector2.h"
#include "kzu_property_manager_vector3.h"
#include "kzu_property_manager_vector4.h"
#include "kzu_property_manager_resource_id.h"
Namespaces | |
kanzi | |
Macros | |
#define | KZU_PROPERTY_MANAGER_FLAG_KEEP_DURING_PATCHING |
Flag to indicate that the property was loaded from .KZB data. More... | |
#define | KZU_PROPERTY_MANAGER_FLAG_NON_COPYABLE |
Flag to indicate that the property will not be copied when copying properties. More... | |
Typedefs | |
typedef kzsError(* | KzuPropertyNotificationHandler )(const void *object, const struct KzuPropertyType *propertyType, enum KzuPropertyNotificationReason reason, void *userData) |
Property notification handler function definition. More... | |
typedef kzsError(* | KzuPropertyModifierCallback )(const void *object, const struct KzuPropertyType *propertyType, void *valueSource, enum KzuPropertyNotificationReason reason, void *userData) |
Property modifier callback function. More... | |
Enumerations | |
enum | KzuPropertyNotificationReason { KZU_PROPERTY_NOTIFICATION_REASON_CHANGED, KZU_PROPERTY_NOTIFICATION_REASON_REMOVED } |
Property notification reason. More... | |
enum | KzuPropertyValuePrecedence { KZU_PROPERTY_VALUE_PRECEDENCE_CLASS, KZU_PROPERTY_VALUE_PRECEDENCE_STYLE, KZU_PROPERTY_VALUE_PRECEDENCE_STATE_MANAGER, KZU_PROPERTY_VALUE_PRECEDENCE_LOCAL } |
Property value precedence. More... | |
Functions | |
KANZI_API kzsError | kzuPropertyManagerCreate (const struct KzcMemoryManager *memoryManager, struct KzuPropertyManager **out_propertyManager) |
Create a property manager. More... | |
KANZI_API kzsError | kzuPropertyManagerDelete (struct KzuPropertyManager *propertyManager) |
Delete a property manager. More... | |
KANZI_API kzsError | kzuPropertyManagerRemoveProperties (const struct KzuPropertyManager *propertyManager) |
Removes properties from property manager. More... | |
KANZI_API kzsError | kzuPropertyManagerRemoveLocalValue (const struct KzuPropertyManager *propertyManager, const void *object, const struct KzuPropertyType *propertyType) |
Remove the local value (i.e. More... | |
KANZI_API kzsError | kzuPropertyManagerUnlinkProperties (const struct KzuPropertyManager *propertyManager, const void *object) |
Unlink all property entries associated with an object. More... | |
KANZI_API kzsError | kzuPropertyManagerRemoveKZBProperties (const struct KzuPropertyManager *propertyManager, const void *object) |
Remove all properties associated with an object that are originated from .KZB data. More... | |
KANZI_API kzsError | kzuPropertyManagerGetPropertyTypes (const struct KzuPropertyManager *propertyManager, const struct KzcMemoryManager *memoryManager, const void *object, struct KzcDynamicArray **out_propertyTypes) |
Get all property types associated with an object. More... | |
KANZI_API kzsError | kzuPropertyManagerGetAllPropertyTypes (const struct KzuPropertyManager *propertyManager, const struct KzcMemoryManager *memoryManager, const void *object, struct KzcDynamicArray **out_propertyTypes) |
Get all property types associated with an object. More... | |
KANZI_API kzBool | kzuPropertyManagerHasValue (const struct KzuPropertyManager *propertyManager, const void *object, const struct KzuPropertyType *propertyType) |
Check if any value of propertyType is associated with an object. More... | |
KANZI_API kzBool | kzuPropertyManagerHasLocalValue (const struct KzuPropertyManager *propertyManager, const void *object, const struct KzuPropertyType *propertyType) |
Check if a local value (i.e. More... | |
KANZI_API kzBool | kzuPropertyManagerIsPropertyEqual (const struct KzuPropertyManager *propertyManager, const void *object1, const void *object2, const struct KzuPropertyType *propertyType) |
Compare the property value of two objects. More... | |
KANZI_API kzsError | kzuPropertyManagerCopyProperty (const struct KzuPropertyManager *propertyManager, const void *sourceObject, const void *targetObject, const struct KzuPropertyType *propertyType) |
Copy a property of given type from source object to target object. More... | |
KANZI_API kzsError | kzuPropertyManagerCopyProperties (const struct KzuPropertyManager *propertyManager, const void *sourceObject, const void *targetObject) |
Copy all properties from source object to target object. More... | |
KANZI_API kzsError | kzuPropertyManagerCopyObjectToTargetManager (const struct KzcMemoryManager *memoryManager, const struct KzuPropertyManager *sourcePropertyManager, const void *object, const struct KzuPropertyManager *targetPropertyManager) |
Copies all properties of object from source property manager to target property manager. More... | |
KANZI_API kzsError | kzuPropertyManagerSetPropertyFlag (const struct KzuPropertyManager *propertyManager, const void *object, const struct KzuPropertyType *propertyType, kzU32 flag) |
Set a flag for a property. More... | |
KANZI_API kzsError | kzuPropertyManagerClearPropertyFlag (const struct KzuPropertyManager *propertyManager, const void *object, const struct KzuPropertyType *propertyType, kzU32 flag) |
Clears a flag for a property. More... | |
KANZI_API kzBool | kzuPropertyManagerIsPropertyFlagSet (const struct KzuPropertyManager *propertyManager, const void *object, const struct KzuPropertyType *propertyType, kzU32 flag, kzBool *out_isSet) |
Checks if a flag is set for a property. More... | |
KANZI_API kzsError | kzuPropertyManagerRegisterPropertyType (const struct KzuPropertyManager *propertyManager, const struct KzuPropertyType *propertyType) |
Register a property type in the property manager. More... | |
KANZI_API kzsError | kzuPropertyManagerUnregisterPropertyType (const struct KzuPropertyManager *propertyManager, const struct KzuPropertyType *propertyType) |
Unregister a property type from the property manager. More... | |
KANZI_API const KzuPropertyType * | kzuPropertyManagerFindPropertyType (const struct KzuPropertyManager *propertyManager, kzString propertyTypeName) |
Finds a property type by name from the property manager. More... | |
KANZI_API kzBool | kzuObjectNodeHasProperty (const kanzi::Node *objectNode, const struct KzuPropertyType *propertyType) |
Check if an object node has or inherits a property. More... | |
KANZI_API kzsError | kzuPropertyManagerRegisterObject (const struct KzuPropertyManager *propertyManager, const kanzi::Object *object) |
Register an object node with a property manager. More... | |
KANZI_API kzsError | kzuPropertyManagerUnregisterObject (const struct KzuPropertyManager *propertyManager, const kanzi::Object *object) |
Unregister an object node with a property manager. More... | |
KANZI_API kzsError | kzuPropertyManagerSuspendLayoutInvalidation (struct KzuPropertyManager *propertyManager) |
Suspend layout invalidation. More... | |
KANZI_API kzsError | kzuPropertyManagerResumeLayoutInvalidation (struct KzuPropertyManager *propertyManager) |
Resume layout invalidation. More... | |
KANZI_API kzBool | kzuPropertyManagerIsLayoutInvalidationSuspended (const struct KzuPropertyManager *propertyManager) |
Check if layout invalidation is suspended. More... | |
KANZI_API kzBool | kzuPropertyManagerSupportsPropertyStack (const struct KzuPropertyType *propertyType) |
Checks if a property type is supported in the property stack. More... | |
KANZI_API kzsError | kzuPropertyManagerAddValueSource (const struct KzuPropertyManager *propertyManager, const void *object, const struct KzuPropertyType *propertyType, void *valueSource, enum KzuPropertyValuePrecedence precedence, void *owner) |
Add a value source. More... | |
KANZI_API kzsError | kzuPropertyManagerRemoveValueSource (const struct KzuPropertyManager *propertyManager, const void *object, const struct KzuPropertyType *propertyType, const void *valueSource, const void *owner) |
Remove a value source. More... | |
KANZI_API void * | kzuPropertyManagerFindBaseValueSource (const struct KzuPropertyManager *propertyManager, const void *object, const struct KzuPropertyType *propertyType) |
Finds base value source, i.e. More... | |
KANZI_API void * | kzuPropertyManagerFindLocalValueSource (const struct KzuPropertyManager *propertyManager, const void *object, const struct KzuPropertyType *propertyType) |
Finds local value source (i.e. More... | |
KANZI_API kzsError | kzuPropertyManagerCopyValueSource (const struct KzuPropertyManager *propertyManager, kanzi::PropertyDataType type, const void *valueSource, void **out_valueSource) |
Copy a value source. More... | |
KANZI_API kzsError | kzuPropertyManagerDeleteValueSource (kanzi::PropertyDataType type, void *valueSource) |
Delete a value source. More... | |
KANZI_API kzsError | kzuPropertyManagerAssignValueSource (kanzi::PropertyDataType type, const void *sourceValueSource, void *targetValueSource) |
Assign a value source. More... | |
KANZI_API kzsError | kzuPropertyManagerAddValueModifier (const struct KzuPropertyManager *propertyManager, const void *object, const struct KzuPropertyType *propertyType, KzuPropertyModifierCallback callback, void *userData) |
Add a modifier to the end of the modifiers list of the property. More... | |
KANZI_API kzsError | kzuPropertyManagerRemoveValueModifier (const struct KzuPropertyManager *propertyManager, const void *object, const struct KzuPropertyType *propertyType, KzuPropertyModifierCallback callback, const void *userData) |
Remove a modifier. More... | |
KANZI_API kzsError | kzuPropertyManagerInvalidateValueModifier (const struct KzuPropertyManager *propertyManager, const void *object, const struct KzuPropertyType *propertyType, KzuPropertyModifierCallback callback, const void *userData) |
Invalidate a modifier. More... | |
KANZI_API kzsError | kzuPropertyManagerAddNotificationHandler (const struct KzuPropertyManager *propertyManager, const void *object, const struct KzuPropertyType *propertyType, KzuPropertyNotificationHandler handler, void *userData) |
Add a property change notification handler. More... | |
KANZI_API kzsError | kzuPropertyManagerRemoveNotificationHandler (const struct KzuPropertyManager *propertyManager, const void *object, const struct KzuPropertyType *propertyType, KzuPropertyNotificationHandler handler, void *userData) |
Remove a property change notification handler. More... | |
Property manager.
Copyright 2008-2020 by Rightware. All rights reserved.
#define KZU_PROPERTY_MANAGER_FLAG_KEEP_DURING_PATCHING |
Flag to indicate that the property was loaded from .KZB data.
#define KZU_PROPERTY_MANAGER_FLAG_NON_COPYABLE |
Flag to indicate that the property will not be copied when copying properties.
typedef kzsError(* KzuPropertyNotificationHandler)(const void *object, const struct KzuPropertyType *propertyType, enum KzuPropertyNotificationReason reason, void *userData) |
Property notification handler function definition.
object | The object having the property. |
propertyType | The property that changed. |
reason | Type of the change. |
userData | The user data pointer passed to kzuPropertyManagerAddNotificationHandler when the handler was added. |
typedef kzsError(* KzuPropertyModifierCallback)(const void *object, const struct KzuPropertyType *propertyType, void *valueSource, enum KzuPropertyNotificationReason reason, void *userData) |
Property modifier callback function.
object | The object having the property. |
propertyType | The property that changed. |
valueSource | Value source out-parameter that can be modified to affect the final property value. |
reason | Type of the change. |
userData | The user data pointer passed to kzuPropertyManagerAddValueModifier when the modifier was added. |
KANZI_API kzsError kzuPropertyManagerCreate | ( | const struct KzcMemoryManager * | memoryManager, |
struct KzuPropertyManager ** | out_propertyManager | ||
) |
Create a property manager.
Delete a property manager.
KANZI_API kzsError kzuPropertyManagerRemoveProperties | ( | const struct KzuPropertyManager * | propertyManager | ) |
Removes properties from property manager.
KANZI_API kzsError kzuPropertyManagerRemoveLocalValue | ( | const struct KzuPropertyManager * | propertyManager, |
const void * | object, | ||
const struct KzuPropertyType * | propertyType | ||
) |
Remove the local value (i.e.
precendence KZU_PROPERTY_VALUE_PRECEDENCE_LOCAL) of propertyType associated with an object.
KANZI_API kzsError kzuPropertyManagerUnlinkProperties | ( | const struct KzuPropertyManager * | propertyManager, |
const void * | object | ||
) |
Unlink all property entries associated with an object.
Should be called from the destructor of an object that uses property manager to store properties.
KANZI_API kzsError kzuPropertyManagerRemoveKZBProperties | ( | const struct KzuPropertyManager * | propertyManager, |
const void * | object | ||
) |
Remove all properties associated with an object that are originated from .KZB data.
KANZI_API kzsError kzuPropertyManagerGetPropertyTypes | ( | const struct KzuPropertyManager * | propertyManager, |
const struct KzcMemoryManager * | memoryManager, | ||
const void * | object, | ||
struct KzcDynamicArray ** | out_propertyTypes | ||
) |
Get all property types associated with an object.
out_propertyTypes | Dynamic array containing property types associated with object. The caller is responsible for deleting this array after use. |
KANZI_API kzsError kzuPropertyManagerGetAllPropertyTypes | ( | const struct KzuPropertyManager * | propertyManager, |
const struct KzcMemoryManager * | memoryManager, | ||
const void * | object, | ||
struct KzcDynamicArray ** | out_propertyTypes | ||
) |
Get all property types associated with an object.
Unlike kzuPropertyManagerGetPropertyTypes, this function also returns property types for which the given object has a container but not necessarily any values.
out_propertyTypes | Dynamic array containing property types associated with object. The caller is responsible for deleting this array after use. |
KANZI_API kzBool kzuPropertyManagerHasValue | ( | const struct KzuPropertyManager * | propertyManager, |
const void * | object, | ||
const struct KzuPropertyType * | propertyType | ||
) |
Check if any value of propertyType is associated with an object.
KANZI_API kzBool kzuPropertyManagerHasLocalValue | ( | const struct KzuPropertyManager * | propertyManager, |
const void * | object, | ||
const struct KzuPropertyType * | propertyType | ||
) |
Check if a local value (i.e.
precendence KZU_PROPERTY_VALUE_PRECEDENCE_LOCAL) of propertyType is associated with an object.
KANZI_API kzBool kzuPropertyManagerIsPropertyEqual | ( | const struct KzuPropertyManager * | propertyManager, |
const void * | object1, | ||
const void * | object2, | ||
const struct KzuPropertyType * | propertyType | ||
) |
Compare the property value of two objects.
If properties are equal or not associated with either of the objects, KZ_TRUE is returned. Otherwise KZ_FALSE is returned.
KANZI_API kzsError kzuPropertyManagerCopyProperty | ( | const struct KzuPropertyManager * | propertyManager, |
const void * | sourceObject, | ||
const void * | targetObject, | ||
const struct KzuPropertyType * | propertyType | ||
) |
Copy a property of given type from source object to target object.
KANZI_API kzsError kzuPropertyManagerCopyProperties | ( | const struct KzuPropertyManager * | propertyManager, |
const void * | sourceObject, | ||
const void * | targetObject | ||
) |
Copy all properties from source object to target object.
KANZI_API kzsError kzuPropertyManagerCopyObjectToTargetManager | ( | const struct KzcMemoryManager * | memoryManager, |
const struct KzuPropertyManager * | sourcePropertyManager, | ||
const void * | object, | ||
const struct KzuPropertyManager * | targetPropertyManager | ||
) |
Copies all properties of object from source property manager to target property manager.
KANZI_API kzsError kzuPropertyManagerSetPropertyFlag | ( | const struct KzuPropertyManager * | propertyManager, |
const void * | object, | ||
const struct KzuPropertyType * | propertyType, | ||
kzU32 | flag | ||
) |
Set a flag for a property.
Throws error if the property is not found.
KANZI_API kzsError kzuPropertyManagerClearPropertyFlag | ( | const struct KzuPropertyManager * | propertyManager, |
const void * | object, | ||
const struct KzuPropertyType * | propertyType, | ||
kzU32 | flag | ||
) |
Clears a flag for a property.
Throws error if the property is not found.
KANZI_API kzBool kzuPropertyManagerIsPropertyFlagSet | ( | const struct KzuPropertyManager * | propertyManager, |
const void * | object, | ||
const struct KzuPropertyType * | propertyType, | ||
kzU32 | flag, | ||
kzBool * | out_isSet | ||
) |
Checks if a flag is set for a property.
Returns KZ_TRUE if the property is found and KZ_FALSE otherwise.
KANZI_API kzsError kzuPropertyManagerRegisterPropertyType | ( | const struct KzuPropertyManager * | propertyManager, |
const struct KzuPropertyType * | propertyType | ||
) |
Register a property type in the property manager.
After a property type is registered to the manager, it is possible to find it by its name.
KANZI_API kzsError kzuPropertyManagerUnregisterPropertyType | ( | const struct KzuPropertyManager * | propertyManager, |
const struct KzuPropertyType * | propertyType | ||
) |
Unregister a property type from the property manager.
It is the responsibility of the caller to ensure, that all properties with specified type have been removed prior to the call.
KANZI_API const KzuPropertyType* kzuPropertyManagerFindPropertyType | ( | const struct KzuPropertyManager * | propertyManager, |
kzString | propertyTypeName | ||
) |
Finds a property type by name from the property manager.
Returns KZ_NULL if the type is not found.
KANZI_API kzBool kzuObjectNodeHasProperty | ( | const kanzi::Node * | objectNode, |
const struct KzuPropertyType * | propertyType | ||
) |
Check if an object node has or inherits a property.
objectNode | The object node containing the property, or where the search starts in case the property is inherited. |
propertyType | The property to search for. |
KANZI_API kzsError kzuPropertyManagerRegisterObject | ( | const struct KzuPropertyManager * | propertyManager, |
const kanzi::Object * | object | ||
) |
Register an object node with a property manager.
Only registered object nodes are known to be object nodes as opposed to e.g. void pointers.
KANZI_API kzsError kzuPropertyManagerUnregisterObject | ( | const struct KzuPropertyManager * | propertyManager, |
const kanzi::Object * | object | ||
) |
Unregister an object node with a property manager.
KANZI_API kzsError kzuPropertyManagerSuspendLayoutInvalidation | ( | struct KzuPropertyManager * | propertyManager | ) |
Suspend layout invalidation.
This function can be called several times, but each call must be matched with ResumeLayoutInvalidation.
KANZI_API kzsError kzuPropertyManagerResumeLayoutInvalidation | ( | struct KzuPropertyManager * | propertyManager | ) |
Resume layout invalidation.
KANZI_API kzBool kzuPropertyManagerIsLayoutInvalidationSuspended | ( | const struct KzuPropertyManager * | propertyManager | ) |
Check if layout invalidation is suspended.
While the layout invalidation is suspended, the ::KZU_PROPERTY_TYPE_CHANGE_FLAG_LAYOUT property type flag is not in effect.
KANZI_API kzBool kzuPropertyManagerSupportsPropertyStack | ( | const struct KzuPropertyType * | propertyType | ) |
Checks if a property type is supported in the property stack.
Properties that are not supported by the property stack cannot have value sources or modifiers. The property stack cannot support properties of type KZU_PROPERTY_DATA_TYPE_ARRAY, KZU_PROPERTY_DATA_TYPE_STRUCT and KZU_PROPERTY_DATA_TYPE_POINTER.
KANZI_API kzsError kzuPropertyManagerAddValueSource | ( | const struct KzuPropertyManager * | propertyManager, |
const void * | object, | ||
const struct KzuPropertyType * | propertyType, | ||
void * | valueSource, | ||
enum KzuPropertyValuePrecedence | precedence, | ||
void * | owner | ||
) |
Add a value source.
The highest priority value source provides the property value which is then passed to all of the modifiers (if any).
propertyManager | The property manager to use. |
object | The object containing the property. |
propertyType | The property whose value the value source provides. |
valueSource | The value source to add. |
precedence | Priority of the value in case there are more than one value sources for the property. |
owner | Pointer value distinguishing this value source addition from other additions of this same value source. |
KANZI_API kzsError kzuPropertyManagerRemoveValueSource | ( | const struct KzuPropertyManager * | propertyManager, |
const void * | object, | ||
const struct KzuPropertyType * | propertyType, | ||
const void * | valueSource, | ||
const void * | owner | ||
) |
Remove a value source.
propertyManager | The property manager to use. |
object | The object containing the property. |
propertyType | The property whose value the value source provides. |
valueSource | The value source to remove. |
owner | Pointer value provided when adding the value source. |
KANZI_API void* kzuPropertyManagerFindBaseValueSource | ( | const struct KzuPropertyManager * | propertyManager, |
const void * | object, | ||
const struct KzuPropertyType * | propertyType | ||
) |
Finds base value source, i.e.
the highest priority value source, of an object.
propertyManager | The property manager to use. |
object | The object containing the property. |
propertyType | The property whose value is read. |
KANZI_API void* kzuPropertyManagerFindLocalValueSource | ( | const struct KzuPropertyManager * | propertyManager, |
const void * | object, | ||
const struct KzuPropertyType * | propertyType | ||
) |
Finds local value source (i.e.
precedence KZU_PROPERTY_VALUE_PRECEDENCE_LOCAL).
propertyManager | The property manager to use. |
object | The object containing the property. |
propertyType | The property whose value is read. |
KANZI_API kzsError kzuPropertyManagerCopyValueSource | ( | const struct KzuPropertyManager * | propertyManager, |
kanzi::PropertyDataType | type, | ||
const void * | valueSource, | ||
void ** | out_valueSource | ||
) |
Copy a value source.
KANZI_API kzsError kzuPropertyManagerDeleteValueSource | ( | kanzi::PropertyDataType | type, |
void * | valueSource | ||
) |
Delete a value source.
KANZI_API kzsError kzuPropertyManagerAssignValueSource | ( | kanzi::PropertyDataType | type, |
const void * | sourceValueSource, | ||
void * | targetValueSource | ||
) |
Assign a value source.
KANZI_API kzsError kzuPropertyManagerAddValueModifier | ( | const struct KzuPropertyManager * | propertyManager, |
const void * | object, | ||
const struct KzuPropertyType * | propertyType, | ||
KzuPropertyModifierCallback | callback, | ||
void * | userData | ||
) |
Add a modifier to the end of the modifiers list of the property.
A property value originates from the highest priority value source and then goes through all the modifiers. If there are more than one modifier, the modifier functions are called in the order they were added.
propertyManager | The property manager to use. |
object | The object containing the property. |
propertyType | The property whose value the modifier modifies. |
callback | The modifier function. |
userData | User data pointer passed to the modifier function. |
KANZI_API kzsError kzuPropertyManagerRemoveValueModifier | ( | const struct KzuPropertyManager * | propertyManager, |
const void * | object, | ||
const struct KzuPropertyType * | propertyType, | ||
KzuPropertyModifierCallback | callback, | ||
const void * | userData | ||
) |
Remove a modifier.
Modifiers can be removed in a different order than they were added.
propertyManager | The property manager to use. |
object | The object containing the property. |
propertyType | The property whose value the modifier modifies. |
callback | The modifier function. |
userData | User data pointer passed to the modifier function. |
KANZI_API kzsError kzuPropertyManagerInvalidateValueModifier | ( | const struct KzuPropertyManager * | propertyManager, |
const void * | object, | ||
const struct KzuPropertyType * | propertyType, | ||
KzuPropertyModifierCallback | callback, | ||
const void * | userData | ||
) |
Invalidate a modifier.
This means invalidating the modifier's value source so that the callback is called again.
propertyManager | The property manager to use. |
object | The object containing the property. |
propertyType | The property whose value the modifier modifies. |
callback | The modifier function. |
userData | User data pointer passed to the modifier function. |
KANZI_API kzsError kzuPropertyManagerAddNotificationHandler | ( | const struct KzuPropertyManager * | propertyManager, |
const void * | object, | ||
const struct KzuPropertyType * | propertyType, | ||
KzuPropertyNotificationHandler | handler, | ||
void * | userData | ||
) |
Add a property change notification handler.
The handler will receive notifications when property value changes. If object is KZ_NULL, the handler will get notified for any changed object.
propertyManager | The property manager to use. |
object | The object containing the property to monitor, or KZ_NULL to monitor this property in all objects. |
propertyType | Non-null property type which changes are monitored. |
handler | Pointer to the handler function. |
userData | User data pointer to pass to the notification handler. |
KANZI_API kzsError kzuPropertyManagerRemoveNotificationHandler | ( | const struct KzuPropertyManager * | propertyManager, |
const void * | object, | ||
const struct KzuPropertyType * | propertyType, | ||
KzuPropertyNotificationHandler | handler, | ||
void * | userData | ||
) |
Remove a property change notification handler.
propertyManager | The property manager to use. |
object | The object containing the notification handler to remove, or KZ_NULL to remove this notification handler from all objects. |
propertyType | Non-null property type the handler was accepting. |
handler | Pointer to the handler function. |
userData | User data provided to the notification handler when it was added. |