diff options
Diffstat (limited to 'shell/Evolution-Storage.idl')
-rw-r--r-- | shell/Evolution-Storage.idl | 20 |
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); }; }; }; |