aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/gui/GnomeCal.idl
blob: 1e426fae36933b2a1071b412c60fc1d90439d9d5 (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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
#include <Bonobo.idl>

module GNOME {

    module Calendar {
        
        interface Repository {

            exception NotFound {};
            typedef sequence<string> String_Sequence;

            /*
             * get_object:
             * @uid: Unique Identifier for the object
             *
             * Returns a vCalendar object for the object
             * that matches the UID @uid.  
             */
            string get_object    (in string uid)
                raises (NotFound);

            /*
             * get_objects_by_id_list:
             * @uid_list: a sequence of Unique Identifiers
             *
             * Returns a vCalendar object for the objects
             * that matches the given UID list @uid_list;
             * NotFound is raised if any of the given UIDs
             * were not found.
             */
            string get_objects_by_id_list (in String_Sequence uid)
                raises (NotFound);

            /*
             * get_object_by_pilot_id:
             * @pilot_id: the pilot id
             * 
             * Returns the object that has the @pilot_id 
             * identifier.
             */
            string get_object_by_pilot_id (in long pilot_id) 
                raises (NotFound);

            /*
             * get_id_from_pilot_id:
             * @pilot_id: the pilot id
             * 
             * Returns the object id that matches the @pilot_id 
             * identifier.
             */
            string get_id_from_pilot_id (in long pilot_id)
                raises (NotFound);

            /*
             * delete_object:
             * @uid: Unique Identifier for the object
             */
            void delete_object (in string uid)
                raises (NotFound);

            /*
             * update_object:
             * @uid: uid of object to update
             * @object: vcard object to update 
             */
            void update_object (in string uid, in string object);

            /*
             * update_pilot_id:
             * @uid: Unique identifier for the event we want to update
             * @pilot_id: new ID assigned by the pilot
             * @pilot_status: Status to flag the event with
             */
            void update_pilot_id (in string uid, in long pilot_id, in long pilot_status)
                raises (NotFound);

            /*
             * get_objects:
             * 
             * Danger Will Robinson : This can result in a 
             * huge string, namely the size of all your entries.
             * Returns a vCalendar with all the objects
             */
            string get_objects ();

            /*
             * get_object_id_list
             *
             * Returns a sequence of the UID's of the entries
             */
            String_Sequence get_object_id_list();

            /*
             * get_updated_objects:
             * 
             * Returns a vCalendar with all the objects that have been
             * modified since the last Pilot Sync
             */
            string get_updated_objects ();

            /* 
             * Returns the number of objects of a specific type in the calendar
             * repository. 
             */

            enum RecordStatus {
                ANY,      /* This means all records */
                NEW,
                MODIFIED,
                DELETED
            };

            long get_number_of_objects(in RecordStatus record_status);

            /*
             * done:
             * 
             * Informs the calendar that we are done using it,
             * gets a chance to destroy windows and save information.
             */
            void done ();
        };
    };
};