diff options
author | bala <balanatarajan@users.noreply.github.com> | 2000-04-29 17:56:27 +0000 |
---|---|---|
committer | bala <balanatarajan@users.noreply.github.com> | 2000-04-29 17:56:27 +0000 |
commit | c886c65ff9da0255b2621fc8c9bc18fd97375d74 (patch) | |
tree | cabc5e4bb0ada6ed59594bc05e98d5de9260a21b /TAO | |
parent | 3216e37d2b69c6751eb7888c4c699241affab97e (diff) | |
download | ATCD-c886c65ff9da0255b2621fc8c9bc18fd97375d74.tar.gz |
ChangeLogTag: Sat Apr 29 12:53:26 2000 Balachandran Natarajan <bala@cs.wustl.edu>
Diffstat (limited to 'TAO')
-rw-r--r-- | TAO/ChangeLogs/ChangeLog-02a | 7 | ||||
-rw-r--r-- | TAO/tao/Invocation.cpp | 43 | ||||
-rw-r--r-- | TAO/tao/Makefile.am | 17 | ||||
-rw-r--r-- | TAO/tao/Makefile.bor | 1 |
4 files changed, 66 insertions, 2 deletions
diff --git a/TAO/ChangeLogs/ChangeLog-02a b/TAO/ChangeLogs/ChangeLog-02a index db78d14f6ce..3a042e441c4 100644 --- a/TAO/ChangeLogs/ChangeLog-02a +++ b/TAO/ChangeLogs/ChangeLog-02a @@ -1,3 +1,10 @@ +Sat Apr 29 12:53:26 2000 Balachandran Natarajan <bala@cs.wustl.edu> + + * tao/Makefile.am: + * tao/Makefile.bor: Added files + * tao/Invocation.cpp: Made some fixes to the changes that I made + yesterday. + Sat Apr 29 03:10:01 2000 Nanbor Wang <nanbor@cs.wustl.edu> * TAO_IDL/be/be_interface.cpp (gen_skel_helper): Changed some diff --git a/TAO/tao/Invocation.cpp b/TAO/tao/Invocation.cpp index ec4d61fec52..f5a784e9a29 100644 --- a/TAO/tao/Invocation.cpp +++ b/TAO/tao/Invocation.cpp @@ -1373,6 +1373,49 @@ TAO_GIOP_Locate_Request_Invocation::invoke (CORBA::Environment &ACE_TRY_ENV) // support from MProfiles ...) return TAO_INVOKE_RESTART; // NOTREACHED + case TAO_GIOP_LOC_SYSTEM_EXCEPTION: + { + // What else do we do?? + // Pull the exception from the stream. + CORBA::String_var buf; + + if ((this->rd_.reply_cdr () >> buf.inout ()) == 0) + { + // Could not demarshal the exception id, raise an local + // CORBA::MARSHAL + ACE_THROW_RETURN (CORBA::MARSHAL (TAO_DEFAULT_MINOR_CODE, + CORBA::COMPLETED_MAYBE), + TAO_INVOKE_EXCEPTION); + } + + // This kind of exception shouldn't happen with oneways, + // but if it does, we turn it into a CORBA::UNKNOWN exception. + ACE_THROW_RETURN (CORBA::UNKNOWN (TAO_DEFAULT_MINOR_CODE, + CORBA::COMPLETED_YES), + TAO_INVOKE_EXCEPTION); + } + case TAO_GIOP_LOC_NEEDS_ADDRESSING_MODE: + { + // We have received an exception with a request to change the + // addressing mode. First let us read the mode that the + // server/agent asks for. + CORBA::Short addr_mode = 0; + if (this->rd_.reply_cdr ().read_short (addr_mode) == 0) + { + // Could not demarshal the addressing disposition, raise an local + // CORBA::MARSHAL + ACE_THROW_RETURN (CORBA::MARSHAL (TAO_DEFAULT_MINOR_CODE, + CORBA::COMPLETED_MAYBE), + TAO_INVOKE_OK); + } + + // Now set this addressing mode in the stub object, so that + // the next invocation need not go through this. + this->stub_->addressing_mode (addr_mode); + + // Now restart the invocation + return TAO_INVOKE_RESTART; + } } return TAO_INVOKE_OK; diff --git a/TAO/tao/Makefile.am b/TAO/tao/Makefile.am index c762e3c3c7b..63d952f998e 100644 --- a/TAO/tao/Makefile.am +++ b/TAO/tao/Makefile.am @@ -47,6 +47,21 @@ PLUGGABLE_PROTOCOLS_FILES = \ IORS.cpp \ IORManipulation.cpp +PLUGGABLE_MESSAGING_FILES = \ +Pluggable_Messaging \ +Pluggable_Messaging_Utils \ +GIOP_Message_Base \ +GIOP_Message_Connectors \ +GIOP_Message_Acceptors \ +GIOP_Message_Accept_State \ +GIOP_Utils \ +GIOP_Message_Headers \ +target_specification \ +GIOP_Server_Request \ +GIOP_Message_Lite \ +GIOP_Message_State \ +Tagged_Profile + DEFAULT_RESOURCES_FILES = \ default_client.cpp \ default_server.cpp \ @@ -96,8 +111,6 @@ ORB_CORE_FILES = \ Client_Strategy_Factory.cpp \ debug.cpp \ Object_KeyC.cpp \ - GIOP.cpp \ - GIOP_Server_Request.cpp \ Invocation.cpp \ Interceptor.cpp \ InterceptorC.cpp \ diff --git a/TAO/tao/Makefile.bor b/TAO/tao/Makefile.bor index 1f001a37040..2bf9b824c3c 100644 --- a/TAO/tao/Makefile.bor +++ b/TAO/tao/Makefile.bor @@ -133,6 +133,7 @@ OBJFILES = \ $(OBJDIR)\Stub.obj \ $(OBJDIR)\Sync_Strategies.obj \ $(OBJDIR)\Tagged_Components.obj \ + $(OBJDIR)\Tagged_Profile.obj \ $(OBJDIR)\TAO.obj \ $(OBJDIR)\TAO_Internal.obj \ $(OBJDIR)\TAOC.obj \ |