diff options
-rw-r--r-- | shell/ChangeLog | 5 | ||||
-rw-r--r-- | shell/evolution-shell-component-client.c | 14 |
2 files changed, 17 insertions, 2 deletions
diff --git a/shell/ChangeLog b/shell/ChangeLog index 4b1d82a765..8577f7c709 100644 --- a/shell/ChangeLog +++ b/shell/ChangeLog @@ -1,6 +1,11 @@ 2001-03-26 Ettore Perazzoli <ettore@ximian.com> * evolution-shell-component-client.c + (shell_component_result_from_corba_exception): Implement. + +2001-03-26 Ettore Perazzoli <ettore@ximian.com> + + * evolution-shell-component-client.c (evolution_shell_component_client_async_xfer_folder): Handle CORBA exception. (evolution_shell_component_client_async_create_folder): Likewise. diff --git a/shell/evolution-shell-component-client.c b/shell/evolution-shell-component-client.c index d177cf2577..1f6b0273b6 100644 --- a/shell/evolution-shell-component-client.c +++ b/shell/evolution-shell-component-client.c @@ -127,6 +127,16 @@ dispatch_callback (EvolutionShellComponentClient *shell_component_client, (* callback) (shell_component_client, result, callback_data); } +static EvolutionShellComponentResult +shell_component_result_from_corba_exception (const CORBA_Environment *ev) +{ + if (ev->_major == CORBA_NO_EXCEPTION) + return EVOLUTION_SHELL_COMPONENT_OK; + if (ev->_major == CORBA_SYSTEM_EXCEPTION) + return EVOLUTION_SHELL_COMPONENT_CORBAERROR; + return EVOLUTION_SHELL_COMPONENT_CORBAERROR; /* FIXME? */ +} + /* CORBA listener interface implementation. */ @@ -576,7 +586,7 @@ evolution_shell_component_client_async_create_folder (EvolutionShellComponentCli if (ev._major != CORBA_NO_EXCEPTION && priv->callback != NULL) { (* callback) (shell_component_client, - shell_component_result_from_corba_exception (ev), + shell_component_result_from_corba_exception (&ev), data); priv->callback = NULL; priv->callback_data = NULL; @@ -637,7 +647,7 @@ evolution_shell_component_client_async_xfer_folder (EvolutionShellComponentClien if (ev._major != CORBA_NO_EXCEPTION && priv->callback != NULL) { (* callback) (shell_component_client, - shell_component_result_from_corba_exception (ev), + shell_component_result_from_corba_exception (&ev), data); priv->callback = NULL; priv->callback_data = NULL; |