2004-11-22 23:24:13 +03:00
|
|
|
/* -*- Mode: idl; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
|
|
|
/* ***** BEGIN LICENSE BLOCK *****
|
|
|
|
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
|
|
|
*
|
|
|
|
* The contents of this file are subject to the Mozilla Public License Version
|
|
|
|
* 1.1 (the "License"); you may not use this file except in compliance with
|
|
|
|
* the License. You may obtain a copy of the License at
|
|
|
|
* http://www.mozilla.org/MPL/
|
|
|
|
*
|
|
|
|
* Software distributed under the License is distributed on an "AS IS" basis,
|
|
|
|
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
|
|
|
* for the specific language governing rights and limitations under the
|
|
|
|
* License.
|
|
|
|
*
|
|
|
|
* The Original Code is Oracle Corporation code.
|
|
|
|
*
|
|
|
|
* The Initial Developer of the Original Code is
|
|
|
|
* Oracle Corporation
|
|
|
|
* Portions created by the Initial Developer are Copyright (C) 2004
|
|
|
|
* the Initial Developer. All Rights Reserved.
|
|
|
|
*
|
|
|
|
* Contributor(s):
|
|
|
|
* Mike Shaver <shaver@off.net>
|
|
|
|
*
|
|
|
|
* Alternatively, the contents of this file may be used under the terms of
|
|
|
|
* either the GNU General Public License Version 2 or later (the "GPL"), or
|
|
|
|
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
|
|
|
* in which case the provisions of the GPL or the LGPL are applicable instead
|
|
|
|
* of those above. If you wish to allow use of your version of this file only
|
|
|
|
* under the terms of either the GPL or the LGPL, and not to allow others to
|
|
|
|
* use your version of this file under the terms of the MPL, indicate your
|
|
|
|
* decision by deleting the provisions above and replace them with the notice
|
|
|
|
* and other provisions required by the GPL or the LGPL. If you do not delete
|
|
|
|
* the provisions above, a recipient may use your version of this file under
|
|
|
|
* the terms of any one of the MPL, the GPL or the LGPL.
|
|
|
|
*
|
|
|
|
* ***** END LICENSE BLOCK ***** */
|
|
|
|
|
|
|
|
#include "nsISupports.idl"
|
|
|
|
|
|
|
|
interface calIItemBase;
|
2004-11-24 01:16:58 +03:00
|
|
|
interface calIDateTime;
|
2004-11-22 23:24:13 +03:00
|
|
|
|
2004-11-25 23:25:41 +03:00
|
|
|
interface calIIcalProperty;
|
|
|
|
|
2004-11-22 23:24:13 +03:00
|
|
|
[scriptable,uuid(4d7e456b-cfd0-4ebf-8794-c57789dafdc3)]
|
|
|
|
interface calIIcalComponent : nsISupports
|
|
|
|
{
|
2004-12-12 00:17:36 +03:00
|
|
|
/**
|
|
|
|
* This is the value that an integer-valued getter will provide if
|
|
|
|
* there is no such property on the wrapped ical structure.
|
|
|
|
*/
|
|
|
|
const PRInt32 INVALID_VALUE = -1;
|
|
|
|
|
|
|
|
calIIcalComponent getFirstSubcomponent(in PRInt32 componentType);
|
|
|
|
calIIcalComponent getNextSubcomponent(in PRInt32 componentType);
|
|
|
|
|
|
|
|
const PRInt32 ANY_COMPONENT = 1;
|
|
|
|
const PRInt32 XROOT_COMPONENT = 2;
|
|
|
|
const PRInt32 VEVENT_COMPONENT = 4;
|
|
|
|
const PRInt32 VTODO_COMPONENT = 5;
|
|
|
|
const PRInt32 VJOURNAL_COMPONENT = 6;
|
|
|
|
const PRInt32 VCALENDAR_COMPONENT = 7;
|
|
|
|
const PRInt32 VFREEBUSY_COMPONENT = 8;
|
|
|
|
readonly attribute PRInt32 isA;
|
2004-11-22 23:24:13 +03:00
|
|
|
|
|
|
|
attribute AUTF8String uid;
|
2004-11-25 21:02:11 +03:00
|
|
|
attribute AUTF8String prodid;
|
|
|
|
attribute AUTF8String version;
|
2004-11-22 23:24:13 +03:00
|
|
|
|
2004-12-12 00:17:36 +03:00
|
|
|
const PRInt32 METHOD_PUBLISH = 10012;
|
|
|
|
const PRInt32 METHOD_REQUEST = 10013;
|
|
|
|
const PRInt32 METHOD_REPLY = 10014;
|
|
|
|
const PRInt32 METHOD_ADD = 10015;
|
|
|
|
const PRInt32 METHOD_CANCEL = 10016;
|
|
|
|
const PRInt32 METHOD_REFRESH = 10017;
|
|
|
|
const PRInt32 METHOD_COUNTER = 10018;
|
|
|
|
const PRInt32 METHOD_DECLINECOUNTER = 10019;
|
|
|
|
const PRInt32 METHOD_CREATE = 10020;
|
|
|
|
const PRInt32 METHOD_READ = 10021;
|
|
|
|
const PRInt32 METHOD_RESPONSE = 10022;
|
|
|
|
const PRInt32 METHOD_MOVE = 10023;
|
|
|
|
const PRInt32 METHOD_MODIFY = 10024;
|
|
|
|
const PRInt32 METHOD_GENERATEUID = 10025;
|
|
|
|
const PRInt32 METHOD_DELETE = 10026;
|
|
|
|
const PRInt32 METHOD_NONE = 10027;
|
|
|
|
attribute PRInt32 method;
|
|
|
|
|
|
|
|
const PRInt32 STATUS_TENTATIVE = 10029;
|
|
|
|
const PRInt32 STATUS_CONFIRMED = 10030;
|
|
|
|
const PRInt32 STATUS_COMPLETED = 10031;
|
|
|
|
const PRInt32 STATUS_NEEDSACTION = 10032;
|
|
|
|
const PRInt32 STATUS_CANCELLED = 10033;
|
|
|
|
const PRInt32 STATUS_INPROCESS = 10034;
|
|
|
|
const PRInt32 STATUS_DRAFT = 10035;
|
|
|
|
const PRInt32 STATUS_FINAL = 10036;
|
|
|
|
const PRInt32 STATUS_NONE = 10037;
|
|
|
|
attribute PRInt32 status;
|
|
|
|
|
|
|
|
const PRInt32 TRANSP_OPAQUE = 10039;
|
|
|
|
const PRInt32 TRANSP_TRANSPARENT = 10040;
|
|
|
|
attribute PRInt32 transp;
|
2004-11-25 21:02:11 +03:00
|
|
|
|
2004-11-22 23:24:13 +03:00
|
|
|
attribute AUTF8String summary;
|
|
|
|
attribute AUTF8String description;
|
|
|
|
attribute AUTF8String location;
|
|
|
|
attribute AUTF8String categories;
|
2004-11-23 23:11:28 +03:00
|
|
|
attribute AUTF8String URL;
|
2004-11-22 23:24:13 +03:00
|
|
|
|
2004-12-12 00:17:36 +03:00
|
|
|
attribute PRInt32 priority;
|
2004-11-22 23:24:13 +03:00
|
|
|
|
2004-12-12 00:17:36 +03:00
|
|
|
const PRInt32 VISIBILITY_PUBLIC = 10007;
|
|
|
|
const PRInt32 VISIBILITY_PRIVATE = 10008;
|
|
|
|
const PRInt32 VISIBILITY_CONFIDENTIAL = 10009;
|
|
|
|
const PRInt32 VISIBILITY_NONE = 10010;
|
|
|
|
attribute PRInt32 icalClass;
|
2004-11-24 01:16:58 +03:00
|
|
|
|
|
|
|
attribute calIDateTime startTime;
|
|
|
|
attribute calIDateTime endTime;
|
|
|
|
attribute calIDateTime dueTime;
|
|
|
|
attribute calIDateTime stampTime;
|
|
|
|
|
|
|
|
attribute calIDateTime createdTime;
|
|
|
|
attribute calIDateTime completedTime;
|
|
|
|
attribute calIDateTime lastModified;
|
2004-11-24 02:24:36 +03:00
|
|
|
|
|
|
|
void getAttendees(out PRUint32 count,
|
|
|
|
[array,size_is(count),retval] out string attendees);
|
|
|
|
void setAttendees(in PRUint32 count,
|
|
|
|
[array,size_is(count)] in string attendees);
|
2004-11-24 11:51:07 +03:00
|
|
|
|
|
|
|
AUTF8String serializeToICS();
|
|
|
|
|
|
|
|
void addSubcomponent(in calIIcalComponent comp);
|
2004-11-25 23:25:41 +03:00
|
|
|
void removeSubcomponent(in calIIcalComponent comp);
|
|
|
|
|
2004-12-12 00:17:36 +03:00
|
|
|
const PRInt32 ANY_PROPERTY = 0;
|
|
|
|
const PRInt32 ACTION_PROPERTY = 1;
|
|
|
|
const PRInt32 ATTACH_PROPERTY = 2;
|
|
|
|
const PRInt32 ATTENDEE_PROPERTY = 3;
|
|
|
|
calIIcalProperty getFirstProperty(in PRInt32 kind);
|
|
|
|
calIIcalProperty getNextProperty(in PRInt32 kind);
|
|
|
|
calIIcalProperty addProperty(in PRInt32 kind);
|
2004-11-25 23:25:41 +03:00
|
|
|
void removeProperty(in calIIcalProperty prop);
|
|
|
|
|
|
|
|
calIIcalProperty getFirstXProperty(in AUTF8String xpropname);
|
|
|
|
calIIcalProperty getNextXProperty(in AUTF8String xpropname);
|
|
|
|
calIIcalProperty addXProperty(in AUTF8String xpropname,
|
|
|
|
in AUTF8String xpropval);
|
|
|
|
};
|
|
|
|
|
|
|
|
[scriptable,uuid(17349a10-5d80-47fa-9bea-f22957357675)]
|
|
|
|
interface calIIcalProperty : nsISupports
|
|
|
|
{
|
|
|
|
attribute AUTF8String stringValue;
|
2004-12-12 00:17:36 +03:00
|
|
|
readonly attribute PRInt32 isA;
|
2004-11-25 23:25:41 +03:00
|
|
|
|
|
|
|
AUTF8String getXParameter(in AUTF8String xparamname);
|
|
|
|
void setXParameter(in AUTF8String xparamname, in AUTF8String xparamval);
|
|
|
|
void removeXParameter(in AUTF8String xparamname);
|
|
|
|
|
2004-12-12 00:17:36 +03:00
|
|
|
const PRInt32 ALTREP_PARAMETER = 1;
|
|
|
|
const PRInt32 CN_PARAMETER = 2;
|
|
|
|
const PRInt32 CUTYPE_PARAMETER = 3;
|
|
|
|
const PRInt32 DELEGATEDFROM_PARAMETER = 4;
|
|
|
|
const PRInt32 DELEGATEDTO_PARAMETER = 5;
|
|
|
|
const PRInt32 DIR_PARAMETER = 6;
|
|
|
|
const PRInt32 ENCODING_PARAMETER = 7;
|
|
|
|
const PRInt32 FBTYPE_PARAMETER = 8;
|
|
|
|
const PRInt32 FMTTYPE_PARAMETER = 9;
|
|
|
|
const PRInt32 LANGUAGE_PARAMETER = 10;
|
|
|
|
const PRInt32 MEMBER_PARAMETER = 11;
|
|
|
|
const PRInt32 PARTSTAT_PARAMETER = 12;
|
|
|
|
const PRInt32 RANGE_PARAMETER = 13;
|
|
|
|
const PRInt32 RELATED_PARAMETER = 14;
|
|
|
|
const PRInt32 RELTYPE_PARAMETER = 15;
|
|
|
|
const PRInt32 ROLE_PARAMETER = 16;
|
|
|
|
const PRInt32 RSVP_PARAMETER = 17;
|
|
|
|
const PRInt32 SENTBY_PARAMETER = 18;
|
|
|
|
const PRInt32 TZID_PARAMETER = 19;
|
|
|
|
const PRInt32 VALUE_PARAMETER = 20;
|
2004-11-25 23:25:41 +03:00
|
|
|
/* const PRUint32 X_PARAMETER = 21; */
|
2004-12-12 00:17:36 +03:00
|
|
|
const PRInt32 XLICCOMPARETYPE_PARAMETER = 22;
|
|
|
|
const PRInt32 XLICERRORTYPE_PARAMETER = 23;
|
2004-11-25 23:25:41 +03:00
|
|
|
|
2004-12-12 00:17:36 +03:00
|
|
|
AUTF8String getParameter(in PRInt32 kind);
|
|
|
|
void setParameter(in PRInt32 kind, in AUTF8String value);
|
|
|
|
void removeParameter(in PRInt32 kind);
|
2004-11-22 23:24:13 +03:00
|
|
|
};
|
|
|
|
|
|
|
|
[scriptable,uuid(c788a1dc-0929-4029-9a14-e1bc654eafad)]
|
|
|
|
interface calIICSService : nsISupports
|
|
|
|
{
|
|
|
|
calIIcalComponent parseICS(in AUTF8String serialized);
|
2004-12-12 00:17:36 +03:00
|
|
|
calIIcalComponent createIcalComponent(in PRInt32 kind);
|
2004-11-22 23:24:13 +03:00
|
|
|
};
|