aboutsummaryrefslogtreecommitdiffstats
path: root/shell/Evolution-Storage.idl
diff options
context:
space:
mode:
Diffstat (limited to 'shell/Evolution-Storage.idl')
-rw-r--r--shell/Evolution-Storage.idl20
1 files changed, 20 insertions, 0 deletions
diff --git a/shell/Evolution-Storage.idl b/shell/Evolution-Storage.idl
index d5fd5e2d0d..68758ff009 100644
--- a/shell/Evolution-Storage.idl
+++ b/shell/Evolution-Storage.idl
@@ -87,7 +87,18 @@ module Evolution {
interface StorageRegistry : Bonobo::Unknown {
exception Exists {};
exception NotFound {};
+ exception AlreadyListening {};
+
+ enum MessageType {
+ STORAGE_CREATED,
+ STORAGE_DESTROYED
+ };
+ struct NotifyResult {
+ MessageType type;
+ string name;
+ };
+
/* FIXME: The toplevel attributes should probably be attributes
of the storage instead of being passed here. */
StorageListener addStorage (in Storage storage,
@@ -95,9 +106,18 @@ module Evolution {
in string toplevel_node_uri,
in string toplevel_node_type)
raises (Exists);
+
+ Storage getStorageByName (in string name)
+ raises (NotFound);
void removeStorageByName (in string name)
raises (NotFound);
+
+ void addListener (in Bonobo::Listener listener)
+ raises (AlreadyListening);
+
+ void removeListener (in Bonobo::Listener listener)
+ raises (NotFound);
};
};
};