diff options
Diffstat (limited to 'shell/Evolution-Storage.idl')
-rw-r--r-- | shell/Evolution-Storage.idl | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/shell/Evolution-Storage.idl b/shell/Evolution-Storage.idl new file mode 100644 index 0000000000..d88db2f152 --- /dev/null +++ b/shell/Evolution-Storage.idl @@ -0,0 +1,53 @@ +/* -*- Mode: IDL; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Storage interface for the Evolution shell. + * + * Authors: + * Ettore Perazzoli <ettore@helixcode.com> + * + * Copyright (C) 2000 Helix Code, Inc. + */ + +#include <Bonobo.h> + +module Evolution { + struct Folder { + string type; + string description; + string name; + string physical_uri; + }; + + interface Storage; + interface StorageListener; + + interface Storage : Bonobo::Unknown { + attribute string name; + + void set_listener (in StorageListener storage_listener); + }; + + interface StorageListener { + exception Exists {}; + exception NotFound {}; + + void destroyed (); + + void new_folder (in string path, in Folder folder) + raises (Exists); + + void removed_folder (in string path) + raises (NotFound); + }; + + interface StorageRegistry : Bonobo::Unknown { + exception Exists {}; + exception NotFound {}; + + StorageListener register_storage (in Storage storage, in string name) + raises (Exists); + + void unregister_storage (in string name) + raises (NotFound); + }; +}; |