aboutsummaryrefslogtreecommitdiffstats
path: root/libical/src/libical/icalproperty_cxx.h
diff options
context:
space:
mode:
Diffstat (limited to 'libical/src/libical/icalproperty_cxx.h')
-rw-r--r--libical/src/libical/icalproperty_cxx.h365
1 files changed, 365 insertions, 0 deletions
diff --git a/libical/src/libical/icalproperty_cxx.h b/libical/src/libical/icalproperty_cxx.h
new file mode 100644
index 0000000000..27b0fd1a65
--- /dev/null
+++ b/libical/src/libical/icalproperty_cxx.h
@@ -0,0 +1,365 @@
+/* -*- Mode: C++ -*- */
+
+/**
+ * @file icalproperty_cxx.h
+ * @author fnguyen (12/10/01)
+ * @brief Definition of C++ Wrapper for icalproperty.c
+ *
+ * (C) COPYRIGHT 2001, Critical Path
+ */
+
+#ifndef ICALPROPERTY_CXX_H
+#define ICALPROPERTY_CXX_H
+
+#include "ical.h"
+#include "icptrholder.h"
+
+typedef char* string; // Will use the string library from STL
+
+class ICalParameter;
+class ICalValue;
+
+class ICalProperty {
+public:
+ ICalProperty();
+ ICalProperty(const ICalProperty&) throw(icalerrorenum);
+ ICalProperty& operator=(const ICalProperty&) throw(icalerrorenum);
+ ~ICalProperty();
+
+ ICalProperty(icalproperty* v);
+ ICalProperty(string str);
+ ICalProperty(icalproperty_kind kind);
+ ICalProperty(icalproperty_kind kind, string str);
+
+ operator icalproperty*() {return imp;}
+ int operator==(ICalProperty& rhs);
+
+ void detach() {
+ imp = NULL;
+ }
+
+public:
+ 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(string name, string val);
+ string get_parameter_as_string(string name);
+ void remove_parameter(icalparameter_kind kind);
+ int count_parameters();
+
+ /** Iterate through the parameters */
+ ICalParameter* get_first_parameter(icalparameter_kind kind);
+ ICalParameter* get_next_parameter(icalparameter_kind kind);
+
+ /** Access the value of the property */
+ void set_value(const ICalValue& val);
+ void set_value_from_string(string val, string kind);
+
+ ICalValue* get_value();
+ 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
+ */
+ string get_name();
+
+public:
+ /* Deal with X properties */
+ static void set_x_name(ICalProperty &prop, string name);
+ static string get_x_name(ICalProperty &prop);
+
+ static icalvalue_kind icalparameter_value_to_value_kind(icalparameter_value val);
+
+ /* Convert kinds to string and get default value type */
+ static icalvalue_kind kind_to_value_kind(icalproperty_kind kind);
+ static icalproperty_kind value_kind_to_kind(icalvalue_kind kind);
+ static string kind_to_string(icalproperty_kind kind);
+ static icalproperty_kind string_to_kind(string str);
+
+ static icalproperty_method string_to_method(string str);
+ static string method_to_string(icalproperty_method method);
+
+ static string enum_to_string(int e);
+ static int string_to_enum(string str);
+
+ static string status_to_string(icalproperty_status);
+ static icalproperty_status string_to_status(string str);
+
+ static int enum_belongs_to_property(icalproperty_kind kind, int e);
+
+public:
+ /* ACTION */
+ void set_action(enum icalproperty_action v);
+ enum icalproperty_action get_action();
+
+ /* ATTACH */
+ void set_attach(icalattach *v);
+ icalattach *get_attach();
+
+ /* ATTENDEE */
+ void set_attendee(string val);
+ string get_attendee();
+
+ /* CALSCALE */
+ void set_calscale(string val);
+ string get_calscale();
+
+ /* CATEGORIES */
+ void set_categories(string val);
+ string get_categories();
+
+ /* CLASS */
+ void set_class(enum icalproperty_class val);
+ enum icalproperty_class get_class();
+
+ /* COMMENT */
+ void set_comment(string val);
+ string get_comment();
+
+ /* COMPLETED */
+ void set_completed(struct icaltimetype val);
+ struct icaltimetype get_completed();
+
+ /* CONTACT */
+ void set_contact(string val);
+ string get_contact();
+
+ /* CREATED */
+ void set_created(struct icaltimetype val);
+ struct icaltimetype get_created();
+
+ /* DESCRIPTION */
+ void set_description(string val);
+ string get_description();
+
+ /* DTEND */
+ void set_dtend(struct icaltimetype val);
+ struct icaltimetype get_dtend();
+
+ /* DTSTAMP */
+ void set_dtstamp(struct icaltimetype val);
+ struct icaltimetype get_dtstamp();
+
+ /* DTSTART */
+ void set_dtstart(struct icaltimetype val);
+ struct icaltimetype get_dtstart();
+
+ /* DUE */
+ void set_due(struct icaltimetype val);
+ struct icaltimetype get_due();
+
+ /* DURATION */
+ void set_duration(struct icaldurationtype val);
+ struct icaldurationtype get_duration();
+
+ /* EXDATE */
+ void set_exdate(struct icaltimetype val);
+ struct icaltimetype get_exdate();
+
+ /* EXPAND */
+ void set_expand(int val);
+ int get_expand();
+
+ /* EXRULE */
+ void set_exrule(struct icalrecurrencetype val);
+ struct icalrecurrencetype get_exrule();
+
+ /* FREEBUSY */
+ void set_freebusy(struct icalperiodtype val);
+ struct icalperiodtype get_freebusy();
+
+ /* GEO */
+ void set_geo(struct icalgeotype val);
+ struct icalgeotype get_geo();
+
+ /* GRANT */
+ void set_grant(string val);
+ string get_grant();
+
+ /* LAST-MODIFIED */
+ void set_lastmodified(struct icaltimetype val);
+ struct icaltimetype get_lastmodified();
+
+ /* LOCATION */
+ void set_location(string val);
+ string get_location();
+
+ /* MAXRESULTS */
+ void set_maxresults(int val);
+ int get_maxresults();
+
+ /* MAXRESULTSSIZE */
+ void set_maxresultsize(int val);
+ int get_maxresultsize();
+
+ /* METHOD */
+ void set_method(enum icalproperty_method val);
+ enum icalproperty_method get_method();
+
+ /* OWNER */
+ void set_owner(string val);
+ string get_owner();
+
+ /* ORGANIZER */
+ void set_organizer(string val);
+ string get_organizer();
+
+ /* PERCENT-COMPLETE */
+ void set_percentcomplete(int val);
+ int get_percentcomplete();
+
+ /* PRIORITY */
+ void set_priority(int val);
+ int get_priority();
+
+ /* PRODID */
+ void set_prodid(string val);
+ string get_prodid();
+
+ /* QUERY */
+ void set_query(string val);
+ string get_query();
+
+ /* QUERYNAME */
+ void set_queryname(string val);
+ string get_queryname();
+
+ /* RDATE */
+ void set_rdate(struct icaldatetimeperiodtype val);
+ struct icaldatetimeperiodtype get_rdate();
+
+ /* RECURRENCE-ID */
+ void set_recurrenceid(struct icaltimetype val);
+ struct icaltimetype get_recurrenceid();
+
+ /* RELATED-TO */
+ void set_relatedto(string val);
+ string get_relatedto();
+
+ /* RELCALID */
+ void set_relcalid(string val);
+ string get_relcalid();
+
+ /* REPEAT */
+ void set_repeat(int val);
+ int get_repeat();
+
+ /* REQUEST-STATUS */
+ void set_requeststatus(string val);
+ string get_requeststatus();
+
+ /* RESOURCES */
+ void set_resources(string val);
+ string get_resources();
+
+ /* RRULE */
+ void set_rrule(struct icalrecurrencetype val);
+ struct icalrecurrencetype get_rrule();
+
+ /* SCOPE */
+ void set_scope(string val);
+ string get_scope();
+
+ /* SEQUENCE */
+ void set_sequence(int val);
+ int get_sequence();
+
+ /* STATUS */
+ void set_status(enum icalproperty_status val);
+ enum icalproperty_status get_status();
+
+ /* SUMMARY */
+ void set_summary(string val);
+ string get_summary();
+
+ /* TARGET */
+ void set_target(string val);
+ string get_target();
+
+ /* TRANSP */
+ void set_transp(enum icalproperty_transp val);
+ enum icalproperty_transp get_transp();
+
+ /* TRIGGER */
+ void set_trigger(struct icaltriggertype val);
+ struct icaltriggertype get_trigger();
+
+ /* TZID */
+ void set_tzid(string val);
+ string get_tzid();
+
+ /* TZNAME */
+ void set_tzname(string val);
+ string get_tzname();
+
+ /* TZOFFSETFROM */
+ void set_tzoffsetfrom(int val);
+ int get_tzoffsetfrom();
+
+ /* TZOFFSETTO */
+ void set_tzoffsetto(int val);
+ int get_tzoffsetto();
+
+ /* TZURL */
+ void set_tzurl(string val);
+ string get_tzurl();
+
+ /* UID */
+ void set_uid(string val);
+ string get_uid();
+
+ /* URL */
+ void set_url(string val);
+ string get_url();
+
+ /* VERSION */
+ void set_version(string val);
+ string get_version();
+
+ /* X */
+ void set_x(string val);
+ string get_x();
+
+ /* X-LIC-CLUSTERCOUNT */
+ void set_xlicclustercount(string val);
+ string get_xlicclustercount();
+
+ /* X-LIC-ERROR */
+ void set_xlicerror(string val);
+ string get_xlicerror();
+
+ /* X-LIC-MIMECHARSET */
+ void set_xlicmimecharset(string val);
+ string get_xlicmimecharset();
+
+ /* X-LIC-MIMECID */
+ void set_xlicmimecid(string val);
+ string get_xlicmimecid();
+
+ /* X-LIC-MIMECONTENTTYPE */
+ void set_xlicmimecontenttype(string val);
+ string get_xlicmimecontenttype();
+
+ /* X-LIC-MIMEENCODING */
+ void set_xlicmimeencoding(string val);
+ string get_xlicmimeencoding();
+
+ /* X-LIC-MIMEFILENAME */
+ void set_xlicmimefilename(string val);
+ string get_xlicmimefilename();
+
+ /* X-LIC-MIMEOPTINFO */
+ void set_xlicmimeoptinfo(string val);
+ string get_xlicmimeoptinfo();
+
+private:
+ icalproperty* imp; /**< The actual C based icalproperty */
+};
+
+typedef ICPointerHolder<ICalProperty> ICalPropertyTmpPtr; /* see icptrholder.h for comments */
+
+#endif /* ICalProperty_H */