/* * * Author: * Nat Friedman (nat@helixcode.com) * * Copyright 2000, Helix Code, Inc. */ #include module Evolution { typedef string CardId; interface CardCursor { }; interface Book : GNOME::Unknown { /* * Fetching cards in the addresbook. */ string get_vcard (in CardId id); /* * Adding and deleting cards in the book. */ void create_card (in string vcard); void remove_card (in CardId Id); /* * Modifying cards in the addressbook. */ void modify_card (in CardId id, in string vcard); }; interface BookListener : GNOME::Unknown { enum CallStatus { RepositoryOffline, PermissionDenied, CardNotFound, ProtocolNotSupported }; void respond_create_card (in CallStatus status); void respond_remove_card (in CallStatus status); void respond_modify_card (in CallStatus status); void report_open_book_progress (in string status_message, in short percent); void respond_open_book (in CallStatus status, in Book book); /** * report_connection_status: * * Used to report changes in the connection to the * contact repository. This is often a response to a * call to check_connection() on the Book, but wombat * is free to report the connection status without * being asked. */ void report_connection_status (in boolean connected); }; interface BookFactory : GNOME::Unknown { void open_book (in string uri, in BookListener listener); }; };