aboutsummaryrefslogtreecommitdiffstats
path: root/shell/Evolution-ShellComponent.idl
diff options
context:
space:
mode:
authorEttore Perazzoli <ettore@src.gnome.org>2000-06-10 03:19:36 +0800
committerEttore Perazzoli <ettore@src.gnome.org>2000-06-10 03:19:36 +0800
commit7f36752a67c274640378ec096f37e690fd5ca8ed (patch)
treedcc3124da275074dcf11803bb553d2af384858db /shell/Evolution-ShellComponent.idl
parent59d329b5b090175e2ea5ffd06cb20dfcd41a7688 (diff)
downloadgsoc2013-evolution-7f36752a67c274640378ec096f37e690fd5ca8ed.tar.gz
gsoc2013-evolution-7f36752a67c274640378ec096f37e690fd5ca8ed.tar.zst
gsoc2013-evolution-7f36752a67c274640378ec096f37e690fd5ca8ed.zip
Initial support for creating/removing folders. This implies some new
IDL methods and new functions to implement on the component side. I have also added a simple folder creation dialog in the shell. It's quite unfinished and untested. svn path=/trunk/; revision=3491
Diffstat (limited to 'shell/Evolution-ShellComponent.idl')
-rw-r--r--shell/Evolution-ShellComponent.idl40
1 files changed, 37 insertions, 3 deletions
diff --git a/shell/Evolution-ShellComponent.idl b/shell/Evolution-ShellComponent.idl
index 6f0e566d44..7c95489889 100644
--- a/shell/Evolution-ShellComponent.idl
+++ b/shell/Evolution-ShellComponent.idl
@@ -20,20 +20,54 @@ module Evolution {
typedef sequence<FolderType> FolderTypeList;
+ interface ShellComponentListener;
+
interface ShellComponent : Bonobo::Unknown {
readonly attribute FolderTypeList supported_types;
- /* FIXME can we use an attribute here? */
+ /* FIXME: Can we use an attribute here? */
exception AlreadyOwned {};
+
void set_owner (in Shell shell)
raises (AlreadyOwned);
exception NotOwned {};
+
void unset_owner ()
raises (NotOwned);
+ /* FIXME: We might want more exceptions here. */
exception NotFound {};
- Bonobo::Control create_view (in string physical_uri)
- raises (NotFound);
+ exception UnsupportedType {};
+ exception InternalError {};
+
+ Bonobo::Control create_view (in string physical_uri,
+ in string type)
+ raises (NotFound, UnsupportedType, InternalError);
+
+ exception Busy {};
+
+ void async_create_folder (in ShellComponentListener listener,
+ in string physical_uri,
+ in string type)
+ raises (Busy);
+ void async_remove_folder (in ShellComponentListener listener,
+ in string physical_uri)
+ raises (Busy);
+ };
+
+ interface ShellComponentListener {
+ enum Result {
+ OK,
+ UNSUPPORTED_OPERATION,
+ UNSUPPORTED_TYPE,
+ EXISTS,
+ INVALID_URI,
+ PERMISSION_DENIED,
+ HAS_SUBFOLDERS,
+ NO_SPACE
+ };
+
+ void report_result (in Result result);
};
};