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

                     






                                              
                                                                 





                                                                    
                                                       













                                                                         






                                                                            

















                                                                             








                                                                                                    






                                                                         






                                                                                  
                           
                                                                                           

                                       








                                                                                  
 
                          








                                                                                 
 
#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_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_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 ();
        };
    };
};