summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbala <balanatarajan@users.noreply.github.com>2004-09-11 04:08:55 +0000
committerbala <balanatarajan@users.noreply.github.com>2004-09-11 04:08:55 +0000
commit8554654d97f84ab1412d90c5f0e722f7cd8bf5d9 (patch)
treec5045ada21082e43a6a047185855bd59b873d89e
parent122412db9d2d4751fedacbc1617e59d1f8d282a3 (diff)
downloadATCD-8554654d97f84ab1412d90c5f0e722f7cd8bf5d9.tar.gz
ChangeLogTag:Fri Sep 10 23:08:15 2004 Balachandran Natarajan <bala@dre.vanderbilt.edu>
-rw-r--r--TAO/CIAO/ChangeLog10
-rw-r--r--TAO/CIAO/DAnCE/ciao/Container_Base.cpp26
-rw-r--r--TAO/CIAO/DAnCE/ciao/Container_Base.h6
-rw-r--r--TAO/CIAO/ciao/Container_Base.cpp30
-rw-r--r--TAO/CIAO/ciao/Container_Base.h6
5 files changed, 78 insertions, 0 deletions
diff --git a/TAO/CIAO/ChangeLog b/TAO/CIAO/ChangeLog
index 7f239e0bc19..0e2adf95535 100644
--- a/TAO/CIAO/ChangeLog
+++ b/TAO/CIAO/ChangeLog
@@ -1,3 +1,13 @@
+Fri Sep 10 23:08:15 2004 Balachandran Natarajan <bala@dre.vanderbilt.edu>
+
+ * DAnCE/ciao/Container_Base.cpp:
+ * DAnCE/ciao/Container_Base.h:
+ * ciao/Container_Base.cpp:
+ * ciao/Container_Base.h:
+
+ Reverted this change "Sat Sep 11 03:35:24 2004 Balachandran
+ Natarajan <bala@dre.vanderbilt.edu>"
+
Fri Sep 10 22:53:58 2004 Balachandran Natarajan <bala@dre.vanderbilt.edu>
* DAnCE/ciao/CCM_Core.mpc:
diff --git a/TAO/CIAO/DAnCE/ciao/Container_Base.cpp b/TAO/CIAO/DAnCE/ciao/Container_Base.cpp
index 4513717c678..275d061d67d 100644
--- a/TAO/CIAO/DAnCE/ciao/Container_Base.cpp
+++ b/TAO/CIAO/DAnCE/ciao/Container_Base.cpp
@@ -175,6 +175,32 @@ namespace CIAO
}
CORBA::Object_ptr
+ Session_Container::install_servant (PortableServer::Servant p,
+ Container::OA_Type t
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+ {
+ PortableServer::POA_ptr tmp = 0;
+
+ if (t == Container::Component)
+ tmp = this->component_poa_.in ();
+ else
+ tmp = this->facet_cons_poa_.in ();
+
+ PortableServer::ObjectId_var oid
+ = tmp->activate_object (p
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Object_var objref
+ = tmp->id_to_reference (oid.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return objref._retn ();
+ }
+
+ CORBA::Object_ptr
Session_Container::install_component (PortableServer::Servant p,
PortableServer::ObjectId_out oid
ACE_ENV_ARG_DECL)
diff --git a/TAO/CIAO/DAnCE/ciao/Container_Base.h b/TAO/CIAO/DAnCE/ciao/Container_Base.h
index b0178ef6dcf..770e222e3c9 100644
--- a/TAO/CIAO/DAnCE/ciao/Container_Base.h
+++ b/TAO/CIAO/DAnCE/ciao/Container_Base.h
@@ -191,6 +191,12 @@ namespace CIAO
ACE_ENV_ARG_DECL_WITH_DEFAULTS)
ACE_THROW_SPEC ((CORBA::SystemException));
+ // Install a servant for component or home.
+ CORBA::Object_ptr install_servant (PortableServer::Servant p,
+ Container::OA_Type t
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
// Install a component servant.
CORBA::Object_ptr install_component (PortableServer::Servant p,
PortableServer::ObjectId_out oid
diff --git a/TAO/CIAO/ciao/Container_Base.cpp b/TAO/CIAO/ciao/Container_Base.cpp
index d308af8e6bb..d9ad8784527 100644
--- a/TAO/CIAO/ciao/Container_Base.cpp
+++ b/TAO/CIAO/ciao/Container_Base.cpp
@@ -174,6 +174,31 @@ namespace CIAO
ACE_CHECK;
}
+ CORBA::Object_ptr
+ Session_Container::install_servant (PortableServer::Servant p,
+ Container::OA_Type t
+ ACE_ENV_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+ {
+ PortableServer::POA_ptr tmp = 0;
+
+ if (t == Container::Component)
+ tmp = this->component_poa_.in ();
+ else
+ tmp = this->facet_cons_poa_.in ();
+
+ PortableServer::ObjectId_var oid
+ = tmp->activate_object (p
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ CORBA::Object_var objref
+ = tmp->id_to_reference (oid.in ()
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ return objref._retn ();
+ }
CORBA::Object_ptr
Session_Container::install_component (PortableServer::Servant p,
@@ -197,6 +222,11 @@ namespace CIAO
}
+ //@@ Apparently we need to be cautious when handling the exception
+ // thrown here. We should make sure that new DnC interfaces
+ // NodeApplication/NodeApplicationManager etc will cache the new
+ // exceptions--> rethrow of new exceptions is needed.
+ // --Tao
Components::CCMHome_ptr
Session_Container::ciao_install_home (const char *exe_dll_name,
const char *exe_entrypt,
diff --git a/TAO/CIAO/ciao/Container_Base.h b/TAO/CIAO/ciao/Container_Base.h
index 17c89b96a7b..d4d5c0986b3 100644
--- a/TAO/CIAO/ciao/Container_Base.h
+++ b/TAO/CIAO/ciao/Container_Base.h
@@ -190,6 +190,12 @@ namespace CIAO
ACE_ENV_ARG_DECL_WITH_DEFAULTS)
ACE_THROW_SPEC ((CORBA::SystemException));
+ // Install a servant for component or home.
+ CORBA::Object_ptr install_servant (PortableServer::Servant p,
+ Container::OA_Type t
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
// Install a component servant.
CORBA::Object_ptr install_component (PortableServer::Servant p,
PortableServer::ObjectId_out oid