E2kProperties

E2kProperties — WebDAV properties

Synopsis

typedef             E2kProperties;
E2kProperties *     e2k_properties_new                  (void);
E2kProperties *     e2k_properties_copy                 (E2kProperties *props);
gboolean            e2k_properties_empty                (E2kProperties *props);
void                e2k_properties_free                 (E2kProperties *props);

gpointer            e2k_properties_get_prop             (E2kProperties *props,
                                                         const gchar *propname);
void                e2k_properties_remove               (E2kProperties *props,
                                                         const gchar *propname);

enum                E2kPropType;
#define             E2K_PROP_TYPE_IS_ARRAY              (type)
void                e2k_properties_set_string           (E2kProperties *props,
                                                         const gchar *propname,
                                                         gchar *value);
void                e2k_properties_set_string_array     (E2kProperties *props,
                                                         const gchar *propname,
                                                         GPtrArray *value);
void                e2k_properties_set_binary           (E2kProperties *props,
                                                         const gchar *propname,
                                                         GByteArray *value);
void                e2k_properties_set_binary_array     (E2kProperties *props,
                                                         const gchar *propname,
                                                         GPtrArray *value);
void                e2k_properties_set_int              (E2kProperties *props,
                                                         const gchar *propname,
                                                         gint value);
void                e2k_properties_set_int_array        (E2kProperties *props,
                                                         const gchar *propname,
                                                         GPtrArray *value);
void                e2k_properties_set_xml              (E2kProperties *props,
                                                         const gchar *propname,
                                                         xmlNode *value);
void                e2k_properties_set_bool             (E2kProperties *props,
                                                         const gchar *propname,
                                                         gboolean value);
void                e2k_properties_set_float            (E2kProperties *props,
                                                         const gchar *propname,
                                                         gfloat value);
void                e2k_properties_set_date             (E2kProperties *props,
                                                         const gchar *propname,
                                                         gchar *value);
void                e2k_properties_set_type_as_string   (E2kProperties *props,
                                                         const gchar *propname,
                                                         E2kPropType type,
                                                         gchar *value);
void                e2k_properties_set_type_as_string_array
                                                        (E2kProperties *props,
                                                         const gchar *propname,
                                                         E2kPropType type,
                                                         GPtrArray *value);

void                (*E2kPropertiesForeachFunc)         (const gchar *propname,
                                                         E2kPropType type,
                                                         gpointer value,
                                                         gpointer user_data);
void                e2k_properties_foreach              (E2kProperties *props,
                                                         E2kPropertiesForeachFunc callback,
                                                         gpointer user_data);
void                e2k_properties_foreach_removed      (E2kProperties *props,
                                                         E2kPropertiesForeachFunc callback,
                                                         gpointer user_data);
void                (*E2kPropertiesForeachNamespaceFunc)
                                                        (const gchar *namespace,
                                                         gchar abbrev,
                                                         gpointer user_data);
void                e2k_properties_foreach_namespace    (E2kProperties *props,
                                                         E2kPropertiesForeachNamespaceFunc callback,
                                                         gpointer user_data);

const gchar *       e2k_prop_namespace_name             (const gchar *prop);
gchar               e2k_prop_namespace_abbrev           (const gchar *prop);
const gchar *       e2k_prop_property_name              (const gchar *prop);

guint32             e2k_prop_proptag                    (const gchar *prop);
const gchar *       e2k_proptag_prop                    (guint32 proptag);
#define             E2K_PROPTAG_TYPE                    (proptag)
#define             E2K_PROPTAG_ID                      (proptag)

Description

Details

E2kProperties

typedef struct E2kProperties E2kProperties;


e2k_properties_new ()

E2kProperties *     e2k_properties_new                  (void);

Creates a new (empty) E2kProperties structure

Returns :

the structure

e2k_properties_copy ()

E2kProperties *     e2k_properties_copy                 (E2kProperties *props);

Performs a deep copy of props

props :

an E2kProperties

Returns :

a new copy of props

e2k_properties_empty ()

gboolean            e2k_properties_empty                (E2kProperties *props);

Tests if props is empty.

props :

an E2kProperties

Returns :

TRUE if props has no properties set, FALSE if it has at least one value set.

e2k_properties_free ()

void                e2k_properties_free                 (E2kProperties *props);

Frees props and all of the properties it contains.

props :

an E2kProperties

e2k_properties_get_prop ()

gpointer            e2k_properties_get_prop             (E2kProperties *props,
                                                         const gchar *propname);

Retrieves the value of propname in props.

props :

an E2kProperties

propname :

a property name

Returns :

the value of propname in props, or NULL if it is not set. The caller should not free the value; it is owned by props.

e2k_properties_remove ()

void                e2k_properties_remove               (E2kProperties *props,
                                                         const gchar *propname);

Marks propname removed in props, so that the corresponding property will be removed from the object on the server if props is used in a PROPPATCH. If the property was formerly set in props, this frees the old value.

props :

an E2kProperties

propname :

the name of a property

enum E2kPropType

typedef enum {
	E2K_PROP_TYPE_UNKNOWN,

	E2K_PROP_TYPE_STRING,
	E2K_PROP_TYPE_BINARY,
	E2K_PROP_TYPE_STRING_ARRAY,
	E2K_PROP_TYPE_BINARY_ARRAY,
	E2K_PROP_TYPE_XML,

	/* These are all stored as STRING or STRING_ARRAY */
	E2K_PROP_TYPE_INT,
	E2K_PROP_TYPE_INT_ARRAY,
	E2K_PROP_TYPE_BOOL,
	E2K_PROP_TYPE_FLOAT,
	E2K_PROP_TYPE_DATE
} E2kPropType;


E2K_PROP_TYPE_IS_ARRAY()

#define E2K_PROP_TYPE_IS_ARRAY(type) (((type) == E2K_PROP_TYPE_STRING_ARRAY) || ((type) == E2K_PROP_TYPE_BINARY_ARRAY) || ((type) == E2K_PROP_TYPE_INT_ARRAY))

type :


e2k_properties_set_string ()

void                e2k_properties_set_string           (E2kProperties *props,
                                                         const gchar *propname,
                                                         gchar *value);

Sets propname in props to value. props assumes ownership of value.

props :

an E2kProperties

propname :

the name of a property

value :

an allocated string

e2k_properties_set_string_array ()

void                e2k_properties_set_string_array     (E2kProperties *props,
                                                         const gchar *propname,
                                                         GPtrArray *value);

Sets propname in props to value. props assumes ownership of value.

props :

an E2kProperties

propname :

the name of a property

value :

an array of allocated strings

e2k_properties_set_binary ()

void                e2k_properties_set_binary           (E2kProperties *props,
                                                         const gchar *propname,
                                                         GByteArray *value);

Sets propname in props to value. props assumes ownership of value.

props :

an E2kProperties

propname :

the name of a property

value :

a byte array

e2k_properties_set_binary_array ()

void                e2k_properties_set_binary_array     (E2kProperties *props,
                                                         const gchar *propname,
                                                         GPtrArray *value);

Sets propname in props to value. props assumes ownership of value.

props :

an E2kProperties

propname :

the name of a property

value :

an array of byte arrays

e2k_properties_set_int ()

void                e2k_properties_set_int              (E2kProperties *props,
                                                         const gchar *propname,
                                                         gint value);

Sets propname in props to value.

props :

an E2kProperties

propname :

the name of a property

value :

an integer

e2k_properties_set_int_array ()

void                e2k_properties_set_int_array        (E2kProperties *props,
                                                         const gchar *propname,
                                                         GPtrArray *value);

Sets propname in props to value. props assumes ownership of value.

props :

an E2kProperties

propname :

the name of a property

value :

an array of integers

e2k_properties_set_xml ()

void                e2k_properties_set_xml              (E2kProperties *props,
                                                         const gchar *propname,
                                                         xmlNode *value);

Sets propname in props to value. props assumes ownership of value.

props :

an E2kProperties

propname :

the name of a property

value :

an xmlNode

e2k_properties_set_bool ()

void                e2k_properties_set_bool             (E2kProperties *props,
                                                         const gchar *propname,
                                                         gboolean value);

Sets propname in props to value.

props :

an E2kProperties

propname :

the name of a property

value :

a boolean value

e2k_properties_set_float ()

void                e2k_properties_set_float            (E2kProperties *props,
                                                         const gchar *propname,
                                                         gfloat value);

Sets propname in props to value.

props :

an E2kProperties

propname :

the name of a property

value :

a floating-point value

e2k_properties_set_date ()

void                e2k_properties_set_date             (E2kProperties *props,
                                                         const gchar *propname,
                                                         gchar *value);

Sets propname in props to value. props assumes ownership of value.

props :

an E2kProperties

propname :

the name of a property

value :

an allocated string containing an Exchange timestamp

e2k_properties_set_type_as_string ()

void                e2k_properties_set_type_as_string   (E2kProperties *props,
                                                         const gchar *propname,
                                                         E2kPropType type,
                                                         gchar *value);

Sets propname in props to value, but with type type. props assumes ownership of value.

props :

an E2kProperties

propname :

the name of a property

type :

the type of value

value :

an allocated string

e2k_properties_set_type_as_string_array ()

void                e2k_properties_set_type_as_string_array
                                                        (E2kProperties *props,
                                                         const gchar *propname,
                                                         E2kPropType type,
                                                         GPtrArray *value);

Sets propname in props to value, but with type type. props assumes ownership of value.

props :

an E2kProperties

propname :

the name of a property

type :

the type of value

value :

an array of allocated strings

E2kPropertiesForeachFunc ()

void                (*E2kPropertiesForeachFunc)         (const gchar *propname,
                                                         E2kPropType type,
                                                         gpointer value,
                                                         gpointer user_data);

propname :

type :

value :

user_data :


e2k_properties_foreach ()

void                e2k_properties_foreach              (E2kProperties *props,
                                                         E2kPropertiesForeachFunc callback,
                                                         gpointer user_data);

Calls callback once for each property that is set in props (in unspecified order), passing it the name of the property, the property's type, its value, and user_data.

props :

an E2kProperties

callback :

callback function to call for each set property

user_data :

data to pass to callback

e2k_properties_foreach_removed ()

void                e2k_properties_foreach_removed      (E2kProperties *props,
                                                         E2kPropertiesForeachFunc callback,
                                                         gpointer user_data);

Calls callback once for each property marked removed in props (in unspecified order), passing it the name of the property, the property's type (if known), a NULL value, and user_data.

props :

an E2kProperties

callback :

callback function to call for each set property

user_data :

data to pass to callback

E2kPropertiesForeachNamespaceFunc ()

void                (*E2kPropertiesForeachNamespaceFunc)
                                                        (const gchar *namespace,
                                                         gchar abbrev,
                                                         gpointer user_data);

namespace :

abbrev :

user_data :


e2k_properties_foreach_namespace ()

void                e2k_properties_foreach_namespace    (E2kProperties *props,
                                                         E2kPropertiesForeachNamespaceFunc callback,
                                                         gpointer user_data);

Calls callback once for each unique namespace used by the properties (set or removed) in props, passing it the name of the namespace, its standard abbreviation, and user_data.

props :

an E2kProperties

callback :

callback function to call for each namespace

user_data :

data to pass to callback

e2k_prop_namespace_name ()

const gchar *       e2k_prop_namespace_name             (const gchar *prop);

Splits out the namespace portion of prop

prop :

the name of a property

Returns :

the URI of prop's namespace

e2k_prop_namespace_abbrev ()

gchar               e2k_prop_namespace_abbrev           (const gchar *prop);

Splits out the namespace portion of prop and assigns a unique abbreviation for it.

prop :

the name of a property

Returns :

the abbreviation used for prop's namespace

e2k_prop_property_name ()

const gchar *       e2k_prop_property_name              (const gchar *prop);

Splits out the non-namespace portion of prop

prop :

the name of a property

Returns :

the non-namespaced name of prop

e2k_prop_proptag ()

guint32             e2k_prop_proptag                    (const gchar *prop);

Computes the MAPI proptag value of prop, which must be the name of a MAPI property.

prop :

the name of a MAPI property

Returns :

the MAPI proptag value

e2k_proptag_prop ()

const gchar *       e2k_proptag_prop                    (guint32 proptag);

Computes the WebDAV property name of the property with the given proptag.

proptag :

a MAPI property

Returns :

the WebDAV property name associated with proptag

E2K_PROPTAG_TYPE()

#define E2K_PROPTAG_TYPE(proptag) (proptag & 0xFFFF)

proptag :


E2K_PROPTAG_ID()

#define E2K_PROPTAG_ID(proptag) (proptag & 0xFFFF0000)

proptag :