diff --git a/calendar/modules/core/ical/inc/nsCalAttendeeProperty.h b/calendar/modules/core/ical/inc/nsCalAttendeeProperty.h new file mode 100644 index 00000000000..e3f92cad7f6 --- /dev/null +++ b/calendar/modules/core/ical/inc/nsCalAttendeeProperty.h @@ -0,0 +1,50 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- + * + * The contents of this file are subject to the Netscape Public License + * Version 1.0 (the "NPL"); you may not use this file except in + * compliance with the NPL. You may obtain a copy of the NPL at + * http://www.mozilla.org/NPL/ + * + * Software distributed under the NPL is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL + * for the specific language governing rights and limitations under the + * NPL. + * + * The Initial Developer of this code under the NPL is Netscape + * Communications Corporation. Portions created by Netscape are + * Copyright (C) 1998 Netscape Communications Corporation. All Rights + * Reserved. + */ + +#ifndef nsCalAttendeeProperty_h___ +#define nsCalAttendeeProperty_h___ + +#include "nsCalProperty.h" +#include "attendee.h" + +class NS_CAL_CORE_ICAL nsCalAttendeeProperty : public nsCalProperty +{ +public: + nsCalAttendeeProperty(); + ~nsCalAttendeeProperty(); + +public: + + NS_DECL_ISUPPORTS + + NS_IMETHOD Init(); + + NS_IMETHOD SetParameter(nsString & aKey, nsString & aValue); + + NS_IMETHOD_(JulianPtrArray *) GetParameters(); + NS_IMETHOD SetParameters(JulianPtrArray * parameters); + NS_IMETHOD_(void *) GetValue() const; + NS_IMETHOD SetValue(void * value); + NS_IMETHOD_(nsICalProperty *) Clone(); + NS_IMETHOD_(PRBool) IsValid(); + NS_IMETHOD_(nsString &) ToString(nsString & out); + NS_IMETHOD_(nsString &) ToICALString(nsString & out); + NS_IMETHOD_(nsString &) ToICALString(nsString & sProp, nsString & out); +}; + +#endif diff --git a/calendar/modules/core/ical/inc/nsCalDateTimeProperty.h b/calendar/modules/core/ical/inc/nsCalDateTimeProperty.h new file mode 100644 index 00000000000..fb2608d13f5 --- /dev/null +++ b/calendar/modules/core/ical/inc/nsCalDateTimeProperty.h @@ -0,0 +1,70 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- + * + * The contents of this file are subject to the Netscape Public License + * Version 1.0 (the "NPL"); you may not use this file except in + * compliance with the NPL. You may obtain a copy of the NPL at + * http://www.mozilla.org/NPL/ + * + * Software distributed under the NPL is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL + * for the specific language governing rights and limitations under the + * NPL. + * + * The Initial Developer of this code under the NPL is Netscape + * Communications Corporation. Portions created by Netscape are + * Copyright (C) 1998 Netscape Communications Corporation. All Rights + * Reserved. + */ + +#ifndef nsCalDateTimeProperty_h___ +#define nsCalDateTimeProperty_h___ + +#include "jdefines.h" +#include "nsICalProperty.h" +#include "nsICalICalendarParserObject.h" +#include "nsCalStandardProperty.h" +#include "jdefines.h" +#include "dprprty.h" +#include "nscalcoreicalexp.h" + +/* + * XPCOM wrapper around non-XPCOM julian classes DateTimeProperty + * TODO: XXX: XPCOM julian classes and remove them + */ +class NS_CAL_CORE_ICAL nsCalDateTimeProperty : public nsCalStandardProperty +{ +public: + nsCalDateTimeProperty(); + + + NS_DECL_ISUPPORTS + + NS_IMETHOD Init(); + + /* nsICalProperty */ + NS_IMETHOD_(void *) GetValue() const; + NS_IMETHOD SetValue(void * value); + NS_IMETHOD_(nsICalProperty *) Clone(); + NS_IMETHOD_(PRBool) IsValid(); + NS_IMETHOD_(nsString &) ToString(nsString & out); + NS_IMETHOD_(nsString &) ToICALString(nsString & out); + NS_IMETHOD_(nsString &) ToICALString(nsString & sProp, nsString & out); + + /* nsICalStandardProperty */ + NS_IMETHOD_(nsString &) toExportString(nsString & out); + +protected: + ~nsCalDateTimeProperty(); + +}; + +#endif + + + + + + + + + diff --git a/calendar/modules/core/ical/inc/nsCalDurationProperty.h b/calendar/modules/core/ical/inc/nsCalDurationProperty.h new file mode 100644 index 00000000000..81a9fdef21e --- /dev/null +++ b/calendar/modules/core/ical/inc/nsCalDurationProperty.h @@ -0,0 +1,79 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- + * + * The contents of this file are subject to the Netscape Public License + * Version 1.0 (the "NPL"); you may not use this file except in + * compliance with the NPL. You may obtain a copy of the NPL at + * http://www.mozilla.org/NPL/ + * + * Software distributed under the NPL is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL + * for the specific language governing rights and limitations under the + * NPL. + * + * The Initial Developer of this code under the NPL is Netscape + * Communications Corporation. Portions created by Netscape are + * Copyright (C) 1998 Netscape Communications Corporation. All Rights + * Reserved. + */ + +#ifndef nsDurationProperty_h___ +#define nsDurationProperty_h___ + +#include "nsICalProperty.h" +#include "nsICalStandardProperty.h" +#include "jdefines.h" +#include "prprty.h" +#include "sprprty.h" +#include "nscalcoreicalexp.h" + +/* + * XPCOM wrapper around non-XPCOM julian classes DurationProperty + * TODO: XXX: XPCOM julian classes and remove them + */ +class NS_CAL_CORE_ICAL nsDurationProperty : public nsICalProperty, + public nsICalStandardProperty, + public nsICalICalendarParserObject +{ +public: + nsDurationProperty(); + + NS_DECL_ISUPPORTS + + NS_IMETHOD Init(); + + /* nsICalICalendarParserObject */ + NS_IMETHOD SetParameter(nsString & aKey, nsString & aValue); + + /* nsICalProperty */ + NS_IMETHOD SetParameters(JulianPtrArray * parameters) = 0; + NS_IMETHOD_(void *) GetValue() const = 0; + NS_IMETHOD SetValue(void * value) const = 0; + NS_IMETHOD_(nsICalProperty *) Clone() = 0; + NS_IMETHOD_(PRBool) IsValid() = 0; + NS_IMETHOD_(nsString &) ToString(nsString & out) = 0; + NS_IMETHOD_(nsString &) ToICALString(nsString & out) = 0; + NS_IMETHOD_(nsString &) ToICALString(nsString & sProp, nsString & out) = 0; + + /* nsICalStandardProperty */ + NS_IMETHOD AddParameter(nsICalParameter * parameter) = 0; + NS_IMETHOD_(nsString &) toExportString(nsString & out) = 0; + NS_IMETHOD Parse(nsString & in); + +protected: + ~nsCalendar(); + +private: + DurationProperty * mDurationProperty; + +}; + +#endif + + + + + + + + + diff --git a/calendar/modules/core/ical/inc/nsCalICalendarComponent.h b/calendar/modules/core/ical/inc/nsCalICalendarComponent.h new file mode 100644 index 00000000000..12f0602adbf --- /dev/null +++ b/calendar/modules/core/ical/inc/nsCalICalendarComponent.h @@ -0,0 +1,64 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- + * + * The contents of this file are subject to the Netscape Public License + * Version 1.0 (the "NPL"); you may not use this file except in + * compliance with the NPL. You may obtain a copy of the NPL at + * http://www.mozilla.org/NPL/ + * + * Software distributed under the NPL is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL + * for the specific language governing rights and limitations under the + * NPL. + * + * The Initial Developer of this code under the NPL is Netscape + * Communications Corporation. Portions created by Netscape are + * Copyright (C) 1998 Netscape Communications Corporation. All Rights + * Reserved. + */ + +#ifndef nsCalICalendarComponent_h___ +#define nsCalICalendarComponent_h___ + +#include "jdefines.h" +#include "nsICalICalendarComponent.h" +#include "nsICalICalendarContainer.h" +#include "nsICalProperty.h" +#include "nsICalICalendarParserObject.h" +#include "icalcomp.h" + +class NS_CAL_CORE_ICAL nsCalICalendarComponent: public nsICalICalendarComponent, + public nsICalICalendarContainer, + public nsICalICalendarParserObject +{ + +protected: + nsCalICalendarComponent(); + ~nsCalICalendarComponent(); + +public: + + NS_IMETHOD Init(); + + NS_DECL_ISUPPORTS + + /* nsICalICalendarParserObject */ + NS_IMETHOD SetParameter(nsString & aKey, nsString & aValue); + + NS_IMETHOD_(PRBool) StoreProperty(nsCalICalendarTag tag, nsICalProperty * prop, + JulianPtrArray * vTimeZones); + + +protected: + ICalComponent * mICalComponent; + +}; + +#endif + + + + + + + + diff --git a/calendar/modules/core/ical/inc/nsCalIntegerProperty.h b/calendar/modules/core/ical/inc/nsCalIntegerProperty.h new file mode 100644 index 00000000000..ca9f73a019d --- /dev/null +++ b/calendar/modules/core/ical/inc/nsCalIntegerProperty.h @@ -0,0 +1,71 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- + * + * The contents of this file are subject to the Netscape Public License + * Version 1.0 (the "NPL"); you may not use this file except in + * compliance with the NPL. You may obtain a copy of the NPL at + * http://www.mozilla.org/NPL/ + * + * Software distributed under the NPL is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL + * for the specific language governing rights and limitations under the + * NPL. + * + * The Initial Developer of this code under the NPL is Netscape + * Communications Corporation. Portions created by Netscape are + * Copyright (C) 1998 Netscape Communications Corporation. All Rights + * Reserved. + */ + +#ifndef nsCalIntegerProperty_h___ +#define nsCalIntegerProperty_h___ + +#include "jdefines.h" +#include "nsICalProperty.h" +#include "nsICalICalendarParserObject.h" +#include "nsCalStandardProperty.h" +#include "jdefines.h" +#include "prprty.h" +#include "sprprty.h" +#include "nscalcoreicalexp.h" + +/* + * XPCOM wrapper around non-XPCOM julian classes CalStringProperty + * TODO: XXX: XPCOM julian classes and remove them + */ +class NS_CAL_CORE_ICAL nsCalIntegerProperty : public nsCalStandardProperty +{ +public: + nsCalIntegerProperty(); + + NS_DECL_ISUPPORTS + + NS_IMETHOD Init(); + + /* nsICalProperty */ + NS_IMETHOD_(void *) GetValue() const; + NS_IMETHOD SetValue(void * value); + NS_IMETHOD_(nsICalProperty *) Clone(); + NS_IMETHOD_(PRBool) IsValid(); + NS_IMETHOD_(nsString &) ToString(nsString & out); + NS_IMETHOD_(nsString &) ToICALString(nsString & out); + NS_IMETHOD_(nsString &) ToICALString(nsString & sProp, nsString & out); + + /* nsICalStandardProperty */ + NS_IMETHOD_(nsString &) toExportString(nsString & out); + + +protected: + ~nsCalIntegerProperty(); + +}; + +#endif + + + + + + + + + diff --git a/calendar/modules/core/ical/inc/nsCalProperty.h b/calendar/modules/core/ical/inc/nsCalProperty.h new file mode 100644 index 00000000000..34dc1be64b3 --- /dev/null +++ b/calendar/modules/core/ical/inc/nsCalProperty.h @@ -0,0 +1,54 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- + * + * The contents of this file are subject to the Netscape Public License + * Version 1.0 (the "NPL"); you may not use this file except in + * compliance with the NPL. You may obtain a copy of the NPL at + * http://www.mozilla.org/NPL/ + * + * Software distributed under the NPL is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL + * for the specific language governing rights and limitations under the + * NPL. + * + * The Initial Developer of this code under the NPL is Netscape + * Communications Corporation. Portions created by Netscape are + * Copyright (C) 1998 Netscape Communications Corporation. All Rights + * Reserved. + */ + +#ifndef nsCalProperty_h___ +#define nsCalProperty_h___ + +#include "nsICalProperty.h" +#include "nsICalICalendarParserObject.h" + +#include "sdprprty.h" + +class NS_CAL_CORE_ICAL nsCalProperty : public nsICalProperty, + public nsICalICalendarParserObject +{ +public: + nsCalProperty(); + ~nsCalProperty(); + +public: + + NS_DECL_ISUPPORTS + + NS_IMETHOD Init(); + + /* nsICalICalendarParserObject */ + NS_IMETHOD SetParameter(nsString & aKey, nsString & aValue) = 0; + + /* nsICalStandardProperty */ + NS_IMETHOD_(JulianPtrArray *) GetParameters() = 0; + NS_IMETHOD SetParameters(JulianPtrArray * parameters) = 0; + + NS_IMETHOD_(ICalProperty *) GetICalProperty() const; + +protected: + ICalProperty * mICalProperty; + +}; +#endif + diff --git a/calendar/modules/core/ical/inc/nsCalStandardProperty.h b/calendar/modules/core/ical/inc/nsCalStandardProperty.h new file mode 100644 index 00000000000..e44b0da803d --- /dev/null +++ b/calendar/modules/core/ical/inc/nsCalStandardProperty.h @@ -0,0 +1,56 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- + * + * The contents of this file are subject to the Netscape Public License + * Version 1.0 (the "NPL"); you may not use this file except in + * compliance with the NPL. You may obtain a copy of the NPL at + * http://www.mozilla.org/NPL/ + * + * Software distributed under the NPL is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL + * for the specific language governing rights and limitations under the + * NPL. + * + * The Initial Developer of this code under the NPL is Netscape + * Communications Corporation. Portions created by Netscape are + * Copyright (C) 1998 Netscape Communications Corporation. All Rights + * Reserved. + */ + +#ifndef nsCalStandardProperty_h___ +#define nsCalStandardProperty_h___ + +#include "nsCalProperty.h" +#include "nsICalStandardProperty.h" + +#include "sdprprty.h" + +class NS_CAL_CORE_ICAL nsCalStandardProperty : public nsCalProperty, + public nsICalStandardProperty +{ +public: + nsCalStandardProperty(); + ~nsCalStandardProperty(); + +public: + + NS_DECL_ISUPPORTS + + NS_IMETHOD Init(); + + /* nsICalICalendarParserObject */ + NS_IMETHOD SetParameter(nsString & aKey, nsString & aValue); + + /* nsICalStandardProperty */ + NS_IMETHOD_(JulianPtrArray *) GetParameters(); + NS_IMETHOD SetParameters(JulianPtrArray * parameters); + NS_IMETHOD AddParameter(nsString & aKey, nsString & aValue); + NS_IMETHOD AddParameter(ICalParameter * parameter); + NS_IMETHOD Parse(nsString & in); + + +}; +#endif + + + + diff --git a/calendar/modules/core/ical/inc/nsCalStringProperty.h b/calendar/modules/core/ical/inc/nsCalStringProperty.h new file mode 100644 index 00000000000..67701ac6918 --- /dev/null +++ b/calendar/modules/core/ical/inc/nsCalStringProperty.h @@ -0,0 +1,70 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- + * + * The contents of this file are subject to the Netscape Public License + * Version 1.0 (the "NPL"); you may not use this file except in + * compliance with the NPL. You may obtain a copy of the NPL at + * http://www.mozilla.org/NPL/ + * + * Software distributed under the NPL is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL + * for the specific language governing rights and limitations under the + * NPL. + * + * The Initial Developer of this code under the NPL is Netscape + * Communications Corporation. Portions created by Netscape are + * Copyright (C) 1998 Netscape Communications Corporation. All Rights + * Reserved. + */ + +#ifndef nsCalStringProperty_h___ +#define nsCalStringProperty_h___ + +#include "jdefines.h" +#include "nsICalProperty.h" +#include "nsICalICalendarParserObject.h" +#include "nsCalStandardProperty.h" +#include "jdefines.h" +#include "sprprty.h" +#include "nscalcoreicalexp.h" + +/* + * XPCOM wrapper around non-XPCOM julian classes CalStringProperty + * TODO: XXX: XPCOM julian classes and remove them + */ +class NS_CAL_CORE_ICAL nsCalStringProperty : public nsCalStandardProperty +{ +public: + nsCalStringProperty(); + + NS_DECL_ISUPPORTS + + NS_IMETHOD Init(); + + /* nsICalProperty */ + NS_IMETHOD_(void *) GetValue() const; + NS_IMETHOD SetValue(void * value); + NS_IMETHOD_(nsICalProperty *) Clone(); + NS_IMETHOD_(PRBool) IsValid(); + NS_IMETHOD_(nsString &) ToString(nsString & out); + NS_IMETHOD_(nsString &) ToICALString(nsString & out); + NS_IMETHOD_(nsString &) ToICALString(nsString & sProp, nsString & out); + + /* nsICalStandardProperty */ + NS_IMETHOD_(nsString &) toExportString(nsString & out); + + +protected: + ~nsCalStringProperty(); + +}; + +#endif + + + + + + + + + diff --git a/calendar/modules/core/ical/inc/nsCalTimeBasedEvent.h b/calendar/modules/core/ical/inc/nsCalTimeBasedEvent.h new file mode 100644 index 00000000000..4af035e1ed3 --- /dev/null +++ b/calendar/modules/core/ical/inc/nsCalTimeBasedEvent.h @@ -0,0 +1,87 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- + * + * The contents of this file are subject to the Netscape Public License + * Version 1.0 (the "NPL"); you may not use this file except in + * compliance with the NPL. You may obtain a copy of the NPL at + * http://www.mozilla.org/NPL/ + * + * Software distributed under the NPL is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL + * for the specific language governing rights and limitations under the + * NPL. + * + * The Initial Developer of this code under the NPL is Netscape + * Communications Corporation. Portions created by Netscape are + * Copyright (C) 1998 Netscape Communications Corporation. All Rights + * Reserved. + */ + +#ifndef nsCalTimeBasedEvent_h___ +#define nsCalTimeBasedEvent_h___ + +#include "jdefines.h" +#include "nsCalICalendarComponent.h" +#include "nsICalTimeBasedEvent.h" +#include "nsICalProperty.h" +#include "tmbevent.h" +#include "nscalcoreicalexp.h" + +class NS_CAL_CORE_ICAL nsCalTimeBasedEvent: public nsCalICalendarComponent, + public nsICalTimeBasedEvent +{ +protected: + nsCalTimeBasedEvent(); + ~nsCalTimeBasedEvent(); + +public: + NS_IMETHOD Init(); + + NS_DECL_ISUPPORTS + + // nsICalTimeBasedEvent + /* + NS_IMETHOD_(nsIDateTime *) GetDTStart() const; + NS_IMETHOD SetDTStart(nsIDateTime *, JulianPtrArray * parameters = 0); + NS_IMETHOD SetDTStartProperty(nsICalDateTimeProperty * property); + */ + NS_IMETHOD_(PRInt32) GetSequence() const; + NS_IMETHOD SetSequence(PRInt32 i, JulianPtrArray * parameters = 0); + NS_IMETHOD SetSequenceProperty(nsICalProperty * property); + + NS_IMETHOD AddAttachProperty(nsICalProperty * property); + NS_IMETHOD AddAttendeeProperty(nsICalProperty * property); + NS_IMETHOD AddCategoriesProperty(nsICalProperty * property); + NS_IMETHOD SetClassProperty(nsICalProperty * property); + NS_IMETHOD AddCommentProperty(nsICalProperty * property); + NS_IMETHOD AddContactProperty(nsICalProperty * property); + NS_IMETHOD SetCreatedProperty(nsICalProperty * property); + NS_IMETHOD SetDescriptionProperty(nsICalProperty * property); + NS_IMETHOD SetDTStartProperty(nsICalProperty * property); + NS_IMETHOD SetDTStampProperty(nsICalProperty * property); + NS_IMETHOD AddExDateProperty(nsICalProperty * property); + NS_IMETHOD AddExRuleProperty(nsICalProperty * property); + NS_IMETHOD SetLastModifiedProperty(nsICalProperty * property); + NS_IMETHOD SetOrganizerProperty(nsICalProperty * property); + NS_IMETHOD AddRDateProperty(nsICalProperty * property); + NS_IMETHOD AddRRuleProperty(nsICalProperty * property); + NS_IMETHOD SetRecurrenceIDProperty(nsICalProperty * property); + NS_IMETHOD AddRelatedToProperty(nsICalProperty * property); + NS_IMETHOD AddRequestStatusProperty(nsICalProperty * property); + NS_IMETHOD SetStatusProperty(nsICalProperty * property); + NS_IMETHOD SetSummaryProperty(nsICalProperty * property); + NS_IMETHOD SetUIDProperty(nsICalProperty * property); + NS_IMETHOD SetURLProperty(nsICalProperty * property); + +NS_IMETHOD_(PRBool) StoreProperty(nsCalICalendarTag tag, nsICalProperty * prop, + JulianPtrArray * vTimeZones); + + NS_IMETHOD SelfCheck(); + + +}; + +#endif + + + + diff --git a/calendar/modules/core/ical/inc/nsCalVEvent.h b/calendar/modules/core/ical/inc/nsCalVEvent.h new file mode 100644 index 00000000000..860169970a6 --- /dev/null +++ b/calendar/modules/core/ical/inc/nsCalVEvent.h @@ -0,0 +1,66 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- + * + * The contents of this file are subject to the Netscape Public License + * Version 1.0 (the "NPL"); you may not use this file except in + * compliance with the NPL. You may obtain a copy of the NPL at + * http://www.mozilla.org/NPL/ + * + * Software distributed under the NPL is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL + * for the specific language governing rights and limitations under the + * NPL. + * + * The Initial Developer of this code under the NPL is Netscape + * Communications Corporation. Portions created by Netscape are + * Copyright (C) 1998 Netscape Communications Corporation. All Rights + * Reserved. + */ + +#ifndef nsCalVEvent_h___ +#define nsCalVEvent_h___ + +#include "nsCalTimeBasedEvent.h" +#include "nsICalVEvent.h" +#include "vevent.h" +#include "datetime.h" + +class NS_CAL_CORE_ICAL nsCalVEvent: public nsCalTimeBasedEvent, + public nsICalVEvent +{ +public: + nsCalVEvent(); + + NS_DECL_ISUPPORTS + + NS_IMETHOD Init(); + NS_IMETHOD SetParameter(nsString & aKey, nsString & aValue); + + // nsICalVEvent + NS_IMETHOD_(DateTime) GetDTEnd() const; + NS_IMETHOD SetDTEnd(DateTime d, JulianPtrArray * parameters); + NS_IMETHOD SetDTEndProperty(nsICalProperty * property); + + NS_IMETHOD SetGEOProperty(nsICalProperty * property); + NS_IMETHOD SetLocationProperty(nsICalProperty * property); + NS_IMETHOD SetPriorityProperty(nsICalProperty * property); + NS_IMETHOD SetTranspProperty(nsICalProperty * property); + //NS_IMETHOD SetDurationProperty(nsICalProperty * property); + NS_IMETHOD AddResourcesProperty(nsICalProperty * property); + + NS_IMETHOD_(PRBool) StoreProperty(nsCalICalendarTag tag, nsICalProperty * prop, + JulianPtrArray * vTimeZones); + + NS_IMETHOD_(VEvent *) GetICalEvent(); + + NS_IMETHOD_(PRBool) IsValid(); + +protected: + ~nsCalVEvent(); +}; + +#endif + + + + + diff --git a/calendar/modules/core/ical/inc/nsCalendar.h b/calendar/modules/core/ical/inc/nsCalendar.h new file mode 100644 index 00000000000..853e83ede46 --- /dev/null +++ b/calendar/modules/core/ical/inc/nsCalendar.h @@ -0,0 +1,86 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- + * + * The contents of this file are subject to the Netscape Public License + * Version 1.0 (the "NPL"); you may not use this file except in + * compliance with the NPL. You may obtain a copy of the NPL at + * http://www.mozilla.org/NPL/ + * + * Software distributed under the NPL is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL + * for the specific language governing rights and limitations under the + * NPL. + * + * The Initial Developer of this code under the NPL is Netscape + * Communications Corporation. Portions created by Netscape are + * Copyright (C) 1998 Netscape Communications Corporation. All Rights + * Reserved. + */ + +#ifndef nsCalendar_h___ +#define nsCalendar_h___ + +#include "jdefines.h" +#include "nsICalendar.h" +#include "nsICalICalendarParserObject.h" +#include "nsICalICalendarContainer.h" +#include "nscal.h" +#include "nscalcoreicalexp.h" + +class NS_CAL_CORE_ICAL nsCalendar : public nsICalendar, + public nsICalICalendarContainer, + public nsICalICalendarParserObject +{ +public: + nsCalendar(); + + NS_DECL_ISUPPORTS + + /* nsICalICalendarParserObject */ + NS_IMETHOD Init(); + NS_IMETHOD SetParameter(nsString & aKey, nsString & aValue); + + /* nsICalendar */ + NS_IMETHOD_(UnicodeString) GetCalScale() const; + NS_IMETHOD SetCalScale(UnicodeString s, JulianPtrArray * parameters = 0); + NS_IMETHOD SetCalScaleProperty(nsICalProperty * property); + //NS_IMETHOD_(nsICalProperty *) GetCalScaleProperty() const; + + NS_IMETHOD_(UnicodeString) GetVersion() const; + NS_IMETHOD SetVersion(UnicodeString s, JulianPtrArray * parameters = 0); + NS_IMETHOD SetVersionProperty(nsICalProperty * property); + //NS_IMETHOD_(nsICalProperty *) GetVersionProperty() const; + + NS_IMETHOD_(UnicodeString) GetProdid() const; + NS_IMETHOD SetProdid(UnicodeString s, JulianPtrArray * parameters = 0); + NS_IMETHOD SetProdidProperty(nsICalProperty * property); + //NS_IMETHOD_(nsICalProperty *) GetProdidProperty() const; + + NS_IMETHOD_(PRInt32) GetMethod() const; + NS_IMETHOD SetMethod(PRInt32 i); + NS_IMETHOD SetMethodProperty(nsICalProperty * property); + + NS_IMETHOD AddEvent(nsICalVEvent * event); + + NS_IMETHOD_(PRBool) StoreProperty(nsCalICalendarTag tag, nsICalProperty * prop, + JulianPtrArray * vTimeZones); + + NS_IMETHOD_(NSCalendar *) GetNSCalendar() const; +protected: + ~nsCalendar(); + +private: + NSCalendar * mCalendar; +}; + +#endif /* nsCalendar_h___ */ + + + + + + + + + + + diff --git a/calendar/modules/core/ical/inc/nscalcoreicalCIID.h b/calendar/modules/core/ical/inc/nscalcoreicalCIID.h new file mode 100644 index 00000000000..882e1a818bd --- /dev/null +++ b/calendar/modules/core/ical/inc/nscalcoreicalCIID.h @@ -0,0 +1,93 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- + * + * The contents of this file are subject to the Netscape Public License + * Version 1.0 (the "NPL"); you may not use this file except in + * compliance with the NPL. You may obtain a copy of the NPL at + * http://www.mozilla.org/NPL/ + * + * Software distributed under the NPL is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL + * for the specific language governing rights and limitations under the + * NPL. + * + * The Initial Developer of this code under the NPL is Netscape + * Communications Corporation. Portions created by Netscape are + * Copyright (C) 1998 Netscape Communications Corporation. All Rights + * Reserved. + */ + +#ifndef nscalcoreicalCIID_h__ +#define nscalcoreicalCIID_h__ + +#include "nsISupports.h" +#include "nsIFactory.h" +#include "nsRepository.h" + +// 2b502840-646e-11d2-943c-006008268c31 +#define NS_CALICALENDARVCALENDAR_CID \ + { 0x2b502840, 0x646e, 0x11d2, \ + {0x94, 0x3c, 0x00, 0x60, 0x08, 0x26, 0x8c, 0x31} } + +//8cda7330-646e-11d2-943c-006008268c31 +#define NS_CALICALENDARVEVENT_CID \ + { 0x8cda7330, 0x646e, 0x11d2, \ + {0x94, 0x3c, 0x00, 0x60, 0x08, 0x26, 0x8c, 0x31} } + +//904609a0-646e-11d2-943c-006008268c31 +#define NS_CALICALENDARVTODO_CID \ + { 0x904609a0, 0x646e, 0x11d2, \ + {0x94, 0x3c, 0x00, 0x60, 0x08, 0x26, 0x8c, 0x31} } + +//9101fdb0-646e-11d2-943c-006008268c31 +#define NS_CALICALENDARVJOURNAL_CID \ + { 0x9101fdb0, 0x646e, 0x11d2, \ + {0x94, 0x3c, 0x00, 0x60, 0x08, 0x26, 0x8c, 0x31} } + +//9177a720-646e-11d2-943c-006008268c31 +#define NS_CALICALENDARVFREEBUSY_CID \ + { 0x9177a720, 0x646e, 0x11d2, \ + {0x94, 0x3c, 0x00, 0x60, 0x08, 0x26, 0x8c, 0x31} } + +//91ad22b0-646e-11d2-943c-006008268c31 +#define NS_CALICALENDARVTIMEZONE_CID \ + { 0x91ad22b0, 0x646e, 0x11d2, \ + {0x94, 0x3c, 0x00, 0x60, 0x08, 0x26, 0x8c, 0x31} } + +//91d97320-646e-11d2-943c-006008268c31 +#define NS_CALICALENDARVALARM_CID \ + { 0x91d97320, 0x646e, 0x11d2, \ + {0x94, 0x3c, 0x00, 0x60, 0x08, 0x26, 0x8c, 0x31} } + +//9205c390-646e-11d2-943c-006008268c31 +#define NS_CALDATETIMEPROPERTY_CID \ + { 0x9205c390, 0x646e, 0x11d2, \ + { 0x94, 0x3c, 0x00, 0x60, 0x08, 0x26, 0x8c, 0x31} } + +//92352260-646e-11d2-943c-006008268c31 +#define NS_CALSTRINGPROPERTY_CID \ + { 0x92352260, 0x646e, 0x11d2, \ + { 0x94, 0x3c, 0x00, 0x60, 0x08, 0x26, 0x8c, 0x31} } + +//925cdd40-646e-11d2-943c-006008268c31 +#define NS_CALINTEGERPROPERTY_CID \ + { 0x925cdd40, 0x646e, 0x11d2, \ + { 0x94, 0x3c, 0x00, 0x60, 0x08, 0x26, 0x8c, 0x31} } + +//9287a680-646e-11d2-943c-006008268c31 +#define NS_CALICALENDARTIMEBASEDEVENT_CID \ + { 0x9287a680, 0x646e, 0x11d2, \ + {0x94, 0x3c, 0x00, 0x60, 0x08, 0x26, 0x8c, 0x31} } + +//92b3f6f0-646e-11d2-943c-006008268c31 +#define NS_CALATTENDEEPROPERTY_CID \ + { 0x92b3f6f0, 0x646e, 0x11d2, \ + { 0x94, 0x3c, 0x00, 0x60, 0x08, 0x26, 0x8c, 0x31} } + +//92dec030-646e-11d2-943c-006008268c31 +//9329a060-646e-11d2-943c-006008268c31 + +#endif + + + +