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.idl53
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);
+ };
+};