summaryrefslogtreecommitdiff
path: root/src/libical/icalvalue_cxx.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/libical/icalvalue_cxx.cpp')
-rw-r--r--src/libical/icalvalue_cxx.cpp273
1 files changed, 273 insertions, 0 deletions
diff --git a/src/libical/icalvalue_cxx.cpp b/src/libical/icalvalue_cxx.cpp
new file mode 100644
index 0000000..48029fa
--- /dev/null
+++ b/src/libical/icalvalue_cxx.cpp
@@ -0,0 +1,273 @@
+/* -*- Mode: C -*- */
+/*======================================================================
+ FILE: icalvalue_cxx.cpp
+ CREATOR: fnguyen 12/21/01
+ (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.fsf.org/copyleft/lesser.html
+
+ Or:
+
+ The Mozilla Public License Version 1.0. You may obtain a copy of
+ the License at http://www.mozilla.org/MPL/
+======================================================================*/
+
+#ifndef ICALVALUE_CXX_H
+#include "icalvalue_cxx.h"
+#endif
+
+typedef char* string; // Will use the string library from STL
+
+ICalValue::ICalValue() throw(icalerrorenum) : imp(icalvalue_new(ICAL_ANY_VALUE)){}
+
+ICalValue::ICalValue(const ICalValue& v) throw (icalerrorenum) {
+ imp = icalvalue_new_clone(v.imp);
+ if (!imp) throw icalerrno;
+}
+ICalValue& ICalValue::operator=(const ICalValue& v) throw(icalerrorenum) {
+ if (this == &v) return *this;
+
+ if (imp != NULL)
+ {
+ icalvalue_free(imp);
+ imp = icalvalue_new_clone(v.imp);
+ if (!imp) throw icalerrno;
+ }
+
+ return *this;
+}
+
+ICalValue::~ICalValue(){
+ if (imp != NULL) icalvalue_free(imp);
+}
+
+ICalValue::ICalValue(icalvalue* v) throw(icalerrorenum) : imp(v){
+}
+
+ICalValue::ICalValue(icalvalue_kind kind) throw(icalerrorenum) {
+ imp = icalvalue_new(kind);
+ if (!imp) throw icalerrno;
+}
+
+ICalValue::ICalValue(icalvalue_kind kind, string str) throw(icalerrorenum) {
+ imp = icalvalue_new_from_string(kind, str);
+ if (!imp) throw icalerrno;
+}
+
+string ICalValue::as_ical_string(){
+ return (string)icalvalue_as_ical_string(imp);
+}
+bool ICalValue::is_valid(){
+ if (imp == NULL) return false;
+ return (icalvalue_is_valid(imp) ? true : false);
+}
+icalvalue_kind ICalValue::isa(){
+ return icalvalue_isa(imp);
+}
+int ICalValue::isa_value(void* value){
+ return icalvalue_isa_value(value);
+}
+
+/* Special, non autogenerated value accessors */
+void ICalValue::set_recur(struct icalrecurrencetype v){
+ icalvalue_set_recur(imp, v);
+}
+struct icalrecurrencetype ICalValue::get_recur(){
+ return icalvalue_get_recur(imp);
+}
+
+void ICalValue::set_trigger(struct icaltriggertype v){}
+struct icaltriggertype ICalValue::get_trigger(){
+ return icalvalue_get_trigger(imp);
+}
+
+void ICalValue::set_datetimeperiod(struct icaldatetimeperiodtype v){
+ icalvalue_set_datetimeperiod(imp, v);
+}
+struct icaldatetimeperiodtype ICalValue::get_datetimeperiod(){
+ return icalvalue_get_datetimeperiod(imp);
+}
+
+icalparameter_xliccomparetype ICalValue::compare(ICalValue& a, ICalValue& b){
+ return icalvalue_compare(a, b);
+}
+
+/* Convert enumerations */
+icalvalue_kind ICalValue::string_to_kind(string str){
+ return icalvalue_string_to_kind(str);
+}
+string ICalValue::kind_to_string(icalvalue_kind kind){
+ return (string)icalvalue_kind_to_string(kind);
+}
+
+/* BOOLEAN */
+int ICalValue::get_boolean(){
+ return icalvalue_get_boolean(imp);
+}
+void ICalValue::set_boolean(int v){
+ icalvalue_set_boolean(imp, v);
+}
+
+/* UTC-OFFSET */
+int ICalValue::get_utcoffset(){
+ return icalvalue_get_utcoffset(imp);
+}
+void ICalValue::set_utcoffset(int v){
+ icalvalue_set_utcoffset(imp, v);
+}
+
+/* METHOD */
+enum icalproperty_method ICalValue::get_method(){
+ return icalvalue_get_method(imp);
+}
+void ICalValue::set_method(enum icalproperty_method v){
+ icalvalue_set_method(imp, v);
+}
+
+/* CAL-ADDRESS */
+string ICalValue::get_caladdress(){
+ return (string)icalvalue_get_caladdress(imp);
+}
+void ICalValue::set_caladdress(string v){
+ icalvalue_set_caladdress(imp, v);
+}
+
+/* PERIOD */
+struct icalperiodtype ICalValue::get_period(){
+ return icalvalue_get_period(imp);
+}
+void ICalValue::set_period(struct icalperiodtype v){
+ icalvalue_set_period(imp, v);
+}
+
+/* STATUS */
+enum icalproperty_status ICalValue::get_status(){
+ return icalvalue_get_status(imp);
+}
+void ICalValue::set_status(enum icalproperty_status v){
+ icalvalue_set_status(imp, v);
+}
+
+/* BINARY */
+string ICalValue::get_binary(){
+ return (string)icalvalue_get_binary(imp);
+}
+void ICalValue::set_binary(string v){
+ icalvalue_set_binary(imp, v);
+}
+
+/* TEXT */
+string ICalValue::get_text(){
+ return (string)icalvalue_get_text(imp);
+}
+void ICalValue::set_text(string v){
+ icalvalue_set_text(imp, v);
+}
+
+/* DURATION */
+struct icaldurationtype ICalValue::get_duration(){
+ return icalvalue_get_duration(imp);
+}
+void ICalValue::set_duration(struct icaldurationtype v){
+ icalvalue_set_duration(imp, v);
+}
+
+/* INTEGER */
+int ICalValue::get_integer(){
+ return icalvalue_get_integer(imp);
+}
+void ICalValue::set_integer(int v){
+ icalvalue_set_integer(imp, v);
+}
+
+/* URI */
+string ICalValue::get_uri(){
+ return (string)icalvalue_get_uri(imp);
+}
+void ICalValue::set_uri(string v){
+ icalvalue_set_uri(imp, v);
+}
+
+/* ATTACH */
+icalattach *ICalValue::get_attach(){
+ return icalvalue_get_attach(imp);
+}
+void ICalValue::set_attach(icalattach *v){
+ icalvalue_set_attach(imp, v);
+}
+
+/* CLASS */
+enum icalproperty_class ICalValue::get_class(){
+ return icalvalue_get_class(imp);
+}
+void ICalValue::set_class(enum icalproperty_class v){
+ icalvalue_set_class(imp, v);
+}
+
+/* FLOAT */
+float ICalValue::get_float(){
+ return icalvalue_get_float(imp);
+}
+void ICalValue::set_float(float v){
+ icalvalue_set_float(imp, v);
+}
+
+/* QUERY */
+string ICalValue::get_query(){
+ return (string)icalvalue_get_query(imp);
+}
+void ICalValue::set_query(string v){
+ icalvalue_set_query(imp, v);
+}
+
+/* STRING */
+string ICalValue::get_string(){
+ return (string)icalvalue_get_string(imp);
+}
+void ICalValue::set_string(string v){
+ icalvalue_set_string(imp, v);
+}
+
+/* TRANSP */
+enum icalproperty_transp ICalValue::get_transp(){
+ return icalvalue_get_transp(imp);
+}
+void ICalValue::set_transp(enum icalproperty_transp v){
+ icalvalue_set_transp(imp, v);
+}
+
+/* DATE-TIME */
+struct icaltimetype ICalValue::get_datetime(){
+ return icalvalue_get_datetime(imp);
+}
+void ICalValue::set_datetime(struct icaltimetype v){
+ icalvalue_set_datetime(imp, v);
+}
+
+/* GEO */
+struct icalgeotype ICalValue::get_geo(){
+ return icalvalue_get_geo(imp);
+}
+void ICalValue::set_geo(struct icalgeotype v){
+ icalvalue_set_geo(imp, v);
+}
+
+/* DATE */
+struct icaltimetype ICalValue::get_date(){
+ return icalvalue_get_date(imp);
+}
+void ICalValue::set_date(struct icaltimetype v){
+ icalvalue_set_date(imp, v);
+}
+
+/* ACTION */
+enum icalproperty_action ICalValue::get_action(){
+ return icalvalue_get_action(imp);
+}
+void ICalValue::set_action(enum icalproperty_action v){
+ icalvalue_set_action(imp, v);
+}