diff options
author | Not Zed <NotZed@Ximian.com> | 2005-05-26 18:40:56 +0800 |
---|---|---|
committer | Michael Zucci <zucchi@src.gnome.org> | 2005-05-26 18:40:56 +0800 |
commit | 10c92931e083b34d3395744433edda5a493a3054 (patch) | |
tree | e433d945f32e7316771e3b518afb29736c64a4f0 /plugins/mail-remote/Evolution-DataServer-Mail.idl | |
parent | f657c69d7b4375a9a4fd202890b17a1e7e280d89 (diff) | |
download | gsoc2013-evolution-10c92931e083b34d3395744433edda5a493a3054.tar gsoc2013-evolution-10c92931e083b34d3395744433edda5a493a3054.tar.gz gsoc2013-evolution-10c92931e083b34d3395744433edda5a493a3054.tar.bz2 gsoc2013-evolution-10c92931e083b34d3395744433edda5a493a3054.tar.lz gsoc2013-evolution-10c92931e083b34d3395744433edda5a493a3054.tar.xz gsoc2013-evolution-10c92931e083b34d3395744433edda5a493a3054.tar.zst gsoc2013-evolution-10c92931e083b34d3395744433edda5a493a3054.zip |
New helpers for listeners.
2005-05-26 Not Zed <NotZed@Ximian.com>
* evolution-mail-folderlistener.[ch]:
* evolution-mail-sessionlistener.[ch]:
* evolution-mail-storelistener.[ch]: New helpers for listeners.
* evolution-mail-listener.[ch]: removed.
* Evolution-DataServer-Mail.idl: removed the GNOME prefix, Bonobo
doesn't use it, and it just adds pointless typing. Added
getmessage and appendmessage interaces. Moved listeners to each
object rather than one global listener.
svn path=/trunk/; revision=29414
Diffstat (limited to 'plugins/mail-remote/Evolution-DataServer-Mail.idl')
-rw-r--r-- | plugins/mail-remote/Evolution-DataServer-Mail.idl | 68 |
1 files changed, 37 insertions, 31 deletions
diff --git a/plugins/mail-remote/Evolution-DataServer-Mail.idl b/plugins/mail-remote/Evolution-DataServer-Mail.idl index ffd32f8594..4d6b0ad43d 100644 --- a/plugins/mail-remote/Evolution-DataServer-Mail.idl +++ b/plugins/mail-remote/Evolution-DataServer-Mail.idl @@ -10,7 +10,6 @@ #include <Bonobo.idl> -module GNOME { module Evolution { module Mail { exception NOT_SUPPORTED { @@ -18,7 +17,7 @@ module Mail { }; exception FAILED { - string why; +// string why; }; interface Folder; @@ -113,43 +112,43 @@ module Mail { }; typedef sequence <FolderChange> FolderChanges; - interface Listener : Bonobo::Unknown { - oneway void sessionChanged(in Session session, in SessionChanges changes); - // maybe folder/store should be folderinfo/storeinfo? - oneway void storeChanged(in Session session, in Store store, in StoreChanges changes); - oneway void folderChanged(in Session session, in Store store, in Folder folder, in FolderChanges changes); + /* ********************************************************************** */ + /* listeners */ + + interface SessionListener : Bonobo::Unknown { + oneway void changed(in Session session, in SessionChanges changes); + + oneway void shutdown(in Session session); + }; + + interface StoreListener : Bonobo::Unknown { + oneway void changed(in Store store, in StoreChanges changes); + }; - // session is closed/exited? - //oneway void closed(); + interface FolderListener : Bonobo::Unknown { + oneway void changed(in Folder folder, in FolderChanges changes); }; /* ********************************************************************** */ - interface Session : Bonobo::Unknown { - // Flags to pass to addListener - const long SESSION_ADDED = 1 << 0; - const long SESSION_CHANGED = 1 << 1; - const long SESSION_REMOVED = 1 << 2; - const long STORE_ADDED = 1 << 3; - const long STORE_CHANGED = 1 << 4; - const long STORE_REMOVED = 1 << 5; - const long FOLDER_ADDED = 1 << 6; - const long FOLDER_CHANGED = 1 << 7; - const long FOLDER_REMOVED = 1 << 8; +// If this is done, then Session shouldn't have add/removeListener anymore +// interface Factory : Bonobo::Unknown { +// Session getSession(in string base, in SessionListener listener); +// }; + interface Session : Bonobo::Unknown { boolean getProperties(in PropertyNames names, out Properties props); - StoreInfos getStores(in string pattern); + StoreInfos getStores(in string pattern, in StoreListener listener); - /* flags defines what to listen to */ - void addListener(in Listener listener, in long flags); - void removeListener(in Listener listener); + void addListener(in SessionListener listener); + void removeListener(in SessionListener listener); }; interface Store : Bonobo::Unknown { boolean getProperties(in PropertyNames names, out Properties props); - FolderInfos getFolders(in string pattern) + FolderInfos getFolders(in string pattern, in FolderListener listener) raises (NOT_SUPPORTED, FAILED); void sendMessage(in Bonobo::Stream msg) @@ -157,21 +156,28 @@ module Mail { }; interface MessageIterator : Bonobo::Unknown { - MessageInfos next(in long limit); + MessageInfos next(in long limit) + raises (FAILED); + + void dispose(); }; interface Folder : Bonobo::Unknown { boolean getProperties(in PropertyNames names, out Properties props); - MessageIterator getMessages(in string pattern); + MessageIterator getMessages(in string pattern) + raises (NOT_SUPPORTED, FAILED); - void changeMessages(in MessageInfoSets infos); + void changeMessages(in MessageInfoSets infos) + raises (NOT_SUPPORTED); -// Bonobo::Stream getMessage(in string uid); -// void appendMessage(in MessageInfoSet info, in Bonobo::Stream msg); + Bonobo::Stream getMessage(in string uid) + raises (NOT_SUPPORTED, FAILED); + + void appendMessage(in MessageInfoSet info, in Bonobo::Stream msg) + raises (NOT_SUPPORTED, FAILED); }; }; }; -}; #endif |