summaryrefslogtreecommitdiff
path: root/TAO/tao/LocalObject.cpp
diff options
context:
space:
mode:
authorparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2001-01-23 17:13:14 +0000
committerparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2001-01-23 17:13:14 +0000
commit393c54c845640cf4db830c156d0a73776e859cc5 (patch)
tree3831c655544e353df08361e8c2e61d7c3e14f117 /TAO/tao/LocalObject.cpp
parentdca05965e1a89e48b7e80c73dff9bc8aac256079 (diff)
downloadATCD-393c54c845640cf4db830c156d0a73776e859cc5.tar.gz
ChangeLogTag: Tue Jan 23 11:08:00 2001 Jeff Parsons <parsons@cs.wustl.edu>
Diffstat (limited to 'TAO/tao/LocalObject.cpp')
-rw-r--r--TAO/tao/LocalObject.cpp66
1 files changed, 43 insertions, 23 deletions
diff --git a/TAO/tao/LocalObject.cpp b/TAO/tao/LocalObject.cpp
index ef92b95124a..6920b3c6638 100644
--- a/TAO/tao/LocalObject.cpp
+++ b/TAO/tao/LocalObject.cpp
@@ -5,12 +5,10 @@
#include "tao/LocalObject.h"
#include "tao/Stub.h"
#include "tao/debug.h"
-
-#if (TAO_HAS_INTERFACE_REPOSITORY == 1)
-#include "tao/InterfaceC.h"
-#endif /* TAO_HAS_INTERFACE_REPOSITORY == 1 */
+#include "tao/IFR_Client_Adapter.h"
#include "ace/Auto_Ptr.h"
+#include "ace/Dynamic_Service.h"
#if !defined (__ACE_INLINE__)
# include "tao/LocalObject.i"
@@ -103,44 +101,66 @@ CORBA_LocalObject::_non_existent (CORBA_Environment &)
void
CORBA_LocalObject::_create_request (CORBA::Context_ptr,
- const CORBA::Char *,
- CORBA::NVList_ptr,
- CORBA::NamedValue_ptr,
- CORBA::Request_ptr &,
- CORBA::Flags,
- CORBA_Environment &ACE_TRY_ENV)
+ const CORBA::Char *,
+ CORBA::NVList_ptr,
+ CORBA::NamedValue_ptr,
+ CORBA::Request_ptr &,
+ CORBA::Flags,
+ CORBA_Environment &ACE_TRY_ENV)
{
ACE_THROW (CORBA::NO_IMPLEMENT ());
}
void
CORBA_LocalObject::_create_request (CORBA::Context_ptr,
- const CORBA::Char *,
- CORBA::NVList_ptr,
- CORBA::NamedValue_ptr,
- CORBA::ExceptionList_ptr,
- CORBA::ContextList_ptr,
- CORBA::Request_ptr &,
- CORBA::Flags,
- CORBA_Environment &ACE_TRY_ENV)
+ const CORBA::Char *,
+ CORBA::NVList_ptr,
+ CORBA::NamedValue_ptr,
+ CORBA::ExceptionList_ptr,
+ CORBA::ContextList_ptr,
+ CORBA::Request_ptr &,
+ CORBA::Flags,
+ CORBA_Environment &ACE_TRY_ENV)
{
ACE_THROW (CORBA::NO_IMPLEMENT ());
}
CORBA::Request_ptr
CORBA_LocalObject::_request (const CORBA::Char *,
- CORBA_Environment &ACE_TRY_ENV)
+ CORBA_Environment &ACE_TRY_ENV)
{
ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);
}
-#if (TAO_HAS_INTERFACE_REPOSITORY == 1)
-IR_InterfaceDef_ptr
+CORBA_IRObject_ptr
+CORBA_LocalObject::_get_interface_def (CORBA_Environment &ACE_TRY_ENV)
+{
+ TAO_IFR_Client_Adapter *adapter =
+ ACE_Dynamic_Service<TAO_IFR_Client_Adapter>::instance (
+ TAO_ORB_Core::ifr_client_adapter_name ()
+ );
+
+ CORBA::ORB_var orb = this->_stubobj ()->servant_orb_var ();
+
+ return adapter->get_interface_def (orb.in (),
+ this->_interface_repository_id (),
+ ACE_TRY_ENV);
+}
+
+IR_InterfaceDef *
CORBA_LocalObject::_get_interface (CORBA_Environment &ACE_TRY_ENV)
{
- ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), 0);
+ TAO_IFR_Client_Adapter *adapter =
+ ACE_Dynamic_Service<TAO_IFR_Client_Adapter>::instance (
+ TAO_ORB_Core::ifr_client_adapter_name ()
+ );
+
+ CORBA::ORB_var orb = this->_stubobj ()->servant_orb_var ();
+
+ return adapter->get_interface (orb.in (),
+ this->_interface_repository_id (),
+ ACE_TRY_ENV);
}
-#endif /* TAO_HAS_INTERFACE_REPOSITORY */
CORBA::ImplementationDef_ptr
CORBA_LocalObject::_get_implementation (CORBA_Environment &ACE_TRY_ENV)