blob: 5c39956170ea153bbb0fa16d21335310cf794504 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
|
/* GNOME calendar interfaces
*
* Copyright (C) 2000 Eskil Heyn Olsen
* Copyright (C) 2000 Helix Code, Inc.
*
* Authors: Eskil Heyn Olsen <deity@eskil.dk>
* Federico Mena-Quintero <federico@helixcode.com>
*/
#ifndef _GNOME_CALENDAR_IDL_
#define _GNOME_CALENDAR_IDL_
#include <gnome-unknown.idl>
module GNOME {
module Calendar {
/* A calendar object (event/todo/journal/etc), represented as an
* iCalendar string.
*/
typedef string CalObj;
/* An unique identifier for a calendar object */
typedef string CalObjUID;
interface Listener;
/* Calendar client interface */
interface Cal : Unknown {
/* A calendar is identified by its URI */
readonly attribute string uri;
};
/* Listener for changes in a calendar */
interface Listener : Unknown {
/* Return status when loading a calendar; we need better error reporting */
enum LoadStatus {
SUCESSS,
ERROR
};
/* Called from a CalFactory when a calendar is initially loaded
* or created. The listener must remember the cal object.
*/
void cal_loaded (in LoadStatus status, in Cal cal);
/* Called from a Calendar when an object is added */
void obj_added (in CalObj calobj);
/* Called from a Calendar when an object is removed */
void obj_removed (in CalObjUID uid);
/* Called from a Calendar when an object is changed */
void obj_changed (in CalObj calobj);
};
/* A calendar factory, can load and create calendars */
interface CalFactory : Unknown {
exception NilListener {};
/* Load a calendar from an URI */
void load (in string uri, in Listener listener)
raises (NilListener);
/* Create a new calendar at the specified URI */
void create (in string uri, in Listener listener)
raises (NilListener);
};
};
};
#endif
|