summaryrefslogtreecommitdiff
path: root/CIAO/ciao/Context_Impl_Base.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'CIAO/ciao/Context_Impl_Base.cpp')
-rw-r--r--CIAO/ciao/Context_Impl_Base.cpp39
1 files changed, 26 insertions, 13 deletions
diff --git a/CIAO/ciao/Context_Impl_Base.cpp b/CIAO/ciao/Context_Impl_Base.cpp
index 55980ea0b71..6c12db12ab5 100644
--- a/CIAO/ciao/Context_Impl_Base.cpp
+++ b/CIAO/ciao/Context_Impl_Base.cpp
@@ -1,6 +1,9 @@
// $Id$
#include "Context_Impl_Base.h"
+#include "Container_Base.h"
+#include "Session_Container.h"
+#include "tao/ORB.h"
namespace CIAO
{
@@ -23,48 +26,58 @@ namespace CIAO
// Operations from ::Components::CCMContext.
Components::Principal_ptr
- Context_Impl_Base::get_caller_principal (
- )
+ Context_Impl_Base::get_caller_principal (void)
{
throw CORBA::NO_IMPLEMENT ();
}
Components::CCMHome_ptr
- Context_Impl_Base::get_CCM_home (
- )
+ Context_Impl_Base::get_CCM_home (void)
{
return Components::CCMHome::_duplicate (this->home_.in ());
}
CORBA::Boolean
- Context_Impl_Base::get_rollback_only (
- )
+ Context_Impl_Base::get_rollback_only (void)
{
throw CORBA::NO_IMPLEMENT ();
}
Components::Transaction::UserTransaction_ptr
- Context_Impl_Base::get_user_transaction (
- )
+ Context_Impl_Base::get_user_transaction (void)
{
throw CORBA::NO_IMPLEMENT ();
}
CORBA::Boolean
- Context_Impl_Base::is_caller_in_role (
- const char * /* role */
- )
+ Context_Impl_Base::is_caller_in_role (const char * /* role */)
{
throw CORBA::NO_IMPLEMENT ();
}
void
- Context_Impl_Base::set_rollback_only (
- )
+ Context_Impl_Base::set_rollback_only (void)
{
throw CORBA::NO_IMPLEMENT ();
}
+ CORBA::Object_ptr
+ Context_Impl_Base::resolve_service_reference(const char *service_id)
+ {
+ CORBA::Object_ptr obj;
+ try
+ {
+ obj = this->container_->the_ORB ()->resolve_initial_references (service_id);
+ }
+ catch (const ::CORBA::ORB::InvalidName&)
+ {
+ throw ::Components::CCMException (
+ ::Components::OBJECT_NOT_FOUND);
+ }
+
+ return obj;
+ }
+
// CIAO-specific.
CIAO::Session_Container *