#include "AtxInterfaces.h"
#include "AtxTypes.h"
#include "AtxIterator.h"
Go to the source code of this file.
Data Structures | |
| struct | ATX_PropertyRawData |
| union | ATX_PropertyValue |
| Union different possible types the 'value' field of an ATX_Property structure. More... | |
| struct | ATX_Property |
| A property that has a name and a value (the value can be of one of several types). More... | |
Defines | |
| #define | ATX_ERROR_NO_SUCH_PROPERTY (ATX_ERROR_BASE_PROPERTIES - 0) |
| #define | ATX_ERROR_NO_SUCH_LISTENER (ATX_ERROR_BASE_PROPERTIES - 1) |
| #define | ATX_ERROR_PROPERTY_TYPE_MISMATCH (ATX_ERROR_BASE_PROPERTIES - 2) |
| #define | ATX_Properties_GetProperty(object, name, property) |
| Convenience macro used to call the GetProperty() method on objects that implement the ATX_Properties interface. | |
| #define | ATX_Properties_SetProperty(object, name, type, value) |
| Convenience macro used to call the SetProperty() method on objects that implement the ATX_Properties interface. | |
| #define | ATX_Properties_UnsetProperty(object, name) ATX_INTERFACE(object)->UnsetProperty(object, name) |
| Convenience macro used to call the UnsetProperty() method on objects that implement the ATX_Properties interface. | |
| #define | ATX_Properties_Clear(object) ATX_INTERFACE(object)->Clear(object) |
| Convenience macro used to call the Clear() method on objects that implement the ATX_Properties interface. | |
| #define | ATX_Properties_GetIterator(object, iterator) ATX_INTERFACE(object)->GetIterator(object, iterator) |
| Convenience macro used to call the GetIterator() method on objects that implement the ATX_Properties interface. | |
| #define | ATX_Properties_AddListener(object, name, listener, handle) |
| Convenience macro used to call the AddListener() method on objects that implement the ATX_Properties interface. | |
| #define | ATX_Properties_RemoveListener(object, handle) ATX_INTERFACE(object)->RemoveListener(object, handle) |
| Convenience macro used to call the RemoveListener() method on objects that implement the ATX_Properties interface. | |
| #define | ATX_PropertyListener_OnPropertyChanged(object, name, type, value) |
| Convenience macro used to call the OnPropertyChanged() method on objects that implement the ATX_PropertyListener interface. | |
Typedefs | |
| typedef const void * | ATX_PropertyListenerHandle |
Enumerations | |
| enum | ATX_PropertyType { ATX_PROPERTY_TYPE_NONE, ATX_PROPERTY_TYPE_INTEGER, ATX_PROPERTY_TYPE_FLOAT, ATX_PROPERTY_TYPE_STRING, ATX_PROPERTY_TYPE_BOOLEAN, ATX_PROPERTY_TYPE_RAW_DATA } |
| Type of data represented by the 'value' field of an ATX_Property structure. More... | |
Functions | |
| ATX_Result | ATX_Properties_Create (ATX_Properties **properties) |
Variables | |
| void(* | OnPropertyChanged )(ATX_PropertyListener *self, ATX_CString name, ATX_PropertyType type, const ATX_PropertyValue *value) |
| Notify that a property has changed. | |
| ATX_END_INTERFACE_DEFINITION ATX_Result(* | GetProperty )(ATX_Properties *self, ATX_CString name, ATX_Property *property) |
| Interface implemented by objects that want to expose a list of properties to their clients. | |
| ATX_Result(* | SetProperty )(ATX_Properties *self, ATX_CString name, ATX_PropertyType type, const ATX_PropertyValue *value) |
| Sets the value of a property in a property list. | |
| ATX_Result(* | UnsetProperty )(ATX_Properties *self, ATX_CString name) |
| Unsets (removes) a property from a property list. | |
| ATX_Result(* | Clear )(ATX_Properties *self) |
| Unsets all properties. | |
| ATX_Result(* | GetIterator )(ATX_Properties *self, ATX_Iterator **iterator) |
| ATX_Result(* | AddListener )(ATX_Properties *self, ATX_CString name, ATX_PropertyListener *listener, ATX_PropertyListenerHandle *handle) |
| Add a listener. | |
| ATX_Result(* | RemoveListener )(ATX_Properties *self, ATX_PropertyListenerHandle handle) |
| #define ATX_Properties_AddListener | ( | object, | |||
| name, | |||||
| listener, | |||||
| handle | ) |
Value:
ATX_INTERFACE(object)->AddListener(object, \ name, \ listener, \ handle)
| #define ATX_Properties_GetProperty | ( | object, | |||
| name, | |||||
| property | ) |
Value:
ATX_INTERFACE(object)->GetProperty(object, \ name, \ property)
| #define ATX_Properties_SetProperty | ( | object, | |||
| name, | |||||
| type, | |||||
| value | ) |
Value:
ATX_INTERFACE(object)->SetProperty(object, \ name, \ type, \ value)
| #define ATX_PropertyListener_OnPropertyChanged | ( | object, | |||
| name, | |||||
| type, | |||||
| value | ) |
Value:
ATX_INTERFACE(object)->OnPropertyChanged(object, \ name, \ type, \ value)
| enum ATX_PropertyType |
Type of data represented by the 'value' field of an ATX_Property structure.
| ATX_Result(* AddListener)(ATX_Properties *self, ATX_CString name, ATX_PropertyListener *listener, ATX_PropertyListenerHandle *handle) |
Add a listener.
The listener will notified of changes to one or all properties.
| name | Name of the property of whose changes the listener wants to be notified. If name is NULL, the listener will be notified of changes to any of the properties. | |
| listener | Pointer to a listener object that will receive notifications. | |
| handle | Pointer to a handle where the listener handle will be returned. |
| ATX_Result(* Clear)(ATX_Properties *self) |
Unsets all properties.
| self | Pointer to the object on which this method is called |
| ATX_END_INTERFACE_DEFINITION ATX_Result(* GetProperty)(ATX_Properties *self, ATX_CString name, ATX_Property *property) |
Interface implemented by objects that want to expose a list of properties to their clients.
Properties are name/value pairs (ATX_Property type), where the name is a string, and the value can be of one of several possible types (string, integer, etc...) Returns the property with a specified name in the property list.
| self | Pointer to the object on which this method is called | |
| name | Name of the property that is requested | |
| property | Address of the property variable where the property will be returned |
| void(* OnPropertyChanged)(ATX_PropertyListener *self, ATX_CString name, ATX_PropertyType type, const ATX_PropertyValue *value) |
Notify that a property has changed.
When the property type is ATX_PROPERTY_TYPE_NONE, it indicates that the property has been deleted (in this case, the value pointer will be NULL).
| name | Name of the property that has changed. This parameter may be NULL or an empty string when the notification is for the deletion of all the properties in list and that the listener is listening for changes to all the properties (this way the listener is not called once for each property deletion). |
| ATX_Result(* SetProperty)(ATX_Properties *self, ATX_CString name, ATX_PropertyType type, const ATX_PropertyValue *value) |
Sets the value of a property in a property list.
| self | Pointer to the object on which this method is called | |
| name | Name of the property to set | |
| type | Type of the property to set | |
| value | Pointer to the value of the property to set, or NULL to unset the property (remove the property from the list) |
| ATX_Result(* UnsetProperty)(ATX_Properties *self, ATX_CString name) |
Unsets (removes) a property from a property list.
| self | Pointer to the object on which this method is called | |
| name | Name of the property to unset |