aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/mail-remote/Evolution-DataServer-Mail.idl
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/mail-remote/Evolution-DataServer-Mail.idl')
-rw-r--r--plugins/mail-remote/Evolution-DataServer-Mail.idl68
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