Libical API Documentation 4.0 UNRELEASED Go to the stable 3.0 documentation
Loading...
Searching...
No Matches
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
13
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
51LIBICAL_VCARD_EXPORT vcardparameter *vcardparameter_new(vcardparameter_kind kind);
52
85LIBICAL_VCARD_EXPORT vcardparameter *vcardparameter_clone(const vcardparameter *old);
86
113LIBICAL_VCARD_EXPORT vcardparameter *vcardparameter_new_from_string(const char *str);
114
142LIBICAL_VCARD_EXPORT vcardparameter *vcardparameter_new_from_value_string(vcardparameter_kind kind,
143 const char *value);
144
145LIBICAL_VCARD_EXPORT void vcardparameter_set_value_from_string(vcardparameter *param,
146 const char *val);
147LIBICAL_VCARD_EXPORT void vcardparameter_add_value_from_string(vcardparameter *param,
148 const char *val);
149
172LIBICAL_VCARD_EXPORT void vcardparameter_free(vcardparameter *parameter);
173
204LIBICAL_VCARD_EXPORT char *vcardparameter_as_vcard_string(vcardparameter *parameter);
205
238LIBICAL_VCARD_EXPORT char *vcardparameter_as_vcard_string_r(vcardparameter *parameter);
239
261LIBICAL_VCARD_EXPORT vcardparameter_kind vcardparameter_isa(const vcardparameter *parameter);
262
286LIBICAL_VCARD_EXPORT bool vcardparameter_isa_parameter(void *param);
287
288/* Access the name of an X parameter */
289
318LIBICAL_VCARD_EXPORT void vcardparameter_set_xname(vcardparameter *param, const char *v);
319
348LIBICAL_VCARD_EXPORT const char *vcardparameter_get_xname(const vcardparameter *param);
349
379LIBICAL_VCARD_EXPORT void vcardparameter_set_xvalue(vcardparameter *param, const char *v);
380
410LIBICAL_VCARD_EXPORT const char *vcardparameter_get_xvalue(const vcardparameter *param);
411
412/* Access the name of an IANA parameter */
413
442LIBICAL_VCARD_EXPORT void vcardparameter_set_iana_name(vcardparameter *param, const char *v);
443
472LIBICAL_VCARD_EXPORT const char *vcardparameter_get_iana_name(const vcardparameter *param);
473
503LIBICAL_VCARD_EXPORT void vcardparameter_set_iana_value(vcardparameter *param, const char *v);
504
534LIBICAL_VCARD_EXPORT const char *vcardparameter_get_iana_value(const vcardparameter *param);
535
563LIBICAL_VCARD_EXPORT bool vcardparameter_has_same_name(const vcardparameter *param1, const vcardparameter *param2);
564
565/* Convert enumerations */
566
586LIBICAL_VCARD_EXPORT const char *vcardparameter_kind_to_string(vcardparameter_kind kind);
587
609LIBICAL_VCARD_EXPORT vcardparameter_kind vcardparameter_string_to_kind(const char *string);
610
622LIBICAL_VCARD_EXPORT bool vcardparameter_kind_is_valid(const vcardparameter_kind kind);
623
624LIBICAL_VCARD_EXPORT vcardvalue_kind vcardparameter_kind_value_kind(const vcardparameter_kind kind,
625 int *is_multivalued);
626
627LIBICAL_VCARD_EXPORT bool vcardparameter_is_multivalued(const vcardparameter *param);
628
629LIBICAL_VCARD_EXPORT bool vcardparameter_is_structured(const vcardparameter *param);
630
631#endif
vcardparameter * vcardparameter_new_from_string(const char *str)
Creates new vcardparameter object from string.
bool vcardparameter_has_same_name(const vcardparameter *param1, const vcardparameter *param2)
Determines if two parameters have the same name.
void vcardparameter_set_xname(vcardparameter *param, const char *v)
Sets the X-name of param to v.
const char * vcardparameter_get_iana_value(const vcardparameter *param)
Returns the IANA value of param.
const char * vcardparameter_kind_to_string(vcardparameter_kind kind)
Returns a string representing the given vcardparameter_kind.
void vcardparameter_free(vcardparameter *parameter)
Frees an vcardparameter object.
void vcardparameter_set_iana_value(vcardparameter *param, const char *v)
Sets the IANA value of param to v.
const char * vcardparameter_get_iana_name(const vcardparameter *param)
Returns the IANA name of param.
char * vcardparameter_as_vcard_string_r(vcardparameter *parameter)
Converts vcardparameter into an string representation according to RFC5445/RFC6868.
bool vcardparameter_isa_parameter(void *param)
vcardparameter_kind vcardparameter_isa(const vcardparameter *parameter)
void vcardparameter_set_iana_name(vcardparameter *param, const char *v)
Sets the IANA name of param to v.
vcardparameter * vcardparameter_clone(const vcardparameter *old)
Creates new vcardparameter as a clone of the given one.
void vcardparameter_set_xvalue(vcardparameter *param, const char *v)
Sets the X-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.
char * vcardparameter_as_vcard_string(vcardparameter *parameter)
Converts vcardparameter into a string representation.
bool vcardparameter_kind_is_valid(const vcardparameter_kind kind)
Checks the validity of a vcardparameter_kind.
const char * vcardparameter_get_xvalue(const vcardparameter *param)
Returns the X-value of param.
vcardparameter_kind vcardparameter_string_to_kind(const char *string)
Returns the vcardparameter_kind for a given string.
const char * vcardparameter_get_xname(const vcardparameter *param)
Returns the X-name of param.
vcardparameter * vcardparameter_new(vcardparameter_kind kind)
Creates new vcardparameter object.