Libical API Documentation 4.0 UNRELEASED Go to the stable 3.0 documentation
Loading...
Searching...
No Matches
vcardparameter.h
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
9#ifndef VCARDPARAMETER_H
10#define VCARDPARAMETER_H
11
12#include "libical_vcard_export.h"
13#include "vcardderivedparameter.h"
14#include "vcardderivedvalue.h"
15
16/* Declared in vcardderivedparameter.h */
17/*typedef struct vcardparameter_impl vcardparameter;*/
18
46LIBICAL_VCARD_EXPORT vcardparameter *vcardparameter_new(vcardparameter_kind kind);
47
80LIBICAL_VCARD_EXPORT vcardparameter *vcardparameter_clone(const vcardparameter *old);
81
108LIBICAL_VCARD_EXPORT vcardparameter *vcardparameter_new_from_string(const char *str);
109
137LIBICAL_VCARD_EXPORT vcardparameter *vcardparameter_new_from_value_string(vcardparameter_kind kind,
138 const char *value);
139
140LIBICAL_VCARD_EXPORT void vcardparameter_set_value_from_string(vcardparameter *param,
141 const char *val);
142LIBICAL_VCARD_EXPORT void vcardparameter_add_value_from_string(vcardparameter *param,
143 const char *val);
144
167LIBICAL_VCARD_EXPORT void vcardparameter_free(vcardparameter *parameter);
168
199LIBICAL_VCARD_EXPORT char *vcardparameter_as_vcard_string(vcardparameter *parameter);
200
233LIBICAL_VCARD_EXPORT char *vcardparameter_as_vcard_string_r(vcardparameter *parameter);
234
256LIBICAL_VCARD_EXPORT vcardparameter_kind vcardparameter_isa(const vcardparameter *parameter);
257
281LIBICAL_VCARD_EXPORT bool vcardparameter_isa_parameter(void *param);
282
283/* Access the name of an X parameter */
284
313LIBICAL_VCARD_EXPORT void vcardparameter_set_xname(vcardparameter *param, const char *v);
314
343LIBICAL_VCARD_EXPORT const char *vcardparameter_get_xname(const vcardparameter *param);
344
374LIBICAL_VCARD_EXPORT void vcardparameter_set_xvalue(vcardparameter *param, const char *v);
375
405LIBICAL_VCARD_EXPORT const char *vcardparameter_get_xvalue(const vcardparameter *param);
406
407/* Access the name of an IANA parameter */
408
437LIBICAL_VCARD_EXPORT void vcardparameter_set_iana_name(vcardparameter *param, const char *v);
438
467LIBICAL_VCARD_EXPORT const char *vcardparameter_get_iana_name(const vcardparameter *param);
468
498LIBICAL_VCARD_EXPORT void vcardparameter_set_iana_value(vcardparameter *param, const char *v);
499
529LIBICAL_VCARD_EXPORT const char *vcardparameter_get_iana_value(const vcardparameter *param);
530
558LIBICAL_VCARD_EXPORT bool vcardparameter_has_same_name(const vcardparameter *param1, const vcardparameter *param2);
559
560/* Convert enumerations */
561
581LIBICAL_VCARD_EXPORT const char *vcardparameter_kind_to_string(vcardparameter_kind kind);
582
604LIBICAL_VCARD_EXPORT vcardparameter_kind vcardparameter_string_to_kind(const char *string);
605
617LIBICAL_VCARD_EXPORT bool vcardparameter_kind_is_valid(const vcardparameter_kind kind);
618
619LIBICAL_VCARD_EXPORT vcardvalue_kind vcardparameter_kind_value_kind(const vcardparameter_kind kind,
620 int *is_multivalued);
621
622LIBICAL_VCARD_EXPORT bool vcardparameter_is_multivalued(const vcardparameter *param);
623
624LIBICAL_VCARD_EXPORT bool vcardparameter_is_structured(const vcardparameter *param);
625
626#endif