AtxProperties.h File Reference

Header file for the ATX_Properties interface. More...

#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)
ATX_END_INTERFACE_DEFINITION
ATX_Result(*) 
GetProperty (ATX_Properties *self, ATX_CString name, ATX_Property *property)
 Returns the property with a specified name in the property list.
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)
ATX_Result(*) RemoveListener (ATX_Properties *self, ATX_PropertyListenerHandle handle)


Detailed Description

Header file for the ATX_Properties interface.


Define Documentation

#define ATX_Properties_AddListener ( object,
name,
listener,
handle   ) 

Value:

ATX_INTERFACE(object)->AddListener(object,                         \
                                   name,                           \
                                   listener,                       \
                                   handle)
Convenience macro used to call the AddListener() method on objects that implement the ATX_Properties interface.

#define ATX_Properties_GetProperty ( object,
name,
property   ) 

Value:

ATX_INTERFACE(object)->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   ) 

Value:

ATX_INTERFACE(object)->SetProperty(object,                       \
                                   name,                         \
                                   type,                         \
                                   value)
Convenience macro used to call the SetProperty() method on objects that implement the ATX_Properties interface.

#define ATX_PropertyListener_OnPropertyChanged ( object,
name,
type,
value   ) 

Value:

ATX_INTERFACE(object)->OnPropertyChanged(object,                          \
                                         name,                            \
                                         type,                            \
                                         value)
Convenience macro used to call the OnPropertyChanged() method on objects that implement the ATX_PropertyListener interface.


Enumeration Type Documentation

enum ATX_PropertyType

Type of data represented by the 'value' field of an ATX_Property structure.

Enumerator:
ATX_PROPERTY_TYPE_NONE  There is no value.
ATX_PROPERTY_TYPE_INTEGER  The value is an integer.
ATX_PROPERTY_TYPE_FLOAT  The value is an integer.
ATX_PROPERTY_TYPE_STRING  The value is a string.
ATX_PROPERTY_TYPE_BOOLEAN  The value is a boolean.
ATX_PROPERTY_TYPE_RAW_DATA  The value is a raw data block.


Variable Documentation

ATX_Result(*) Clear(ATX_Properties *self)

Unsets all properties.

Parameters:
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)

Returns the property with a specified name in the property list.

Parameters:
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
Returns:
ATX_SUCCESS if the property with the specified name is found and returned, ATX_ERROR_NO_SUCH_PROPERY if there is no property with that name in the list, or a negative ATX_Result error code if the call fails

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.

Parameters:
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.

Parameters:
self Pointer to the object on which this method is called
name Name of the property to unset