diff options
author | Ettore Perazzoli <ettore@src.gnome.org> | 2001-09-15 03:27:41 +0800 |
---|---|---|
committer | Ettore Perazzoli <ettore@src.gnome.org> | 2001-09-15 03:27:41 +0800 |
commit | 1b26832f1402c6e5f40aadb7a95e323fb5dac326 (patch) | |
tree | efc9660871331f6f6d2cdaf0a3e66e7f94bb6996 /shell/Evolution-Shell.idl | |
parent | efa43cbf6f1e5902ea0b426eb6b7212e9096acb9 (diff) | |
download | gsoc2013-evolution-1b26832f1402c6e5f40aadb7a95e323fb5dac326.tar gsoc2013-evolution-1b26832f1402c6e5f40aadb7a95e323fb5dac326.tar.gz gsoc2013-evolution-1b26832f1402c6e5f40aadb7a95e323fb5dac326.tar.bz2 gsoc2013-evolution-1b26832f1402c6e5f40aadb7a95e323fb5dac326.tar.lz gsoc2013-evolution-1b26832f1402c6e5f40aadb7a95e323fb5dac326.tar.xz gsoc2013-evolution-1b26832f1402c6e5f40aadb7a95e323fb5dac326.tar.zst gsoc2013-evolution-1b26832f1402c6e5f40aadb7a95e323fb5dac326.zip |
[Fix #8204 and the other bugs caused by allowing invocations on
the ::Shell interface to happen before the shell is actually fully
initialized. This is a lame hack and not a nice, complete
solution for the problem, but it should do for now.]
* e-shell.c: New member `is_initialized' in `EShellPrivate'.
(init): Initialize to %FALSE.
(e_shell_construct): Set `is_initialized' to %TRUE after the
initialization sequence is finished.
(raise_exception_if_not_ready): New utility function to raise the
notReady exception if the shell is not ready.
(impl_Shell__get_displayName): Call it.
(impl_Shell_getComponentByType): Likewise.
(impl_Shell_createNewView): Likewise.
(impl_Shell_handleURI): Likewise.
(impl_Shell_selectUserFolder): Likewise.
(impl_Shell_getLocalStorage): Likewise.
(impl_Shell_createStorageSetView): Likewise.
(impl_Shell_setLineStatus): Likewise.
(e_shell_construct): Print out the repo_id of the exception from
`bonobo_get_object()' if it fails. Also, register on OAF just
before displaying the splash.
* Evolution-Shell.idl: New exception `NotReady'. All the CORBA
methods on ::Shell can now raise this exception.
svn path=/trunk/; revision=12826
Diffstat (limited to 'shell/Evolution-Shell.idl')
-rw-r--r-- | shell/Evolution-Shell.idl | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/shell/Evolution-Shell.idl b/shell/Evolution-Shell.idl index 92a428fdbf..7d8889b463 100644 --- a/shell/Evolution-Shell.idl +++ b/shell/Evolution-Shell.idl @@ -17,6 +17,7 @@ module Evolution { interface FolderSelectionListener; interface Shell : Bonobo::Unknown { + exception NotReady {}; exception NotFound {}; exception UnsupportedSchema {}; exception InvalidURI {}; @@ -38,7 +39,7 @@ module Evolution { * handles @type. */ ShellComponent getComponentByType (in string type) - raises (NotFound); + raises (NotReady, NotFound); /** * createNewView: @@ -47,7 +48,7 @@ module Evolution { * Return value: the new view. */ ShellView createNewView (in string uri) - raises (NotFound, UnsupportedSchema, InvalidURI, InternalError); + raises (NotReady, NotFound, UnsupportedSchema, InvalidURI, InternalError); /** * handleURI: @@ -59,7 +60,7 @@ module Evolution { * the message composer.) */ void handleURI (in string uri) - raises (NotFound, UnsupportedSchema, InvalidURI, InternalError); + raises (NotReady, NotFound, UnsupportedSchema, InvalidURI, InternalError); /** * selectUserFolder: @@ -78,7 +79,7 @@ module Evolution { in string title, in string default_folder, in FolderTypeNameList possible_types) - raises (Busy); + raises (NotReady, Busy); /** * getLocalStorage: @@ -90,7 +91,8 @@ module Evolution { * * Return value: the `Evolution::LocalStorage' interface for * the local storage. */ - Storage getLocalStorage (); + Storage getLocalStorage () + raises (NotReady); /** * createStorageSetView: @@ -100,14 +102,16 @@ module Evolution { * * Return value: the newly created control. */ - Bonobo::Control createStorageSetView (); + Bonobo::Control createStorageSetView () + raises (NotReady); /** * setLineStatus: * * Set the shell into on-line or off-line mode. */ - void setLineStatus (in boolean online); + void setLineStatus (in boolean online) + raises (NotReady); }; interface FolderSelectionListener { |