$darkmode
Libical API Documentation 4.0 STABLE VERSION Visit the v3.0 documentation
vcardparameter.h
Go to the documentation of this file.
1 /*======================================================================
2  FILE: vcardparameter.h
3  CREATOR: Ken Murchison 24 Aug 2022 <murch@fastmailteam.com>
4 
5  SPDX-FileCopyrightText: 2022, Fastmail Pty. Ltd. (https://fastmail.com)
6  SPDX-License-Identifier: LGPL-2.1-only OR MPL-2.0
7  ======================================================================*/
8 
14 #ifndef VCARDPARAMETER_H
15 #define VCARDPARAMETER_H
16 
17 #include "libical_vcard_export.h"
18 #include "vcardderivedparameter.h"
19 #include "vcardderivedvalue.h"
20 
21 /* Declared in vcardderivedparameter.h */
22 /*typedef struct vcardparameter_impl vcardparameter;*/
23 
51 LIBICAL_VCARD_EXPORT vcardparameter *vcardparameter_new(vcardparameter_kind kind);
52 
85 LIBICAL_VCARD_EXPORT vcardparameter *vcardparameter_clone(const vcardparameter *old);
86 
113 LIBICAL_VCARD_EXPORT vcardparameter *vcardparameter_new_from_string(const char *str);
114 
142 LIBICAL_VCARD_EXPORT vcardparameter *vcardparameter_new_from_value_string(vcardparameter_kind kind,
143  const char *value);
144 
145 LIBICAL_VCARD_EXPORT void vcardparameter_set_value_from_string(vcardparameter *param,
146  const char *val);
147 LIBICAL_VCARD_EXPORT void vcardparameter_add_value_from_string(vcardparameter *param,
148  const char *val);
149 
172 LIBICAL_VCARD_EXPORT void vcardparameter_free(vcardparameter *parameter);
173 
204 LIBICAL_VCARD_EXPORT char *vcardparameter_as_vcard_string(vcardparameter *parameter);
205 
238 LIBICAL_VCARD_EXPORT char *vcardparameter_as_vcard_string_r(vcardparameter *parameter);
239 
261 LIBICAL_VCARD_EXPORT vcardparameter_kind vcardparameter_isa(const vcardparameter *parameter);
262 
286 LIBICAL_VCARD_EXPORT bool vcardparameter_isa_parameter(void *param);
287 
288 /* Access the name of an X parameter */
289 
318 LIBICAL_VCARD_EXPORT void vcardparameter_set_xname(vcardparameter *param, const char *v);
319 
348 LIBICAL_VCARD_EXPORT const char *vcardparameter_get_xname(const vcardparameter *param);
349 
379 LIBICAL_VCARD_EXPORT void vcardparameter_set_xvalue(vcardparameter *param, const char *v);
380 
410 LIBICAL_VCARD_EXPORT const char *vcardparameter_get_xvalue(const vcardparameter *param);
411 
412 /* Access the name of an IANA parameter */
413 
442 LIBICAL_VCARD_EXPORT void vcardparameter_set_iana_name(vcardparameter *param, const char *v);
443 
472 LIBICAL_VCARD_EXPORT const char *vcardparameter_get_iana_name(const vcardparameter *param);
473 
503 LIBICAL_VCARD_EXPORT void vcardparameter_set_iana_value(vcardparameter *param, const char *v);
504 
534 LIBICAL_VCARD_EXPORT const char *vcardparameter_get_iana_value(const vcardparameter *param);
535 
563 LIBICAL_VCARD_EXPORT bool vcardparameter_has_same_name(const vcardparameter *param1, const vcardparameter *param2);
564 
565 /* Convert enumerations */
566 
586 LIBICAL_VCARD_EXPORT const char *vcardparameter_kind_to_string(vcardparameter_kind kind);
587 
609 LIBICAL_VCARD_EXPORT vcardparameter_kind vcardparameter_string_to_kind(const char *string);
610 
622 LIBICAL_VCARD_EXPORT bool vcardparameter_kind_is_valid(const vcardparameter_kind kind);
623 
624 LIBICAL_VCARD_EXPORT vcardvalue_kind vcardparameter_kind_value_kind(const vcardparameter_kind kind,
625  int *is_multivalued);
626 
627 LIBICAL_VCARD_EXPORT bool vcardparameter_is_multivalued(const vcardparameter *param);
628 
629 LIBICAL_VCARD_EXPORT bool vcardparameter_is_structured(const vcardparameter *param);
630 
631 #endif
char * vcardparameter_as_vcard_string_r(vcardparameter *parameter)
Converts vcardparameter into an string representation according to RFC5445/RFC6868.
bool vcardparameter_has_same_name(const vcardparameter *param1, const vcardparameter *param2)
Determines if two parameters have the same name.
char * vcardparameter_as_vcard_string(vcardparameter *parameter)
Converts vcardparameter into a string representation.
void vcardparameter_free(vcardparameter *parameter)
Frees an vcardparameter object.
vcardparameter_kind vcardparameter_isa(const vcardparameter *parameter)
const char * vcardparameter_get_iana_name(const vcardparameter *param)
Returns the IANA name of param.
void vcardparameter_set_xname(vcardparameter *param, const char *v)
Sets the X-name of param to v.
const char * vcardparameter_kind_to_string(vcardparameter_kind kind)
Returns a string representing the given vcardparameter_kind.
const char * vcardparameter_get_xvalue(const vcardparameter *param)
Returns the X-value of param.
const char * vcardparameter_get_iana_value(const vcardparameter *param)
Returns the IANA value of param.
vcardparameter * vcardparameter_new(vcardparameter_kind kind)
Creates new vcardparameter object.
bool vcardparameter_isa_parameter(void *param)
void vcardparameter_set_iana_name(vcardparameter *param, const char *v)
Sets the IANA name of param to v.
bool vcardparameter_kind_is_valid(const vcardparameter_kind kind)
Checks the validity of a vcardparameter_kind.
void vcardparameter_set_xvalue(vcardparameter *param, const char *v)
Sets the X-value of param to v.
vcardparameter * vcardparameter_clone(const vcardparameter *old)
Creates new vcardparameter as a clone of the given one.
void vcardparameter_set_iana_value(vcardparameter *param, const char *v)
Sets the IANA value of param to v.
vcardparameter * vcardparameter_new_from_value_string(vcardparameter_kind kind, const char *value)
Creates new vcardparameter of a given kind with a given value.
vcardparameter_kind vcardparameter_string_to_kind(const char *string)
Returns the vcardparameter_kind for a given string.
vcardparameter * vcardparameter_new_from_string(const char *str)
Creates new vcardparameter object from string.
const char * vcardparameter_get_xname(const vcardparameter *param)
Returns the X-name of param.