aboutsummaryrefslogblamecommitdiffstats
path: root/calendar/GnomeCal.idl
blob: 3f9a64d291124aa98dc916bb9d3596900a405a21 (plain) (tree)
1
2
3
4
5
6
7
8






                                              
                                                                 





                                                                    
                                                       




                                                            











                                                                              








                                                                         






                                                                            

















                                                                             








                                                                                                    

                                       

                                                                            




                                                                   






                                                                         






                                                                                  





                                                                        
                          








                                                                                 
 
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 in the calendar
             * repository. 
             */
            long get_number_of_objects();

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