From 7f8b259bb70ce890303208e31c47469c3c1e8c8c Mon Sep 17 00:00:00 2001 From: Johnny Willemsen Date: Tue, 17 Aug 2004 14:32:12 +0000 Subject: ChangeLogTag: Tue Aug 17 14:30:12 UTC 2004 Johnny Willemsen --- ...bjectReferenceTemplate_Adapter_Factory_Impl.cpp | 55 ++++++++ .../ObjectReferenceTemplate_Adapter_Factory_Impl.h | 72 ++++++++++ .../ObjectReferenceTemplate_Adapter_Impl.cpp | 131 ++++++++++++++++++ .../ObjectReferenceTemplate_Adapter_Impl.h | 147 +++++++++++++++++++++ .../ObjectReferenceTemplate_Adapter_Impl.inl | 9 ++ TAO/tao/PortableServer/IORInfo.cpp | 4 +- TAO/tao/PortableServer/ORTRework.txt | 18 +++ .../ObjectReferenceTemplate_Adapter.h | 1 + TAO/tao/PortableServer/POA.cpp | 35 ++--- TAO/tao/PortableServer/POA.h | 22 +-- 10 files changed, 461 insertions(+), 33 deletions(-) create mode 100644 TAO/tao/ObjRefTemplate/ObjectReferenceTemplate_Adapter_Factory_Impl.cpp create mode 100644 TAO/tao/ObjRefTemplate/ObjectReferenceTemplate_Adapter_Factory_Impl.h create mode 100644 TAO/tao/ObjRefTemplate/ObjectReferenceTemplate_Adapter_Impl.cpp create mode 100644 TAO/tao/ObjRefTemplate/ObjectReferenceTemplate_Adapter_Impl.h create mode 100644 TAO/tao/ObjRefTemplate/ObjectReferenceTemplate_Adapter_Impl.inl diff --git a/TAO/tao/ObjRefTemplate/ObjectReferenceTemplate_Adapter_Factory_Impl.cpp b/TAO/tao/ObjRefTemplate/ObjectReferenceTemplate_Adapter_Factory_Impl.cpp new file mode 100644 index 00000000000..5f49f89435d --- /dev/null +++ b/TAO/tao/ObjRefTemplate/ObjectReferenceTemplate_Adapter_Factory_Impl.cpp @@ -0,0 +1,55 @@ +// $Id$ + +#include "ObjectReferenceTemplate_Adapter_Factory_Impl.h" +#include "ObjectReferenceTemplate_Adapter_Impl.h" +#include "tao/PortableServer/POA.h" + +ACE_RCSID (ORT, + ObjectReferenceTemplate_Adapter_Factory_Impl, + "$Id$") + +TAO_ObjectReferenceTemplate_Adapter_Factory_Impl::~TAO_ObjectReferenceTemplate_Adapter_Factory_Impl (void) +{ +} + +TAO_ObjectReferenceTemplate_Adapter * +TAO_ObjectReferenceTemplate_Adapter_Factory_Impl::create ( + ACE_ENV_SINGLE_ARG_DECL_NOT_USED + ) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + TAO_ObjectReferenceTemplate_Adapter_Impl * new_objectreferencetemplate_adapter; + ACE_NEW_RETURN (new_objectreferencetemplate_adapter, + TAO_ObjectReferenceTemplate_Adapter_Impl, + 0); + return new_objectreferencetemplate_adapter; +} + + +// ********************************************************************* + +// Initialization and registration of dynamic service object. + +int +TAO_ObjectReferenceTemplate_Adapter_Factory_Impl::Initializer (void) +{ + TAO_POA::objectreferencetemplate_adapter_factory_name ( + "Concrete_ObjectReferenceTemplate_Adapter_Factory" + ); + + return + ACE_Service_Config::process_directive ( + ace_svc_desc_TAO_ObjectReferenceTemplate_Adapter_Factory_Impl + ); +} + +ACE_STATIC_SVC_DEFINE ( + TAO_ObjectReferenceTemplate_Adapter_Factory_Impl, + ACE_TEXT ("Concrete_ObjectReferenceTemplate_Adapter_Factory"), + ACE_SVC_OBJ_T, + &ACE_SVC_NAME (TAO_ObjectReferenceTemplate_Adapter_Factory_Impl), + ACE_Service_Type::DELETE_THIS | ACE_Service_Type::DELETE_OBJ, + 0 + ) + +ACE_FACTORY_DEFINE (TAO_ORT, TAO_ObjectReferenceTemplate_Adapter_Factory_Impl) diff --git a/TAO/tao/ObjRefTemplate/ObjectReferenceTemplate_Adapter_Factory_Impl.h b/TAO/tao/ObjRefTemplate/ObjectReferenceTemplate_Adapter_Factory_Impl.h new file mode 100644 index 00000000000..536e48ea46e --- /dev/null +++ b/TAO/tao/ObjRefTemplate/ObjectReferenceTemplate_Adapter_Factory_Impl.h @@ -0,0 +1,72 @@ +// -*- C++ -*- + +//============================================================================= +/** + * @file ObjectReferenceTemplate_Adapter_Factory.h + * + * $Id$ + * + * @author Johnny Willemsen + */ +//============================================================================= + + +#ifndef TAO_OBJECTREFERENCETEMPLATE_ADAPTER_FACTORY_IMPL_H +#define TAO_OBJECTREFERENCETEMPLATE_ADAPTER_FACTORY_IMPL_H + +#include /**/ "ace/pre.h" + +#if !defined (ACE_LACKS_PRAGMA_ONCE) +# pragma once +#endif /* ACE_LACKS_PRAGMA_ONCE */ + +#include "ort_export.h" +#include "tao/PortableServer/ObjectReferenceTemplate_Adapter_Factory.h" +#include "ace/Service_Config.h" + +/** + * @class TAO_ObjectReferenceTemplate_Adapter_Factory_Impl + * + * @brief TAO_ObjectReferenceTemplate_Adapter_Factory_Impl + * + * Class that creates instances of TAO_ObjectReferenceTemplate_Adapter + * (one per POA). This is the derived class that contains the actual + * implementation. + */ +class TAO_ORT_Export TAO_ObjectReferenceTemplate_Adapter_Factory_Impl + : public TAO_ObjectReferenceTemplate_Adapter_Factory +{ +public: + virtual ~TAO_ObjectReferenceTemplate_Adapter_Factory_Impl (void); + + virtual TAO_ObjectReferenceTemplate_Adapter * create ( + ACE_ENV_SINGLE_ARG_DECL + ) + ACE_THROW_SPEC ((CORBA::SystemException)); + + // Used to force the initialization of the code. + static int Initializer (void); +}; + +ACE_STATIC_SVC_DECLARE (TAO_ObjectReferenceTemplate_Adapter_Factory_Impl) +ACE_FACTORY_DECLARE (TAO_ORT, TAO_ObjectReferenceTemplate_Adapter_Factory_Impl) + +#if defined (ACE_HAS_BROKEN_STATIC_CONSTRUCTORS) + +typedef int (*TAO_Module_Initializer) (void); + +static TAO_Module_Initializer +TAO_Requires_ORTFactory_Initializer = + &TAO_ObjectReferenceTemplate_Adapter_Factory_Impl::Initializer; + +#else + +static int +TAO_Requires_ORTFactory_Initializer = + TAO_ObjectReferenceTemplate_Adapter_Factory_Impl::Initializer (); + +#endif /* ACE_HAS_BROKEN_STATIC_CONSTRUCTORS */ + +#include /**/ "ace/post.h" + +#endif /* TAO_OBJECTREFERENCETEMPLATE_ADAPTER_FACTORY_IMPL_H */ diff --git a/TAO/tao/ObjRefTemplate/ObjectReferenceTemplate_Adapter_Impl.cpp b/TAO/tao/ObjRefTemplate/ObjectReferenceTemplate_Adapter_Impl.cpp new file mode 100644 index 00000000000..94ead2c1570 --- /dev/null +++ b/TAO/tao/ObjRefTemplate/ObjectReferenceTemplate_Adapter_Impl.cpp @@ -0,0 +1,131 @@ +// $Id$ + +#include "tao/PortableServer/POA.h" + +#include "tao/CORBA_String.h" +#include "tao/ORB_Constants.h" + + +ACE_RCSID (ORT, + ObjectReferenceTemplate_Adapater_Impl, + "$Id$") + + +#if !defined (__ACE_INLINE__) +# include "ObjectReferenceTemplate_Adapter_Impl.h" +#endif /* ! __ACE_INLINE__ */ + + +TAO_ObjectReferenceTemplate_Adapter_Impl::TAO_ObjectReferenceTemplate_Adapter_Impl() +{} + +TAO_ObjectReferenceTemplate_Adapter_Impl::TAO_ObjectReferenceTemplate_Adapter_Impl ( + const char *server_id, + const char *orb_id, + PortableInterceptor::AdapterName *adapter_name, + TAO_POA * poa) + : server_id_ (server_id), + orb_id_ (orb_id), + poa_ (poa) +{ +} + +TAO_ObjectReferenceTemplate_Adapter_Impl::~TAO_ObjectReferenceTemplate_Adapter_Impl (void) +{ +} + +char * +TAO_ObjectReferenceTemplate_Adapter_Impl::server_id (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return CORBA::string_dup (this->server_id_); +} + +char * +TAO_ObjectReferenceTemplate_Adapter_Impl::orb_id (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return CORBA::string_dup (this->orb_id_); +} + +PortableInterceptor::AdapterName * +TAO_ObjectReferenceTemplate_Adapter_Impl::adapter_name (ACE_ENV_SINGLE_ARG_DECL) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + PortableInterceptor::AdapterName *adapter_name; + ACE_NEW_THROW_EX (adapter_name, + PortableInterceptor::AdapterName ( + *(this->adapter_name_)), + CORBA::NO_MEMORY ( + CORBA::SystemException::_tao_minor_code ( + TAO_DEFAULT_MINOR_CODE, + ENOMEM), + CORBA::COMPLETED_NO)); + ACE_CHECK_RETURN (0); + + return adapter_name; +} + +CORBA::Object_ptr +TAO_ObjectReferenceTemplate_Adapter_Impl::make_object ( + const char *, + const PortableInterceptor::ObjectId & + ACE_ENV_ARG_DECL) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + if (this->poa_ == 0) + ACE_THROW_RETURN (CORBA::BAD_INV_ORDER (), CORBA::Object::_nil ()); + + return this->poa_->invoke_key_to_object (ACE_ENV_SINGLE_ARG_PARAMETER); +} + +int +TAO_ObjectReferenceTemplate_Adapter_Impl::destroy (void) +{ +// delete this; + return 0; +} + +PortableInterceptor::ObjectReferenceTemplate * +TAO_ObjectReferenceTemplate_Adapter_Impl::get_adapter_template (void) +{ + this->_add_ref(); + return this; +} + +PortableInterceptor::ObjectReferenceFactory * +TAO_ObjectReferenceTemplate_Adapter_Impl::get_obj_ref_factory (void) +{ + this->_add_ref(); + return this; +} + +int +TAO_ObjectReferenceTemplate_Adapter_Impl::activate (PortableInterceptor::ObjectReferenceFactory *current_factory, + TAO_POA *poa) +{ + poa_ = poa; + return 0; +} + +int +TAO_ObjectReferenceTemplate_Adapter_Impl::activate (const char *server_id, + const char *orb_id, + PortableInterceptor::AdapterName *adapter_name, + TAO_POA *poa) +{ + server_id_ = server_id; + orb_id_ = orb_id; + adapter_name_ = adapter_name; + poa_ = poa; + + return 0; +} + +void +TAO_ObjectReferenceTemplate_Adapter_Impl::poa (TAO_POA * poa) +{ + poa_ = poa; +} diff --git a/TAO/tao/ObjRefTemplate/ObjectReferenceTemplate_Adapter_Impl.h b/TAO/tao/ObjRefTemplate/ObjectReferenceTemplate_Adapter_Impl.h new file mode 100644 index 00000000000..77846aa8f8e --- /dev/null +++ b/TAO/tao/ObjRefTemplate/ObjectReferenceTemplate_Adapter_Impl.h @@ -0,0 +1,147 @@ +// -*- C++ -*- + +//============================================================================= +/** + * @file ObjectReferenceTemplate_Adapter_Impl.h + * + * $Id$ + * + * This is the implementation of the + * PortableInterceptor::ObjectReferenceTemplate ValueType. + * + * @author Priyanka Gontla + */ +//============================================================================= + +#ifndef TAO_OBJECT_REFERENCE_TEMPLATE_I_H +#define TAO_OBJECT_REFERENCE_TEMPLATE_I_H + +#include /**/ "ace/pre.h" + +#include "ort_export.h" + +#if !defined (ACE_LACKS_PRAGMA_ONCE) +# pragma once +#endif /* ACE_LACKS_PRAGMA_ONCE */ + +#include "tao/PortableServer/ObjectReferenceTemplate_Adapter.h" +#include "Default_ORTC.h" + +#if defined(_MSC_VER) +#if (_MSC_VER >= 1200) +#pragma warning(push) +#endif /* _MSC_VER >= 1200 */ +#pragma warning(disable:4250) +#endif /* _MSC_VER */ + +class TAO_POA; + +/** + * @class TAO_ObjectReferenceTemplate_Adapter + * + * @brief Implementation of the PortableInterceptor::ObjectReferenceTemplate + * interface. + */ +class TAO_ORT_Export TAO_ObjectReferenceTemplate_Adapter_Impl + : public TAO_ObjectReferenceTemplate_Adapter, + public virtual OBV_TAO_Default_ORT::ObjectReferenceTemplate, + public virtual CORBA::DefaultValueRefCountBase +{ +public: + TAO_ObjectReferenceTemplate_Adapter_Impl(); + + /// Constructor + virtual int activate (const char *server_id, + const char *orb_id, + PortableInterceptor::AdapterName *adapter_name, + TAO_POA *poa); + + TAO_ObjectReferenceTemplate_Adapter_Impl (const char *server_id, + const char *orb_id, + PortableInterceptor::AdapterName *, + TAO_POA *poa); + + virtual int destroy (void); + + virtual int activate (PortableInterceptor::ObjectReferenceFactory *current_factory, + TAO_POA *poa); + + /** + * @name PortableInterceptor::ObjectReferenceTemplate Methods + * + * Methods required by the + * PortableInterceptor::ObjectReferenceTemplate ValueType. + */ + //@{ + virtual char * server_id (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) + ACE_THROW_SPEC ((CORBA::SystemException)); + + virtual char * orb_id (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) + ACE_THROW_SPEC ((CORBA::SystemException)); + + virtual PortableInterceptor::AdapterName * adapter_name ( + ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS) + ACE_THROW_SPEC ((CORBA::SystemException)); + //@} + + /// Accessor methods to ObjectReferenceTemplate template + virtual PortableInterceptor::ObjectReferenceTemplate * get_adapter_template (void); + + /// Accessor methods to PortableInterceptor::ObjectReferenceFactory + virtual PortableInterceptor::ObjectReferenceFactory * get_obj_ref_factory (void); + + /** + * @name PortableInterceptor::ObjectReferenceFactory Methods + * + * Methods required by the + * PortableInterceptor::ObjectReferenceFactory ValueType. + */ + //@{ + virtual CORBA::Object_ptr make_object ( + const char * repository_id, + const PortableInterceptor::ObjectId & id + ACE_ENV_ARG_DECL_WITH_DEFAULTS) + ACE_THROW_SPEC (( + CORBA::SystemException + )); + //@} + + /// Set the underlying POA pointer. + /** + * Upon destruction of the POA that this ObjectReferenceTemplate is + * associated with, the underlying POA pointer will be set to zero + * to forcibly break all ties with the POA. This is necessary to + * prevent this ObjectReferenceTemplate from invoking the POA after + * it has been destroyed. + */ + void poa (TAO_POA * poa); + +protected: + + /// Destructor + /** + * Protected destructor to enforce proper memory management via + * reference counting. + */ + ~TAO_ObjectReferenceTemplate_Adapter_Impl (void); + +private: + + const char *server_id_; + const char *orb_id_; + PortableInterceptor::AdapterName_var adapter_name_; + TAO_POA *poa_; + +}; + +#if defined(_MSC_VER) && (_MSC_VER >= 1200) +#pragma warning(pop) +#endif /* _MSC_VER */ + +#if defined (__ACE_INLINE__) +# include "ObjectReferenceTemplate_Adapter_Impl.inl" +#endif /* ! __ACE_INLINE__ */ + +#include /**/ "ace/post.h" + +#endif /* TAO_OBJECT_REFERENCE_TEMPLATE_I_H */ diff --git a/TAO/tao/ObjRefTemplate/ObjectReferenceTemplate_Adapter_Impl.inl b/TAO/tao/ObjRefTemplate/ObjectReferenceTemplate_Adapter_Impl.inl new file mode 100644 index 00000000000..14de581cafc --- /dev/null +++ b/TAO/tao/ObjRefTemplate/ObjectReferenceTemplate_Adapter_Impl.inl @@ -0,0 +1,9 @@ +// -*- C++ -*- +// +// $Id$ + +ACE_INLINE void +TAO_ObjectReferenceTemplate::poa (TAO_POA * poa) +{ + this->poa_ = poa; +} diff --git a/TAO/tao/PortableServer/IORInfo.cpp b/TAO/tao/PortableServer/IORInfo.cpp index df689cc906b..4047aa792ce 100644 --- a/TAO/tao/PortableServer/IORInfo.cpp +++ b/TAO/tao/PortableServer/IORInfo.cpp @@ -147,7 +147,7 @@ TAO_IORInfo::adapter_template (ACE_ENV_SINGLE_ARG_DECL) 0); } - CORBA::add_ref (adapter_template); + //CORBA::add_ref (adapter_template); return adapter_template; } @@ -174,7 +174,7 @@ TAO_IORInfo::current_factory (ACE_ENV_SINGLE_ARG_DECL) 0); } - CORBA::add_ref (adapter_factory); + //CORBA::add_ref (adapter_factory); return adapter_factory; } diff --git a/TAO/tao/PortableServer/ORTRework.txt b/TAO/tao/PortableServer/ORTRework.txt index 3bb23baf8fe..3d838aa0297 100644 --- a/TAO/tao/PortableServer/ORTRework.txt +++ b/TAO/tao/PortableServer/ORTRework.txt @@ -1,3 +1,21 @@ +Tue Aug 17 14:30:12 UTC 2004 Johnny Willemsen + + Checkin of rework until now, not happy with the interfaces yet, now + the test app seems to work a little, I am going to review all + changed interfaces again and improve things. + + * tao/POA.{h,cpp}: + - Changed adapter_state_changed to use IORInterceptor_List + functionality to call adapter_state_changed on all IORInterceptors + - Changed access of some methods + * tao/IORInfo.cpp: + Commented out some add_refs on the ORT, this should be done in the + ORT Adapter. Need to check this + + * tao/ObjRefTemplate/ObjectReferenceTemplate_Adapter_Factory.{h,cpp}: + * tao/ObjRefTemplate/ObjectReferenceTemplate_Impl.{h,cpp,inl}: + New files with first implementation + Tue Aug 17 13:59:12 UTC 2004 Johnny Willemsen * tao/IORInterceptor/IORInterceptor_List/{h,cpp}: diff --git a/TAO/tao/PortableServer/ObjectReferenceTemplate_Adapter.h b/TAO/tao/PortableServer/ObjectReferenceTemplate_Adapter.h index 16e525d3a6c..dda8c24f0bb 100755 --- a/TAO/tao/PortableServer/ObjectReferenceTemplate_Adapter.h +++ b/TAO/tao/PortableServer/ObjectReferenceTemplate_Adapter.h @@ -36,6 +36,7 @@ namespace PortableInterceptor { class ObjectReferenceTemplate; class ObjectReferenceFactory; + } /** diff --git a/TAO/tao/PortableServer/POA.cpp b/TAO/tao/PortableServer/POA.cpp index 447ec0a70c4..8fac6414dc6 100644 --- a/TAO/tao/PortableServer/POA.cpp +++ b/TAO/tao/PortableServer/POA.cpp @@ -743,7 +743,7 @@ TAO_POA::destroy_i (CORBA::Boolean etherealize_objects, } } - PortableInterceptor::ObjectReferenceTemplateSeq seq_obj_ref_template; + TAO_ObjectReferenceTemplate_Array array_obj_ref_template; CORBA::ULong i = 0; @@ -758,17 +758,17 @@ TAO_POA::destroy_i (CORBA::Boolean etherealize_objects, PortableInterceptor::ObjectReferenceTemplate *child_at = child_poa->get_adapter_template (); - CORBA::add_ref (child_at); + //CORBA::add_ref (child_at); // Add it to the sequence of object reference templates that // will be destroyed. - seq_obj_ref_template.length (i + 1); + array_obj_ref_template.size (i + 1); - seq_obj_ref_template[i] = child_at; + array_obj_ref_template[i] = child_at; child_poa->adapter_state_ = PortableInterceptor::INACTIVE; - child_poa->adapter_state_changed (seq_obj_ref_template, + child_poa->adapter_state_changed (array_obj_ref_template, child_poa->adapter_state_ ACE_ENV_ARG_PARAMETER); ACE_CHECK; @@ -850,14 +850,14 @@ TAO_POA::destroy_i (CORBA::Boolean etherealize_objects, this->adapter_state_ = PortableInterceptor::NON_EXISTENT; - this->adapter_state_changed (seq_obj_ref_template, + this->adapter_state_changed (array_obj_ref_template, this->adapter_state_ ACE_ENV_ARG_PARAMETER); ACE_CHECK; // Break all ties between the ObjectReferenceTemplate and this // POA. - if (this->ort_adapter_ == 0) + if (this->ort_adapter_ != 0) this->ort_adapter_->poa (0); } else @@ -1030,7 +1030,7 @@ TAO_POA::add_ior_component_to_profile ( void TAO_POA::adapter_state_changed ( - const PortableInterceptor::ObjectReferenceTemplateSeq &seq_obj_ref_template, + const TAO_ObjectReferenceTemplate_Array &array_obj_ref_template, PortableInterceptor::AdapterState state ACE_ENV_ARG_DECL) ACE_THROW_SPEC ((CORBA::SystemException)) @@ -1042,21 +1042,10 @@ TAO_POA::adapter_state_changed ( if (interceptor_list == 0) return; - TAO_IORInterceptor_List::TYPE & interceptors = - interceptor_list->interceptors (); - - const size_t interceptor_count = interceptors.size (); - - if (interceptor_count == 0) - return; - - for (size_t i = 0; i < interceptor_count; ++i) - { - interceptors[i]->adapter_state_changed (seq_obj_ref_template, - state - ACE_ENV_ARG_PARAMETER); - ACE_CHECK; - } + interceptor_list->adapter_state_changed (array_obj_ref_template, + state + ACE_ENV_ARG_PARAMETER); + ACE_CHECK; } #if (TAO_HAS_MINIMUM_POA == 0) diff --git a/TAO/tao/PortableServer/POA.h b/TAO/tao/PortableServer/POA.h index 122667e3b37..89c893ff58e 100644 --- a/TAO/tao/PortableServer/POA.h +++ b/TAO/tao/PortableServer/POA.h @@ -134,6 +134,10 @@ class TAO_Acceptor_Registry; class TAO_ObjectReferenceTemplate_Adapter; class TAO_ObjectReferenceTemplate_Adapter_Factory; +typedef +ACE_Array_Base TAO_ObjectReferenceTemplate_Array; + + namespace PortableInterceptor { class IORInfo; @@ -159,7 +163,7 @@ public: friend class TAO_POA_Current_Impl; friend class TAO_POA_Manager; friend class TAO_RT_Collocation_Resolver; - //friend class TAO_ObjectReferenceTemplate; + friend class TAO_ObjectReferenceTemplate_Adapter_Factory; typedef ACE_CString String; @@ -550,6 +554,10 @@ public: CORBA::Boolean waiting_destruction (void) const; + static void objectreferencetemplate_adapter_factory_name (const char *name); + + static const char *objectreferencetemplate_adapter_factory_name (void); + protected: /// Template method for creating new POA's of this type. @@ -606,10 +614,9 @@ protected: /// Method to notify the IOR Interceptors when there is a state /// changed not related to POAManager. void adapter_state_changed ( - const PortableInterceptor::ObjectReferenceTemplateSeq &seq_obj_ref_template, + const TAO_ObjectReferenceTemplate_Array &array_obj_ref_template, PortableInterceptor::AdapterState state - ACE_ENV_ARG_DECL - ) + ACE_ENV_ARG_DECL) ACE_THROW_SPEC ((CORBA::SystemException)); /// Add the given tagged component to all profiles. @@ -663,8 +670,11 @@ protected: //@} #endif /* TAO_HAS_MINIMUM_CORBA */ +// @johnny hacke +public: CORBA::Object_ptr invoke_key_to_object (ACE_ENV_SINGLE_ARG_DECL); +protected: /// Wrapper for the ORB's key_to_object that will alter the object pointer /// if the ImplRepo is used. CORBA::Object_ptr key_to_object (const TAO::ObjectKey &key, @@ -850,10 +860,6 @@ protected: /// prototype for creating new POA's. It should static TAO_POA_Policy_Set &default_poa_policies (void); - static void objectreferencetemplate_adapter_factory_name (const char *name); - - static const char *objectreferencetemplate_adapter_factory_name (void); - protected: TAO_SERVANT_LOCATION locate_servant_i (const PortableServer::ObjectId &id, -- cgit v1.2.1