diff options
author | doccvs <doccvs@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2001-01-11 01:22:07 +0000 |
---|---|---|
committer | doccvs <doccvs@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2001-01-11 01:22:07 +0000 |
commit | 8d833a581316fc2bd5ae287a1b4984a9e15a55b0 (patch) | |
tree | e42746d72d07b1fda89c46684af5b54bdcf3c42c | |
parent | 3ff34521415497b1a72d124dbbc4c136d213b249 (diff) | |
download | ATCD-8d833a581316fc2bd5ae287a1b4984a9e15a55b0.tar.gz |
ChangeLogTag: Wed Jan 10 17:21:12 2001 Priyanka Gontla <pgontla@ece.uci.edu>
-rw-r--r-- | TAO/ChangeLogs/ChangeLog-02a | 8 | ||||
-rw-r--r-- | TAO/tao/ORB_Core.cpp | 30 |
2 files changed, 34 insertions, 4 deletions
diff --git a/TAO/ChangeLogs/ChangeLog-02a b/TAO/ChangeLogs/ChangeLog-02a index bb9de7c0320..bf0bed76b9d 100644 --- a/TAO/ChangeLogs/ChangeLog-02a +++ b/TAO/ChangeLogs/ChangeLog-02a @@ -1,3 +1,11 @@ +Wed Jan 10 17:21:12 2001 Priyanka Gontla <pgontla@ece.uci.edu> + + * tao/ORB_Core.cpp : + + In TAO_ORB_Core::get_protocol_hooks method, checked if we + succesfully loaded the necessary instance of TAO_Protocols_Hooks + and if it is unsuccessful, loaded the same in a hard-coded way. + Wed Jan 10 17:02:42 2001 Darrell Brunsch <brunsch@uci.edu> * tao/Policy_Manager.cpp: diff --git a/TAO/tao/ORB_Core.cpp b/TAO/tao/ORB_Core.cpp index d2dd93d7954..91f1e1f094c 100644 --- a/TAO/tao/ORB_Core.cpp +++ b/TAO/tao/ORB_Core.cpp @@ -1251,12 +1251,34 @@ TAO_ORB_Core::get_protocols_hooks (void) if (TAO_ORB_Core::protocols_hooks_ == 0) { // Look in the service repository for an instance. - this->protocols_hooks_ = + TAO_ORB_Core::protocols_hooks_ = ACE_Dynamic_Service<TAO_Protocols_Hooks>::instance (TAO_ORB_Core::protocols_hooks_name_); + + if (TAO_ORB_Core::protocols_hooks_ == 0) + { + if (ACE_OS::strcmp (TAO_ORB_Core::protocols_hooks_name_, + "RT_Protocols_Hooks") == 0) + { + // @@ Kind of hard-coding .. on the fact that this is + // needed only when RT_CORBA==1 and if it is not + // RT_CORBA==1, the second if loop will serve the + // purpose. + int r = ACE_Service_Config::process_directive + ( + "dynamic RT_Protocols_Hooks Service_Object * TAO:_make_TAO_RT_Protocols_Hooks ()" + ); + + if (r != 0) + { + ACE_ERROR_RETURN ((LM_ERROR, + "Error Configuring RT_Protocols_Hooks\n"), 0); + } + } + } } - if (TAO_ORB_Core::protocols_hooks_name_ == 0) + if (TAO_ORB_Core::protocols_hooks_ == 0) { // Still don't have one, so let's allocate the default. This // will throw an exception if it fails on exception-throwing @@ -1266,10 +1288,10 @@ TAO_ORB_Core::get_protocols_hooks (void) TAO_Protocols_Hooks, 0); - this->protocols_hooks_ = protocols_hooks; + TAO_ORB_Core::protocols_hooks_ = protocols_hooks; } - return this->protocols_hooks_; + return TAO_ORB_Core::protocols_hooks_; } void |