14#ifndef VCARDPROPERTY_H
15#define VCARDPROPERTY_H
17#include "libical_vcard_export.h"
18#include "vcardderivedproperty.h"
22LIBICAL_VCARD_EXPORT vcardproperty *vcardproperty_new(vcardproperty_kind kind);
31LIBICAL_VCARD_EXPORT vcardproperty *vcardproperty_new_from_string(
const char *str);
33LIBICAL_VCARD_EXPORT
const char *vcardproperty_as_vcard_string(vcardproperty *prop);
35LIBICAL_VCARD_EXPORT
char *vcardproperty_as_vcard_string_r(vcardproperty *prop);
37LIBICAL_VCARD_EXPORT
void vcardproperty_free(vcardproperty *prop);
39LIBICAL_VCARD_EXPORT vcardproperty_kind vcardproperty_isa(
const vcardproperty *property);
41LIBICAL_VCARD_EXPORT
bool vcardproperty_isa_property(
void *property);
43LIBICAL_VCARD_EXPORT
void vcardproperty_add_parameters(
struct vcardproperty_impl *prop, va_list args);
45LIBICAL_VCARD_EXPORT
void vcardproperty_add_parameter(vcardproperty *prop, vcardparameter *parameter);
47LIBICAL_VCARD_EXPORT
void vcardproperty_set_parameter(vcardproperty *prop, vcardparameter *parameter);
49LIBICAL_VCARD_EXPORT
void vcardproperty_set_parameter_from_string(vcardproperty *prop,
52LIBICAL_VCARD_EXPORT
const char *vcardproperty_get_parameter_as_string(vcardproperty *prop,
55LIBICAL_VCARD_EXPORT
char *vcardproperty_get_parameter_as_string_r(vcardproperty *prop,
68 vcardparameter_kind kind);
95 vcardparameter *param);
97LIBICAL_VCARD_EXPORT
int vcardproperty_count_parameters(
const vcardproperty *prop);
100LIBICAL_VCARD_EXPORT vcardparameter *vcardproperty_get_first_parameter(vcardproperty *prop,
101 vcardparameter_kind kind);
102LIBICAL_VCARD_EXPORT vcardparameter *vcardproperty_get_next_parameter(vcardproperty *prop,
103 vcardparameter_kind kind);
105LIBICAL_VCARD_EXPORT
void vcardproperty_set_value(vcardproperty *prop, vcardvalue *value);
106LIBICAL_VCARD_EXPORT
void vcardproperty_set_value_from_string(vcardproperty *prop,
const char *str,
109LIBICAL_VCARD_EXPORT vcardvalue *vcardproperty_get_value(
const vcardproperty *prop);
110LIBICAL_VCARD_EXPORT
const char *vcardproperty_get_value_as_string(
const vcardproperty *prop);
111LIBICAL_VCARD_EXPORT
char *vcardproperty_get_value_as_string_r(
const vcardproperty *prop);
126LIBICAL_VCARD_EXPORT
void vcardproperty_set_x_name(vcardproperty *prop,
const char *name);
127LIBICAL_VCARD_EXPORT
const char *vcardproperty_get_x_name(
const vcardproperty *prop);
131LIBICAL_VCARD_EXPORT
void vcardproperty_set_group(vcardproperty *prop,
const char *group);
132LIBICAL_VCARD_EXPORT
const char *vcardproperty_get_group(
const vcardproperty *prop);
139LIBICAL_VCARD_EXPORT
char *vcardproperty_get_property_name_r(
const vcardproperty *prop);
141LIBICAL_VCARD_EXPORT vcardvalue_kind vcardparameter_value_to_value_kind(vcardparameter_value value);
156LIBICAL_VCARD_EXPORT vcardvalue_kind vcardproperty_kind_to_value_kind(vcardproperty_kind kind);
157LIBICAL_VCARD_EXPORT vcardproperty_kind vcardproperty_value_kind_to_kind(vcardvalue_kind kind);
158LIBICAL_VCARD_EXPORT
const char *vcardproperty_kind_to_string(vcardproperty_kind kind);
159LIBICAL_VCARD_EXPORT vcardproperty_kind vcardproperty_string_to_kind(
const char *
string);
164LIBICAL_VCARD_EXPORT
const char *vcardproperty_enum_to_string(
int e);
165LIBICAL_VCARD_EXPORT
char *vcardproperty_enum_to_string_r(
int e);
166LIBICAL_VCARD_EXPORT
int vcardproperty_kind_and_string_to_enum(
const int kind,
const char *str);
168LIBICAL_VCARD_EXPORT
bool vcardproperty_enum_belongs_to_property(vcardproperty_kind kind,
int e);
176LIBICAL_VCARD_EXPORT
bool vcardproperty_is_structured(vcardproperty_kind pkind);
177LIBICAL_VCARD_EXPORT
bool vcardproperty_is_multivalued(vcardproperty_kind pkind);
179LIBICAL_VCARD_EXPORT
void vcardproperty_add_type_parameter(vcardproperty *prop,
180 vcardenumarray_element *type);
void vcardproperty_remove_parameter_by_ref(vcardproperty *prop, vcardparameter *param)
Removes the specified parameter reference from the property.
const char * vcardproperty_get_property_name(const vcardproperty *prop)
vcardproperty * vcardvalue_get_parent(const vcardvalue *value)
bool vcardproperty_kind_is_valid(const vcardproperty_kind kind)
void vcardproperty_normalize(vcardproperty *prop)
void vcardproperty_remove_parameter_by_name(vcardproperty *prop, const char *name)
Removes all parameters with the specified name.
void vcardparameter_set_parent(vcardparameter *param, vcardproperty *property)
void vcardvalue_set_parent(vcardvalue *value, vcardproperty *property)
vcardproperty * vcardparameter_get_parent(const vcardparameter *param)
vcardproperty * vcardproperty_clone(const vcardproperty *old)
Deeply clones an vcardproperty.
void vcardproperty_remove_parameter_by_kind(vcardproperty *prop, vcardparameter_kind kind)
Removes all parameters with the specified kind.