123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388 |
- /**
- * @file icalproperty_cxx.h
- * @author fnguyen (12/10/01)
- * @brief Definition of C++ Wrapper for icalproperty.c
- *
- * (C) COPYRIGHT 2001, Critical Path
- This program is free software; you can redistribute it and/or modify
- it under the terms of either:
- The LGPL as published by the Free Software Foundation, version
- 2.1, available at: http://www.gnu.org/licenses/lgpl-2.1.html
- Or:
- The Mozilla Public License Version 1.0. You may obtain a copy of
- the License at http://www.mozilla.org/MPL/
- */
- #ifndef ICALPROPERTY_CXX_H
- #define ICALPROPERTY_CXX_H
- #include "libical_ical_export.h"
- #include "icptrholder_cxx.h"
- extern "C"
- {
- #include "icalerror.h"
- #include "icalproperty.h"
- };
- #include <string>
- namespace LibICal
- {
- class ICalParameter;
- class ICalValue;
- class LIBICAL_ICAL_EXPORT ICalProperty
- {
- public:
- ICalProperty();
- ICalProperty(const ICalProperty &) throw(icalerrorenum);
- ICalProperty & operator=(const ICalProperty &) throw(icalerrorenum);
- ~ICalProperty();
- explicit ICalProperty(icalproperty *v);
- explicit ICalProperty(std::string str);
- explicit ICalProperty(icalproperty_kind kind);
- ICalProperty(icalproperty_kind kind, std::string str);
- operator icalproperty *()
- {
- return imp;
- }
- int operator==(ICalProperty & rhs);
- void detach();
- public:
- std::string as_ical_string();
- icalproperty_kind isa();
- int isa_property(void *property);
- void add_parameter(ICalParameter & parameter);
- void set_parameter(ICalParameter & parameter);
- void set_parameter_from_string(const std::string & name, const std::string & val);
- std::string get_parameter_as_string(const std::string & name);
- void remove_parameter(const icalparameter_kind & kind);
- int count_parameters();
- /** Iterate through the parameters */
- ICalParameter *get_first_parameter(const icalparameter_kind & kind);
- ICalParameter *get_next_parameter(const icalparameter_kind & kind);
- /** Access the value of the property */
- void set_value(const ICalValue & val);
- void set_value_from_string(const std::string & val, const std::string & kind);
- ICalValue *get_value();
- std::string get_value_as_string();
- /** Return the name of the property -- the type name converted
- * to a string, or the value of get_x_name if the type is X
- * property
- */
- std::string get_name() const;
- public:
- /* Deal with X properties */
- static void set_x_name(ICalProperty & prop, const std::string & name);
- static std::string get_x_name(ICalProperty & prop);
- static icalvalue_kind value_to_value_kind(const icalparameter_value & val);
- /* Convert kinds to string and get default value type */
- static icalvalue_kind kind_to_value_kind(const icalproperty_kind & kind);
- static icalproperty_kind value_kind_to_kind(const icalvalue_kind & kind);
- static std::string kind_to_string(const icalproperty_kind & kind);
- static icalproperty_kind string_to_kind(const std::string & str);
- static icalproperty_method string_to_method(const std::string & str);
- static std::string method_to_string(const icalproperty_method & method);
- static std::string enum_to_string(const int &e);
- static int string_to_enum(const std::string & str);
- static std::string status_to_string(const icalproperty_status & status);
- static icalproperty_status string_to_status(const std::string & str);
- static int enum_belongs_to_property(const icalproperty_kind & kind, const int &e);
- public:
- /* ACTION */
- void set_action(const enum icalproperty_action &v);
- enum icalproperty_action get_action();
- /* ATTACH */
- void set_attach(icalattach *v);
- icalattach *get_attach() const;
- /* ATTENDEE */
- void set_attendee(const std::string & val);
- std::string get_attendee() const;
- /* CALSCALE */
- void set_calscale(const std::string & val);
- std::string get_calscale() const;
- /* CATEGORIES */
- void set_categories(const std::string & val);
- std::string get_categories() const;
- /* CLASS */
- void set_class(const enum icalproperty_class &val);
- enum icalproperty_class get_class() const;
- /* COMMENT */
- void set_comment(const std::string & val);
- std::string get_comment() const;
- /* COMPLETED */
- void set_completed(const struct icaltimetype &val);
- struct icaltimetype get_completed() const;
- /* CONTACT */
- void set_contact(const std::string & val);
- std::string get_contact() const;
- /* CREATED */
- void set_created(const struct icaltimetype &val);
- struct icaltimetype get_created() const;
- /* DESCRIPTION */
- void set_description(const std::string & val);
- std::string get_description() const;
- /* DTEND */
- void set_dtend(const struct icaltimetype &val);
- struct icaltimetype get_dtend() const;
- /* DTSTAMP */
- void set_dtstamp(const struct icaltimetype &val);
- struct icaltimetype get_dtstamp() const;
- /* DTSTART */
- void set_dtstart(const struct icaltimetype &val);
- struct icaltimetype get_dtstart() const;
- /* DUE */
- void set_due(const struct icaltimetype &val);
- struct icaltimetype get_due() const;
- /* DURATION */
- void set_duration(const struct icaldurationtype &val);
- struct icaldurationtype get_duration() const;
- /* EXDATE */
- void set_exdate(const struct icaltimetype &val);
- struct icaltimetype get_exdate() const;
- /* EXPAND */
- void set_expand(const int &val);
- int get_expand() const;
- /* EXRULE */
- void set_exrule(const struct icalrecurrencetype &val);
- struct icalrecurrencetype get_exrule() const;
- /* FREEBUSY */
- void set_freebusy(const struct icalperiodtype &val);
- struct icalperiodtype get_freebusy() const;
- /* GEO */
- void set_geo(const struct icalgeotype &val);
- struct icalgeotype get_geo() const;
- /* GRANT */
- void set_grant(const std::string & val);
- std::string get_grant() const;
- /* LAST-MODIFIED */
- void set_lastmodified(const struct icaltimetype &val);
- struct icaltimetype get_lastmodified() const;
- /* LOCATION */
- void set_location(const std::string & val);
- std::string get_location() const;
- /* MAXRESULTS */
- void set_maxresults(const int &val);
- int get_maxresults() const;
- /* MAXRESULTSSIZE */
- void set_maxresultsize(const int &val);
- int get_maxresultsize() const;
- /* METHOD */
- void set_method(const enum icalproperty_method &val);
- enum icalproperty_method get_method() const;
- /* OWNER */
- void set_owner(const std::string & val);
- std::string get_owner() const;
- /* ORGANIZER */
- void set_organizer(const std::string & val);
- std::string get_organizer() const;
- /* PERCENT-COMPLETE */
- void set_percentcomplete(const int &val);
- int get_percentcomplete() const;
- /* PRIORITY */
- void set_priority(const int &val);
- int get_priority() const;
- /* PRODID */
- void set_prodid(const std::string & val);
- std::string get_prodid() const;
- /* QUERY */
- void set_query(const std::string & val);
- std::string get_query() const;
- /* QUERYNAME */
- void set_queryname(const std::string & val);
- std::string get_queryname() const;
- /* RDATE */
- void set_rdate(const struct icaldatetimeperiodtype &val);
- struct icaldatetimeperiodtype get_rdate() const;
- /* RECURRENCE-ID */
- void set_recurrenceid(const struct icaltimetype &val);
- struct icaltimetype get_recurrenceid() const;
- /* RELATED-TO */
- void set_relatedto(const std::string & val);
- std::string get_relatedto() const;
- /* RELCALID */
- void set_relcalid(const std::string & val);
- std::string get_relcalid() const;
- /* REPEAT */
- void set_repeat(const int &val);
- int get_repeat() const;
- /* REQUEST-STATUS */
- void set_requeststatus(const std::string & val);
- std::string get_requeststatus() const;
- /* RESOURCES */
- void set_resources(const std::string & val);
- std::string get_resources() const;
- /* RRULE */
- void set_rrule(const struct icalrecurrencetype &val);
- struct icalrecurrencetype get_rrule() const;
- /* SCOPE */
- void set_scope(const std::string & val);
- std::string get_scope() const;
- /* SEQUENCE */
- void set_sequence(const int &val);
- int get_sequence() const;
- /* STATUS */
- void set_status(const enum icalproperty_status &val);
- enum icalproperty_status get_status() const;
- /* SUMMARY */
- void set_summary(const std::string & val);
- std::string get_summary() const;
- /* TARGET */
- void set_target(const std::string & val);
- std::string get_target() const;
- /* TRANSP */
- void set_transp(const enum icalproperty_transp &val);
- enum icalproperty_transp get_transp() const;
- /* TRIGGER */
- void set_trigger(const struct icaltriggertype &val);
- struct icaltriggertype get_trigger() const;
- /* TZID */
- void set_tzid(const std::string & val);
- std::string get_tzid() const;
- /* TZNAME */
- void set_tzname(const std::string & val);
- std::string get_tzname() const;
- /* TZOFFSETFROM */
- void set_tzoffsetfrom(const int &val);
- int get_tzoffsetfrom() const;
- /* TZOFFSETTO */
- void set_tzoffsetto(const int &val);
- int get_tzoffsetto() const;
- /* TZURL */
- void set_tzurl(const std::string & val);
- std::string get_tzurl() const;
- /* UID */
- void set_uid(const std::string & val);
- std::string get_uid() const;
- /* URL */
- void set_url(const std::string & val);
- std::string get_url() const;
- /* VERSION */
- void set_version(const std::string & val);
- std::string get_version() const;
- /* X */
- void set_x(const std::string & val);
- std::string get_x() const;
- /* X-LIC-CLUSTERCOUNT */
- void set_xlicclustercount(const std::string & val);
- std::string get_xlicclustercount() const;
- /* X-LIC-ERROR */
- void set_xlicerror(const std::string & val);
- std::string get_xlicerror() const;
- /* X-LIC-MIMECHARSET */
- void set_xlicmimecharset(const std::string & val);
- std::string get_xlicmimecharset() const;
- /* X-LIC-MIMECID */
- void set_xlicmimecid(const std::string & val);
- std::string get_xlicmimecid() const;
- /* X-LIC-MIMECONTENTTYPE */
- void set_xlicmimecontenttype(const std::string & val);
- std::string get_xlicmimecontenttype() const;
- /* X-LIC-MIMEENCODING */
- void set_xlicmimeencoding(const std::string & val);
- std::string get_xlicmimeencoding() const;
- /* X-LIC-MIMEFILENAME */
- void set_xlicmimefilename(const std::string & val);
- std::string get_xlicmimefilename() const;
- /* X-LIC-MIMEOPTINFO */
- void set_xlicmimeoptinfo(const std::string & val);
- std::string get_xlicmimeoptinfo() const;
- private:
- icalproperty *imp;
- /**< The actual C based icalproperty */
- };
- } // namespace LibICal
- typedef ICPointerHolder < LibICal::ICalProperty > ICalPropertyTmpPtr;
- #endif /* ICalProperty_H */
|