summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordoccvs <doccvs@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2001-01-11 01:22:07 +0000
committerdoccvs <doccvs@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2001-01-11 01:22:07 +0000
commit8d833a581316fc2bd5ae287a1b4984a9e15a55b0 (patch)
treee42746d72d07b1fda89c46684af5b54bdcf3c42c
parent3ff34521415497b1a72d124dbbc4c136d213b249 (diff)
downloadATCD-8d833a581316fc2bd5ae287a1b4984a9e15a55b0.tar.gz
ChangeLogTag: Wed Jan 10 17:21:12 2001 Priyanka Gontla <pgontla@ece.uci.edu>
-rw-r--r--TAO/ChangeLogs/ChangeLog-02a8
-rw-r--r--TAO/tao/ORB_Core.cpp30
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