diff options
author | Ettore Perazzoli <ettore@src.gnome.org> | 2000-06-10 03:19:36 +0800 |
---|---|---|
committer | Ettore Perazzoli <ettore@src.gnome.org> | 2000-06-10 03:19:36 +0800 |
commit | 7f36752a67c274640378ec096f37e690fd5ca8ed (patch) | |
tree | dcc3124da275074dcf11803bb553d2af384858db /shell/Evolution-ShellComponent.idl | |
parent | 59d329b5b090175e2ea5ffd06cb20dfcd41a7688 (diff) | |
download | gsoc2013-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.idl | 40 |
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); }; }; |