--- InterfaceS.h Fri Jan 12 22:31:13 2001 +++ ..\InterfaceS.h Fri Jan 12 22:34:21 2001 @@ -1,6 +1,6 @@ // -*- C++ -*- // -// $Id$ +// $Id$ // **** Code generated by the The ACE ORB (TAO) IDL Compiler **** // TAO and the TAO IDL Compiler have been developed by: @@ -19,23 +19,22 @@ // Information about TAO is available at: // http://www.cs.wustl.edu/~schmidt/TAO.html -#ifndef _TAO_IDL_INTERFACES_H_ -#define _TAO_IDL_INTERFACES_H_ - +#ifndef TAO_IDL_INTERFACES_H +#define TAO_IDL_INTERFACES_H #include "ace/pre.h" -#include "InterfaceC.h" +#include "tao/IFR_Basic/InterfaceC.h" #if !defined (ACE_LACKS_PRAGMA_ONCE) # pragma once #endif /* ACE_LACKS_PRAGMA_ONCE */ -#include "tao/PortableServer/PortableServer.h" -#include "tao/PortableServer/Servant_Base.h" -#include "tao/PortableServer/Collocated_Object.h" +#include "tao/PortableServer/Operation_Table.h" +#include "tao/PortableServer/Object_Adapter.h" #include "tao/PortableServer/ThruPOA_Object_Proxy_Impl.h" -#include "tao/PortableServer/Direct_Object_Proxy_Impl.h" -#include "tao/PortableServer/ServerRequestInfo.h" +#include "tao/Stub.h" +#include "tao/ORB_Core.h" +#include "tao/TAO_Server_Request.h" #if defined(_MSC_VER) #if (_MSC_VER >= 1200) @@ -48,224 +47,108 @@ #pragma option push -w-rvl -w-rch -w-ccc -w-inl #endif /* __BORLANDC__ */ -TAO_NAMESPACE POA_IR -{ -} -TAO_NAMESPACE_CLOSE +class POA_CORBA_IRObject; +typedef POA_CORBA_IRObject *POA_CORBA_IRObject_ptr; +// Forward Classes Declaration +class _TAO_IRObject_ThruPOA_Proxy_Impl; +class _TAO_IRObject_Strategized_Proxy_Broker; -TAO_NAMESPACE POA_CORBA +class POA_CORBA_IRObject : public virtual PortableServer::ServantBase { - class IRObject; - typedef IRObject *IRObject_ptr; - // Forward Classes Declaration - class _TAO_IRObject_ThruPOA_Proxy_Impl; - class _TAO_IRObject_Strategized_Proxy_Broker; - - class IRObject : public virtual PortableServer::ServantBase - { - protected: - IRObject (void); - - public: - IRObject (const IRObject& rhs); - virtual ~IRObject (void); - - - virtual CORBA::Boolean _is_a ( - const char* logical_type_id, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - virtual void* _downcast ( - const char* logical_type_id - ); - - static void _is_a_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _non_existent_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - virtual void _dispatch ( - TAO_ServerRequest &_tao_req, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - ::CORBA::IRObject *_this ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); +protected: + POA_CORBA_IRObject (void); - virtual const char* _interface_repository_id (void) const; +public: + POA_CORBA_IRObject (const POA_CORBA_IRObject& rhs); + virtual ~POA_CORBA_IRObject (void); - virtual IR::DefinitionKind def_kind ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + virtual CORBA::Boolean _is_a ( + const char* logical_type_id, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void _get_def_kind_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual void* _downcast ( + const char* logical_type_id + ); - virtual void destroy ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + static void _is_a_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void destroy_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _non_existent_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - -#if (TAO_HAS_INTERCEPTORS == 1) - // Generation of interceptors related RequestInfo classes per operation. - // This needed to be able to store the arguments, exceptions, contexts - // and build the lists dynamically on demand so that unnecessary time overhead - // of building these lists when they arent used is avoided. - class TAO_ServerRequestInfo_CORBA_IRObject_def_kind_get : public TAO_ServerRequestInfo - { - public: - friend class POA_CORBA::IRObject; - TAO_ServerRequestInfo_CORBA_IRObject_def_kind_get ( - TAO_ServerRequest &_tao_server_request, - POA_CORBA::IRObject *tao_impl - , - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual void _dispatch ( + TAO_ServerRequest &_tao_req, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - - private: - TAO_ServerRequestInfo_CORBA_IRObject_def_kind_get (const TAO_ServerRequestInfo_CORBA_IRObject_def_kind_get &); - void operator= (const TAO_ServerRequestInfo_CORBA_IRObject_def_kind_get &); - - private: - POA_CORBA::IRObject *_tao_impl; - void result (IR::DefinitionKind result); - // update the result -IR::DefinitionKind _result; -}; + ::CORBA::IRObject *_this ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); -class TAO_ServerRequestInfo_CORBA_IRObject_destroy : public TAO_ServerRequestInfo -{ -public: - friend class POA_CORBA::IRObject; - TAO_ServerRequestInfo_CORBA_IRObject_destroy ( - TAO_ServerRequest &_tao_server_request, - POA_CORBA::IRObject *tao_impl - , - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual const char* _interface_repository_id (void) const; - virtual Dynamic::ParameterList * arguments ( + virtual IR_DefinitionKind def_kind ( CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; + + static void _get_def_kind_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( + ); + + virtual void destroy ( CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_CORBA_IRObject_destroy (const TAO_ServerRequestInfo_CORBA_IRObject_destroy &); - void operator= (const TAO_ServerRequestInfo_CORBA_IRObject_destroy &); - -private: - POA_CORBA::IRObject *_tao_impl; - }; - -#endif /* TAO_HAS_INTERCEPTORS */ + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; + static void destroy_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); }; - /////////////////////////////////////////////////////////////////////// // Strategized Proxy Broker Declaration // -class _TAO_IRObject_Strategized_Proxy_Broker : public virtual ::CORBA::_TAO_IRObject_Proxy_Broker +class _TAO_IRObject_Strategized_Proxy_Broker + : public virtual _TAO_IRObject_Proxy_Broker { public: _TAO_IRObject_Strategized_Proxy_Broker (void); - + virtual ~_TAO_IRObject_Strategized_Proxy_Broker (void); - - virtual ::CORBA::_TAO_IRObject_Proxy_Impl &select_proxy ( - ::CORBA::IRObject *object, + + virtual _TAO_IRObject_Proxy_Impl &select_proxy ( + CORBA_IRObject *object, CORBA_Environment &ACE_TRY_ENV = TAO_default_environment () ); @@ -279,13 +162,12 @@ ); private: - + // Caches the proxy implementations. The proxy implementation // are totally stateless, and those can be shared by all the // instances of a given IDL interface type. - ::CORBA::_TAO_IRObject_Proxy_Impl - *proxy_cache_[TAO_ORB_Core::COLLOCATION_STRATEGIES_NUM]; - + _TAO_IRObject_Proxy_Impl *proxy_cache_[TAO_ORB_Core::COLLOCATION_STRATEGIES_NUM]; + TAO_SYNCH_MUTEX mutex_; // This funxtion is used to get an handle to the unique instance // of the Strategized Proxy Broker that is available for a given @@ -305,16 +187,16 @@ // ThruPOA Impl. Declaration // -class _TAO_IRObject_ThruPOA_Proxy_Impl : - public virtual ::CORBA::_TAO_IRObject_Proxy_Impl, - public virtual TAO_ThruPOA_Object_Proxy_Impl +class _TAO_IRObject_ThruPOA_Proxy_Impl + : public virtual _TAO_IRObject_Proxy_Impl, + public virtual TAO_ThruPOA_Object_Proxy_Impl { public: _TAO_IRObject_ThruPOA_Proxy_Impl (void); - - virtual ~_TAO_IRObject_ThruPOA_Proxy_Impl (void) { } - - virtual IR::DefinitionKind def_kind ( + + virtual ~_TAO_IRObject_ThruPOA_Proxy_Impl (void); + + virtual IR_DefinitionKind def_kind ( CORBA_Object *_collocated_tao_target_, CORBA::Environment &ACE_TRY_ENV ) @@ -332,77 +214,10 @@ }; - // // ThruPOA Proxy Impl. Declaration /////////////////////////////////////////////////////////////////////// - -#if defined (ACE_HAS_USING_KEYWORD) -// TIE class: Refer to CORBA v2.2, Section 20.34.4 -template -class IRObject_tie : public IRObject -{ -public: - IRObject_tie (T &t); - // the T& ctor - IRObject_tie (T &t, PortableServer::POA_ptr poa); - // ctor taking a POA - IRObject_tie (T *tp, CORBA::Boolean release=1); - // ctor taking pointer and an ownership flag - IRObject_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1); - // ctor with T*, ownership flag and a POA - ~IRObject_tie (void); - // dtor - - // TIE specific functions - T *_tied_object (void); - // return the underlying object - void _tied_object (T &obj); - // set the underlying object - void _tied_object (T *obj, CORBA::Boolean release=1); - // set the underlying object and the ownership flag - CORBA::Boolean _is_owner (void); - // do we own it - void _is_owner (CORBA::Boolean b); - // set the ownership - - // overridden ServantBase operations - PortableServer::POA_ptr _default_POA ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - IR::DefinitionKind def_kind ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - void destroy ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - -private: - T *ptr_; - PortableServer::POA_var poa_; - CORBA::Boolean rel_; - - // copy and assignment are not allowed - IRObject_tie (const IRObject_tie &); - void operator= (const IRObject_tie &); -}; - -#endif /* ACE_HAS_USING_KEYWORD */ - -} -TAO_NAMESPACE_CLOSE - TAO_NAMESPACE POA_IR { class Contained; @@ -411,7 +226,7 @@ class _TAO_Contained_ThruPOA_Proxy_Impl; class _TAO_Contained_Strategized_Proxy_Broker; - class Contained : public virtual POA_CORBA::IRObject + class Contained : public virtual POA_CORBA_IRObject { protected: Contained (void); @@ -420,10 +235,9 @@ Contained (const Contained& rhs); virtual ~Contained (void); - virtual CORBA::Boolean _is_a ( const char* logical_type_id, - CORBA::Environment &ACE_TRY_ENV = + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ); @@ -435,7 +249,7 @@ TAO_ServerRequest &req, void *obj, void *context, - CORBA::Environment &ACE_TRY_ENV = + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ); @@ -443,26 +257,26 @@ TAO_ServerRequest &req, void *obj, void *context, - CORBA::Environment &ACE_TRY_ENV = + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ); virtual void _dispatch ( TAO_ServerRequest &_tao_req, void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ); - ::IR::Contained *_this ( - CORBA::Environment &ACE_TRY_ENV = + IR_Contained *_this ( + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ); - virtual const char* _interface_repository_id (void) const; + virtual const char *_interface_repository_id (void) const; - virtual char * id ( - CORBA::Environment &ACE_TRY_ENV = + virtual char *id ( + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) ACE_THROW_SPEC (( @@ -470,16 +284,16 @@ )) = 0; static void _get_id_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ); virtual void id ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = + const char *id, + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) ACE_THROW_SPEC (( @@ -487,15 +301,15 @@ )) = 0; static void _set_id_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ); - virtual char * name ( - CORBA::Environment &ACE_TRY_ENV = + virtual char *name ( + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) ACE_THROW_SPEC (( @@ -503,16 +317,16 @@ )) = 0; static void _get_name_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ); virtual void name ( - const char * name, - CORBA::Environment &ACE_TRY_ENV = + const char *name, + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) ACE_THROW_SPEC (( @@ -520,15 +334,15 @@ )) = 0; static void _set_name_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ); - virtual char * version ( - CORBA::Environment &ACE_TRY_ENV = + virtual char *version ( + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) ACE_THROW_SPEC (( @@ -536,16 +350,16 @@ )) = 0; static void _get_version_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ); virtual void version ( const char * version, - CORBA::Environment &ACE_TRY_ENV = + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) ACE_THROW_SPEC (( @@ -553,15 +367,15 @@ )) = 0; static void _set_version_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ); - virtual IR::Container_ptr defined_in ( - CORBA::Environment &ACE_TRY_ENV = + virtual IR_Container_ptr defined_in ( + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) ACE_THROW_SPEC (( @@ -569,15 +383,15 @@ )) = 0; static void _get_defined_in_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ); - virtual char * absolute_name ( - CORBA::Environment &ACE_TRY_ENV = + virtual char *absolute_name ( + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) ACE_THROW_SPEC (( @@ -585,15 +399,15 @@ )) = 0; static void _get_absolute_name_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ); - virtual IR::Repository_ptr containing_repository ( - CORBA::Environment &ACE_TRY_ENV = + virtual IR_Repository_ptr containing_repository ( + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) ACE_THROW_SPEC (( @@ -601,15 +415,15 @@ )) = 0; static void _get_containing_repository_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ); - virtual IR::Contained::Description * describe ( - CORBA::Environment &ACE_TRY_ENV = + virtual IR_Contained::Description *describe ( + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) ACE_THROW_SPEC (( @@ -617,18 +431,18 @@ )) = 0; static void describe_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ); virtual void move ( - IR::Container_ptr new_container, - const char * new_name, - const char * new_version, - CORBA::Environment &ACE_TRY_ENV = + IR_Container_ptr new_container, + const char *new_name, + const char *new_version, + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) ACE_THROW_SPEC (( @@ -636,10 +450,10 @@ )) = 0; static void move_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ); @@ -647,604 +461,33 @@ TAO_ServerRequest &req, void *obj, void *context, - CORBA::Environment &ACE_TRY_ENV = + CORBA::Environment &env = TAO_default_environment () ); static void destroy_skel ( - TAO_ServerRequest &req, + TAO_ServerRequest &req, void *obj, void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - -#if (TAO_HAS_INTERCEPTORS == 1) - // Generation of interceptors related RequestInfo classes per operation. - // This needed to be able to store the arguments, exceptions, contexts - // and build the lists dynamically on demand so that unnecessary time overhead - // of building these lists when they arent used is avoided. - class TAO_ServerRequestInfo_IR_Contained_id_get : public TAO_ServerRequestInfo - { - public: - friend class POA_IR::Contained; - TAO_ServerRequestInfo_IR_Contained_id_get ( - TAO_ServerRequest &_tao_server_request, - POA_IR::Contained *tao_impl - , - CORBA::Environment &ACE_TRY_ENV = + CORBA::Environment &env = TAO_default_environment () ); - - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - - private: - TAO_ServerRequestInfo_IR_Contained_id_get (const TAO_ServerRequestInfo_IR_Contained_id_get &); - void operator= (const TAO_ServerRequestInfo_IR_Contained_id_get &); - - private: - POA_IR::Contained *_tao_impl; - void result (char * result); - // update the result -char * _result; }; -class TAO_ServerRequestInfo_IR_Contained_id_set : public TAO_ServerRequestInfo +/////////////////////////////////////////////////////////////////////// +// Strategized Proxy Broker Declaration +// + +class _TAO_Contained_Strategized_Proxy_Broker : public virtual _TAO_Contained_Proxy_Broker { -public: - friend class POA_IR::Contained; - TAO_ServerRequestInfo_IR_Contained_id_set ( - TAO_ServerRequest &_tao_server_request, - POA_IR::Contained *tao_impl - , - const char * id, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_Contained_id_set (const TAO_ServerRequestInfo_IR_Contained_id_set &); - void operator= (const TAO_ServerRequestInfo_IR_Contained_id_set &); - -private: - POA_IR::Contained *_tao_impl; - const char * id_; -}; - -class TAO_ServerRequestInfo_IR_Contained_name_get : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::Contained; - TAO_ServerRequestInfo_IR_Contained_name_get ( - TAO_ServerRequest &_tao_server_request, - POA_IR::Contained *tao_impl - , - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_Contained_name_get (const TAO_ServerRequestInfo_IR_Contained_name_get &); - void operator= (const TAO_ServerRequestInfo_IR_Contained_name_get &); - -private: - POA_IR::Contained *_tao_impl; - void result (char * result); - // update the result -char * _result; -}; - -class TAO_ServerRequestInfo_IR_Contained_name_set : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::Contained; - TAO_ServerRequestInfo_IR_Contained_name_set ( - TAO_ServerRequest &_tao_server_request, - POA_IR::Contained *tao_impl - , - const char * name, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_Contained_name_set (const TAO_ServerRequestInfo_IR_Contained_name_set &); - void operator= (const TAO_ServerRequestInfo_IR_Contained_name_set &); - -private: - POA_IR::Contained *_tao_impl; - const char * name_; -}; - -class TAO_ServerRequestInfo_IR_Contained_version_get : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::Contained; - TAO_ServerRequestInfo_IR_Contained_version_get ( - TAO_ServerRequest &_tao_server_request, - POA_IR::Contained *tao_impl - , - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_Contained_version_get (const TAO_ServerRequestInfo_IR_Contained_version_get &); - void operator= (const TAO_ServerRequestInfo_IR_Contained_version_get &); - -private: - POA_IR::Contained *_tao_impl; - void result (char * result); - // update the result -char * _result; -}; - -class TAO_ServerRequestInfo_IR_Contained_version_set : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::Contained; - TAO_ServerRequestInfo_IR_Contained_version_set ( - TAO_ServerRequest &_tao_server_request, - POA_IR::Contained *tao_impl - , - const char * version, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_Contained_version_set (const TAO_ServerRequestInfo_IR_Contained_version_set &); - void operator= (const TAO_ServerRequestInfo_IR_Contained_version_set &); - -private: - POA_IR::Contained *_tao_impl; - const char * version_; -}; - -class TAO_ServerRequestInfo_IR_Contained_defined_in_get : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::Contained; - TAO_ServerRequestInfo_IR_Contained_defined_in_get ( - TAO_ServerRequest &_tao_server_request, - POA_IR::Contained *tao_impl - , - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_Contained_defined_in_get (const TAO_ServerRequestInfo_IR_Contained_defined_in_get &); - void operator= (const TAO_ServerRequestInfo_IR_Contained_defined_in_get &); - -private: - POA_IR::Contained *_tao_impl; - void result (IR::Container_ptr result); - // update the result -IR::Container_ptr _result; -}; - -class TAO_ServerRequestInfo_IR_Contained_absolute_name_get : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::Contained; - TAO_ServerRequestInfo_IR_Contained_absolute_name_get ( - TAO_ServerRequest &_tao_server_request, - POA_IR::Contained *tao_impl - , - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_Contained_absolute_name_get (const TAO_ServerRequestInfo_IR_Contained_absolute_name_get &); - void operator= (const TAO_ServerRequestInfo_IR_Contained_absolute_name_get &); - -private: - POA_IR::Contained *_tao_impl; - void result (char * result); - // update the result -char * _result; -}; - -class TAO_ServerRequestInfo_IR_Contained_containing_repository_get : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::Contained; - TAO_ServerRequestInfo_IR_Contained_containing_repository_get ( - TAO_ServerRequest &_tao_server_request, - POA_IR::Contained *tao_impl - , - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_Contained_containing_repository_get (const TAO_ServerRequestInfo_IR_Contained_containing_repository_get &); - void operator= (const TAO_ServerRequestInfo_IR_Contained_containing_repository_get &); - -private: - POA_IR::Contained *_tao_impl; - void result (IR::Repository_ptr result); - // update the result -IR::Repository_ptr _result; -}; - -class TAO_ServerRequestInfo_IR_Contained_describe : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::Contained; - TAO_ServerRequestInfo_IR_Contained_describe ( - TAO_ServerRequest &_tao_server_request, - POA_IR::Contained *tao_impl - , - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_Contained_describe (const TAO_ServerRequestInfo_IR_Contained_describe &); - void operator= (const TAO_ServerRequestInfo_IR_Contained_describe &); - -private: - POA_IR::Contained *_tao_impl; - void result (IR::Contained::Description * result); - // update the result -IR::Contained::Description * _result; -}; - -class TAO_ServerRequestInfo_IR_Contained_move : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::Contained; - TAO_ServerRequestInfo_IR_Contained_move ( - TAO_ServerRequest &_tao_server_request, - POA_IR::Contained *tao_impl - , - IR::Container_ptr new_container, - const char * new_name, - const char * new_version, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_Contained_move (const TAO_ServerRequestInfo_IR_Contained_move &); - void operator= (const TAO_ServerRequestInfo_IR_Contained_move &); - -private: - POA_IR::Contained *_tao_impl; - IR::Container_ptr new_container_; -const char * new_name_; -const char * new_version_; -}; - -#endif /* TAO_HAS_INTERCEPTORS */ - -}; - - -/////////////////////////////////////////////////////////////////////// -// Strategized Proxy Broker Declaration -// - -class _TAO_Contained_Strategized_Proxy_Broker : public virtual ::IR::_TAO_Contained_Proxy_Broker -{ -public: - _TAO_Contained_Strategized_Proxy_Broker (void); - - virtual ~_TAO_Contained_Strategized_Proxy_Broker (void); - - virtual ::IR::_TAO_Contained_Proxy_Impl &select_proxy ( - ::IR::Contained *object, - CORBA_Environment &ACE_TRY_ENV = TAO_default_environment () +public: + _TAO_Contained_Strategized_Proxy_Broker (void); + + virtual ~_TAO_Contained_Strategized_Proxy_Broker (void); + + virtual _TAO_Contained_Proxy_Impl &select_proxy ( + IR_Contained *object, + CORBA_Environment &ACE_TRY_ENV = TAO_default_environment () ); private: @@ -1261,7 +504,7 @@ // Caches the proxy implementations. The proxy implementation // are totally stateless, and those can be shared by all the // instances of a given IDL interface type. - ::IR::_TAO_Contained_Proxy_Impl + _TAO_Contained_Proxy_Impl *proxy_cache_[TAO_ORB_Core::COLLOCATION_STRATEGIES_NUM]; TAO_SYNCH_MUTEX mutex_; @@ -1273,7 +516,6 @@ static _TAO_Contained_Strategized_Proxy_Broker *the_TAO_Contained_Strategized_Proxy_Broker (void); }; - // // End Strategized Proxy Broker Declaration /////////////////////////////////////////////////////////////////////// @@ -1283,18 +525,18 @@ // ThruPOA Impl. Declaration // -class _TAO_Contained_ThruPOA_Proxy_Impl : - public virtual ::IR::_TAO_Contained_Proxy_Impl, +class _TAO_Contained_ThruPOA_Proxy_Impl : + public virtual _TAO_Contained_Proxy_Impl, public virtual TAO_ThruPOA_Object_Proxy_Impl, - public virtual ::POA_CORBA::_TAO_IRObject_ThruPOA_Proxy_Impl + public virtual _TAO_IRObject_ThruPOA_Proxy_Impl { public: _TAO_Contained_ThruPOA_Proxy_Impl (void); - virtual ~_TAO_Contained_ThruPOA_Proxy_Impl (void) { } + virtual ~_TAO_Contained_ThruPOA_Proxy_Impl (void); - virtual char * id ( + virtual char * id ( CORBA_Object *_collocated_tao_target_, CORBA::Environment &ACE_TRY_ENV ) @@ -1302,7 +544,7 @@ CORBA::SystemException )); - virtual void id ( + virtual void id ( CORBA_Object *_collocated_tao_target_, const char * id, CORBA::Environment &ACE_TRY_ENV @@ -1311,7 +553,7 @@ CORBA::SystemException )); - virtual char * name ( + virtual char * name ( CORBA_Object *_collocated_tao_target_, CORBA::Environment &ACE_TRY_ENV ) @@ -1319,7 +561,7 @@ CORBA::SystemException )); - virtual void name ( + virtual void name ( CORBA_Object *_collocated_tao_target_, const char * name, CORBA::Environment &ACE_TRY_ENV @@ -1328,7 +570,7 @@ CORBA::SystemException )); - virtual char * version ( + virtual char * version ( CORBA_Object *_collocated_tao_target_, CORBA::Environment &ACE_TRY_ENV ) @@ -1336,7 +578,7 @@ CORBA::SystemException )); - virtual void version ( + virtual void version ( CORBA_Object *_collocated_tao_target_, const char * version, CORBA::Environment &ACE_TRY_ENV @@ -1345,7 +587,7 @@ CORBA::SystemException )); - virtual IR::Container_ptr defined_in ( + virtual IR_Container_ptr defined_in ( CORBA_Object *_collocated_tao_target_, CORBA::Environment &ACE_TRY_ENV ) @@ -1353,7 +595,7 @@ CORBA::SystemException )); - virtual char * absolute_name ( + virtual char * absolute_name ( CORBA_Object *_collocated_tao_target_, CORBA::Environment &ACE_TRY_ENV ) @@ -1361,7 +603,7 @@ CORBA::SystemException )); - virtual IR::Repository_ptr containing_repository ( + virtual IR_Repository_ptr containing_repository ( CORBA_Object *_collocated_tao_target_, CORBA::Environment &ACE_TRY_ENV ) @@ -1369,7 +611,7 @@ CORBA::SystemException )); - virtual IR::Contained::Description * describe ( + virtual IR_Contained::Description * describe ( CORBA_Object *_collocated_tao_target_, CORBA::Environment &ACE_TRY_ENV ) @@ -1377,9 +619,9 @@ CORBA::SystemException )); - virtual void move ( + virtual void move ( CORBA_Object *_collocated_tao_target_, - IR::Container_ptr new_container, + IR_Container_ptr new_container, const char * new_name, const char * new_version, CORBA::Environment &ACE_TRY_ENV @@ -1395,1450 +637,1136 @@ // ThruPOA Proxy Impl. Declaration /////////////////////////////////////////////////////////////////////// - #if defined (ACE_HAS_USING_KEYWORD) -// TIE class: Refer to CORBA v2.2, Section 20.34.4 -template -class Contained_tie : public Contained -{ -public: - Contained_tie (T &t); - // the T& ctor - Contained_tie (T &t, PortableServer::POA_ptr poa); - // ctor taking a POA - Contained_tie (T *tp, CORBA::Boolean release=1); - // ctor taking pointer and an ownership flag - Contained_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1); - // ctor with T*, ownership flag and a POA - ~Contained_tie (void); - // dtor - - // TIE specific functions - T *_tied_object (void); - // return the underlying object - void _tied_object (T &obj); - // set the underlying object - void _tied_object (T *obj, CORBA::Boolean release=1); - // set the underlying object and the ownership flag - CORBA::Boolean _is_owner (void); - // do we own it - void _is_owner (CORBA::Boolean b); - // set the ownership - - // overridden ServantBase operations - PortableServer::POA_ptr _default_POA ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - char * id ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + // TIE class: Refer to CORBA v2.2, Section 20.34.4 + template + class Contained_tie : public Contained + { + public: + Contained_tie (T &t); + // the T& ctor + Contained_tie (T &t, PortableServer::POA_ptr poa); + // ctor taking a POA + Contained_tie (T *tp, CORBA::Boolean release=1); + // ctor taking pointer and an ownership flag + Contained_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1); + // ctor with T*, ownership flag and a POA + ~Contained_tie (void); + // dtor + + // TIE specific functions + T *_tied_object (void); + // return the underlying object + void _tied_object (T &obj); + // set the underlying object + void _tied_object (T *obj, CORBA::Boolean release=1); + // set the underlying object and the ownership flag + CORBA::Boolean _is_owner (void); + // do we own it + void _is_owner (CORBA::Boolean b); + // set the ownership + + // overridden ServantBase operations + PortableServer::POA_ptr _default_POA ( + CORBA::Environment &env = + TAO_default_environment () + ); + char * id ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - void id ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + void id ( + const char * id, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - char * name ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + char * name ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - void name ( - const char * name, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + void name ( + const char * name, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - char * version ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + char * version ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - void version ( - const char * version, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + void version ( + const char * version, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::Container_ptr defined_in ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_Container_ptr defined_in ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - char * absolute_name ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + char * absolute_name ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::Repository_ptr containing_repository ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_Repository_ptr containing_repository ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::Contained::Description * describe ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_Contained::Description * describe ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - void move ( - IR::Container_ptr new_container, - const char * new_name, - const char * new_version, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + void move ( + IR_Container_ptr new_container, + const char * new_name, + const char * new_version, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::DefinitionKind def_kind ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_DefinitionKind def_kind ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - void destroy ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + void destroy ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); private: - T *ptr_; - PortableServer::POA_var poa_; - CORBA::Boolean rel_; - - // copy and assignment are not allowed - Contained_tie (const Contained_tie &); - void operator= (const Contained_tie &); -}; + T *ptr_; + PortableServer::POA_var poa_; + CORBA::Boolean rel_; + + // copy and assignment are not allowed + Contained_tie (const Contained_tie &); + void operator= (const Contained_tie &); + }; #endif /* ACE_HAS_USING_KEYWORD */ -class Container; -typedef Container *Container_ptr; -// Forward Classes Declaration -class _TAO_Container_ThruPOA_Proxy_Impl; -class _TAO_Container_Strategized_Proxy_Broker; + class Container; + typedef Container *Container_ptr; + // Forward Classes Declaration + class _TAO_Container_ThruPOA_Proxy_Impl; + class _TAO_Container_Strategized_Proxy_Broker; -class Container : public virtual POA_CORBA::IRObject -{ -protected: - Container (void); + class Container : public virtual POA_CORBA_IRObject + { + protected: + Container (void); -public: - Container (const Container& rhs); - virtual ~Container (void); + public: + Container (const Container& rhs); + virtual ~Container (void); - virtual CORBA::Boolean _is_a ( - const char* logical_type_id, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual CORBA::Boolean _is_a ( + const char *logical_type_id, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - virtual void* _downcast ( - const char* logical_type_id - ); + virtual void *_downcast ( + const char *logical_type_id + ); - static void _is_a_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _is_a_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void _non_existent_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _non_existent_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - virtual void _dispatch ( - TAO_ServerRequest &_tao_req, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual void _dispatch ( + TAO_ServerRequest &_tao_req, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - ::IR::Container *_this ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_Container *_this ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - virtual const char* _interface_repository_id (void) const; + virtual const char *_interface_repository_id (void) const; - virtual IR::Contained_ptr lookup ( - const char * search_name, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + virtual IR_Contained_ptr lookup ( + const char *search_name, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; - static void lookup_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void lookup_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - virtual IR::ContainedSeq * contents ( - IR::DefinitionKind limit_type, - CORBA::Boolean exclude_inherited, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + virtual IR_ContainedSeq *contents ( + IR_DefinitionKind limit_type, + CORBA::Boolean exclude_inherited, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; - static void contents_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void contents_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - virtual IR::ContainedSeq * lookup_name ( - const char * search_name, - CORBA::Long levels_to_search, - IR::DefinitionKind limit_type, - CORBA::Boolean exclude_inherited, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; - - static void lookup_name_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual IR_ContainedSeq *lookup_name ( + const char *search_name, + CORBA::Long levels_to_search, + IR_DefinitionKind limit_type, + CORBA::Boolean exclude_inherited, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; - virtual IR::Container::DescriptionSeq * describe_contents ( - IR::DefinitionKind limit_type, - CORBA::Boolean exclude_inherited, - CORBA::Long max_returned_objs, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + static void lookup_name_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void describe_contents_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual IR_Container::DescriptionSeq *describe_contents ( + IR_DefinitionKind limit_type, + CORBA::Boolean exclude_inherited, + CORBA::Long max_returned_objs, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; - virtual IR::ModuleDef_ptr create_module ( - const char * id, - const char * name, - const char * version, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + static void describe_contents_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void create_module_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual IR_ModuleDef_ptr create_module ( + const char *id, + const char *name, + const char *version, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; - virtual IR::ConstantDef_ptr create_constant ( - const char * id, - const char * name, - const char * version, - IR::IDLType_ptr type, - const CORBA::Any & value, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + static void create_module_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void create_constant_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual IR_ConstantDef_ptr create_constant ( + const char *id, + const char *name, + const char *version, + IR_IDLType_ptr type, + const CORBA::Any & value, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; - virtual IR::StructDef_ptr create_struct ( - const char * id, - const char * name, - const char * version, - const IR::StructMemberSeq & members, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + static void create_constant_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void create_struct_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual IR_StructDef_ptr create_struct ( + const char *id, + const char *name, + const char *version, + const IR_StructMemberSeq &members, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; - virtual IR::UnionDef_ptr create_union ( - const char * id, - const char * name, - const char * version, - IR::IDLType_ptr discriminator_type, - const IR::UnionMemberSeq & members, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + static void create_struct_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void create_union_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual IR_UnionDef_ptr create_union ( + const char *id, + const char *name, + const char *version, + IR_IDLType_ptr discriminator_type, + const IR_UnionMemberSeq &members, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; - virtual IR::EnumDef_ptr create_enum ( - const char * id, - const char * name, - const char * version, - const IR::EnumMemberSeq & members, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + static void create_union_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void create_enum_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual IR_EnumDef_ptr create_enum ( + const char * id, + const char * name, + const char * version, + const IR_EnumMemberSeq &members, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; - virtual IR::AliasDef_ptr create_alias ( - const char * id, - const char * name, - const char * version, - IR::IDLType_ptr original_type, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + static void create_enum_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void create_alias_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual IR_AliasDef_ptr create_alias ( + const char *id, + const char *name, + const char *version, + IR_IDLType_ptr original_type, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; - virtual IR::InterfaceDef_ptr create_interface ( - const char * id, - const char * name, - const char * version, - const IR::InterfaceDefSeq & base_interfaces, - CORBA::Boolean is_abstract, - CORBA::Boolean is_local, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + static void create_alias_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void create_interface_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual IR_InterfaceDef_ptr create_interface ( + const char *id, + const char *name, + const char *version, + const IR_InterfaceDefSeq &base_interfaces, + CORBA::Boolean is_abstract, + CORBA::Boolean is_local, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; - virtual IR::ValueDef_ptr create_value ( - const char * id, - const char * name, - const char * version, - CORBA::Boolean is_custom, - CORBA::Boolean is_abstract, - IR::ValueDef_ptr base_value, - CORBA::Boolean is_truncatable, - const IR::ValueDefSeq & abstract_base_values, - const IR::InterfaceDefSeq & supported_interfaces, - const IR::InitializerSeq & initializers, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + static void create_interface_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void create_value_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual IR_ValueDef_ptr create_value ( + const char *id, + const char *name, + const char *version, + CORBA::Boolean is_custom, + CORBA::Boolean is_abstract, + IR_ValueDef_ptr base_value, + CORBA::Boolean is_truncatable, + const IR_ValueDefSeq &abstract_base_values, + const IR_InterfaceDefSeq &supported_interfaces, + const IR_InitializerSeq &initializers, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; - virtual IR::ValueBoxDef_ptr create_value_box ( - const char * id, - const char * name, - const char * version, - IR::IDLType_ptr original_type_def, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + static void create_value_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void create_value_box_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual IR_ValueBoxDef_ptr create_value_box ( + const char *id, + const char *name, + const char *version, + IR_IDLType_ptr original_type_def, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; - virtual IR::ExceptionDef_ptr create_exception ( - const char * id, - const char * name, - const char * version, - const IR::StructMemberSeq & members, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + static void create_value_box_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void create_exception_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual IR_ExceptionDef_ptr create_exception ( + const char *id, + const char *name, + const char *version, + const IR_StructMemberSeq &members, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; - virtual IR::NativeDef_ptr create_native ( - const char * id, - const char * name, - const char * version, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; - - static void create_native_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _get_def_kind_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void destroy_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - -#if (TAO_HAS_INTERCEPTORS == 1) - // Generation of interceptors related RequestInfo classes per operation. - // This needed to be able to store the arguments, exceptions, contexts - // and build the lists dynamically on demand so that unnecessary time overhead - // of building these lists when they arent used is avoided. - class TAO_ServerRequestInfo_IR_Container_lookup : public TAO_ServerRequestInfo - { - public: - friend class POA_IR::Container; - TAO_ServerRequestInfo_IR_Container_lookup ( - TAO_ServerRequest &_tao_server_request, - POA_IR::Container *tao_impl - , - const char * search_name, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - virtual Dynamic::ParameterList * arguments ( + static void create_exception_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( + ); + + virtual IR_NativeDef_ptr create_native ( + const char *id, + const char *name, + const char *version, CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; + + static void create_native_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - - private: - TAO_ServerRequestInfo_IR_Container_lookup (const TAO_ServerRequestInfo_IR_Container_lookup &); - void operator= (const TAO_ServerRequestInfo_IR_Container_lookup &); - - private: - POA_IR::Container *_tao_impl; - const char * search_name_; -void result (IR::Contained_ptr result); - // update the result -IR::Contained_ptr _result; -}; + ); -class TAO_ServerRequestInfo_IR_Container_contents : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::Container; - TAO_ServerRequestInfo_IR_Container_contents ( - TAO_ServerRequest &_tao_server_request, - POA_IR::Container *tao_impl - , - IR::DefinitionKind & limit_type, - const CORBA::Boolean & exclude_inherited, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _get_def_kind_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_Container_contents (const TAO_ServerRequestInfo_IR_Container_contents &); - void operator= (const TAO_ServerRequestInfo_IR_Container_contents &); - -private: - POA_IR::Container *_tao_impl; - const IR::DefinitionKind & limit_type_; -const CORBA::Boolean & exclude_inherited_; -void result (IR::ContainedSeq * result); - // update the result -IR::ContainedSeq * _result; -}; + static void destroy_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + }; + +/////////////////////////////////////////////////////////////////////// +// Strategized Proxy Broker Declaration +// -class TAO_ServerRequestInfo_IR_Container_lookup_name : public TAO_ServerRequestInfo +class _TAO_Container_Strategized_Proxy_Broker : public virtual _TAO_Container_Proxy_Broker { -public: - friend class POA_IR::Container; - TAO_ServerRequestInfo_IR_Container_lookup_name ( - TAO_ServerRequest &_tao_server_request, - POA_IR::Container *tao_impl - , - const char * search_name, - const CORBA::Long & levels_to_search, - IR::DefinitionKind & limit_type, - const CORBA::Boolean & exclude_inherited, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); +public: + _TAO_Container_Strategized_Proxy_Broker (void); - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_Container_lookup_name (const TAO_ServerRequestInfo_IR_Container_lookup_name &); - void operator= (const TAO_ServerRequestInfo_IR_Container_lookup_name &); - -private: - POA_IR::Container *_tao_impl; - const char * search_name_; -const CORBA::Long & levels_to_search_; -const IR::DefinitionKind & limit_type_; -const CORBA::Boolean & exclude_inherited_; -void result (IR::ContainedSeq * result); - // update the result -IR::ContainedSeq * _result; -}; + virtual ~_TAO_Container_Strategized_Proxy_Broker (void); -class TAO_ServerRequestInfo_IR_Container_describe_contents : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::Container; - TAO_ServerRequestInfo_IR_Container_describe_contents ( - TAO_ServerRequest &_tao_server_request, - POA_IR::Container *tao_impl - , - IR::DefinitionKind & limit_type, - const CORBA::Boolean & exclude_inherited, - const CORBA::Long & max_returned_objs, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () + virtual _TAO_Container_Proxy_Impl &select_proxy ( + IR_Container *object, + CORBA_Environment &ACE_TRY_ENV = TAO_default_environment () ); - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_Container_describe_contents (const TAO_ServerRequestInfo_IR_Container_describe_contents &); - void operator= (const TAO_ServerRequestInfo_IR_Container_describe_contents &); - private: - POA_IR::Container *_tao_impl; - const IR::DefinitionKind & limit_type_; -const CORBA::Boolean & exclude_inherited_; -const CORBA::Long & max_returned_objs_; -void result (IR::Container::DescriptionSeq * result); - // update the result -IR::Container::DescriptionSeq * _result; -}; -class TAO_ServerRequestInfo_IR_Container_create_module : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::Container; - TAO_ServerRequestInfo_IR_Container_create_module ( - TAO_ServerRequest &_tao_server_request, - POA_IR::Container *tao_impl - , - const char * id, - const char * name, - const char * version, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () +// Helper methods that takes care to create the proxy +// as soon as their use is necessary. + void create_proxy ( + TAO_ORB_Core::TAO_Collocation_Strategies strategy, + CORBA::Environment &ACE_TRY_ENV ); - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - private: - TAO_ServerRequestInfo_IR_Container_create_module (const TAO_ServerRequestInfo_IR_Container_create_module &); - void operator= (const TAO_ServerRequestInfo_IR_Container_create_module &); -private: - POA_IR::Container *_tao_impl; - const char * id_; -const char * name_; -const char * version_; -void result (IR::ModuleDef_ptr result); - // update the result -IR::ModuleDef_ptr _result; -}; + // Caches the proxy implementations. The proxy implementation + // are totally stateless, and those can be shared by all the + // instances of a given IDL interface type. + _TAO_Container_Proxy_Impl + *proxy_cache_[TAO_ORB_Core::COLLOCATION_STRATEGIES_NUM]; + + TAO_SYNCH_MUTEX mutex_; +// This funxtion is used to get an handle to the unique instance +// of the Strategized Proxy Broker that is available for a given +// interface. -class TAO_ServerRequestInfo_IR_Container_create_constant : public TAO_ServerRequestInfo -{ public: - friend class POA_IR::Container; - TAO_ServerRequestInfo_IR_Container_create_constant ( - TAO_ServerRequest &_tao_server_request, - POA_IR::Container *tao_impl - , - const char * id, - const char * name, - const char * version, - IR::IDLType_ptr type, - const CORBA::Any & value, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_Container_create_constant (const TAO_ServerRequestInfo_IR_Container_create_constant &); - void operator= (const TAO_ServerRequestInfo_IR_Container_create_constant &); - -private: - POA_IR::Container *_tao_impl; - const char * id_; -const char * name_; -const char * version_; -IR::IDLType_ptr type_; -const CORBA::Any & value_; -void result (IR::ConstantDef_ptr result); - // update the result -IR::ConstantDef_ptr _result; + static _TAO_Container_Strategized_Proxy_Broker *the_TAO_Container_Strategized_Proxy_Broker (void); }; -class TAO_ServerRequestInfo_IR_Container_create_struct : public TAO_ServerRequestInfo +// +// End Strategized Proxy Broker Declaration +/////////////////////////////////////////////////////////////////////// + + +/////////////////////////////////////////////////////////////////////// +// ThruPOA Impl. Declaration +// + +class _TAO_Container_ThruPOA_Proxy_Impl : + public virtual _TAO_Container_Proxy_Impl, + public virtual TAO_ThruPOA_Object_Proxy_Impl, + public virtual _TAO_IRObject_ThruPOA_Proxy_Impl + { public: - friend class POA_IR::Container; - TAO_ServerRequestInfo_IR_Container_create_struct ( - TAO_ServerRequest &_tao_server_request, - POA_IR::Container *tao_impl - , - const char * id, - const char * name, - const char * version, - const IR::StructMemberSeq & members, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); + _TAO_Container_ThruPOA_Proxy_Impl (void); - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); + virtual ~_TAO_Container_ThruPOA_Proxy_Impl (void); - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () + virtual IR_Contained_ptr lookup ( + CORBA_Object *_collocated_tao_target_, + const char * search_name, + CORBA::Environment &ACE_TRY_ENV ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_Container_create_struct (const TAO_ServerRequestInfo_IR_Container_create_struct &); - void operator= (const TAO_ServerRequestInfo_IR_Container_create_struct &); - -private: - POA_IR::Container *_tao_impl; - const char * id_; -const char * name_; -const char * version_; -const IR::StructMemberSeq & members_; -void result (IR::StructDef_ptr result); - // update the result -IR::StructDef_ptr _result; -}; + ACE_THROW_SPEC (( + CORBA::SystemException + )); -class TAO_ServerRequestInfo_IR_Container_create_union : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::Container; - TAO_ServerRequestInfo_IR_Container_create_union ( - TAO_ServerRequest &_tao_server_request, - POA_IR::Container *tao_impl - , - const char * id, - const char * name, - const char * version, - IR::IDLType_ptr discriminator_type, - const IR::UnionMemberSeq & members, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual IR_ContainedSeq * contents ( + CORBA_Object *_collocated_tao_target_, + IR_DefinitionKind limit_type, + CORBA::Boolean exclude_inherited, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () + virtual IR_ContainedSeq * lookup_name ( + CORBA_Object *_collocated_tao_target_, + const char * search_name, + CORBA::Long levels_to_search, + IR_DefinitionKind limit_type, + CORBA::Boolean exclude_inherited, + CORBA::Environment &ACE_TRY_ENV ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () + ACE_THROW_SPEC (( + CORBA::SystemException + )); + + virtual IR_Container::DescriptionSeq * describe_contents ( + CORBA_Object *_collocated_tao_target_, + IR_DefinitionKind limit_type, + CORBA::Boolean exclude_inherited, + CORBA::Long max_returned_objs, + CORBA::Environment &ACE_TRY_ENV ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_Container_create_union (const TAO_ServerRequestInfo_IR_Container_create_union &); - void operator= (const TAO_ServerRequestInfo_IR_Container_create_union &); - -private: - POA_IR::Container *_tao_impl; - const char * id_; -const char * name_; -const char * version_; -IR::IDLType_ptr discriminator_type_; -const IR::UnionMemberSeq & members_; -void result (IR::UnionDef_ptr result); - // update the result -IR::UnionDef_ptr _result; -}; - -class TAO_ServerRequestInfo_IR_Container_create_enum : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::Container; - TAO_ServerRequestInfo_IR_Container_create_enum ( - TAO_ServerRequest &_tao_server_request, - POA_IR::Container *tao_impl - , - const char * id, - const char * name, - const char * version, - const IR::EnumMemberSeq & members, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( + virtual IR_ModuleDef_ptr create_module ( + CORBA_Object *_collocated_tao_target_, const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_Container_create_enum (const TAO_ServerRequestInfo_IR_Container_create_enum &); - void operator= (const TAO_ServerRequestInfo_IR_Container_create_enum &); - -private: - POA_IR::Container *_tao_impl; - const char * id_; -const char * name_; -const char * version_; -const IR::EnumMemberSeq & members_; -void result (IR::EnumDef_ptr result); - // update the result -IR::EnumDef_ptr _result; -}; + const char * name, + const char * version, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); -class TAO_ServerRequestInfo_IR_Container_create_alias : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::Container; - TAO_ServerRequestInfo_IR_Container_create_alias ( - TAO_ServerRequest &_tao_server_request, - POA_IR::Container *tao_impl - , - const char * id, - const char * name, - const char * version, - IR::IDLType_ptr original_type, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual IR_ConstantDef_ptr create_constant ( + CORBA_Object *_collocated_tao_target_, + const char * id, + const char * name, + const char * version, + IR_IDLType_ptr type, + const CORBA::Any & value, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () + virtual IR_StructDef_ptr create_struct ( + CORBA_Object *_collocated_tao_target_, + const char * id, + const char * name, + const char * version, + const IR_StructMemberSeq & members, + CORBA::Environment &ACE_TRY_ENV ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () + ACE_THROW_SPEC (( + CORBA::SystemException + )); + + virtual IR_UnionDef_ptr create_union ( + CORBA_Object *_collocated_tao_target_, + const char * id, + const char * name, + const char * version, + IR_IDLType_ptr discriminator_type, + const IR_UnionMemberSeq & members, + CORBA::Environment &ACE_TRY_ENV ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () + ACE_THROW_SPEC (( + CORBA::SystemException + )); + + virtual IR_EnumDef_ptr create_enum ( + CORBA_Object *_collocated_tao_target_, + const char * id, + const char * name, + const char * version, + const IR_EnumMemberSeq & members, + CORBA::Environment &ACE_TRY_ENV ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( + ACE_THROW_SPEC (( + CORBA::SystemException + )); + + virtual IR_AliasDef_ptr create_alias ( + CORBA_Object *_collocated_tao_target_, const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_Container_create_alias (const TAO_ServerRequestInfo_IR_Container_create_alias &); - void operator= (const TAO_ServerRequestInfo_IR_Container_create_alias &); - -private: - POA_IR::Container *_tao_impl; - const char * id_; -const char * name_; -const char * version_; -IR::IDLType_ptr original_type_; -void result (IR::AliasDef_ptr result); - // update the result -IR::AliasDef_ptr _result; -}; + const char * name, + const char * version, + IR_IDLType_ptr original_type, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); -class TAO_ServerRequestInfo_IR_Container_create_interface : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::Container; - TAO_ServerRequestInfo_IR_Container_create_interface ( - TAO_ServerRequest &_tao_server_request, - POA_IR::Container *tao_impl - , - const char * id, - const char * name, - const char * version, - const IR::InterfaceDefSeq & base_interfaces, - const CORBA::Boolean & is_abstract, - const CORBA::Boolean & is_local, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual IR_InterfaceDef_ptr create_interface ( + CORBA_Object *_collocated_tao_target_, + const char * id, + const char * name, + const char * version, + const IR_InterfaceDefSeq & base_interfaces, + CORBA::Boolean is_abstract, + CORBA::Boolean is_local, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () + virtual IR_ValueDef_ptr create_value ( + CORBA_Object *_collocated_tao_target_, + const char * id, + const char * name, + const char * version, + CORBA::Boolean is_custom, + CORBA::Boolean is_abstract, + IR_ValueDef_ptr base_value, + CORBA::Boolean is_truncatable, + const IR_ValueDefSeq & abstract_base_values, + const IR_InterfaceDefSeq & supported_interfaces, + const IR_InitializerSeq & initializers, + CORBA::Environment &ACE_TRY_ENV ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () + ACE_THROW_SPEC (( + CORBA::SystemException + )); + + virtual IR_ValueBoxDef_ptr create_value_box ( + CORBA_Object *_collocated_tao_target_, + const char * id, + const char * name, + const char * version, + IR_IDLType_ptr original_type_def, + CORBA::Environment &ACE_TRY_ENV ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () + ACE_THROW_SPEC (( + CORBA::SystemException + )); + + virtual IR_ExceptionDef_ptr create_exception ( + CORBA_Object *_collocated_tao_target_, + const char * id, + const char * name, + const char * version, + const IR_StructMemberSeq & members, + CORBA::Environment &ACE_TRY_ENV ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( + ACE_THROW_SPEC (( + CORBA::SystemException + )); + + virtual IR_NativeDef_ptr create_native ( + CORBA_Object *_collocated_tao_target_, const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_Container_create_interface (const TAO_ServerRequestInfo_IR_Container_create_interface &); - void operator= (const TAO_ServerRequestInfo_IR_Container_create_interface &); - -private: - POA_IR::Container *_tao_impl; - const char * id_; -const char * name_; -const char * version_; -const IR::InterfaceDefSeq & base_interfaces_; -const CORBA::Boolean & is_abstract_; -const CORBA::Boolean & is_local_; -void result (IR::InterfaceDef_ptr result); - // update the result -IR::InterfaceDef_ptr _result; + const char * name, + const char * version, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); + }; -class TAO_ServerRequestInfo_IR_Container_create_value : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::Container; - TAO_ServerRequestInfo_IR_Container_create_value ( - TAO_ServerRequest &_tao_server_request, - POA_IR::Container *tao_impl - , - const char * id, - const char * name, - const char * version, - const CORBA::Boolean & is_custom, - const CORBA::Boolean & is_abstract, - IR::ValueDef_ptr base_value, - const CORBA::Boolean & is_truncatable, - const IR::ValueDefSeq & abstract_base_values, - const IR::InterfaceDefSeq & supported_interfaces, - const IR::InitializerSeq & initializers, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_Container_create_value (const TAO_ServerRequestInfo_IR_Container_create_value &); - void operator= (const TAO_ServerRequestInfo_IR_Container_create_value &); - -private: - POA_IR::Container *_tao_impl; - const char * id_; -const char * name_; -const char * version_; -const CORBA::Boolean & is_custom_; -const CORBA::Boolean & is_abstract_; -IR::ValueDef_ptr base_value_; -const CORBA::Boolean & is_truncatable_; -const IR::ValueDefSeq & abstract_base_values_; -const IR::InterfaceDefSeq & supported_interfaces_; -const IR::InitializerSeq & initializers_; -void result (IR::ValueDef_ptr result); - // update the result -IR::ValueDef_ptr _result; -}; +// +// ThruPOA Proxy Impl. Declaration +/////////////////////////////////////////////////////////////////////// -class TAO_ServerRequestInfo_IR_Container_create_value_box : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::Container; - TAO_ServerRequestInfo_IR_Container_create_value_box ( - TAO_ServerRequest &_tao_server_request, - POA_IR::Container *tao_impl - , - const char * id, - const char * name, - const char * version, - IR::IDLType_ptr original_type_def, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); +#if defined (ACE_HAS_USING_KEYWORD) + // TIE class: Refer to CORBA v2.2, Section 20.34.4 + template + class Container_tie : public Container + { + public: + Container_tie (T &t); + // the T& ctor + Container_tie (T &t, PortableServer::POA_ptr poa); + // ctor taking a POA + Container_tie (T *tp, CORBA::Boolean release=1); + // ctor taking pointer and an ownership flag + Container_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1); + // ctor with T*, ownership flag and a POA + ~Container_tie (void); + // dtor + + // TIE specific functions + T *_tied_object (void); + // return the underlying object + void _tied_object (T &obj); + // set the underlying object + void _tied_object (T *obj, CORBA::Boolean release=1); + // set the underlying object and the ownership flag + CORBA::Boolean _is_owner (void); + // do we own it + void _is_owner (CORBA::Boolean b); + // set the ownership + + // overridden ServantBase operations + PortableServer::POA_ptr _default_POA ( + CORBA::Environment &env = + TAO_default_environment () + ); + IR_Contained_ptr lookup ( + const char * search_name, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_Container_create_value_box (const TAO_ServerRequestInfo_IR_Container_create_value_box &); - void operator= (const TAO_ServerRequestInfo_IR_Container_create_value_box &); - -private: - POA_IR::Container *_tao_impl; - const char * id_; -const char * name_; -const char * version_; -IR::IDLType_ptr original_type_def_; -void result (IR::ValueBoxDef_ptr result); - // update the result -IR::ValueBoxDef_ptr _result; -}; + IR_ContainedSeq * contents ( + IR_DefinitionKind limit_type, + CORBA::Boolean exclude_inherited, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); -class TAO_ServerRequestInfo_IR_Container_create_exception : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::Container; - TAO_ServerRequestInfo_IR_Container_create_exception ( - TAO_ServerRequest &_tao_server_request, - POA_IR::Container *tao_impl - , - const char * id, - const char * name, - const char * version, - const IR::StructMemberSeq & members, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_ContainedSeq * lookup_name ( + const char * search_name, + CORBA::Long levels_to_search, + IR_DefinitionKind limit_type, + CORBA::Boolean exclude_inherited, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_Container_create_exception (const TAO_ServerRequestInfo_IR_Container_create_exception &); - void operator= (const TAO_ServerRequestInfo_IR_Container_create_exception &); - -private: - POA_IR::Container *_tao_impl; - const char * id_; -const char * name_; -const char * version_; -const IR::StructMemberSeq & members_; -void result (IR::ExceptionDef_ptr result); - // update the result -IR::ExceptionDef_ptr _result; -}; + IR_Container::DescriptionSeq * describe_contents ( + IR_DefinitionKind limit_type, + CORBA::Boolean exclude_inherited, + CORBA::Long max_returned_objs, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); -class TAO_ServerRequestInfo_IR_Container_create_native : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::Container; - TAO_ServerRequestInfo_IR_Container_create_native ( - TAO_ServerRequest &_tao_server_request, - POA_IR::Container *tao_impl - , - const char * id, - const char * name, - const char * version, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_ModuleDef_ptr create_module ( + const char * id, + const char * name, + const char * version, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); + + IR_ConstantDef_ptr create_constant ( + const char * id, + const char * name, + const char * version, + IR_IDLType_ptr type, + const CORBA::Any & value, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); + + IR_StructDef_ptr create_struct ( + const char * id, + const char * name, + const char * version, + const IR_StructMemberSeq & members, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); + + IR_UnionDef_ptr create_union ( + const char * id, + const char * name, + const char * version, + IR_IDLType_ptr discriminator_type, + const IR_UnionMemberSeq & members, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); + + IR_EnumDef_ptr create_enum ( + const char * id, + const char * name, + const char * version, + const IR_EnumMemberSeq & members, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); + + IR_AliasDef_ptr create_alias ( + const char * id, + const char * name, + const char * version, + IR_IDLType_ptr original_type, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); + + IR_InterfaceDef_ptr create_interface ( + const char * id, + const char * name, + const char * version, + const IR_InterfaceDefSeq & base_interfaces, + CORBA::Boolean is_abstract, + CORBA::Boolean is_local, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); + + IR_ValueDef_ptr create_value ( + const char * id, + const char * name, + const char * version, + CORBA::Boolean is_custom, + CORBA::Boolean is_abstract, + IR_ValueDef_ptr base_value, + CORBA::Boolean is_truncatable, + const IR_ValueDefSeq & abstract_base_values, + const IR_InterfaceDefSeq & supported_interfaces, + const IR_InitializerSeq & initializers, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); + + IR_ValueBoxDef_ptr create_value_box ( + const char * id, + const char * name, + const char * version, + IR_IDLType_ptr original_type_def, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); + + IR_ExceptionDef_ptr create_exception ( + const char * id, + const char * name, + const char * version, + const IR_StructMemberSeq & members, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); + + IR_NativeDef_ptr create_native ( + const char * id, + const char * name, + const char * version, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); + + IR_DefinitionKind def_kind ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); + + void destroy ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_Container_create_native (const TAO_ServerRequestInfo_IR_Container_create_native &); - void operator= (const TAO_ServerRequestInfo_IR_Container_create_native &); - private: - POA_IR::Container *_tao_impl; - const char * id_; -const char * name_; -const char * version_; -void result (IR::NativeDef_ptr result); - // update the result -IR::NativeDef_ptr _result; -}; + T *ptr_; + PortableServer::POA_var poa_; + CORBA::Boolean rel_; + + // copy and assignment are not allowed + Container_tie (const Container_tie &); + void operator= (const Container_tie &); + }; -#endif /* TAO_HAS_INTERCEPTORS */ +#endif /* ACE_HAS_USING_KEYWORD */ + + class IDLType; + typedef IDLType *IDLType_ptr; + // Forward Classes Declaration + class _TAO_IDLType_ThruPOA_Proxy_Impl; + class _TAO_IDLType_Strategized_Proxy_Broker; + + class IDLType : public virtual POA_CORBA_IRObject + { + protected: + IDLType (void); + + public: + IDLType (const IDLType& rhs); + virtual ~IDLType (void); + + + virtual CORBA::Boolean _is_a ( + const char* logical_type_id, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); + + virtual void* _downcast ( + const char* logical_type_id + ); + + static void _is_a_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); + + static void _non_existent_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); + + virtual void _dispatch ( + TAO_ServerRequest &_tao_req, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); + + IR_IDLType *_this ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); + + virtual const char* _interface_repository_id (void) const; + + virtual CORBA::TypeCode_ptr type ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; + + static void _get_type_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); + + static void _get_def_kind_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void destroy_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); -}; + }; /////////////////////////////////////////////////////////////////////// // Strategized Proxy Broker Declaration // -class _TAO_Container_Strategized_Proxy_Broker : public virtual ::IR::_TAO_Container_Proxy_Broker +class _TAO_IDLType_Strategized_Proxy_Broker : public virtual _TAO_IDLType_Proxy_Broker { public: - _TAO_Container_Strategized_Proxy_Broker (void); - - virtual ~_TAO_Container_Strategized_Proxy_Broker (void); - - virtual ::IR::_TAO_Container_Proxy_Impl &select_proxy ( - ::IR::Container *object, + _TAO_IDLType_Strategized_Proxy_Broker (void); + + virtual ~_TAO_IDLType_Strategized_Proxy_Broker (void); + + virtual _TAO_IDLType_Proxy_Impl &select_proxy ( + IR_IDLType *object, CORBA_Environment &ACE_TRY_ENV = TAO_default_environment () ); @@ -2856,7 +1784,7 @@ // Caches the proxy implementations. The proxy implementation // are totally stateless, and those can be shared by all the // instances of a given IDL interface type. - ::IR::_TAO_Container_Proxy_Impl + _TAO_IDLType_Proxy_Impl *proxy_cache_[TAO_ORB_Core::COLLOCATION_STRATEGIES_NUM]; TAO_SYNCH_MUTEX mutex_; @@ -2865,10 +1793,9 @@ // interface. public: - static _TAO_Container_Strategized_Proxy_Broker *the_TAO_Container_Strategized_Proxy_Broker (void); + static _TAO_IDLType_Strategized_Proxy_Broker *the_TAO_IDLType_Strategized_Proxy_Broker (void); }; - // // End Strategized Proxy Broker Declaration /////////////////////////////////////////////////////////////////////// @@ -2878,614 +1805,447 @@ // ThruPOA Impl. Declaration // -class _TAO_Container_ThruPOA_Proxy_Impl : - public virtual ::IR::_TAO_Container_Proxy_Impl, +class _TAO_IDLType_ThruPOA_Proxy_Impl : + public virtual _TAO_IDLType_Proxy_Impl, public virtual TAO_ThruPOA_Object_Proxy_Impl, - public virtual ::POA_CORBA::_TAO_IRObject_ThruPOA_Proxy_Impl + public virtual _TAO_IRObject_ThruPOA_Proxy_Impl { public: - _TAO_Container_ThruPOA_Proxy_Impl (void); + _TAO_IDLType_ThruPOA_Proxy_Impl (void); - virtual ~_TAO_Container_ThruPOA_Proxy_Impl (void) { } + virtual ~_TAO_IDLType_ThruPOA_Proxy_Impl (void); - virtual IR::Contained_ptr lookup ( + virtual CORBA::TypeCode_ptr type ( CORBA_Object *_collocated_tao_target_, - const char * search_name, - CORBA::Environment &ACE_TRY_ENV + CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException )); - virtual IR::ContainedSeq * contents ( - CORBA_Object *_collocated_tao_target_, - IR::DefinitionKind limit_type, - CORBA::Boolean exclude_inherited, - CORBA::Environment &ACE_TRY_ENV - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); +}; - virtual IR::ContainedSeq * lookup_name ( - CORBA_Object *_collocated_tao_target_, - const char * search_name, - CORBA::Long levels_to_search, - IR::DefinitionKind limit_type, - CORBA::Boolean exclude_inherited, - CORBA::Environment &ACE_TRY_ENV - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - virtual IR::Container::DescriptionSeq * describe_contents ( - CORBA_Object *_collocated_tao_target_, - IR::DefinitionKind limit_type, - CORBA::Boolean exclude_inherited, - CORBA::Long max_returned_objs, - CORBA::Environment &ACE_TRY_ENV - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - virtual IR::ModuleDef_ptr create_module ( - CORBA_Object *_collocated_tao_target_, - const char * id, - const char * name, - const char * version, - CORBA::Environment &ACE_TRY_ENV - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); +// +// ThruPOA Proxy Impl. Declaration +/////////////////////////////////////////////////////////////////////// - virtual IR::ConstantDef_ptr create_constant ( - CORBA_Object *_collocated_tao_target_, - const char * id, - const char * name, - const char * version, - IR::IDLType_ptr type, - const CORBA::Any & value, - CORBA::Environment &ACE_TRY_ENV - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); +#if defined (ACE_HAS_USING_KEYWORD) + // TIE class: Refer to CORBA v2.2, Section 20.34.4 + template + class IDLType_tie : public IDLType + { + public: + IDLType_tie (T &t); + // the T& ctor + IDLType_tie (T &t, PortableServer::POA_ptr poa); + // ctor taking a POA + IDLType_tie (T *tp, CORBA::Boolean release=1); + // ctor taking pointer and an ownership flag + IDLType_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1); + // ctor with T*, ownership flag and a POA + ~IDLType_tie (void); + // dtor + + // TIE specific functions + T *_tied_object (void); + // return the underlying object + void _tied_object (T &obj); + // set the underlying object + void _tied_object (T *obj, CORBA::Boolean release=1); + // set the underlying object and the ownership flag + CORBA::Boolean _is_owner (void); + // do we own it + void _is_owner (CORBA::Boolean b); + // set the ownership + + // overridden ServantBase operations + PortableServer::POA_ptr _default_POA ( + CORBA::Environment &env = + TAO_default_environment () + ); + CORBA::TypeCode_ptr type ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual IR::StructDef_ptr create_struct ( - CORBA_Object *_collocated_tao_target_, - const char * id, - const char * name, - const char * version, - const IR::StructMemberSeq & members, - CORBA::Environment &ACE_TRY_ENV - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_DefinitionKind def_kind ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual IR::UnionDef_ptr create_union ( - CORBA_Object *_collocated_tao_target_, - const char * id, - const char * name, - const char * version, - IR::IDLType_ptr discriminator_type, - const IR::UnionMemberSeq & members, - CORBA::Environment &ACE_TRY_ENV - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + void destroy ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual IR::EnumDef_ptr create_enum ( - CORBA_Object *_collocated_tao_target_, - const char * id, - const char * name, - const char * version, - const IR::EnumMemberSeq & members, - CORBA::Environment &ACE_TRY_ENV - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); +private: + T *ptr_; + PortableServer::POA_var poa_; + CORBA::Boolean rel_; - virtual IR::AliasDef_ptr create_alias ( - CORBA_Object *_collocated_tao_target_, - const char * id, - const char * name, - const char * version, - IR::IDLType_ptr original_type, - CORBA::Environment &ACE_TRY_ENV - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + // copy and assignment are not allowed + IDLType_tie (const IDLType_tie &); + void operator= (const IDLType_tie &); + }; - virtual IR::InterfaceDef_ptr create_interface ( - CORBA_Object *_collocated_tao_target_, - const char * id, - const char * name, - const char * version, - const IR::InterfaceDefSeq & base_interfaces, - CORBA::Boolean is_abstract, - CORBA::Boolean is_local, - CORBA::Environment &ACE_TRY_ENV - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); +#endif /* ACE_HAS_USING_KEYWORD */ - virtual IR::ValueDef_ptr create_value ( - CORBA_Object *_collocated_tao_target_, - const char * id, - const char * name, - const char * version, - CORBA::Boolean is_custom, - CORBA::Boolean is_abstract, - IR::ValueDef_ptr base_value, - CORBA::Boolean is_truncatable, - const IR::ValueDefSeq & abstract_base_values, - const IR::InterfaceDefSeq & supported_interfaces, - const IR::InitializerSeq & initializers, - CORBA::Environment &ACE_TRY_ENV - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + class Repository; + typedef Repository *Repository_ptr; + // Forward Classes Declaration + class _TAO_Repository_ThruPOA_Proxy_Impl; + class _TAO_Repository_Strategized_Proxy_Broker; - virtual IR::ValueBoxDef_ptr create_value_box ( - CORBA_Object *_collocated_tao_target_, - const char * id, - const char * name, - const char * version, - IR::IDLType_ptr original_type_def, - CORBA::Environment &ACE_TRY_ENV - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + class Repository : public virtual Container + { + protected: + Repository (void); - virtual IR::ExceptionDef_ptr create_exception ( - CORBA_Object *_collocated_tao_target_, - const char * id, - const char * name, - const char * version, - const IR::StructMemberSeq & members, - CORBA::Environment &ACE_TRY_ENV - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + public: + Repository (const Repository& rhs); + virtual ~Repository (void); - virtual IR::NativeDef_ptr create_native ( - CORBA_Object *_collocated_tao_target_, - const char * id, - const char * name, - const char * version, - CORBA::Environment &ACE_TRY_ENV - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); -}; + virtual CORBA::Boolean _is_a ( + const char* logical_type_id, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); + virtual void* _downcast ( + const char* logical_type_id + ); -// -// ThruPOA Proxy Impl. Declaration -/////////////////////////////////////////////////////////////////////// + static void _is_a_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); + static void _non_existent_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); -#if defined (ACE_HAS_USING_KEYWORD) -// TIE class: Refer to CORBA v2.2, Section 20.34.4 -template -class Container_tie : public Container -{ -public: - Container_tie (T &t); - // the T& ctor - Container_tie (T &t, PortableServer::POA_ptr poa); - // ctor taking a POA - Container_tie (T *tp, CORBA::Boolean release=1); - // ctor taking pointer and an ownership flag - Container_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1); - // ctor with T*, ownership flag and a POA - ~Container_tie (void); - // dtor - - // TIE specific functions - T *_tied_object (void); - // return the underlying object - void _tied_object (T &obj); - // set the underlying object - void _tied_object (T *obj, CORBA::Boolean release=1); - // set the underlying object and the ownership flag - CORBA::Boolean _is_owner (void); - // do we own it - void _is_owner (CORBA::Boolean b); - // set the ownership - - // overridden ServantBase operations - PortableServer::POA_ptr _default_POA ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - IR::Contained_ptr lookup ( - const char * search_name, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + virtual void _dispatch ( + TAO_ServerRequest &_tao_req, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - IR::ContainedSeq * contents ( - IR::DefinitionKind limit_type, - CORBA::Boolean exclude_inherited, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_Repository *_this ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - IR::ContainedSeq * lookup_name ( - const char * search_name, - CORBA::Long levels_to_search, - IR::DefinitionKind limit_type, - CORBA::Boolean exclude_inherited, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + virtual const char* _interface_repository_id (void) const; - IR::Container::DescriptionSeq * describe_contents ( - IR::DefinitionKind limit_type, - CORBA::Boolean exclude_inherited, - CORBA::Long max_returned_objs, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + virtual IR_Contained_ptr lookup_id ( + const char * search_id, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; - IR::ModuleDef_ptr create_module ( - const char * id, - const char * name, - const char * version, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + static void lookup_id_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - IR::ConstantDef_ptr create_constant ( - const char * id, - const char * name, - const char * version, - IR::IDLType_ptr type, - const CORBA::Any & value, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + virtual CORBA::TypeCode_ptr get_canonical_typecode ( + CORBA::TypeCode_ptr tc, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; - IR::StructDef_ptr create_struct ( - const char * id, - const char * name, - const char * version, - const IR::StructMemberSeq & members, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + static void get_canonical_typecode_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - IR::UnionDef_ptr create_union ( - const char * id, - const char * name, - const char * version, - IR::IDLType_ptr discriminator_type, - const IR::UnionMemberSeq & members, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + virtual IR_PrimitiveDef_ptr get_primitive ( + IR_PrimitiveKind kind, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; - IR::EnumDef_ptr create_enum ( - const char * id, - const char * name, - const char * version, - const IR::EnumMemberSeq & members, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + static void get_primitive_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - IR::AliasDef_ptr create_alias ( - const char * id, - const char * name, - const char * version, - IR::IDLType_ptr original_type, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + virtual IR_StringDef_ptr create_string ( + CORBA::ULong bound, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; - IR::InterfaceDef_ptr create_interface ( - const char * id, - const char * name, - const char * version, - const IR::InterfaceDefSeq & base_interfaces, - CORBA::Boolean is_abstract, - CORBA::Boolean is_local, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + static void create_string_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - IR::ValueDef_ptr create_value ( - const char * id, - const char * name, - const char * version, - CORBA::Boolean is_custom, - CORBA::Boolean is_abstract, - IR::ValueDef_ptr base_value, - CORBA::Boolean is_truncatable, - const IR::ValueDefSeq & abstract_base_values, - const IR::InterfaceDefSeq & supported_interfaces, - const IR::InitializerSeq & initializers, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + virtual IR_WstringDef_ptr create_wstring ( + CORBA::ULong bound, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; - IR::ValueBoxDef_ptr create_value_box ( - const char * id, - const char * name, - const char * version, - IR::IDLType_ptr original_type_def, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + static void create_wstring_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - IR::ExceptionDef_ptr create_exception ( - const char * id, - const char * name, - const char * version, - const IR::StructMemberSeq & members, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + virtual IR_SequenceDef_ptr create_sequence ( + CORBA::ULong bound, + IR_IDLType_ptr element_type, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; - IR::NativeDef_ptr create_native ( - const char * id, - const char * name, - const char * version, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + static void create_sequence_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - IR::DefinitionKind def_kind ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + virtual IR_ArrayDef_ptr create_array ( + CORBA::ULong length, + IR_IDLType_ptr element_type, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; - void destroy ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + static void create_array_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); -private: - T *ptr_; - PortableServer::POA_var poa_; - CORBA::Boolean rel_; - - // copy and assignment are not allowed - Container_tie (const Container_tie &); - void operator= (const Container_tie &); -}; + virtual IR_FixedDef_ptr create_fixed ( + CORBA::UShort digits, + CORBA::Short scale, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; -#endif /* ACE_HAS_USING_KEYWORD */ + static void create_fixed_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); -class IDLType; -typedef IDLType *IDLType_ptr; -// Forward Classes Declaration -class _TAO_IDLType_ThruPOA_Proxy_Impl; -class _TAO_IDLType_Strategized_Proxy_Broker; + static void lookup_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); -class IDLType : public virtual POA_CORBA::IRObject -{ -protected: - IDLType (void); + static void contents_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); -public: - IDLType (const IDLType& rhs); - virtual ~IDLType (void); + static void lookup_name_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + static void describe_contents_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - virtual CORBA::Boolean _is_a ( - const char* logical_type_id, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void create_module_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - virtual void* _downcast ( - const char* logical_type_id - ); + static void create_constant_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void _is_a_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void create_struct_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void _non_existent_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void create_union_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - virtual void _dispatch ( - TAO_ServerRequest &_tao_req, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void create_enum_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - ::IR::IDLType *_this ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void create_alias_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - virtual const char* _interface_repository_id (void) const; + static void create_interface_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - virtual CORBA::TypeCode_ptr type ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + static void create_value_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void _get_type_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _get_def_kind_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void destroy_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - -#if (TAO_HAS_INTERCEPTORS == 1) - // Generation of interceptors related RequestInfo classes per operation. - // This needed to be able to store the arguments, exceptions, contexts - // and build the lists dynamically on demand so that unnecessary time overhead - // of building these lists when they arent used is avoided. - class TAO_ServerRequestInfo_IR_IDLType_type_get : public TAO_ServerRequestInfo - { - public: - friend class POA_IR::IDLType; - TAO_ServerRequestInfo_IR_IDLType_type_get ( - TAO_ServerRequest &_tao_server_request, - POA_IR::IDLType *tao_impl - , - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = + static void create_value_box_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = + ); + + static void create_exception_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - - private: - TAO_ServerRequestInfo_IR_IDLType_type_get (const TAO_ServerRequestInfo_IR_IDLType_type_get &); - void operator= (const TAO_ServerRequestInfo_IR_IDLType_type_get &); - - private: - POA_IR::IDLType *_tao_impl; - void result (CORBA::TypeCode_ptr result); - // update the result -CORBA::TypeCode_ptr _result; -}; + ); -#endif /* TAO_HAS_INTERCEPTORS */ + static void create_native_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); -}; + static void _get_def_kind_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + static void destroy_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + }; /////////////////////////////////////////////////////////////////////// // Strategized Proxy Broker Declaration // -class _TAO_IDLType_Strategized_Proxy_Broker : public virtual ::IR::_TAO_IDLType_Proxy_Broker +class _TAO_Repository_Strategized_Proxy_Broker : public virtual _TAO_Repository_Proxy_Broker { public: - _TAO_IDLType_Strategized_Proxy_Broker (void); - - virtual ~_TAO_IDLType_Strategized_Proxy_Broker (void); - - virtual ::IR::_TAO_IDLType_Proxy_Impl &select_proxy ( - ::IR::IDLType *object, + _TAO_Repository_Strategized_Proxy_Broker (void); + + virtual ~_TAO_Repository_Strategized_Proxy_Broker (void); + + virtual _TAO_Repository_Proxy_Impl &select_proxy ( + IR_Repository *object, CORBA_Environment &ACE_TRY_ENV = TAO_default_environment () ); @@ -3503,7 +2263,7 @@ // Caches the proxy implementations. The proxy implementation // are totally stateless, and those can be shared by all the // instances of a given IDL interface type. - ::IR::_TAO_IDLType_Proxy_Impl + _TAO_Repository_Proxy_Impl *proxy_cache_[TAO_ORB_Core::COLLOCATION_STRATEGIES_NUM]; TAO_SYNCH_MUTEX mutex_; @@ -3512,10 +2272,9 @@ // interface. public: - static _TAO_IDLType_Strategized_Proxy_Broker *the_TAO_IDLType_Strategized_Proxy_Broker (void); + static _TAO_Repository_Strategized_Proxy_Broker *the_TAO_Repository_Strategized_Proxy_Broker (void); }; - // // End Strategized Proxy Broker Declaration /////////////////////////////////////////////////////////////////////// @@ -3525,1787 +2284,1457 @@ // ThruPOA Impl. Declaration // -class _TAO_IDLType_ThruPOA_Proxy_Impl : - public virtual ::IR::_TAO_IDLType_Proxy_Impl, +class _TAO_Repository_ThruPOA_Proxy_Impl : + public virtual _TAO_Repository_Proxy_Impl, public virtual TAO_ThruPOA_Object_Proxy_Impl, - public virtual ::POA_CORBA::_TAO_IRObject_ThruPOA_Proxy_Impl + public virtual _TAO_Container_ThruPOA_Proxy_Impl { public: - _TAO_IDLType_ThruPOA_Proxy_Impl (void); + _TAO_Repository_ThruPOA_Proxy_Impl (void); - virtual ~_TAO_IDLType_ThruPOA_Proxy_Impl (void) { } + virtual ~_TAO_Repository_ThruPOA_Proxy_Impl (void); - virtual CORBA::TypeCode_ptr type ( + virtual IR_Contained_ptr lookup_id ( CORBA_Object *_collocated_tao_target_, + const char * search_id, CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException )); -}; - - -// -// ThruPOA Proxy Impl. Declaration -/////////////////////////////////////////////////////////////////////// - - -#if defined (ACE_HAS_USING_KEYWORD) -// TIE class: Refer to CORBA v2.2, Section 20.34.4 -template -class IDLType_tie : public IDLType -{ -public: - IDLType_tie (T &t); - // the T& ctor - IDLType_tie (T &t, PortableServer::POA_ptr poa); - // ctor taking a POA - IDLType_tie (T *tp, CORBA::Boolean release=1); - // ctor taking pointer and an ownership flag - IDLType_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1); - // ctor with T*, ownership flag and a POA - ~IDLType_tie (void); - // dtor - - // TIE specific functions - T *_tied_object (void); - // return the underlying object - void _tied_object (T &obj); - // set the underlying object - void _tied_object (T *obj, CORBA::Boolean release=1); - // set the underlying object and the ownership flag - CORBA::Boolean _is_owner (void); - // do we own it - void _is_owner (CORBA::Boolean b); - // set the ownership - - // overridden ServantBase operations - PortableServer::POA_ptr _default_POA ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - CORBA::TypeCode_ptr type ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - IR::DefinitionKind def_kind ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () + virtual CORBA::TypeCode_ptr get_canonical_typecode ( + CORBA_Object *_collocated_tao_target_, + CORBA::TypeCode_ptr tc, + CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException )); - void destroy ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () + virtual IR_PrimitiveDef_ptr get_primitive ( + CORBA_Object *_collocated_tao_target_, + IR_PrimitiveKind kind, + CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException )); -private: - T *ptr_; - PortableServer::POA_var poa_; - CORBA::Boolean rel_; - - // copy and assignment are not allowed - IDLType_tie (const IDLType_tie &); - void operator= (const IDLType_tie &); -}; - -#endif /* ACE_HAS_USING_KEYWORD */ - -class Repository; -typedef Repository *Repository_ptr; -// Forward Classes Declaration -class _TAO_Repository_ThruPOA_Proxy_Impl; -class _TAO_Repository_Strategized_Proxy_Broker; - -class Repository : public virtual Container -{ -protected: - Repository (void); - -public: - Repository (const Repository& rhs); - virtual ~Repository (void); - - - virtual CORBA::Boolean _is_a ( - const char* logical_type_id, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - virtual void* _downcast ( - const char* logical_type_id - ); - - static void _is_a_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _non_existent_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - virtual void _dispatch ( - TAO_ServerRequest &_tao_req, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - ::IR::Repository *_this ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - virtual const char* _interface_repository_id (void) const; - - virtual IR::Contained_ptr lookup_id ( - const char * search_id, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; - - static void lookup_id_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - virtual CORBA::TypeCode_ptr get_canonical_typecode ( - CORBA::TypeCode_ptr tc, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; - - static void get_canonical_typecode_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - virtual IR::PrimitiveDef_ptr get_primitive ( - IR::PrimitiveKind kind, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; - - static void get_primitive_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - virtual IR::StringDef_ptr create_string ( + virtual IR_StringDef_ptr create_string ( + CORBA_Object *_collocated_tao_target_, CORBA::ULong bound, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () + CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException - )) = 0; - - static void create_string_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + )); - virtual IR::WstringDef_ptr create_wstring ( + virtual IR_WstringDef_ptr create_wstring ( + CORBA_Object *_collocated_tao_target_, CORBA::ULong bound, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () + CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException - )) = 0; - - static void create_wstring_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + )); - virtual IR::SequenceDef_ptr create_sequence ( + virtual IR_SequenceDef_ptr create_sequence ( + CORBA_Object *_collocated_tao_target_, CORBA::ULong bound, - IR::IDLType_ptr element_type, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () + IR_IDLType_ptr element_type, + CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException - )) = 0; - - static void create_sequence_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + )); - virtual IR::ArrayDef_ptr create_array ( + virtual IR_ArrayDef_ptr create_array ( + CORBA_Object *_collocated_tao_target_, CORBA::ULong length, - IR::IDLType_ptr element_type, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () + IR_IDLType_ptr element_type, + CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException - )) = 0; - - static void create_array_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + )); - virtual IR::FixedDef_ptr create_fixed ( + virtual IR_FixedDef_ptr create_fixed ( + CORBA_Object *_collocated_tao_target_, CORBA::UShort digits, CORBA::Short scale, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () + CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException - )) = 0; + )); - static void create_fixed_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); +}; - static void lookup_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - static void contents_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); +// +// ThruPOA Proxy Impl. Declaration +/////////////////////////////////////////////////////////////////////// - static void lookup_name_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); +#if defined (ACE_HAS_USING_KEYWORD) + // TIE class: Refer to CORBA v2.2, Section 20.34.4 + template + class Repository_tie : public virtual Repository, + public virtual PortableServer::RefCountServantBase + { + public: + Repository_tie (T &t); + // the T& ctor + Repository_tie (T &t, PortableServer::POA_ptr poa); + // ctor taking a POA + Repository_tie (T *tp, CORBA::Boolean release=1); + // ctor taking pointer and an ownership flag + Repository_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1); + // ctor with T*, ownership flag and a POA + ~Repository_tie (void); + // dtor + + // TIE specific functions + T *_tied_object (void); + // return the underlying object + void _tied_object (T &obj); + // set the underlying object + void _tied_object (T *obj, CORBA::Boolean release=1); + // set the underlying object and the ownership flag + CORBA::Boolean _is_owner (void); + // do we own it + void _is_owner (CORBA::Boolean b); + // set the ownership + + // overridden ServantBase operations + PortableServer::POA_ptr _default_POA ( + CORBA::Environment &env = + TAO_default_environment () + ); + IR_Contained_ptr lookup_id ( + const char * search_id, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void describe_contents_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + CORBA::TypeCode_ptr get_canonical_typecode ( + CORBA::TypeCode_ptr tc, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void create_module_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_PrimitiveDef_ptr get_primitive ( + IR_PrimitiveKind kind, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void create_constant_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_StringDef_ptr create_string ( + CORBA::ULong bound, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void create_struct_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_WstringDef_ptr create_wstring ( + CORBA::ULong bound, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void create_union_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_SequenceDef_ptr create_sequence ( + CORBA::ULong bound, + IR_IDLType_ptr element_type, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void create_enum_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_ArrayDef_ptr create_array ( + CORBA::ULong length, + IR_IDLType_ptr element_type, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void create_alias_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_FixedDef_ptr create_fixed ( + CORBA::UShort digits, + CORBA::Short scale, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void create_interface_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_Contained_ptr lookup ( + const char * search_name, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void create_value_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_ContainedSeq * contents ( + IR_DefinitionKind limit_type, + CORBA::Boolean exclude_inherited, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void create_value_box_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_ContainedSeq * lookup_name ( + const char * search_name, + CORBA::Long levels_to_search, + IR_DefinitionKind limit_type, + CORBA::Boolean exclude_inherited, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void create_exception_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_Container::DescriptionSeq * describe_contents ( + IR_DefinitionKind limit_type, + CORBA::Boolean exclude_inherited, + CORBA::Long max_returned_objs, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void create_native_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_ModuleDef_ptr create_module ( + const char * id, + const char * name, + const char * version, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _get_def_kind_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_ConstantDef_ptr create_constant ( + const char * id, + const char * name, + const char * version, + IR_IDLType_ptr type, + const CORBA::Any & value, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void destroy_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_StructDef_ptr create_struct ( + const char * id, + const char * name, + const char * version, + const IR_StructMemberSeq & members, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - -#if (TAO_HAS_INTERCEPTORS == 1) - // Generation of interceptors related RequestInfo classes per operation. - // This needed to be able to store the arguments, exceptions, contexts - // and build the lists dynamically on demand so that unnecessary time overhead - // of building these lists when they arent used is avoided. - class TAO_ServerRequestInfo_IR_Repository_lookup_id : public TAO_ServerRequestInfo - { - public: - friend class POA_IR::Repository; - TAO_ServerRequestInfo_IR_Repository_lookup_id ( - TAO_ServerRequest &_tao_server_request, - POA_IR::Repository *tao_impl - , - const char * search_id, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_UnionDef_ptr create_union ( + const char * id, + const char * name, + const char * version, + IR_IDLType_ptr discriminator_type, + const IR_UnionMemberSeq & members, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual Dynamic::ParameterList * arguments ( + IR_EnumDef_ptr create_enum ( + const char * id, + const char * name, + const char * version, + const IR_EnumMemberSeq & members, CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( + ACE_THROW_SPEC (( + CORBA::SystemException + )); + + IR_AliasDef_ptr create_alias ( + const char * id, + const char * name, + const char * version, + IR_IDLType_ptr original_type, CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( + ACE_THROW_SPEC (( + CORBA::SystemException + )); + + IR_InterfaceDef_ptr create_interface ( + const char * id, + const char * name, + const char * version, + const IR_InterfaceDefSeq & base_interfaces, + CORBA::Boolean is_abstract, + CORBA::Boolean is_local, CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( + ACE_THROW_SPEC (( + CORBA::SystemException + )); + + IR_ValueDef_ptr create_value ( const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - - private: - TAO_ServerRequestInfo_IR_Repository_lookup_id (const TAO_ServerRequestInfo_IR_Repository_lookup_id &); - void operator= (const TAO_ServerRequestInfo_IR_Repository_lookup_id &); - - private: - POA_IR::Repository *_tao_impl; - const char * search_id_; -void result (IR::Contained_ptr result); - // update the result -IR::Contained_ptr _result; -}; + const char * name, + const char * version, + CORBA::Boolean is_custom, + CORBA::Boolean is_abstract, + IR_ValueDef_ptr base_value, + CORBA::Boolean is_truncatable, + const IR_ValueDefSeq & abstract_base_values, + const IR_InterfaceDefSeq & supported_interfaces, + const IR_InitializerSeq & initializers, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); -class TAO_ServerRequestInfo_IR_Repository_get_canonical_typecode : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::Repository; - TAO_ServerRequestInfo_IR_Repository_get_canonical_typecode ( - TAO_ServerRequest &_tao_server_request, - POA_IR::Repository *tao_impl - , - CORBA::TypeCode_ptr tc, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_ValueBoxDef_ptr create_value_box ( + const char * id, + const char * name, + const char * version, + IR_IDLType_ptr original_type_def, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_Repository_get_canonical_typecode (const TAO_ServerRequestInfo_IR_Repository_get_canonical_typecode &); - void operator= (const TAO_ServerRequestInfo_IR_Repository_get_canonical_typecode &); - -private: - POA_IR::Repository *_tao_impl; - CORBA::TypeCode_ptr tc_; -void result (CORBA::TypeCode_ptr result); - // update the result -CORBA::TypeCode_ptr _result; -}; + IR_ExceptionDef_ptr create_exception ( + const char * id, + const char * name, + const char * version, + const IR_StructMemberSeq & members, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); -class TAO_ServerRequestInfo_IR_Repository_get_primitive : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::Repository; - TAO_ServerRequestInfo_IR_Repository_get_primitive ( - TAO_ServerRequest &_tao_server_request, - POA_IR::Repository *tao_impl - , - IR::PrimitiveKind & kind, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_NativeDef_ptr create_native ( + const char * id, + const char * name, + const char * version, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_Repository_get_primitive (const TAO_ServerRequestInfo_IR_Repository_get_primitive &); - void operator= (const TAO_ServerRequestInfo_IR_Repository_get_primitive &); - -private: - POA_IR::Repository *_tao_impl; - const IR::PrimitiveKind & kind_; -void result (IR::PrimitiveDef_ptr result); - // update the result -IR::PrimitiveDef_ptr _result; -}; + IR_DefinitionKind def_kind ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); -class TAO_ServerRequestInfo_IR_Repository_create_string : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::Repository; - TAO_ServerRequestInfo_IR_Repository_create_string ( - TAO_ServerRequest &_tao_server_request, - POA_IR::Repository *tao_impl - , - const CORBA::ULong & bound, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + void destroy ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_Repository_create_string (const TAO_ServerRequestInfo_IR_Repository_create_string &); - void operator= (const TAO_ServerRequestInfo_IR_Repository_create_string &); - private: - POA_IR::Repository *_tao_impl; - const CORBA::ULong & bound_; -void result (IR::StringDef_ptr result); - // update the result -IR::StringDef_ptr _result; -}; + T *ptr_; + PortableServer::POA_var poa_; + CORBA::Boolean rel_; -class TAO_ServerRequestInfo_IR_Repository_create_wstring : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::Repository; - TAO_ServerRequestInfo_IR_Repository_create_wstring ( - TAO_ServerRequest &_tao_server_request, - POA_IR::Repository *tao_impl - , - const CORBA::ULong & bound, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + // copy and assignment are not allowed + Repository_tie (const Repository_tie &); + void operator= (const Repository_tie &); + }; - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_Repository_create_wstring (const TAO_ServerRequestInfo_IR_Repository_create_wstring &); - void operator= (const TAO_ServerRequestInfo_IR_Repository_create_wstring &); - -private: - POA_IR::Repository *_tao_impl; - const CORBA::ULong & bound_; -void result (IR::WstringDef_ptr result); - // update the result -IR::WstringDef_ptr _result; -}; +#endif /* ACE_HAS_USING_KEYWORD */ -class TAO_ServerRequestInfo_IR_Repository_create_sequence : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::Repository; - TAO_ServerRequestInfo_IR_Repository_create_sequence ( - TAO_ServerRequest &_tao_server_request, - POA_IR::Repository *tao_impl - , - const CORBA::ULong & bound, - IR::IDLType_ptr element_type, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + class ComponentRepository; + typedef ComponentRepository *ComponentRepository_ptr; + // Forward Classes Declaration + class _TAO_ComponentRepository_ThruPOA_Proxy_Impl; + class _TAO_ComponentRepository_Strategized_Proxy_Broker; - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_Repository_create_sequence (const TAO_ServerRequestInfo_IR_Repository_create_sequence &); - void operator= (const TAO_ServerRequestInfo_IR_Repository_create_sequence &); - -private: - POA_IR::Repository *_tao_impl; - const CORBA::ULong & bound_; -IR::IDLType_ptr element_type_; -void result (IR::SequenceDef_ptr result); - // update the result -IR::SequenceDef_ptr _result; -}; + class ComponentRepository : public virtual Repository + { + protected: + ComponentRepository (void); -class TAO_ServerRequestInfo_IR_Repository_create_array : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::Repository; - TAO_ServerRequestInfo_IR_Repository_create_array ( - TAO_ServerRequest &_tao_server_request, - POA_IR::Repository *tao_impl - , - const CORBA::ULong & length, - IR::IDLType_ptr element_type, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + public: + ComponentRepository (const ComponentRepository& rhs); + virtual ~ComponentRepository (void); - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_Repository_create_array (const TAO_ServerRequestInfo_IR_Repository_create_array &); - void operator= (const TAO_ServerRequestInfo_IR_Repository_create_array &); - -private: - POA_IR::Repository *_tao_impl; - const CORBA::ULong & length_; -IR::IDLType_ptr element_type_; -void result (IR::ArrayDef_ptr result); - // update the result -IR::ArrayDef_ptr _result; -}; -class TAO_ServerRequestInfo_IR_Repository_create_fixed : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::Repository; - TAO_ServerRequestInfo_IR_Repository_create_fixed ( - TAO_ServerRequest &_tao_server_request, - POA_IR::Repository *tao_impl - , - const CORBA::UShort & digits, - const CORBA::Short & scale, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual CORBA::Boolean _is_a ( + const char* logical_type_id, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_Repository_create_fixed (const TAO_ServerRequestInfo_IR_Repository_create_fixed &); - void operator= (const TAO_ServerRequestInfo_IR_Repository_create_fixed &); - -private: - POA_IR::Repository *_tao_impl; - const CORBA::UShort & digits_; -const CORBA::Short & scale_; -void result (IR::FixedDef_ptr result); - // update the result -IR::FixedDef_ptr _result; -}; + virtual void* _downcast ( + const char* logical_type_id + ); -#endif /* TAO_HAS_INTERCEPTORS */ + static void _is_a_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); -}; + static void _non_existent_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); + virtual void _dispatch ( + TAO_ServerRequest &_tao_req, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); -/////////////////////////////////////////////////////////////////////// -// Strategized Proxy Broker Declaration -// + IR_ComponentRepository *_this ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); -class _TAO_Repository_Strategized_Proxy_Broker : public virtual ::IR::_TAO_Repository_Proxy_Broker -{ -public: - _TAO_Repository_Strategized_Proxy_Broker (void); - - virtual ~_TAO_Repository_Strategized_Proxy_Broker (void); - - virtual ::IR::_TAO_Repository_Proxy_Impl &select_proxy ( - ::IR::Repository *object, - CORBA_Environment &ACE_TRY_ENV = TAO_default_environment () - ); + virtual const char* _interface_repository_id (void) const; -private: + virtual IR_ComponentDef_ptr create_component ( + const char * id, + const char * name, + const char * version, + IR_ComponentDef_ptr base_component, + const IR_InterfaceDefSeq & supports_interfaces, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; -// Helper methods that takes care to create the proxy -// as soon as their use is necessary. - void create_proxy ( - TAO_ORB_Core::TAO_Collocation_Strategies strategy, - CORBA::Environment &ACE_TRY_ENV - ); + static void create_component_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); -private: - - // Caches the proxy implementations. The proxy implementation - // are totally stateless, and those can be shared by all the - // instances of a given IDL interface type. - ::IR::_TAO_Repository_Proxy_Impl - *proxy_cache_[TAO_ORB_Core::COLLOCATION_STRATEGIES_NUM]; - - TAO_SYNCH_MUTEX mutex_; -// This funxtion is used to get an handle to the unique instance -// of the Strategized Proxy Broker that is available for a given -// interface. + virtual IR_HomeDef_ptr create_home ( + const char * id, + const char * name, + const char * version, + IR_HomeDef_ptr base_home, + IR_ComponentDef_ptr managed_component, + IR_ValueDef_ptr primary_key, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; -public: - static _TAO_Repository_Strategized_Proxy_Broker *the_TAO_Repository_Strategized_Proxy_Broker (void); -}; + static void create_home_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); + static void lookup_id_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); -// -// End Strategized Proxy Broker Declaration -/////////////////////////////////////////////////////////////////////// + static void get_canonical_typecode_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + static void get_primitive_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); -/////////////////////////////////////////////////////////////////////// -// ThruPOA Impl. Declaration -// + static void create_string_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); -class _TAO_Repository_ThruPOA_Proxy_Impl : - public virtual ::IR::_TAO_Repository_Proxy_Impl, - public virtual TAO_ThruPOA_Object_Proxy_Impl, - public virtual ::POA_IR::_TAO_Container_ThruPOA_Proxy_Impl - -{ -public: - _TAO_Repository_ThruPOA_Proxy_Impl (void); - - virtual ~_TAO_Repository_ThruPOA_Proxy_Impl (void) { } - - virtual IR::Contained_ptr lookup_id ( - CORBA_Object *_collocated_tao_target_, - const char * search_id, - CORBA::Environment &ACE_TRY_ENV - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + static void create_wstring_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - virtual CORBA::TypeCode_ptr get_canonical_typecode ( - CORBA_Object *_collocated_tao_target_, - CORBA::TypeCode_ptr tc, - CORBA::Environment &ACE_TRY_ENV - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + static void create_sequence_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - virtual IR::PrimitiveDef_ptr get_primitive ( - CORBA_Object *_collocated_tao_target_, - IR::PrimitiveKind kind, - CORBA::Environment &ACE_TRY_ENV - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + static void create_array_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - virtual IR::StringDef_ptr create_string ( - CORBA_Object *_collocated_tao_target_, - CORBA::ULong bound, - CORBA::Environment &ACE_TRY_ENV - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + static void create_fixed_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - virtual IR::WstringDef_ptr create_wstring ( - CORBA_Object *_collocated_tao_target_, - CORBA::ULong bound, - CORBA::Environment &ACE_TRY_ENV - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + static void lookup_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - virtual IR::SequenceDef_ptr create_sequence ( - CORBA_Object *_collocated_tao_target_, - CORBA::ULong bound, - IR::IDLType_ptr element_type, - CORBA::Environment &ACE_TRY_ENV - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + static void contents_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - virtual IR::ArrayDef_ptr create_array ( - CORBA_Object *_collocated_tao_target_, - CORBA::ULong length, - IR::IDLType_ptr element_type, - CORBA::Environment &ACE_TRY_ENV - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + static void lookup_name_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - virtual IR::FixedDef_ptr create_fixed ( - CORBA_Object *_collocated_tao_target_, - CORBA::UShort digits, - CORBA::Short scale, - CORBA::Environment &ACE_TRY_ENV - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + static void describe_contents_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); -}; + static void create_module_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void create_constant_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void create_struct_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void create_union_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void create_enum_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void create_alias_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void create_interface_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void create_value_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void create_value_box_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void create_exception_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void create_native_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void _get_def_kind_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + static void destroy_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + }; +/////////////////////////////////////////////////////////////////////// +// Strategized Proxy Broker Declaration // -// ThruPOA Proxy Impl. Declaration + +class _TAO_ComponentRepository_Strategized_Proxy_Broker : public virtual _TAO_ComponentRepository_Proxy_Broker +{ +public: + _TAO_ComponentRepository_Strategized_Proxy_Broker (void); + + virtual ~_TAO_ComponentRepository_Strategized_Proxy_Broker (void); + + virtual _TAO_ComponentRepository_Proxy_Impl &select_proxy ( + IR_ComponentRepository *object, + CORBA_Environment &ACE_TRY_ENV = TAO_default_environment () + ); + +private: + +// Helper methods that takes care to create the proxy +// as soon as their use is necessary. + void create_proxy ( + TAO_ORB_Core::TAO_Collocation_Strategies strategy, + CORBA::Environment &ACE_TRY_ENV + ); + +private: + + // Caches the proxy implementations. The proxy implementation + // are totally stateless, and those can be shared by all the + // instances of a given IDL interface type. + _TAO_ComponentRepository_Proxy_Impl + *proxy_cache_[TAO_ORB_Core::COLLOCATION_STRATEGIES_NUM]; + + TAO_SYNCH_MUTEX mutex_; +// This funxtion is used to get an handle to the unique instance +// of the Strategized Proxy Broker that is available for a given +// interface. + +public: + static _TAO_ComponentRepository_Strategized_Proxy_Broker *the_TAO_ComponentRepository_Strategized_Proxy_Broker (void); +}; + +// +// End Strategized Proxy Broker Declaration /////////////////////////////////////////////////////////////////////// -#if defined (ACE_HAS_USING_KEYWORD) -// TIE class: Refer to CORBA v2.2, Section 20.34.4 -template -class Repository_tie : public Repository +/////////////////////////////////////////////////////////////////////// +// ThruPOA Impl. Declaration +// + +class _TAO_ComponentRepository_ThruPOA_Proxy_Impl : + public virtual _TAO_ComponentRepository_Proxy_Impl, + public virtual TAO_ThruPOA_Object_Proxy_Impl, + public virtual ::POA_IR::_TAO_Repository_ThruPOA_Proxy_Impl + { public: - Repository_tie (T &t); - // the T& ctor - Repository_tie (T &t, PortableServer::POA_ptr poa); - // ctor taking a POA - Repository_tie (T *tp, CORBA::Boolean release=1); - // ctor taking pointer and an ownership flag - Repository_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1); - // ctor with T*, ownership flag and a POA - ~Repository_tie (void); - // dtor - - // TIE specific functions - T *_tied_object (void); - // return the underlying object - void _tied_object (T &obj); - // set the underlying object - void _tied_object (T *obj, CORBA::Boolean release=1); - // set the underlying object and the ownership flag - CORBA::Boolean _is_owner (void); - // do we own it - void _is_owner (CORBA::Boolean b); - // set the ownership - - // overridden ServantBase operations - PortableServer::POA_ptr _default_POA ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - IR::Contained_ptr lookup_id ( - const char * search_id, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () + _TAO_ComponentRepository_ThruPOA_Proxy_Impl (void); + + virtual ~_TAO_ComponentRepository_ThruPOA_Proxy_Impl (void); + + virtual IR_ComponentDef_ptr create_component ( + CORBA_Object *_collocated_tao_target_, + const char * id, + const char * name, + const char * version, + IR_ComponentDef_ptr base_component, + const IR_InterfaceDefSeq & supports_interfaces, + CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException )); - CORBA::TypeCode_ptr get_canonical_typecode ( - CORBA::TypeCode_ptr tc, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () + virtual IR_HomeDef_ptr create_home ( + CORBA_Object *_collocated_tao_target_, + const char * id, + const char * name, + const char * version, + IR_HomeDef_ptr base_home, + IR_ComponentDef_ptr managed_component, + IR_ValueDef_ptr primary_key, + CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException )); +}; - IR::PrimitiveDef_ptr get_primitive ( - IR::PrimitiveKind kind, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - IR::StringDef_ptr create_string ( - CORBA::ULong bound, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); +// +// ThruPOA Proxy Impl. Declaration +/////////////////////////////////////////////////////////////////////// - IR::WstringDef_ptr create_wstring ( - CORBA::ULong bound, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); +#if defined (ACE_HAS_USING_KEYWORD) + // TIE class: Refer to CORBA v2.2, Section 20.34.4 + template + class ComponentRepository_tie + : public virtual ComponentRepository, + public virtual PortableServer::RefCountServantBase + { + public: + ComponentRepository_tie (T &t); + // the T& ctor + ComponentRepository_tie (T &t, PortableServer::POA_ptr poa); + // ctor taking a POA + ComponentRepository_tie (T *tp, CORBA::Boolean release=1); + // ctor taking pointer and an ownership flag + ComponentRepository_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1); + // ctor with T*, ownership flag and a POA + ~ComponentRepository_tie (void); + // dtor + + // TIE specific functions + T *_tied_object (void); + // return the underlying object + void _tied_object (T &obj); + // set the underlying object + void _tied_object (T *obj, CORBA::Boolean release=1); + // set the underlying object and the ownership flag + CORBA::Boolean _is_owner (void); + // do we own it + void _is_owner (CORBA::Boolean b); + // set the ownership + + // overridden ServantBase operations + PortableServer::POA_ptr _default_POA ( + CORBA::Environment &env = + TAO_default_environment () + ); + IR_ComponentDef_ptr create_component ( + const char * id, + const char * name, + const char * version, + IR_ComponentDef_ptr base_component, + const IR_InterfaceDefSeq & supports_interfaces, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::SequenceDef_ptr create_sequence ( - CORBA::ULong bound, - IR::IDLType_ptr element_type, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_HomeDef_ptr create_home ( + const char * id, + const char * name, + const char * version, + IR_HomeDef_ptr base_home, + IR_ComponentDef_ptr managed_component, + IR_ValueDef_ptr primary_key, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::ArrayDef_ptr create_array ( - CORBA::ULong length, - IR::IDLType_ptr element_type, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_Contained_ptr lookup_id ( + const char * search_id, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::FixedDef_ptr create_fixed ( - CORBA::UShort digits, - CORBA::Short scale, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + CORBA::TypeCode_ptr get_canonical_typecode ( + CORBA::TypeCode_ptr tc, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::Contained_ptr lookup ( - const char * search_name, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_PrimitiveDef_ptr get_primitive ( + IR_PrimitiveKind kind, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::ContainedSeq * contents ( - IR::DefinitionKind limit_type, - CORBA::Boolean exclude_inherited, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_StringDef_ptr create_string ( + CORBA::ULong bound, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::ContainedSeq * lookup_name ( - const char * search_name, - CORBA::Long levels_to_search, - IR::DefinitionKind limit_type, - CORBA::Boolean exclude_inherited, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_WstringDef_ptr create_wstring ( + CORBA::ULong bound, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::Container::DescriptionSeq * describe_contents ( - IR::DefinitionKind limit_type, - CORBA::Boolean exclude_inherited, - CORBA::Long max_returned_objs, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_SequenceDef_ptr create_sequence ( + CORBA::ULong bound, + IR_IDLType_ptr element_type, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::ModuleDef_ptr create_module ( - const char * id, - const char * name, - const char * version, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_ArrayDef_ptr create_array ( + CORBA::ULong length, + IR_IDLType_ptr element_type, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::ConstantDef_ptr create_constant ( - const char * id, - const char * name, - const char * version, - IR::IDLType_ptr type, - const CORBA::Any & value, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_FixedDef_ptr create_fixed ( + CORBA::UShort digits, + CORBA::Short scale, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::StructDef_ptr create_struct ( - const char * id, - const char * name, - const char * version, - const IR::StructMemberSeq & members, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_Contained_ptr lookup ( + const char * search_name, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::UnionDef_ptr create_union ( - const char * id, - const char * name, - const char * version, - IR::IDLType_ptr discriminator_type, - const IR::UnionMemberSeq & members, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_ContainedSeq * contents ( + IR_DefinitionKind limit_type, + CORBA::Boolean exclude_inherited, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::EnumDef_ptr create_enum ( - const char * id, - const char * name, - const char * version, - const IR::EnumMemberSeq & members, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_ContainedSeq * lookup_name ( + const char * search_name, + CORBA::Long levels_to_search, + IR_DefinitionKind limit_type, + CORBA::Boolean exclude_inherited, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::AliasDef_ptr create_alias ( - const char * id, - const char * name, - const char * version, - IR::IDLType_ptr original_type, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_Container::DescriptionSeq * describe_contents ( + IR_DefinitionKind limit_type, + CORBA::Boolean exclude_inherited, + CORBA::Long max_returned_objs, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::InterfaceDef_ptr create_interface ( - const char * id, - const char * name, - const char * version, - const IR::InterfaceDefSeq & base_interfaces, - CORBA::Boolean is_abstract, - CORBA::Boolean is_local, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_ModuleDef_ptr create_module ( + const char * id, + const char * name, + const char * version, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::ValueDef_ptr create_value ( - const char * id, - const char * name, - const char * version, - CORBA::Boolean is_custom, - CORBA::Boolean is_abstract, - IR::ValueDef_ptr base_value, - CORBA::Boolean is_truncatable, - const IR::ValueDefSeq & abstract_base_values, - const IR::InterfaceDefSeq & supported_interfaces, - const IR::InitializerSeq & initializers, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_ConstantDef_ptr create_constant ( + const char * id, + const char * name, + const char * version, + IR_IDLType_ptr type, + const CORBA::Any & value, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::ValueBoxDef_ptr create_value_box ( - const char * id, - const char * name, - const char * version, - IR::IDLType_ptr original_type_def, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_StructDef_ptr create_struct ( + const char * id, + const char * name, + const char * version, + const IR_StructMemberSeq & members, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::ExceptionDef_ptr create_exception ( - const char * id, - const char * name, - const char * version, - const IR::StructMemberSeq & members, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_UnionDef_ptr create_union ( + const char * id, + const char * name, + const char * version, + IR_IDLType_ptr discriminator_type, + const IR_UnionMemberSeq & members, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::NativeDef_ptr create_native ( - const char * id, - const char * name, - const char * version, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_EnumDef_ptr create_enum ( + const char * id, + const char * name, + const char * version, + const IR_EnumMemberSeq & members, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::DefinitionKind def_kind ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_AliasDef_ptr create_alias ( + const char * id, + const char * name, + const char * version, + IR_IDLType_ptr original_type, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - void destroy ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_InterfaceDef_ptr create_interface ( + const char * id, + const char * name, + const char * version, + const IR_InterfaceDefSeq & base_interfaces, + CORBA::Boolean is_abstract, + CORBA::Boolean is_local, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); -private: - T *ptr_; - PortableServer::POA_var poa_; - CORBA::Boolean rel_; - - // copy and assignment are not allowed - Repository_tie (const Repository_tie &); - void operator= (const Repository_tie &); -}; + IR_ValueDef_ptr create_value ( + const char * id, + const char * name, + const char * version, + CORBA::Boolean is_custom, + CORBA::Boolean is_abstract, + IR_ValueDef_ptr base_value, + CORBA::Boolean is_truncatable, + const IR_ValueDefSeq & abstract_base_values, + const IR_InterfaceDefSeq & supported_interfaces, + const IR_InitializerSeq & initializers, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); -#endif /* ACE_HAS_USING_KEYWORD */ + IR_ValueBoxDef_ptr create_value_box ( + const char * id, + const char * name, + const char * version, + IR_IDLType_ptr original_type_def, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); -class ComponentRepository; -typedef ComponentRepository *ComponentRepository_ptr; -// Forward Classes Declaration -class _TAO_ComponentRepository_ThruPOA_Proxy_Impl; -class _TAO_ComponentRepository_Strategized_Proxy_Broker; + IR_ExceptionDef_ptr create_exception ( + const char * id, + const char * name, + const char * version, + const IR_StructMemberSeq & members, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); -class ComponentRepository : public virtual Repository -{ -protected: - ComponentRepository (void); + IR_NativeDef_ptr create_native ( + const char * id, + const char * name, + const char * version, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); -public: - ComponentRepository (const ComponentRepository& rhs); - virtual ~ComponentRepository (void); + IR_DefinitionKind def_kind ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); + void destroy ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual CORBA::Boolean _is_a ( - const char* logical_type_id, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); +private: + T *ptr_; + PortableServer::POA_var poa_; + CORBA::Boolean rel_; - virtual void* _downcast ( - const char* logical_type_id - ); + // copy and assignment are not allowed + ComponentRepository_tie (const ComponentRepository_tie &); + void operator= (const ComponentRepository_tie &); + }; - static void _is_a_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); +#endif /* ACE_HAS_USING_KEYWORD */ - static void _non_existent_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + class ModuleDef; + typedef ModuleDef *ModuleDef_ptr; + // Forward Classes Declaration + class _TAO_ModuleDef_ThruPOA_Proxy_Impl; + class _TAO_ModuleDef_Strategized_Proxy_Broker; - virtual void _dispatch ( - TAO_ServerRequest &_tao_req, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + class ModuleDef : public virtual Container, + public virtual Contained + { + protected: + ModuleDef (void); - ::IR::ComponentRepository *_this ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + public: + ModuleDef (const ModuleDef& rhs); + virtual ~ModuleDef (void); - virtual const char* _interface_repository_id (void) const; - virtual IR::ComponentDef_ptr create_component ( - const char * id, - const char * name, - const char * version, - IR::ComponentDef_ptr base_component, - const IR::InterfaceDefSeq & supports_interfaces, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + virtual CORBA::Boolean _is_a ( + const char* logical_type_id, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void create_component_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual void* _downcast ( + const char* logical_type_id + ); - virtual IR::HomeDef_ptr create_home ( - const char * id, - const char * name, - const char * version, - IR::HomeDef_ptr base_home, - IR::ComponentDef_ptr managed_component, - IR::ValueDef_ptr primary_key, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + static void _is_a_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void create_home_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _non_existent_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void lookup_id_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual void _dispatch ( + TAO_ServerRequest &_tao_req, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void get_canonical_typecode_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_ModuleDef *_this ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void get_primitive_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual const char* _interface_repository_id (void) const; - static void create_string_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void lookup_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void create_wstring_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void contents_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void create_sequence_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void lookup_name_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void create_array_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void describe_contents_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void create_fixed_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void create_module_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void lookup_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void create_constant_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void contents_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void create_struct_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void lookup_name_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void describe_contents_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void create_module_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void create_constant_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void create_union_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void create_struct_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void create_enum_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void create_union_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void create_alias_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void create_enum_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void create_interface_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void create_alias_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void create_value_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void create_interface_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void create_value_box_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void create_value_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void create_exception_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void create_value_box_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void create_native_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void create_exception_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _get_id_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void create_native_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _set_id_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void _get_def_kind_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _get_name_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void destroy_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _set_name_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - -#if (TAO_HAS_INTERCEPTORS == 1) - // Generation of interceptors related RequestInfo classes per operation. - // This needed to be able to store the arguments, exceptions, contexts - // and build the lists dynamically on demand so that unnecessary time overhead - // of building these lists when they arent used is avoided. - class TAO_ServerRequestInfo_IR_ComponentRepository_create_component : public TAO_ServerRequestInfo - { - public: - friend class POA_IR::ComponentRepository; - TAO_ServerRequestInfo_IR_ComponentRepository_create_component ( - TAO_ServerRequest &_tao_server_request, - POA_IR::ComponentRepository *tao_impl - , - const char * id, - const char * name, - const char * version, - IR::ComponentDef_ptr base_component, - const IR::InterfaceDefSeq & supports_interfaces, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _get_version_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = + static void _set_version_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = + ); + + static void _get_defined_in_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = + ); + + static void _get_absolute_name_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - - private: - TAO_ServerRequestInfo_IR_ComponentRepository_create_component (const TAO_ServerRequestInfo_IR_ComponentRepository_create_component &); - void operator= (const TAO_ServerRequestInfo_IR_ComponentRepository_create_component &); - - private: - POA_IR::ComponentRepository *_tao_impl; - const char * id_; -const char * name_; -const char * version_; -IR::ComponentDef_ptr base_component_; -const IR::InterfaceDefSeq & supports_interfaces_; -void result (IR::ComponentDef_ptr result); - // update the result -IR::ComponentDef_ptr _result; -}; + ); -class TAO_ServerRequestInfo_IR_ComponentRepository_create_home : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::ComponentRepository; - TAO_ServerRequestInfo_IR_ComponentRepository_create_home ( - TAO_ServerRequest &_tao_server_request, - POA_IR::ComponentRepository *tao_impl - , - const char * id, - const char * name, - const char * version, - IR::HomeDef_ptr base_home, - IR::ComponentDef_ptr managed_component, - IR::ValueDef_ptr primary_key, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _get_containing_repository_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_ComponentRepository_create_home (const TAO_ServerRequestInfo_IR_ComponentRepository_create_home &); - void operator= (const TAO_ServerRequestInfo_IR_ComponentRepository_create_home &); - -private: - POA_IR::ComponentRepository *_tao_impl; - const char * id_; -const char * name_; -const char * version_; -IR::HomeDef_ptr base_home_; -IR::ComponentDef_ptr managed_component_; -IR::ValueDef_ptr primary_key_; -void result (IR::HomeDef_ptr result); - // update the result -IR::HomeDef_ptr _result; -}; + static void describe_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); -#endif /* TAO_HAS_INTERCEPTORS */ + static void move_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); -}; + static void _get_def_kind_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + static void destroy_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + }; /////////////////////////////////////////////////////////////////////// // Strategized Proxy Broker Declaration // -class _TAO_ComponentRepository_Strategized_Proxy_Broker : public virtual ::IR::_TAO_ComponentRepository_Proxy_Broker +class _TAO_ModuleDef_Strategized_Proxy_Broker : public virtual _TAO_ModuleDef_Proxy_Broker { public: - _TAO_ComponentRepository_Strategized_Proxy_Broker (void); - - virtual ~_TAO_ComponentRepository_Strategized_Proxy_Broker (void); - - virtual ::IR::_TAO_ComponentRepository_Proxy_Impl &select_proxy ( - ::IR::ComponentRepository *object, + _TAO_ModuleDef_Strategized_Proxy_Broker (void); + + virtual ~_TAO_ModuleDef_Strategized_Proxy_Broker (void); + + virtual _TAO_ModuleDef_Proxy_Impl &select_proxy ( + IR_ModuleDef *object, CORBA_Environment &ACE_TRY_ENV = TAO_default_environment () ); @@ -5323,7 +3752,7 @@ // Caches the proxy implementations. The proxy implementation // are totally stateless, and those can be shared by all the // instances of a given IDL interface type. - ::IR::_TAO_ComponentRepository_Proxy_Impl + _TAO_ModuleDef_Proxy_Impl *proxy_cache_[TAO_ORB_Core::COLLOCATION_STRATEGIES_NUM]; TAO_SYNCH_MUTEX mutex_; @@ -5332,10 +3761,9 @@ // interface. public: - static _TAO_ComponentRepository_Strategized_Proxy_Broker *the_TAO_ComponentRepository_Strategized_Proxy_Broker (void); + static _TAO_ModuleDef_Strategized_Proxy_Broker *the_TAO_ModuleDef_Strategized_Proxy_Broker (void); }; - // // End Strategized Proxy Broker Declaration /////////////////////////////////////////////////////////////////////// @@ -5345,44 +3773,18 @@ // ThruPOA Impl. Declaration // -class _TAO_ComponentRepository_ThruPOA_Proxy_Impl : - public virtual ::IR::_TAO_ComponentRepository_Proxy_Impl, +class _TAO_ModuleDef_ThruPOA_Proxy_Impl : + public virtual _TAO_ModuleDef_Proxy_Impl, public virtual TAO_ThruPOA_Object_Proxy_Impl, - public virtual ::POA_IR::_TAO_Repository_ThruPOA_Proxy_Impl + public virtual ::POA_IR::_TAO_Container_ThruPOA_Proxy_Impl, + public virtual ::POA_IR::_TAO_Contained_ThruPOA_Proxy_Impl { public: - _TAO_ComponentRepository_ThruPOA_Proxy_Impl (void); + _TAO_ModuleDef_ThruPOA_Proxy_Impl (void); - virtual ~_TAO_ComponentRepository_ThruPOA_Proxy_Impl (void) { } + virtual ~_TAO_ModuleDef_ThruPOA_Proxy_Impl (void); - virtual IR::ComponentDef_ptr create_component ( - CORBA_Object *_collocated_tao_target_, - const char * id, - const char * name, - const char * version, - IR::ComponentDef_ptr base_component, - const IR::InterfaceDefSeq & supports_interfaces, - CORBA::Environment &ACE_TRY_ENV - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - virtual IR::HomeDef_ptr create_home ( - CORBA_Object *_collocated_tao_target_, - const char * id, - const char * name, - const char * version, - IR::HomeDef_ptr base_home, - IR::ComponentDef_ptr managed_component, - IR::ValueDef_ptr primary_key, - CORBA::Environment &ACE_TRY_ENV - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - }; @@ -5390,658 +3792,601 @@ // ThruPOA Proxy Impl. Declaration /////////////////////////////////////////////////////////////////////// - #if defined (ACE_HAS_USING_KEYWORD) -// TIE class: Refer to CORBA v2.2, Section 20.34.4 -template -class ComponentRepository_tie : public ComponentRepository -{ -public: - ComponentRepository_tie (T &t); - // the T& ctor - ComponentRepository_tie (T &t, PortableServer::POA_ptr poa); - // ctor taking a POA - ComponentRepository_tie (T *tp, CORBA::Boolean release=1); - // ctor taking pointer and an ownership flag - ComponentRepository_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1); - // ctor with T*, ownership flag and a POA - ~ComponentRepository_tie (void); - // dtor - - // TIE specific functions - T *_tied_object (void); - // return the underlying object - void _tied_object (T &obj); - // set the underlying object - void _tied_object (T *obj, CORBA::Boolean release=1); - // set the underlying object and the ownership flag - CORBA::Boolean _is_owner (void); - // do we own it - void _is_owner (CORBA::Boolean b); - // set the ownership - - // overridden ServantBase operations - PortableServer::POA_ptr _default_POA ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - IR::ComponentDef_ptr create_component ( - const char * id, - const char * name, - const char * version, - IR::ComponentDef_ptr base_component, - const IR::InterfaceDefSeq & supports_interfaces, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - IR::HomeDef_ptr create_home ( - const char * id, - const char * name, - const char * version, - IR::HomeDef_ptr base_home, - IR::ComponentDef_ptr managed_component, - IR::ValueDef_ptr primary_key, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + // TIE class: Refer to CORBA v2.2, Section 20.34.4 + template + class ModuleDef_tie : public ModuleDef + { + public: + ModuleDef_tie (T &t); + // the T& ctor + ModuleDef_tie (T &t, PortableServer::POA_ptr poa); + // ctor taking a POA + ModuleDef_tie (T *tp, CORBA::Boolean release=1); + // ctor taking pointer and an ownership flag + ModuleDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1); + // ctor with T*, ownership flag and a POA + ~ModuleDef_tie (void); + // dtor + + // TIE specific functions + T *_tied_object (void); + // return the underlying object + void _tied_object (T &obj); + // set the underlying object + void _tied_object (T *obj, CORBA::Boolean release=1); + // set the underlying object and the ownership flag + CORBA::Boolean _is_owner (void); + // do we own it + void _is_owner (CORBA::Boolean b); + // set the ownership + + // overridden ServantBase operations + PortableServer::POA_ptr _default_POA ( + CORBA::Environment &env = + TAO_default_environment () + ); + IR_Contained_ptr lookup ( + const char * search_name, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::Contained_ptr lookup_id ( - const char * search_id, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_ContainedSeq * contents ( + IR_DefinitionKind limit_type, + CORBA::Boolean exclude_inherited, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - CORBA::TypeCode_ptr get_canonical_typecode ( - CORBA::TypeCode_ptr tc, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_ContainedSeq * lookup_name ( + const char * search_name, + CORBA::Long levels_to_search, + IR_DefinitionKind limit_type, + CORBA::Boolean exclude_inherited, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::PrimitiveDef_ptr get_primitive ( - IR::PrimitiveKind kind, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_Container::DescriptionSeq * describe_contents ( + IR_DefinitionKind limit_type, + CORBA::Boolean exclude_inherited, + CORBA::Long max_returned_objs, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::StringDef_ptr create_string ( - CORBA::ULong bound, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_ModuleDef_ptr create_module ( + const char * id, + const char * name, + const char * version, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::WstringDef_ptr create_wstring ( - CORBA::ULong bound, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_ConstantDef_ptr create_constant ( + const char * id, + const char * name, + const char * version, + IR_IDLType_ptr type, + const CORBA::Any & value, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::SequenceDef_ptr create_sequence ( - CORBA::ULong bound, - IR::IDLType_ptr element_type, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_StructDef_ptr create_struct ( + const char * id, + const char * name, + const char * version, + const IR_StructMemberSeq & members, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::ArrayDef_ptr create_array ( - CORBA::ULong length, - IR::IDLType_ptr element_type, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_UnionDef_ptr create_union ( + const char * id, + const char * name, + const char * version, + IR_IDLType_ptr discriminator_type, + const IR_UnionMemberSeq & members, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::FixedDef_ptr create_fixed ( - CORBA::UShort digits, - CORBA::Short scale, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_EnumDef_ptr create_enum ( + const char * id, + const char * name, + const char * version, + const IR_EnumMemberSeq & members, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::Contained_ptr lookup ( - const char * search_name, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_AliasDef_ptr create_alias ( + const char * id, + const char * name, + const char * version, + IR_IDLType_ptr original_type, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::ContainedSeq * contents ( - IR::DefinitionKind limit_type, - CORBA::Boolean exclude_inherited, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_InterfaceDef_ptr create_interface ( + const char * id, + const char * name, + const char * version, + const IR_InterfaceDefSeq & base_interfaces, + CORBA::Boolean is_abstract, + CORBA::Boolean is_local, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::ContainedSeq * lookup_name ( - const char * search_name, - CORBA::Long levels_to_search, - IR::DefinitionKind limit_type, - CORBA::Boolean exclude_inherited, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_ValueDef_ptr create_value ( + const char * id, + const char * name, + const char * version, + CORBA::Boolean is_custom, + CORBA::Boolean is_abstract, + IR_ValueDef_ptr base_value, + CORBA::Boolean is_truncatable, + const IR_ValueDefSeq & abstract_base_values, + const IR_InterfaceDefSeq & supported_interfaces, + const IR_InitializerSeq & initializers, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::Container::DescriptionSeq * describe_contents ( - IR::DefinitionKind limit_type, - CORBA::Boolean exclude_inherited, - CORBA::Long max_returned_objs, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_ValueBoxDef_ptr create_value_box ( + const char * id, + const char * name, + const char * version, + IR_IDLType_ptr original_type_def, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::ModuleDef_ptr create_module ( - const char * id, - const char * name, - const char * version, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_ExceptionDef_ptr create_exception ( + const char * id, + const char * name, + const char * version, + const IR_StructMemberSeq & members, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::ConstantDef_ptr create_constant ( - const char * id, - const char * name, - const char * version, - IR::IDLType_ptr type, - const CORBA::Any & value, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_NativeDef_ptr create_native ( + const char * id, + const char * name, + const char * version, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::StructDef_ptr create_struct ( - const char * id, - const char * name, - const char * version, - const IR::StructMemberSeq & members, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + char * id ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::UnionDef_ptr create_union ( - const char * id, - const char * name, - const char * version, - IR::IDLType_ptr discriminator_type, - const IR::UnionMemberSeq & members, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + void id ( + const char * id, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::EnumDef_ptr create_enum ( - const char * id, - const char * name, - const char * version, - const IR::EnumMemberSeq & members, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + char * name ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::AliasDef_ptr create_alias ( - const char * id, - const char * name, - const char * version, - IR::IDLType_ptr original_type, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + void name ( + const char * name, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::InterfaceDef_ptr create_interface ( - const char * id, - const char * name, - const char * version, - const IR::InterfaceDefSeq & base_interfaces, - CORBA::Boolean is_abstract, - CORBA::Boolean is_local, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + char * version ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::ValueDef_ptr create_value ( - const char * id, - const char * name, - const char * version, - CORBA::Boolean is_custom, - CORBA::Boolean is_abstract, - IR::ValueDef_ptr base_value, - CORBA::Boolean is_truncatable, - const IR::ValueDefSeq & abstract_base_values, - const IR::InterfaceDefSeq & supported_interfaces, - const IR::InitializerSeq & initializers, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + void version ( + const char * version, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::ValueBoxDef_ptr create_value_box ( - const char * id, - const char * name, - const char * version, - IR::IDLType_ptr original_type_def, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_Container_ptr defined_in ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::ExceptionDef_ptr create_exception ( - const char * id, - const char * name, - const char * version, - const IR::StructMemberSeq & members, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + char * absolute_name ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::NativeDef_ptr create_native ( - const char * id, - const char * name, - const char * version, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_Repository_ptr containing_repository ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::DefinitionKind def_kind ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_Contained::Description * describe ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - void destroy ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + void move ( + IR_Container_ptr new_container, + const char * new_name, + const char * new_version, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); -private: - T *ptr_; - PortableServer::POA_var poa_; - CORBA::Boolean rel_; - - // copy and assignment are not allowed - ComponentRepository_tie (const ComponentRepository_tie &); - void operator= (const ComponentRepository_tie &); -}; + IR_DefinitionKind def_kind ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); -#endif /* ACE_HAS_USING_KEYWORD */ + void destroy ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); -class ModuleDef; -typedef ModuleDef *ModuleDef_ptr; -// Forward Classes Declaration -class _TAO_ModuleDef_ThruPOA_Proxy_Impl; -class _TAO_ModuleDef_Strategized_Proxy_Broker; +private: + T *ptr_; + PortableServer::POA_var poa_; + CORBA::Boolean rel_; -class ModuleDef : public virtual Container, public virtual Contained -{ -protected: - ModuleDef (void); + // copy and assignment are not allowed + ModuleDef_tie (const ModuleDef_tie &); + void operator= (const ModuleDef_tie &); + }; -public: - ModuleDef (const ModuleDef& rhs); - virtual ~ModuleDef (void); +#endif /* ACE_HAS_USING_KEYWORD */ + class ConstantDef; + typedef ConstantDef *ConstantDef_ptr; + // Forward Classes Declaration + class _TAO_ConstantDef_ThruPOA_Proxy_Impl; + class _TAO_ConstantDef_Strategized_Proxy_Broker; - virtual CORBA::Boolean _is_a ( - const char* logical_type_id, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + class ConstantDef : public virtual Contained + { + protected: + ConstantDef (void); - virtual void* _downcast ( - const char* logical_type_id - ); + public: + ConstantDef (const ConstantDef& rhs); + virtual ~ConstantDef (void); - static void _is_a_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - static void _non_existent_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual CORBA::Boolean _is_a ( + const char* logical_type_id, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - virtual void _dispatch ( - TAO_ServerRequest &_tao_req, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual void* _downcast ( + const char* logical_type_id + ); - ::IR::ModuleDef *_this ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _is_a_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - virtual const char* _interface_repository_id (void) const; + static void _non_existent_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void lookup_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual void _dispatch ( + TAO_ServerRequest &_tao_req, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void contents_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_ConstantDef *_this ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void lookup_name_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual const char* _interface_repository_id (void) const; - static void describe_contents_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual CORBA::TypeCode_ptr type ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; - static void create_module_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _get_type_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void create_constant_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void create_struct_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void create_union_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void create_enum_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void create_alias_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void create_interface_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual IR_IDLType_ptr type_def ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; - static void create_value_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _get_type_def_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void create_value_box_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual void type_def ( + IR_IDLType_ptr type_def, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; - static void create_exception_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _set_type_def_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void create_native_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual CORBA::Any * value ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; - static void _get_id_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _get_value_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void _set_id_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual void value ( + const CORBA::Any & value, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; - static void _get_name_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _set_value_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void _set_name_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _get_id_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void _get_version_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _set_id_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void _set_version_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _get_name_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void _get_defined_in_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _set_name_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void _get_absolute_name_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _get_version_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void _get_containing_repository_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _set_version_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void describe_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _get_defined_in_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void move_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _get_absolute_name_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void _get_def_kind_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _get_containing_repository_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void destroy_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void describe_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - -#if (TAO_HAS_INTERCEPTORS == 1) - // Generation of interceptors related RequestInfo classes per operation. - // This needed to be able to store the arguments, exceptions, contexts - // and build the lists dynamically on demand so that unnecessary time overhead - // of building these lists when they arent used is avoided. - #endif /* TAO_HAS_INTERCEPTORS */ + static void move_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); -}; + static void _get_def_kind_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + static void destroy_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + }; /////////////////////////////////////////////////////////////////////// // Strategized Proxy Broker Declaration // -class _TAO_ModuleDef_Strategized_Proxy_Broker : public virtual ::IR::_TAO_ModuleDef_Proxy_Broker +class _TAO_ConstantDef_Strategized_Proxy_Broker : public virtual _TAO_ConstantDef_Proxy_Broker { public: - _TAO_ModuleDef_Strategized_Proxy_Broker (void); - - virtual ~_TAO_ModuleDef_Strategized_Proxy_Broker (void); - - virtual ::IR::_TAO_ModuleDef_Proxy_Impl &select_proxy ( - ::IR::ModuleDef *object, - CORBA_Environment &ACE_TRY_ENV = TAO_default_environment () + _TAO_ConstantDef_Strategized_Proxy_Broker (void); + + virtual ~_TAO_ConstantDef_Strategized_Proxy_Broker (void); + + virtual _TAO_ConstantDef_Proxy_Impl &select_proxy ( + IR_ConstantDef *object, + CORBA_Environment &ACE_TRY_ENV = TAO_default_environment () ); private: @@ -6058,7 +4403,7 @@ // Caches the proxy implementations. The proxy implementation // are totally stateless, and those can be shared by all the // instances of a given IDL interface type. - ::IR::_TAO_ModuleDef_Proxy_Impl + _TAO_ConstantDef_Proxy_Impl *proxy_cache_[TAO_ORB_Core::COLLOCATION_STRATEGIES_NUM]; TAO_SYNCH_MUTEX mutex_; @@ -6067,10 +4412,9 @@ // interface. public: - static _TAO_ModuleDef_Strategized_Proxy_Broker *the_TAO_ModuleDef_Strategized_Proxy_Broker (void); + static _TAO_ConstantDef_Strategized_Proxy_Broker *the_TAO_ConstantDef_Strategized_Proxy_Broker (void); }; - // // End Strategized Proxy Broker Declaration /////////////////////////////////////////////////////////////////////// @@ -6080,883 +4424,446 @@ // ThruPOA Impl. Declaration // -class _TAO_ModuleDef_ThruPOA_Proxy_Impl : - public virtual ::IR::_TAO_ModuleDef_Proxy_Impl, +class _TAO_ConstantDef_ThruPOA_Proxy_Impl : + public virtual _TAO_ConstantDef_Proxy_Impl, public virtual TAO_ThruPOA_Object_Proxy_Impl, - public virtual ::POA_IR::_TAO_Container_ThruPOA_Proxy_Impl, public virtual ::POA_IR::_TAO_Contained_ThruPOA_Proxy_Impl { public: - _TAO_ModuleDef_ThruPOA_Proxy_Impl (void); + _TAO_ConstantDef_ThruPOA_Proxy_Impl (void); - virtual ~_TAO_ModuleDef_ThruPOA_Proxy_Impl (void) { } + virtual ~_TAO_ConstantDef_ThruPOA_Proxy_Impl (void); - }; - - -// -// ThruPOA Proxy Impl. Declaration -/////////////////////////////////////////////////////////////////////// - - -#if defined (ACE_HAS_USING_KEYWORD) -// TIE class: Refer to CORBA v2.2, Section 20.34.4 -template -class ModuleDef_tie : public ModuleDef -{ -public: - ModuleDef_tie (T &t); - // the T& ctor - ModuleDef_tie (T &t, PortableServer::POA_ptr poa); - // ctor taking a POA - ModuleDef_tie (T *tp, CORBA::Boolean release=1); - // ctor taking pointer and an ownership flag - ModuleDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1); - // ctor with T*, ownership flag and a POA - ~ModuleDef_tie (void); - // dtor - - // TIE specific functions - T *_tied_object (void); - // return the underlying object - void _tied_object (T &obj); - // set the underlying object - void _tied_object (T *obj, CORBA::Boolean release=1); - // set the underlying object and the ownership flag - CORBA::Boolean _is_owner (void); - // do we own it - void _is_owner (CORBA::Boolean b); - // set the ownership - - // overridden ServantBase operations - PortableServer::POA_ptr _default_POA ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - IR::Contained_ptr lookup ( - const char * search_name, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - IR::ContainedSeq * contents ( - IR::DefinitionKind limit_type, - CORBA::Boolean exclude_inherited, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () + virtual CORBA::TypeCode_ptr type ( + CORBA_Object *_collocated_tao_target_, + CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException )); - IR::ContainedSeq * lookup_name ( - const char * search_name, - CORBA::Long levels_to_search, - IR::DefinitionKind limit_type, - CORBA::Boolean exclude_inherited, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () + virtual IR_IDLType_ptr type_def ( + CORBA_Object *_collocated_tao_target_, + CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException )); - IR::Container::DescriptionSeq * describe_contents ( - IR::DefinitionKind limit_type, - CORBA::Boolean exclude_inherited, - CORBA::Long max_returned_objs, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () + virtual void type_def ( + CORBA_Object *_collocated_tao_target_, + IR_IDLType_ptr type_def, + CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException )); - IR::ModuleDef_ptr create_module ( - const char * id, - const char * name, - const char * version, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () + virtual CORBA::Any * value ( + CORBA_Object *_collocated_tao_target_, + CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException )); - IR::ConstantDef_ptr create_constant ( - const char * id, - const char * name, - const char * version, - IR::IDLType_ptr type, + virtual void value ( + CORBA_Object *_collocated_tao_target_, const CORBA::Any & value, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - IR::StructDef_ptr create_struct ( - const char * id, - const char * name, - const char * version, - const IR::StructMemberSeq & members, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () + CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException )); - IR::UnionDef_ptr create_union ( - const char * id, - const char * name, - const char * version, - IR::IDLType_ptr discriminator_type, - const IR::UnionMemberSeq & members, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); +}; - IR::EnumDef_ptr create_enum ( - const char * id, - const char * name, - const char * version, - const IR::EnumMemberSeq & members, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - IR::AliasDef_ptr create_alias ( - const char * id, - const char * name, - const char * version, - IR::IDLType_ptr original_type, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); +// +// ThruPOA Proxy Impl. Declaration +/////////////////////////////////////////////////////////////////////// - IR::InterfaceDef_ptr create_interface ( - const char * id, - const char * name, - const char * version, - const IR::InterfaceDefSeq & base_interfaces, - CORBA::Boolean is_abstract, - CORBA::Boolean is_local, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); +#if defined (ACE_HAS_USING_KEYWORD) + // TIE class: Refer to CORBA v2.2, Section 20.34.4 + template + class ConstantDef_tie : public ConstantDef + { + public: + ConstantDef_tie (T &t); + // the T& ctor + ConstantDef_tie (T &t, PortableServer::POA_ptr poa); + // ctor taking a POA + ConstantDef_tie (T *tp, CORBA::Boolean release=1); + // ctor taking pointer and an ownership flag + ConstantDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1); + // ctor with T*, ownership flag and a POA + ~ConstantDef_tie (void); + // dtor + + // TIE specific functions + T *_tied_object (void); + // return the underlying object + void _tied_object (T &obj); + // set the underlying object + void _tied_object (T *obj, CORBA::Boolean release=1); + // set the underlying object and the ownership flag + CORBA::Boolean _is_owner (void); + // do we own it + void _is_owner (CORBA::Boolean b); + // set the ownership + + // overridden ServantBase operations + PortableServer::POA_ptr _default_POA ( + CORBA::Environment &env = + TAO_default_environment () + ); + CORBA::TypeCode_ptr type ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::ValueDef_ptr create_value ( - const char * id, - const char * name, - const char * version, - CORBA::Boolean is_custom, - CORBA::Boolean is_abstract, - IR::ValueDef_ptr base_value, - CORBA::Boolean is_truncatable, - const IR::ValueDefSeq & abstract_base_values, - const IR::InterfaceDefSeq & supported_interfaces, - const IR::InitializerSeq & initializers, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_IDLType_ptr type_def ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::ValueBoxDef_ptr create_value_box ( - const char * id, - const char * name, - const char * version, - IR::IDLType_ptr original_type_def, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + void type_def ( + IR_IDLType_ptr type_def, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::ExceptionDef_ptr create_exception ( - const char * id, - const char * name, - const char * version, - const IR::StructMemberSeq & members, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + CORBA::Any * value ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::NativeDef_ptr create_native ( - const char * id, - const char * name, - const char * version, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + void value ( + const CORBA::Any & value, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - char * id ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + char * id ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - void id ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + void id ( + const char * id, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - char * name ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + char * name ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - void name ( - const char * name, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + void name ( + const char * name, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - char * version ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + char * version ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - void version ( - const char * version, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + void version ( + const char * version, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::Container_ptr defined_in ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_Container_ptr defined_in ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - char * absolute_name ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + char * absolute_name ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::Repository_ptr containing_repository ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_Repository_ptr containing_repository ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::Contained::Description * describe ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_Contained::Description * describe ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - void move ( - IR::Container_ptr new_container, - const char * new_name, - const char * new_version, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + void move ( + IR_Container_ptr new_container, + const char * new_name, + const char * new_version, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::DefinitionKind def_kind ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_DefinitionKind def_kind ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - void destroy ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + void destroy ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); private: - T *ptr_; - PortableServer::POA_var poa_; - CORBA::Boolean rel_; - - // copy and assignment are not allowed - ModuleDef_tie (const ModuleDef_tie &); - void operator= (const ModuleDef_tie &); -}; + T *ptr_; + PortableServer::POA_var poa_; + CORBA::Boolean rel_; + + // copy and assignment are not allowed + ConstantDef_tie (const ConstantDef_tie &); + void operator= (const ConstantDef_tie &); + }; #endif /* ACE_HAS_USING_KEYWORD */ -class ConstantDef; -typedef ConstantDef *ConstantDef_ptr; -// Forward Classes Declaration -class _TAO_ConstantDef_ThruPOA_Proxy_Impl; -class _TAO_ConstantDef_Strategized_Proxy_Broker; + class TypedefDef; + typedef TypedefDef *TypedefDef_ptr; + // Forward Classes Declaration + class _TAO_TypedefDef_ThruPOA_Proxy_Impl; + class _TAO_TypedefDef_Strategized_Proxy_Broker; -class ConstantDef : public virtual Contained -{ -protected: - ConstantDef (void); + class TypedefDef : public virtual Contained, public virtual IDLType + { + protected: + TypedefDef (void); -public: - ConstantDef (const ConstantDef& rhs); - virtual ~ConstantDef (void); + public: + TypedefDef (const TypedefDef& rhs); + virtual ~TypedefDef (void); - virtual CORBA::Boolean _is_a ( - const char* logical_type_id, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual CORBA::Boolean _is_a ( + const char* logical_type_id, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - virtual void* _downcast ( - const char* logical_type_id - ); + virtual void* _downcast ( + const char* logical_type_id + ); - static void _is_a_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _is_a_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void _non_existent_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _non_existent_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - virtual void _dispatch ( - TAO_ServerRequest &_tao_req, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual void _dispatch ( + TAO_ServerRequest &_tao_req, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - ::IR::ConstantDef *_this ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_TypedefDef *_this ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - virtual const char* _interface_repository_id (void) const; + virtual const char* _interface_repository_id (void) const; - virtual CORBA::TypeCode_ptr type ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + static void _get_id_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void _get_type_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _set_id_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - virtual IR::IDLType_ptr type_def ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + static void _get_name_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void _get_type_def_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _set_name_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - virtual void type_def ( - IR::IDLType_ptr type_def, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + static void _get_version_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void _set_type_def_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _set_version_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - virtual CORBA::Any * value ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + static void _get_defined_in_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void _get_value_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _get_absolute_name_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - virtual void value ( - const CORBA::Any & value, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + static void _get_containing_repository_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void _set_value_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void describe_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void _get_id_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void move_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void _set_id_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _get_type_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void _get_name_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _get_def_kind_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void _set_name_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _get_version_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _set_version_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _get_defined_in_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _get_absolute_name_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _get_containing_repository_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void describe_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void move_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _get_def_kind_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void destroy_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - -#if (TAO_HAS_INTERCEPTORS == 1) - // Generation of interceptors related RequestInfo classes per operation. - // This needed to be able to store the arguments, exceptions, contexts - // and build the lists dynamically on demand so that unnecessary time overhead - // of building these lists when they arent used is avoided. - class TAO_ServerRequestInfo_IR_ConstantDef_type_get : public TAO_ServerRequestInfo - { - public: - friend class POA_IR::ConstantDef; - TAO_ServerRequestInfo_IR_ConstantDef_type_get ( - TAO_ServerRequest &_tao_server_request, - POA_IR::ConstantDef *tao_impl - , - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = + static void destroy_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - - private: - TAO_ServerRequestInfo_IR_ConstantDef_type_get (const TAO_ServerRequestInfo_IR_ConstantDef_type_get &); - void operator= (const TAO_ServerRequestInfo_IR_ConstantDef_type_get &); - - private: - POA_IR::ConstantDef *_tao_impl; - void result (CORBA::TypeCode_ptr result); - // update the result -CORBA::TypeCode_ptr _result; -}; - -class TAO_ServerRequestInfo_IR_ConstantDef_type_def_get : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::ConstantDef; - TAO_ServerRequestInfo_IR_ConstantDef_type_def_get ( - TAO_ServerRequest &_tao_server_request, - POA_IR::ConstantDef *tao_impl - , - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_ConstantDef_type_def_get (const TAO_ServerRequestInfo_IR_ConstantDef_type_def_get &); - void operator= (const TAO_ServerRequestInfo_IR_ConstantDef_type_def_get &); - -private: - POA_IR::ConstantDef *_tao_impl; - void result (IR::IDLType_ptr result); - // update the result -IR::IDLType_ptr _result; -}; - -class TAO_ServerRequestInfo_IR_ConstantDef_type_def_set : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::ConstantDef; - TAO_ServerRequestInfo_IR_ConstantDef_type_def_set ( - TAO_ServerRequest &_tao_server_request, - POA_IR::ConstantDef *tao_impl - , - IR::IDLType_ptr type_def, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_ConstantDef_type_def_set (const TAO_ServerRequestInfo_IR_ConstantDef_type_def_set &); - void operator= (const TAO_ServerRequestInfo_IR_ConstantDef_type_def_set &); - -private: - POA_IR::ConstantDef *_tao_impl; - IR::IDLType_ptr type_def_; -}; - -class TAO_ServerRequestInfo_IR_ConstantDef_value_get : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::ConstantDef; - TAO_ServerRequestInfo_IR_ConstantDef_value_get ( - TAO_ServerRequest &_tao_server_request, - POA_IR::ConstantDef *tao_impl - , - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_ConstantDef_value_get (const TAO_ServerRequestInfo_IR_ConstantDef_value_get &); - void operator= (const TAO_ServerRequestInfo_IR_ConstantDef_value_get &); - -private: - POA_IR::ConstantDef *_tao_impl; - void result (CORBA::Any * result); - // update the result -CORBA::Any * _result; -}; - -class TAO_ServerRequestInfo_IR_ConstantDef_value_set : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::ConstantDef; - TAO_ServerRequestInfo_IR_ConstantDef_value_set ( - TAO_ServerRequest &_tao_server_request, - POA_IR::ConstantDef *tao_impl - , - const CORBA::Any & value, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_ConstantDef_value_set (const TAO_ServerRequestInfo_IR_ConstantDef_value_set &); - void operator= (const TAO_ServerRequestInfo_IR_ConstantDef_value_set &); - -private: - POA_IR::ConstantDef *_tao_impl; - const CORBA::Any & value_; -}; - -#endif /* TAO_HAS_INTERCEPTORS */ - -}; - + ); + }; /////////////////////////////////////////////////////////////////////// // Strategized Proxy Broker Declaration // -class _TAO_ConstantDef_Strategized_Proxy_Broker : public virtual ::IR::_TAO_ConstantDef_Proxy_Broker +class _TAO_TypedefDef_Strategized_Proxy_Broker : public virtual _TAO_TypedefDef_Proxy_Broker { public: - _TAO_ConstantDef_Strategized_Proxy_Broker (void); - - virtual ~_TAO_ConstantDef_Strategized_Proxy_Broker (void); - - virtual ::IR::_TAO_ConstantDef_Proxy_Impl &select_proxy ( - ::IR::ConstantDef *object, + _TAO_TypedefDef_Strategized_Proxy_Broker (void); + + virtual ~_TAO_TypedefDef_Strategized_Proxy_Broker (void); + + virtual _TAO_TypedefDef_Proxy_Impl &select_proxy ( + IR_TypedefDef *object, CORBA_Environment &ACE_TRY_ENV = TAO_default_environment () ); @@ -6974,7 +4881,7 @@ // Caches the proxy implementations. The proxy implementation // are totally stateless, and those can be shared by all the // instances of a given IDL interface type. - ::IR::_TAO_ConstantDef_Proxy_Impl + _TAO_TypedefDef_Proxy_Impl *proxy_cache_[TAO_ORB_Core::COLLOCATION_STRATEGIES_NUM]; TAO_SYNCH_MUTEX mutex_; @@ -6983,10 +4890,9 @@ // interface. public: - static _TAO_ConstantDef_Strategized_Proxy_Broker *the_TAO_ConstantDef_Strategized_Proxy_Broker (void); + static _TAO_TypedefDef_Strategized_Proxy_Broker *the_TAO_TypedefDef_Strategized_Proxy_Broker (void); }; - // // End Strategized Proxy Broker Declaration /////////////////////////////////////////////////////////////////////// @@ -6996,59 +4902,18 @@ // ThruPOA Impl. Declaration // -class _TAO_ConstantDef_ThruPOA_Proxy_Impl : - public virtual ::IR::_TAO_ConstantDef_Proxy_Impl, +class _TAO_TypedefDef_ThruPOA_Proxy_Impl : + public virtual _TAO_TypedefDef_Proxy_Impl, public virtual TAO_ThruPOA_Object_Proxy_Impl, - public virtual ::POA_IR::_TAO_Contained_ThruPOA_Proxy_Impl + public virtual ::POA_IR::_TAO_Contained_ThruPOA_Proxy_Impl, + public virtual ::POA_IR::_TAO_IDLType_ThruPOA_Proxy_Impl { public: - _TAO_ConstantDef_ThruPOA_Proxy_Impl (void); + _TAO_TypedefDef_ThruPOA_Proxy_Impl (void); - virtual ~_TAO_ConstantDef_ThruPOA_Proxy_Impl (void) { } + virtual ~_TAO_TypedefDef_ThruPOA_Proxy_Impl (void); - virtual CORBA::TypeCode_ptr type ( - CORBA_Object *_collocated_tao_target_, - CORBA::Environment &ACE_TRY_ENV - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - virtual IR::IDLType_ptr type_def ( - CORBA_Object *_collocated_tao_target_, - CORBA::Environment &ACE_TRY_ENV - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - virtual void type_def ( - CORBA_Object *_collocated_tao_target_, - IR::IDLType_ptr type_def, - CORBA::Environment &ACE_TRY_ENV - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - virtual CORBA::Any * value ( - CORBA_Object *_collocated_tao_target_, - CORBA::Environment &ACE_TRY_ENV - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - virtual void value ( - CORBA_Object *_collocated_tao_target_, - const CORBA::Any & value, - CORBA::Environment &ACE_TRY_ENV - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - }; @@ -7056,2239 +4921,2088 @@ // ThruPOA Proxy Impl. Declaration /////////////////////////////////////////////////////////////////////// - #if defined (ACE_HAS_USING_KEYWORD) -// TIE class: Refer to CORBA v2.2, Section 20.34.4 -template -class ConstantDef_tie : public ConstantDef -{ -public: - ConstantDef_tie (T &t); - // the T& ctor - ConstantDef_tie (T &t, PortableServer::POA_ptr poa); - // ctor taking a POA - ConstantDef_tie (T *tp, CORBA::Boolean release=1); - // ctor taking pointer and an ownership flag - ConstantDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1); - // ctor with T*, ownership flag and a POA - ~ConstantDef_tie (void); - // dtor - - // TIE specific functions - T *_tied_object (void); - // return the underlying object - void _tied_object (T &obj); - // set the underlying object - void _tied_object (T *obj, CORBA::Boolean release=1); - // set the underlying object and the ownership flag - CORBA::Boolean _is_owner (void); - // do we own it - void _is_owner (CORBA::Boolean b); - // set the ownership - - // overridden ServantBase operations - PortableServer::POA_ptr _default_POA ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - CORBA::TypeCode_ptr type ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - IR::IDLType_ptr type_def ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - void type_def ( - IR::IDLType_ptr type_def, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - CORBA::Any * value ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - void value ( - const CORBA::Any & value, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + // TIE class: Refer to CORBA v2.2, Section 20.34.4 + template + class TypedefDef_tie : public TypedefDef + { + public: + TypedefDef_tie (T &t); + // the T& ctor + TypedefDef_tie (T &t, PortableServer::POA_ptr poa); + // ctor taking a POA + TypedefDef_tie (T *tp, CORBA::Boolean release=1); + // ctor taking pointer and an ownership flag + TypedefDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1); + // ctor with T*, ownership flag and a POA + ~TypedefDef_tie (void); + // dtor + + // TIE specific functions + T *_tied_object (void); + // return the underlying object + void _tied_object (T &obj); + // set the underlying object + void _tied_object (T *obj, CORBA::Boolean release=1); + // set the underlying object and the ownership flag + CORBA::Boolean _is_owner (void); + // do we own it + void _is_owner (CORBA::Boolean b); + // set the ownership + + // overridden ServantBase operations + PortableServer::POA_ptr _default_POA ( + CORBA::Environment &env = + TAO_default_environment () + ); + char * id ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - char * id ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + void id ( + const char * id, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - void id ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + char * name ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - char * name ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + void name ( + const char * name, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - void name ( - const char * name, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + char * version ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - char * version ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + void version ( + const char * version, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - void version ( - const char * version, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_Container_ptr defined_in ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::Container_ptr defined_in ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + char * absolute_name ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - char * absolute_name ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_Repository_ptr containing_repository ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::Repository_ptr containing_repository ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_Contained::Description * describe ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::Contained::Description * describe ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + void move ( + IR_Container_ptr new_container, + const char * new_name, + const char * new_version, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - void move ( - IR::Container_ptr new_container, - const char * new_name, - const char * new_version, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + CORBA::TypeCode_ptr type ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::DefinitionKind def_kind ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_DefinitionKind def_kind ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - void destroy ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + void destroy ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); private: - T *ptr_; - PortableServer::POA_var poa_; - CORBA::Boolean rel_; - - // copy and assignment are not allowed - ConstantDef_tie (const ConstantDef_tie &); - void operator= (const ConstantDef_tie &); -}; + T *ptr_; + PortableServer::POA_var poa_; + CORBA::Boolean rel_; + + // copy and assignment are not allowed + TypedefDef_tie (const TypedefDef_tie &); + void operator= (const TypedefDef_tie &); + }; #endif /* ACE_HAS_USING_KEYWORD */ -class TypedefDef; -typedef TypedefDef *TypedefDef_ptr; -// Forward Classes Declaration -class _TAO_TypedefDef_ThruPOA_Proxy_Impl; -class _TAO_TypedefDef_Strategized_Proxy_Broker; + class StructDef; + typedef StructDef *StructDef_ptr; + // Forward Classes Declaration + class _TAO_StructDef_ThruPOA_Proxy_Impl; + class _TAO_StructDef_Strategized_Proxy_Broker; -class TypedefDef : public virtual Contained, public virtual IDLType -{ -protected: - TypedefDef (void); + class StructDef : public virtual TypedefDef, public virtual Container + { + protected: + StructDef (void); -public: - TypedefDef (const TypedefDef& rhs); - virtual ~TypedefDef (void); + public: + StructDef (const StructDef& rhs); + virtual ~StructDef (void); - virtual CORBA::Boolean _is_a ( - const char* logical_type_id, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual CORBA::Boolean _is_a ( + const char* logical_type_id, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - virtual void* _downcast ( - const char* logical_type_id - ); + virtual void* _downcast ( + const char* logical_type_id + ); - static void _is_a_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _is_a_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void _non_existent_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _non_existent_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - virtual void _dispatch ( - TAO_ServerRequest &_tao_req, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual void _dispatch ( + TAO_ServerRequest &_tao_req, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - ::IR::TypedefDef *_this ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_StructDef *_this ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - virtual const char* _interface_repository_id (void) const; + virtual const char* _interface_repository_id (void) const; - static void _get_id_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual IR_StructMemberSeq * members ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; - static void _set_id_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _get_members_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void _get_name_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual void members ( + const IR_StructMemberSeq & members, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; - static void _set_name_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _set_members_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void _get_version_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void lookup_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void _set_version_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void contents_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void _get_defined_in_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void lookup_name_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void _get_absolute_name_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void describe_contents_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void _get_containing_repository_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void create_module_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void describe_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void create_constant_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void move_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void create_struct_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void _get_type_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void create_union_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void _get_def_kind_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void create_enum_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void destroy_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void create_alias_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - -#if (TAO_HAS_INTERCEPTORS == 1) - // Generation of interceptors related RequestInfo classes per operation. - // This needed to be able to store the arguments, exceptions, contexts - // and build the lists dynamically on demand so that unnecessary time overhead - // of building these lists when they arent used is avoided. - #endif /* TAO_HAS_INTERCEPTORS */ + static void create_interface_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); -}; + static void create_value_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + static void create_value_box_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); -/////////////////////////////////////////////////////////////////////// -// Strategized Proxy Broker Declaration -// + static void create_exception_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); -class _TAO_TypedefDef_Strategized_Proxy_Broker : public virtual ::IR::_TAO_TypedefDef_Proxy_Broker -{ -public: - _TAO_TypedefDef_Strategized_Proxy_Broker (void); - - virtual ~_TAO_TypedefDef_Strategized_Proxy_Broker (void); - - virtual ::IR::_TAO_TypedefDef_Proxy_Impl &select_proxy ( - ::IR::TypedefDef *object, - CORBA_Environment &ACE_TRY_ENV = TAO_default_environment () - ); + static void create_native_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); -private: + static void _get_id_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); -// Helper methods that takes care to create the proxy -// as soon as their use is necessary. - void create_proxy ( - TAO_ORB_Core::TAO_Collocation_Strategies strategy, - CORBA::Environment &ACE_TRY_ENV - ); + static void _set_id_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); -private: - - // Caches the proxy implementations. The proxy implementation - // are totally stateless, and those can be shared by all the - // instances of a given IDL interface type. - ::IR::_TAO_TypedefDef_Proxy_Impl - *proxy_cache_[TAO_ORB_Core::COLLOCATION_STRATEGIES_NUM]; - - TAO_SYNCH_MUTEX mutex_; -// This funxtion is used to get an handle to the unique instance -// of the Strategized Proxy Broker that is available for a given -// interface. + static void _get_name_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); -public: - static _TAO_TypedefDef_Strategized_Proxy_Broker *the_TAO_TypedefDef_Strategized_Proxy_Broker (void); -}; + static void _set_name_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + static void _get_version_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); -// -// End Strategized Proxy Broker Declaration -/////////////////////////////////////////////////////////////////////// + static void _set_version_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + static void _get_defined_in_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); -/////////////////////////////////////////////////////////////////////// -// ThruPOA Impl. Declaration -// + static void _get_absolute_name_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); -class _TAO_TypedefDef_ThruPOA_Proxy_Impl : - public virtual ::IR::_TAO_TypedefDef_Proxy_Impl, - public virtual TAO_ThruPOA_Object_Proxy_Impl, - public virtual ::POA_IR::_TAO_Contained_ThruPOA_Proxy_Impl, - public virtual ::POA_IR::_TAO_IDLType_ThruPOA_Proxy_Impl - -{ -public: - _TAO_TypedefDef_ThruPOA_Proxy_Impl (void); - - virtual ~_TAO_TypedefDef_ThruPOA_Proxy_Impl (void) { } - - }; + static void _get_containing_repository_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + static void describe_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); -// -// ThruPOA Proxy Impl. Declaration -/////////////////////////////////////////////////////////////////////// + static void move_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + static void _get_type_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); -#if defined (ACE_HAS_USING_KEYWORD) -// TIE class: Refer to CORBA v2.2, Section 20.34.4 -template -class TypedefDef_tie : public TypedefDef -{ -public: - TypedefDef_tie (T &t); - // the T& ctor - TypedefDef_tie (T &t, PortableServer::POA_ptr poa); - // ctor taking a POA - TypedefDef_tie (T *tp, CORBA::Boolean release=1); - // ctor taking pointer and an ownership flag - TypedefDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1); - // ctor with T*, ownership flag and a POA - ~TypedefDef_tie (void); - // dtor - - // TIE specific functions - T *_tied_object (void); - // return the underlying object - void _tied_object (T &obj); - // set the underlying object - void _tied_object (T *obj, CORBA::Boolean release=1); - // set the underlying object and the ownership flag - CORBA::Boolean _is_owner (void); - // do we own it - void _is_owner (CORBA::Boolean b); - // set the ownership - - // overridden ServantBase operations - PortableServer::POA_ptr _default_POA ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - char * id ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + static void _get_def_kind_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - void id ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + static void destroy_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + }; - char * name ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); +/////////////////////////////////////////////////////////////////////// +// Strategized Proxy Broker Declaration +// - void name ( - const char * name, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); +class _TAO_StructDef_Strategized_Proxy_Broker : public virtual _TAO_StructDef_Proxy_Broker +{ +public: + _TAO_StructDef_Strategized_Proxy_Broker (void); - char * version ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + virtual ~_TAO_StructDef_Strategized_Proxy_Broker (void); - void version ( - const char * version, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + virtual _TAO_StructDef_Proxy_Impl &select_proxy ( + IR_StructDef *object, + CORBA_Environment &ACE_TRY_ENV = TAO_default_environment () + ); - IR::Container_ptr defined_in ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); +private: - char * absolute_name ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); +// Helper methods that takes care to create the proxy +// as soon as their use is necessary. + void create_proxy ( + TAO_ORB_Core::TAO_Collocation_Strategies strategy, + CORBA::Environment &ACE_TRY_ENV + ); - IR::Repository_ptr containing_repository ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); +private: + + // Caches the proxy implementations. The proxy implementation + // are totally stateless, and those can be shared by all the + // instances of a given IDL interface type. + _TAO_StructDef_Proxy_Impl + *proxy_cache_[TAO_ORB_Core::COLLOCATION_STRATEGIES_NUM]; + + TAO_SYNCH_MUTEX mutex_; +// This funxtion is used to get an handle to the unique instance +// of the Strategized Proxy Broker that is available for a given +// interface. - IR::Contained::Description * describe ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); +public: + static _TAO_StructDef_Strategized_Proxy_Broker *the_TAO_StructDef_Strategized_Proxy_Broker (void); +}; - void move ( - IR::Container_ptr new_container, - const char * new_name, - const char * new_version, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); +// +// End Strategized Proxy Broker Declaration +/////////////////////////////////////////////////////////////////////// - CORBA::TypeCode_ptr type ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - IR::DefinitionKind def_kind ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () +/////////////////////////////////////////////////////////////////////// +// ThruPOA Impl. Declaration +// + +class _TAO_StructDef_ThruPOA_Proxy_Impl : + public virtual _TAO_StructDef_Proxy_Impl, + public virtual TAO_ThruPOA_Object_Proxy_Impl, + public virtual ::POA_IR::_TAO_TypedefDef_ThruPOA_Proxy_Impl, + public virtual ::POA_IR::_TAO_Container_ThruPOA_Proxy_Impl + +{ +public: + _TAO_StructDef_ThruPOA_Proxy_Impl (void); + + virtual ~_TAO_StructDef_ThruPOA_Proxy_Impl (void); + + virtual IR_StructMemberSeq * members ( + CORBA_Object *_collocated_tao_target_, + CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException )); - void destroy ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () + virtual void members ( + CORBA_Object *_collocated_tao_target_, + const IR_StructMemberSeq & members, + CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException )); -private: - T *ptr_; - PortableServer::POA_var poa_; - CORBA::Boolean rel_; - - // copy and assignment are not allowed - TypedefDef_tie (const TypedefDef_tie &); - void operator= (const TypedefDef_tie &); }; -#endif /* ACE_HAS_USING_KEYWORD */ -class StructDef; -typedef StructDef *StructDef_ptr; -// Forward Classes Declaration -class _TAO_StructDef_ThruPOA_Proxy_Impl; -class _TAO_StructDef_Strategized_Proxy_Broker; +// +// ThruPOA Proxy Impl. Declaration +/////////////////////////////////////////////////////////////////////// -class StructDef : public virtual TypedefDef, public virtual Container -{ -protected: - StructDef (void); +#if defined (ACE_HAS_USING_KEYWORD) + // TIE class: Refer to CORBA v2.2, Section 20.34.4 + template + class StructDef_tie : public StructDef + { + public: + StructDef_tie (T &t); + // the T& ctor + StructDef_tie (T &t, PortableServer::POA_ptr poa); + // ctor taking a POA + StructDef_tie (T *tp, CORBA::Boolean release=1); + // ctor taking pointer and an ownership flag + StructDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1); + // ctor with T*, ownership flag and a POA + ~StructDef_tie (void); + // dtor + + // TIE specific functions + T *_tied_object (void); + // return the underlying object + void _tied_object (T &obj); + // set the underlying object + void _tied_object (T *obj, CORBA::Boolean release=1); + // set the underlying object and the ownership flag + CORBA::Boolean _is_owner (void); + // do we own it + void _is_owner (CORBA::Boolean b); + // set the ownership + + // overridden ServantBase operations + PortableServer::POA_ptr _default_POA ( + CORBA::Environment &env = + TAO_default_environment () + ); + IR_StructMemberSeq * members ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); -public: - StructDef (const StructDef& rhs); - virtual ~StructDef (void); + void members ( + const IR_StructMemberSeq & members, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); + IR_Contained_ptr lookup ( + const char * search_name, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual CORBA::Boolean _is_a ( - const char* logical_type_id, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_ContainedSeq * contents ( + IR_DefinitionKind limit_type, + CORBA::Boolean exclude_inherited, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual void* _downcast ( - const char* logical_type_id - ); + IR_ContainedSeq * lookup_name ( + const char * search_name, + CORBA::Long levels_to_search, + IR_DefinitionKind limit_type, + CORBA::Boolean exclude_inherited, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _is_a_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_Container::DescriptionSeq * describe_contents ( + IR_DefinitionKind limit_type, + CORBA::Boolean exclude_inherited, + CORBA::Long max_returned_objs, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _non_existent_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_ModuleDef_ptr create_module ( + const char * id, + const char * name, + const char * version, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual void _dispatch ( - TAO_ServerRequest &_tao_req, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_ConstantDef_ptr create_constant ( + const char * id, + const char * name, + const char * version, + IR_IDLType_ptr type, + const CORBA::Any & value, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - ::IR::StructDef *_this ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_StructDef_ptr create_struct ( + const char * id, + const char * name, + const char * version, + const IR_StructMemberSeq & members, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual const char* _interface_repository_id (void) const; + IR_UnionDef_ptr create_union ( + const char * id, + const char * name, + const char * version, + IR_IDLType_ptr discriminator_type, + const IR_UnionMemberSeq & members, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual IR::StructMemberSeq * members ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + IR_EnumDef_ptr create_enum ( + const char * id, + const char * name, + const char * version, + const IR_EnumMemberSeq & members, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _get_members_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_AliasDef_ptr create_alias ( + const char * id, + const char * name, + const char * version, + IR_IDLType_ptr original_type, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual void members ( - const IR::StructMemberSeq & members, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + IR_InterfaceDef_ptr create_interface ( + const char * id, + const char * name, + const char * version, + const IR_InterfaceDefSeq & base_interfaces, + CORBA::Boolean is_abstract, + CORBA::Boolean is_local, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _set_members_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_ValueDef_ptr create_value ( + const char * id, + const char * name, + const char * version, + CORBA::Boolean is_custom, + CORBA::Boolean is_abstract, + IR_ValueDef_ptr base_value, + CORBA::Boolean is_truncatable, + const IR_ValueDefSeq & abstract_base_values, + const IR_InterfaceDefSeq & supported_interfaces, + const IR_InitializerSeq & initializers, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void lookup_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_ValueBoxDef_ptr create_value_box ( + const char * id, + const char * name, + const char * version, + IR_IDLType_ptr original_type_def, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void contents_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_ExceptionDef_ptr create_exception ( + const char * id, + const char * name, + const char * version, + const IR_StructMemberSeq & members, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void lookup_name_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_NativeDef_ptr create_native ( + const char * id, + const char * name, + const char * version, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void describe_contents_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + char * id ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void create_module_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + void id ( + const char * id, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void create_constant_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + char * name ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void create_struct_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + void name ( + const char * name, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void create_union_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + char * version ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void create_enum_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + void version ( + const char * version, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void create_alias_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_Container_ptr defined_in ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void create_interface_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + char * absolute_name ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void create_value_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_Repository_ptr containing_repository ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void create_value_box_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_Contained::Description * describe ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void create_exception_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + void move ( + IR_Container_ptr new_container, + const char * new_name, + const char * new_version, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void create_native_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + CORBA::TypeCode_ptr type ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _get_id_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_DefinitionKind def_kind ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _set_id_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + void destroy ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _get_name_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); +private: + T *ptr_; + PortableServer::POA_var poa_; + CORBA::Boolean rel_; - static void _set_name_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + // copy and assignment are not allowed + StructDef_tie (const StructDef_tie &); + void operator= (const StructDef_tie &); + }; - static void _get_version_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); +#endif /* ACE_HAS_USING_KEYWORD */ - static void _set_version_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + class UnionDef; + typedef UnionDef *UnionDef_ptr; + // Forward Classes Declaration + class _TAO_UnionDef_ThruPOA_Proxy_Impl; + class _TAO_UnionDef_Strategized_Proxy_Broker; - static void _get_defined_in_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + class UnionDef : public virtual TypedefDef, public virtual Container + { + protected: + UnionDef (void); - static void _get_absolute_name_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + public: + UnionDef (const UnionDef& rhs); + virtual ~UnionDef (void); - static void _get_containing_repository_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - static void describe_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual CORBA::Boolean _is_a ( + const char* logical_type_id, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void move_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual void* _downcast ( + const char* logical_type_id + ); - static void _get_type_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _is_a_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void _get_def_kind_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _non_existent_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void destroy_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual void _dispatch ( + TAO_ServerRequest &_tao_req, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - -#if (TAO_HAS_INTERCEPTORS == 1) - // Generation of interceptors related RequestInfo classes per operation. - // This needed to be able to store the arguments, exceptions, contexts - // and build the lists dynamically on demand so that unnecessary time overhead - // of building these lists when they arent used is avoided. - class TAO_ServerRequestInfo_IR_StructDef_members_get : public TAO_ServerRequestInfo - { - public: - friend class POA_IR::StructDef; - TAO_ServerRequestInfo_IR_StructDef_members_get ( - TAO_ServerRequest &_tao_server_request, - POA_IR::StructDef *tao_impl - , - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_UnionDef *_this ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - virtual Dynamic::ParameterList * arguments ( + virtual const char* _interface_repository_id (void) const; + + virtual CORBA::TypeCode_ptr discriminator_type ( CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; + + static void _get_discriminator_type_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( + ); + + virtual IR_IDLType_ptr discriminator_type_def ( CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - - private: - TAO_ServerRequestInfo_IR_StructDef_members_get (const TAO_ServerRequestInfo_IR_StructDef_members_get &); - void operator= (const TAO_ServerRequestInfo_IR_StructDef_members_get &); - - private: - POA_IR::StructDef *_tao_impl; - void result (IR::StructMemberSeq * result); - // update the result -IR::StructMemberSeq * _result; -}; + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; -class TAO_ServerRequestInfo_IR_StructDef_members_set : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::StructDef; - TAO_ServerRequestInfo_IR_StructDef_members_set ( - TAO_ServerRequest &_tao_server_request, - POA_IR::StructDef *tao_impl - , - const IR::StructMemberSeq & members, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _get_discriminator_type_def_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_StructDef_members_set (const TAO_ServerRequestInfo_IR_StructDef_members_set &); - void operator= (const TAO_ServerRequestInfo_IR_StructDef_members_set &); - -private: - POA_IR::StructDef *_tao_impl; - const IR::StructMemberSeq & members_; -}; + virtual void discriminator_type_def ( + IR_IDLType_ptr discriminator_type_def, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; -#endif /* TAO_HAS_INTERCEPTORS */ + static void _set_discriminator_type_def_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); -}; + virtual IR_UnionMemberSeq * members ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; + static void _get_members_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); -/////////////////////////////////////////////////////////////////////// -// Strategized Proxy Broker Declaration -// + virtual void members ( + const IR_UnionMemberSeq & members, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; -class _TAO_StructDef_Strategized_Proxy_Broker : public virtual ::IR::_TAO_StructDef_Proxy_Broker -{ -public: - _TAO_StructDef_Strategized_Proxy_Broker (void); - - virtual ~_TAO_StructDef_Strategized_Proxy_Broker (void); - - virtual ::IR::_TAO_StructDef_Proxy_Impl &select_proxy ( - ::IR::StructDef *object, - CORBA_Environment &ACE_TRY_ENV = TAO_default_environment () - ); + static void _set_members_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); -private: + static void lookup_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); -// Helper methods that takes care to create the proxy -// as soon as their use is necessary. - void create_proxy ( - TAO_ORB_Core::TAO_Collocation_Strategies strategy, - CORBA::Environment &ACE_TRY_ENV - ); + static void contents_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); -private: - - // Caches the proxy implementations. The proxy implementation - // are totally stateless, and those can be shared by all the - // instances of a given IDL interface type. - ::IR::_TAO_StructDef_Proxy_Impl - *proxy_cache_[TAO_ORB_Core::COLLOCATION_STRATEGIES_NUM]; - - TAO_SYNCH_MUTEX mutex_; -// This funxtion is used to get an handle to the unique instance -// of the Strategized Proxy Broker that is available for a given -// interface. + static void lookup_name_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); -public: - static _TAO_StructDef_Strategized_Proxy_Broker *the_TAO_StructDef_Strategized_Proxy_Broker (void); -}; + static void describe_contents_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + static void create_module_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); -// -// End Strategized Proxy Broker Declaration -/////////////////////////////////////////////////////////////////////// + static void create_constant_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + static void create_struct_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); -/////////////////////////////////////////////////////////////////////// -// ThruPOA Impl. Declaration -// + static void create_union_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); -class _TAO_StructDef_ThruPOA_Proxy_Impl : - public virtual ::IR::_TAO_StructDef_Proxy_Impl, - public virtual TAO_ThruPOA_Object_Proxy_Impl, - public virtual ::POA_IR::_TAO_TypedefDef_ThruPOA_Proxy_Impl, - public virtual ::POA_IR::_TAO_Container_ThruPOA_Proxy_Impl - + static void create_enum_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void create_alias_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void create_interface_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void create_value_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void create_value_box_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void create_exception_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void create_native_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void _get_id_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void _set_id_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void _get_name_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void _set_name_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void _get_version_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void _set_version_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void _get_defined_in_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void _get_absolute_name_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void _get_containing_repository_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void describe_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void move_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void _get_type_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void _get_def_kind_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void destroy_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + }; + +/////////////////////////////////////////////////////////////////////// +// Strategized Proxy Broker Declaration +// + +class _TAO_UnionDef_Strategized_Proxy_Broker : public virtual _TAO_UnionDef_Proxy_Broker { -public: - _TAO_StructDef_ThruPOA_Proxy_Impl (void); +public: + _TAO_UnionDef_Strategized_Proxy_Broker (void); + + virtual ~_TAO_UnionDef_Strategized_Proxy_Broker (void); + + virtual _TAO_UnionDef_Proxy_Impl &select_proxy ( + IR_UnionDef *object, + CORBA_Environment &ACE_TRY_ENV = TAO_default_environment () + ); + +private: + +// Helper methods that takes care to create the proxy +// as soon as their use is necessary. + void create_proxy ( + TAO_ORB_Core::TAO_Collocation_Strategies strategy, + CORBA::Environment &ACE_TRY_ENV + ); + +private: - virtual ~_TAO_StructDef_ThruPOA_Proxy_Impl (void) { } + // Caches the proxy implementations. The proxy implementation + // are totally stateless, and those can be shared by all the + // instances of a given IDL interface type. + _TAO_UnionDef_Proxy_Impl + *proxy_cache_[TAO_ORB_Core::COLLOCATION_STRATEGIES_NUM]; - virtual IR::StructMemberSeq * members ( - CORBA_Object *_collocated_tao_target_, - CORBA::Environment &ACE_TRY_ENV - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - virtual void members ( - CORBA_Object *_collocated_tao_target_, - const IR::StructMemberSeq & members, - CORBA::Environment &ACE_TRY_ENV - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + TAO_SYNCH_MUTEX mutex_; +// This funxtion is used to get an handle to the unique instance +// of the Strategized Proxy Broker that is available for a given +// interface. +public: + static _TAO_UnionDef_Strategized_Proxy_Broker *the_TAO_UnionDef_Strategized_Proxy_Broker (void); }; - // -// ThruPOA Proxy Impl. Declaration +// End Strategized Proxy Broker Declaration /////////////////////////////////////////////////////////////////////// -#if defined (ACE_HAS_USING_KEYWORD) -// TIE class: Refer to CORBA v2.2, Section 20.34.4 -template -class StructDef_tie : public StructDef +/////////////////////////////////////////////////////////////////////// +// ThruPOA Impl. Declaration +// + +class _TAO_UnionDef_ThruPOA_Proxy_Impl : + public virtual _TAO_UnionDef_Proxy_Impl, + public virtual TAO_ThruPOA_Object_Proxy_Impl, + public virtual ::POA_IR::_TAO_TypedefDef_ThruPOA_Proxy_Impl, + public virtual ::POA_IR::_TAO_Container_ThruPOA_Proxy_Impl + { public: - StructDef_tie (T &t); - // the T& ctor - StructDef_tie (T &t, PortableServer::POA_ptr poa); - // ctor taking a POA - StructDef_tie (T *tp, CORBA::Boolean release=1); - // ctor taking pointer and an ownership flag - StructDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1); - // ctor with T*, ownership flag and a POA - ~StructDef_tie (void); - // dtor - - // TIE specific functions - T *_tied_object (void); - // return the underlying object - void _tied_object (T &obj); - // set the underlying object - void _tied_object (T *obj, CORBA::Boolean release=1); - // set the underlying object and the ownership flag - CORBA::Boolean _is_owner (void); - // do we own it - void _is_owner (CORBA::Boolean b); - // set the ownership - - // overridden ServantBase operations - PortableServer::POA_ptr _default_POA ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - IR::StructMemberSeq * members ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () + _TAO_UnionDef_ThruPOA_Proxy_Impl (void); + + virtual ~_TAO_UnionDef_ThruPOA_Proxy_Impl (void); + + virtual CORBA::TypeCode_ptr discriminator_type ( + CORBA_Object *_collocated_tao_target_, + CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException )); - void members ( - const IR::StructMemberSeq & members, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () + virtual IR_IDLType_ptr discriminator_type_def ( + CORBA_Object *_collocated_tao_target_, + CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException )); - IR::Contained_ptr lookup ( - const char * search_name, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () + virtual void discriminator_type_def ( + CORBA_Object *_collocated_tao_target_, + IR_IDLType_ptr discriminator_type_def, + CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException )); - IR::ContainedSeq * contents ( - IR::DefinitionKind limit_type, - CORBA::Boolean exclude_inherited, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () + virtual IR_UnionMemberSeq * members ( + CORBA_Object *_collocated_tao_target_, + CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException )); - IR::ContainedSeq * lookup_name ( - const char * search_name, - CORBA::Long levels_to_search, - IR::DefinitionKind limit_type, - CORBA::Boolean exclude_inherited, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () + virtual void members ( + CORBA_Object *_collocated_tao_target_, + const IR_UnionMemberSeq & members, + CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException )); - IR::Container::DescriptionSeq * describe_contents ( - IR::DefinitionKind limit_type, - CORBA::Boolean exclude_inherited, - CORBA::Long max_returned_objs, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); +}; - IR::ModuleDef_ptr create_module ( - const char * id, - const char * name, - const char * version, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - IR::ConstantDef_ptr create_constant ( - const char * id, - const char * name, - const char * version, - IR::IDLType_ptr type, - const CORBA::Any & value, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); +// +// ThruPOA Proxy Impl. Declaration +/////////////////////////////////////////////////////////////////////// - IR::StructDef_ptr create_struct ( - const char * id, - const char * name, - const char * version, - const IR::StructMemberSeq & members, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); +#if defined (ACE_HAS_USING_KEYWORD) + // TIE class: Refer to CORBA v2.2, Section 20.34.4 + template + class UnionDef_tie : public UnionDef + { + public: + UnionDef_tie (T &t); + // the T& ctor + UnionDef_tie (T &t, PortableServer::POA_ptr poa); + // ctor taking a POA + UnionDef_tie (T *tp, CORBA::Boolean release=1); + // ctor taking pointer and an ownership flag + UnionDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1); + // ctor with T*, ownership flag and a POA + ~UnionDef_tie (void); + // dtor + + // TIE specific functions + T *_tied_object (void); + // return the underlying object + void _tied_object (T &obj); + // set the underlying object + void _tied_object (T *obj, CORBA::Boolean release=1); + // set the underlying object and the ownership flag + CORBA::Boolean _is_owner (void); + // do we own it + void _is_owner (CORBA::Boolean b); + // set the ownership + + // overridden ServantBase operations + PortableServer::POA_ptr _default_POA ( + CORBA::Environment &env = + TAO_default_environment () + ); + CORBA::TypeCode_ptr discriminator_type ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::UnionDef_ptr create_union ( - const char * id, - const char * name, - const char * version, - IR::IDLType_ptr discriminator_type, - const IR::UnionMemberSeq & members, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_IDLType_ptr discriminator_type_def ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::EnumDef_ptr create_enum ( - const char * id, - const char * name, - const char * version, - const IR::EnumMemberSeq & members, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + void discriminator_type_def ( + IR_IDLType_ptr discriminator_type_def, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::AliasDef_ptr create_alias ( - const char * id, - const char * name, - const char * version, - IR::IDLType_ptr original_type, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_UnionMemberSeq * members ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::InterfaceDef_ptr create_interface ( - const char * id, - const char * name, - const char * version, - const IR::InterfaceDefSeq & base_interfaces, - CORBA::Boolean is_abstract, - CORBA::Boolean is_local, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + void members ( + const IR_UnionMemberSeq & members, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::ValueDef_ptr create_value ( - const char * id, - const char * name, - const char * version, - CORBA::Boolean is_custom, - CORBA::Boolean is_abstract, - IR::ValueDef_ptr base_value, - CORBA::Boolean is_truncatable, - const IR::ValueDefSeq & abstract_base_values, - const IR::InterfaceDefSeq & supported_interfaces, - const IR::InitializerSeq & initializers, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_Contained_ptr lookup ( + const char * search_name, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::ValueBoxDef_ptr create_value_box ( - const char * id, - const char * name, - const char * version, - IR::IDLType_ptr original_type_def, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_ContainedSeq * contents ( + IR_DefinitionKind limit_type, + CORBA::Boolean exclude_inherited, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::ExceptionDef_ptr create_exception ( - const char * id, - const char * name, - const char * version, - const IR::StructMemberSeq & members, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_ContainedSeq * lookup_name ( + const char * search_name, + CORBA::Long levels_to_search, + IR_DefinitionKind limit_type, + CORBA::Boolean exclude_inherited, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::NativeDef_ptr create_native ( - const char * id, - const char * name, - const char * version, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_Container::DescriptionSeq * describe_contents ( + IR_DefinitionKind limit_type, + CORBA::Boolean exclude_inherited, + CORBA::Long max_returned_objs, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - char * id ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_ModuleDef_ptr create_module ( + const char * id, + const char * name, + const char * version, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - void id ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_ConstantDef_ptr create_constant ( + const char * id, + const char * name, + const char * version, + IR_IDLType_ptr type, + const CORBA::Any & value, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - char * name ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_StructDef_ptr create_struct ( + const char * id, + const char * name, + const char * version, + const IR_StructMemberSeq & members, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - void name ( - const char * name, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_UnionDef_ptr create_union ( + const char * id, + const char * name, + const char * version, + IR_IDLType_ptr discriminator_type, + const IR_UnionMemberSeq & members, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - char * version ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_EnumDef_ptr create_enum ( + const char * id, + const char * name, + const char * version, + const IR_EnumMemberSeq & members, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - void version ( - const char * version, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_AliasDef_ptr create_alias ( + const char * id, + const char * name, + const char * version, + IR_IDLType_ptr original_type, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::Container_ptr defined_in ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_InterfaceDef_ptr create_interface ( + const char * id, + const char * name, + const char * version, + const IR_InterfaceDefSeq & base_interfaces, + CORBA::Boolean is_abstract, + CORBA::Boolean is_local, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - char * absolute_name ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_ValueDef_ptr create_value ( + const char * id, + const char * name, + const char * version, + CORBA::Boolean is_custom, + CORBA::Boolean is_abstract, + IR_ValueDef_ptr base_value, + CORBA::Boolean is_truncatable, + const IR_ValueDefSeq & abstract_base_values, + const IR_InterfaceDefSeq & supported_interfaces, + const IR_InitializerSeq & initializers, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::Repository_ptr containing_repository ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_ValueBoxDef_ptr create_value_box ( + const char * id, + const char * name, + const char * version, + IR_IDLType_ptr original_type_def, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::Contained::Description * describe ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_ExceptionDef_ptr create_exception ( + const char * id, + const char * name, + const char * version, + const IR_StructMemberSeq & members, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - void move ( - IR::Container_ptr new_container, - const char * new_name, - const char * new_version, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_NativeDef_ptr create_native ( + const char * id, + const char * name, + const char * version, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - CORBA::TypeCode_ptr type ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + char * id ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::DefinitionKind def_kind ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + void id ( + const char * id, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - void destroy ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + char * name ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); -private: - T *ptr_; - PortableServer::POA_var poa_; - CORBA::Boolean rel_; - - // copy and assignment are not allowed - StructDef_tie (const StructDef_tie &); - void operator= (const StructDef_tie &); -}; + void name ( + const char * name, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); -#endif /* ACE_HAS_USING_KEYWORD */ + char * version ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); -class UnionDef; -typedef UnionDef *UnionDef_ptr; -// Forward Classes Declaration -class _TAO_UnionDef_ThruPOA_Proxy_Impl; -class _TAO_UnionDef_Strategized_Proxy_Broker; + void version ( + const char * version, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); -class UnionDef : public virtual TypedefDef, public virtual Container -{ -protected: - UnionDef (void); + IR_Container_ptr defined_in ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); -public: - UnionDef (const UnionDef& rhs); - virtual ~UnionDef (void); + char * absolute_name ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); + IR_Repository_ptr containing_repository ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual CORBA::Boolean _is_a ( - const char* logical_type_id, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_Contained::Description * describe ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual void* _downcast ( - const char* logical_type_id - ); + void move ( + IR_Container_ptr new_container, + const char * new_name, + const char * new_version, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _is_a_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + CORBA::TypeCode_ptr type ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _non_existent_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_DefinitionKind def_kind ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual void _dispatch ( - TAO_ServerRequest &_tao_req, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + void destroy ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - ::IR::UnionDef *_this ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); +private: + T *ptr_; + PortableServer::POA_var poa_; + CORBA::Boolean rel_; - virtual const char* _interface_repository_id (void) const; + // copy and assignment are not allowed + UnionDef_tie (const UnionDef_tie &); + void operator= (const UnionDef_tie &); + }; - virtual CORBA::TypeCode_ptr discriminator_type ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; +#endif /* ACE_HAS_USING_KEYWORD */ - static void _get_discriminator_type_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + class EnumDef; + typedef EnumDef *EnumDef_ptr; + // Forward Classes Declaration + class _TAO_EnumDef_ThruPOA_Proxy_Impl; + class _TAO_EnumDef_Strategized_Proxy_Broker; - virtual IR::IDLType_ptr discriminator_type_def ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + class EnumDef : public virtual TypedefDef + { + protected: + EnumDef (void); - static void _get_discriminator_type_def_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + public: + EnumDef (const EnumDef& rhs); + virtual ~EnumDef (void); - virtual void discriminator_type_def ( - IR::IDLType_ptr discriminator_type_def, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; - static void _set_discriminator_type_def_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual CORBA::Boolean _is_a ( + const char* logical_type_id, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - virtual IR::UnionMemberSeq * members ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + virtual void* _downcast ( + const char* logical_type_id + ); - static void _get_members_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _is_a_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - virtual void members ( - const IR::UnionMemberSeq & members, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + static void _non_existent_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void _set_members_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual void _dispatch ( + TAO_ServerRequest &_tao_req, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void lookup_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_EnumDef *_this ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void contents_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual const char* _interface_repository_id (void) const; - static void lookup_name_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual IR_EnumMemberSeq * members ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; - static void describe_contents_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _get_members_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void create_module_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual void members ( + const IR_EnumMemberSeq & members, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; - static void create_constant_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _set_members_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void create_struct_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _get_id_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void create_union_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _set_id_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void create_enum_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _get_name_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void create_alias_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _set_name_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void create_interface_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _get_version_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void create_value_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _set_version_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void create_value_box_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _get_defined_in_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void create_exception_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _get_absolute_name_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void create_native_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _get_containing_repository_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void _get_id_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void describe_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void _set_id_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void move_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void _get_name_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _get_type_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void _set_name_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _get_def_kind_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void _get_version_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void destroy_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + }; - static void _set_version_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); +/////////////////////////////////////////////////////////////////////// +// Strategized Proxy Broker Declaration +// - static void _get_defined_in_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); +class _TAO_EnumDef_Strategized_Proxy_Broker : public virtual _TAO_EnumDef_Proxy_Broker +{ +public: + _TAO_EnumDef_Strategized_Proxy_Broker (void); - static void _get_absolute_name_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual ~_TAO_EnumDef_Strategized_Proxy_Broker (void); - static void _get_containing_repository_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual _TAO_EnumDef_Proxy_Impl &select_proxy ( + IR_EnumDef *object, + CORBA_Environment &ACE_TRY_ENV = TAO_default_environment () + ); - static void describe_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); +private: - static void move_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); +// Helper methods that takes care to create the proxy +// as soon as their use is necessary. + void create_proxy ( + TAO_ORB_Core::TAO_Collocation_Strategies strategy, + CORBA::Environment &ACE_TRY_ENV + ); - static void _get_type_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); +private: + + // Caches the proxy implementations. The proxy implementation + // are totally stateless, and those can be shared by all the + // instances of a given IDL interface type. + _TAO_EnumDef_Proxy_Impl + *proxy_cache_[TAO_ORB_Core::COLLOCATION_STRATEGIES_NUM]; + + TAO_SYNCH_MUTEX mutex_; +// This funxtion is used to get an handle to the unique instance +// of the Strategized Proxy Broker that is available for a given +// interface. - static void _get_def_kind_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); +public: + static _TAO_EnumDef_Strategized_Proxy_Broker *the_TAO_EnumDef_Strategized_Proxy_Broker (void); +}; - static void destroy_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - -#if (TAO_HAS_INTERCEPTORS == 1) - // Generation of interceptors related RequestInfo classes per operation. - // This needed to be able to store the arguments, exceptions, contexts - // and build the lists dynamically on demand so that unnecessary time overhead - // of building these lists when they arent used is avoided. - class TAO_ServerRequestInfo_IR_UnionDef_discriminator_type_get : public TAO_ServerRequestInfo - { - public: - friend class POA_IR::UnionDef; - TAO_ServerRequestInfo_IR_UnionDef_discriminator_type_get ( - TAO_ServerRequest &_tao_server_request, - POA_IR::UnionDef *tao_impl - , - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - - private: - TAO_ServerRequestInfo_IR_UnionDef_discriminator_type_get (const TAO_ServerRequestInfo_IR_UnionDef_discriminator_type_get &); - void operator= (const TAO_ServerRequestInfo_IR_UnionDef_discriminator_type_get &); - - private: - POA_IR::UnionDef *_tao_impl; - void result (CORBA::TypeCode_ptr result); - // update the result -CORBA::TypeCode_ptr _result; -}; - -class TAO_ServerRequestInfo_IR_UnionDef_discriminator_type_def_get : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::UnionDef; - TAO_ServerRequestInfo_IR_UnionDef_discriminator_type_def_get ( - TAO_ServerRequest &_tao_server_request, - POA_IR::UnionDef *tao_impl - , - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_UnionDef_discriminator_type_def_get (const TAO_ServerRequestInfo_IR_UnionDef_discriminator_type_def_get &); - void operator= (const TAO_ServerRequestInfo_IR_UnionDef_discriminator_type_def_get &); - -private: - POA_IR::UnionDef *_tao_impl; - void result (IR::IDLType_ptr result); - // update the result -IR::IDLType_ptr _result; -}; - -class TAO_ServerRequestInfo_IR_UnionDef_discriminator_type_def_set : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::UnionDef; - TAO_ServerRequestInfo_IR_UnionDef_discriminator_type_def_set ( - TAO_ServerRequest &_tao_server_request, - POA_IR::UnionDef *tao_impl - , - IR::IDLType_ptr discriminator_type_def, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_UnionDef_discriminator_type_def_set (const TAO_ServerRequestInfo_IR_UnionDef_discriminator_type_def_set &); - void operator= (const TAO_ServerRequestInfo_IR_UnionDef_discriminator_type_def_set &); - -private: - POA_IR::UnionDef *_tao_impl; - IR::IDLType_ptr discriminator_type_def_; -}; - -class TAO_ServerRequestInfo_IR_UnionDef_members_get : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::UnionDef; - TAO_ServerRequestInfo_IR_UnionDef_members_get ( - TAO_ServerRequest &_tao_server_request, - POA_IR::UnionDef *tao_impl - , - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_UnionDef_members_get (const TAO_ServerRequestInfo_IR_UnionDef_members_get &); - void operator= (const TAO_ServerRequestInfo_IR_UnionDef_members_get &); - -private: - POA_IR::UnionDef *_tao_impl; - void result (IR::UnionMemberSeq * result); - // update the result -IR::UnionMemberSeq * _result; -}; - -class TAO_ServerRequestInfo_IR_UnionDef_members_set : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::UnionDef; - TAO_ServerRequestInfo_IR_UnionDef_members_set ( - TAO_ServerRequest &_tao_server_request, - POA_IR::UnionDef *tao_impl - , - const IR::UnionMemberSeq & members, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_UnionDef_members_set (const TAO_ServerRequestInfo_IR_UnionDef_members_set &); - void operator= (const TAO_ServerRequestInfo_IR_UnionDef_members_set &); - -private: - POA_IR::UnionDef *_tao_impl; - const IR::UnionMemberSeq & members_; -}; - -#endif /* TAO_HAS_INTERCEPTORS */ - -}; - - -/////////////////////////////////////////////////////////////////////// -// Strategized Proxy Broker Declaration -// - -class _TAO_UnionDef_Strategized_Proxy_Broker : public virtual ::IR::_TAO_UnionDef_Proxy_Broker -{ -public: - _TAO_UnionDef_Strategized_Proxy_Broker (void); - - virtual ~_TAO_UnionDef_Strategized_Proxy_Broker (void); - - virtual ::IR::_TAO_UnionDef_Proxy_Impl &select_proxy ( - ::IR::UnionDef *object, - CORBA_Environment &ACE_TRY_ENV = TAO_default_environment () - ); - -private: - -// Helper methods that takes care to create the proxy -// as soon as their use is necessary. - void create_proxy ( - TAO_ORB_Core::TAO_Collocation_Strategies strategy, - CORBA::Environment &ACE_TRY_ENV - ); - -private: - - // Caches the proxy implementations. The proxy implementation - // are totally stateless, and those can be shared by all the - // instances of a given IDL interface type. - ::IR::_TAO_UnionDef_Proxy_Impl - *proxy_cache_[TAO_ORB_Core::COLLOCATION_STRATEGIES_NUM]; - - TAO_SYNCH_MUTEX mutex_; -// This funxtion is used to get an handle to the unique instance -// of the Strategized Proxy Broker that is available for a given -// interface. - -public: - static _TAO_UnionDef_Strategized_Proxy_Broker *the_TAO_UnionDef_Strategized_Proxy_Broker (void); -}; - - -// -// End Strategized Proxy Broker Declaration -/////////////////////////////////////////////////////////////////////// +// +// End Strategized Proxy Broker Declaration +/////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////// // ThruPOA Impl. Declaration // -class _TAO_UnionDef_ThruPOA_Proxy_Impl : - public virtual ::IR::_TAO_UnionDef_Proxy_Impl, +class _TAO_EnumDef_ThruPOA_Proxy_Impl : + public virtual _TAO_EnumDef_Proxy_Impl, public virtual TAO_ThruPOA_Object_Proxy_Impl, - public virtual ::POA_IR::_TAO_TypedefDef_ThruPOA_Proxy_Impl, - public virtual ::POA_IR::_TAO_Container_ThruPOA_Proxy_Impl + public virtual ::POA_IR::_TAO_TypedefDef_ThruPOA_Proxy_Impl { public: - _TAO_UnionDef_ThruPOA_Proxy_Impl (void); + _TAO_EnumDef_ThruPOA_Proxy_Impl (void); - virtual ~_TAO_UnionDef_ThruPOA_Proxy_Impl (void) { } + virtual ~_TAO_EnumDef_ThruPOA_Proxy_Impl (void); - virtual CORBA::TypeCode_ptr discriminator_type ( - CORBA_Object *_collocated_tao_target_, - CORBA::Environment &ACE_TRY_ENV - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - virtual IR::IDLType_ptr discriminator_type_def ( - CORBA_Object *_collocated_tao_target_, - CORBA::Environment &ACE_TRY_ENV - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - virtual void discriminator_type_def ( - CORBA_Object *_collocated_tao_target_, - IR::IDLType_ptr discriminator_type_def, - CORBA::Environment &ACE_TRY_ENV - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - virtual IR::UnionMemberSeq * members ( + virtual IR_EnumMemberSeq * members ( CORBA_Object *_collocated_tao_target_, - CORBA::Environment &ACE_TRY_ENV + CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException )); - virtual void members ( + virtual void members ( CORBA_Object *_collocated_tao_target_, - const IR::UnionMemberSeq & members, + const IR_EnumMemberSeq & members, CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( @@ -9302,1303 +7016,1168 @@ // ThruPOA Proxy Impl. Declaration /////////////////////////////////////////////////////////////////////// - #if defined (ACE_HAS_USING_KEYWORD) -// TIE class: Refer to CORBA v2.2, Section 20.34.4 -template -class UnionDef_tie : public UnionDef -{ -public: - UnionDef_tie (T &t); - // the T& ctor - UnionDef_tie (T &t, PortableServer::POA_ptr poa); - // ctor taking a POA - UnionDef_tie (T *tp, CORBA::Boolean release=1); - // ctor taking pointer and an ownership flag - UnionDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1); - // ctor with T*, ownership flag and a POA - ~UnionDef_tie (void); - // dtor - - // TIE specific functions - T *_tied_object (void); - // return the underlying object - void _tied_object (T &obj); - // set the underlying object - void _tied_object (T *obj, CORBA::Boolean release=1); - // set the underlying object and the ownership flag - CORBA::Boolean _is_owner (void); - // do we own it - void _is_owner (CORBA::Boolean b); - // set the ownership - - // overridden ServantBase operations - PortableServer::POA_ptr _default_POA ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - CORBA::TypeCode_ptr discriminator_type ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - IR::IDLType_ptr discriminator_type_def ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + // TIE class: Refer to CORBA v2.2, Section 20.34.4 + template + class EnumDef_tie : public EnumDef + { + public: + EnumDef_tie (T &t); + // the T& ctor + EnumDef_tie (T &t, PortableServer::POA_ptr poa); + // ctor taking a POA + EnumDef_tie (T *tp, CORBA::Boolean release=1); + // ctor taking pointer and an ownership flag + EnumDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1); + // ctor with T*, ownership flag and a POA + ~EnumDef_tie (void); + // dtor + + // TIE specific functions + T *_tied_object (void); + // return the underlying object + void _tied_object (T &obj); + // set the underlying object + void _tied_object (T *obj, CORBA::Boolean release=1); + // set the underlying object and the ownership flag + CORBA::Boolean _is_owner (void); + // do we own it + void _is_owner (CORBA::Boolean b); + // set the ownership + + // overridden ServantBase operations + PortableServer::POA_ptr _default_POA ( + CORBA::Environment &env = + TAO_default_environment () + ); + IR_EnumMemberSeq * members ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - void discriminator_type_def ( - IR::IDLType_ptr discriminator_type_def, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + void members ( + const IR_EnumMemberSeq & members, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::UnionMemberSeq * members ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + char * id ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - void members ( - const IR::UnionMemberSeq & members, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + void id ( + const char * id, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::Contained_ptr lookup ( - const char * search_name, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + char * name ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::ContainedSeq * contents ( - IR::DefinitionKind limit_type, - CORBA::Boolean exclude_inherited, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + void name ( + const char * name, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::ContainedSeq * lookup_name ( - const char * search_name, - CORBA::Long levels_to_search, - IR::DefinitionKind limit_type, - CORBA::Boolean exclude_inherited, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + char * version ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::Container::DescriptionSeq * describe_contents ( - IR::DefinitionKind limit_type, - CORBA::Boolean exclude_inherited, - CORBA::Long max_returned_objs, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + void version ( + const char * version, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::ModuleDef_ptr create_module ( - const char * id, - const char * name, - const char * version, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_Container_ptr defined_in ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::ConstantDef_ptr create_constant ( - const char * id, - const char * name, - const char * version, - IR::IDLType_ptr type, - const CORBA::Any & value, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + char * absolute_name ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::StructDef_ptr create_struct ( - const char * id, - const char * name, - const char * version, - const IR::StructMemberSeq & members, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_Repository_ptr containing_repository ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::UnionDef_ptr create_union ( - const char * id, - const char * name, - const char * version, - IR::IDLType_ptr discriminator_type, - const IR::UnionMemberSeq & members, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_Contained::Description * describe ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::EnumDef_ptr create_enum ( - const char * id, - const char * name, - const char * version, - const IR::EnumMemberSeq & members, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + void move ( + IR_Container_ptr new_container, + const char * new_name, + const char * new_version, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::AliasDef_ptr create_alias ( - const char * id, - const char * name, - const char * version, - IR::IDLType_ptr original_type, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + CORBA::TypeCode_ptr type ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::InterfaceDef_ptr create_interface ( - const char * id, - const char * name, - const char * version, - const IR::InterfaceDefSeq & base_interfaces, - CORBA::Boolean is_abstract, - CORBA::Boolean is_local, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_DefinitionKind def_kind ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::ValueDef_ptr create_value ( - const char * id, - const char * name, - const char * version, - CORBA::Boolean is_custom, - CORBA::Boolean is_abstract, - IR::ValueDef_ptr base_value, - CORBA::Boolean is_truncatable, - const IR::ValueDefSeq & abstract_base_values, - const IR::InterfaceDefSeq & supported_interfaces, - const IR::InitializerSeq & initializers, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + void destroy ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::ValueBoxDef_ptr create_value_box ( - const char * id, - const char * name, - const char * version, - IR::IDLType_ptr original_type_def, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); +private: + T *ptr_; + PortableServer::POA_var poa_; + CORBA::Boolean rel_; - IR::ExceptionDef_ptr create_exception ( - const char * id, - const char * name, - const char * version, - const IR::StructMemberSeq & members, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + // copy and assignment are not allowed + EnumDef_tie (const EnumDef_tie &); + void operator= (const EnumDef_tie &); + }; - IR::NativeDef_ptr create_native ( - const char * id, - const char * name, - const char * version, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); +#endif /* ACE_HAS_USING_KEYWORD */ - char * id ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + class AliasDef; + typedef AliasDef *AliasDef_ptr; + // Forward Classes Declaration + class _TAO_AliasDef_ThruPOA_Proxy_Impl; + class _TAO_AliasDef_Strategized_Proxy_Broker; - void id ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + class AliasDef : public virtual TypedefDef + { + protected: + AliasDef (void); - char * name ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + public: + AliasDef (const AliasDef& rhs); + virtual ~AliasDef (void); - void name ( - const char * name, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - char * version ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + virtual CORBA::Boolean _is_a ( + const char* logical_type_id, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - void version ( - const char * version, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + virtual void* _downcast ( + const char* logical_type_id + ); - IR::Container_ptr defined_in ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + static void _is_a_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - char * absolute_name ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + static void _non_existent_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - IR::Repository_ptr containing_repository ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + virtual void _dispatch ( + TAO_ServerRequest &_tao_req, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - IR::Contained::Description * describe ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_AliasDef *_this ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - void move ( - IR::Container_ptr new_container, - const char * new_name, - const char * new_version, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + virtual const char* _interface_repository_id (void) const; - CORBA::TypeCode_ptr type ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + virtual IR_IDLType_ptr original_type_def ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; - IR::DefinitionKind def_kind ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + static void _get_original_type_def_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - void destroy ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + virtual void original_type_def ( + IR_IDLType_ptr original_type_def, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; -private: - T *ptr_; - PortableServer::POA_var poa_; - CORBA::Boolean rel_; - - // copy and assignment are not allowed - UnionDef_tie (const UnionDef_tie &); - void operator= (const UnionDef_tie &); -}; + static void _set_original_type_def_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); -#endif /* ACE_HAS_USING_KEYWORD */ + static void _get_id_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); -class EnumDef; -typedef EnumDef *EnumDef_ptr; -// Forward Classes Declaration -class _TAO_EnumDef_ThruPOA_Proxy_Impl; -class _TAO_EnumDef_Strategized_Proxy_Broker; + static void _set_id_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void _get_name_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void _set_name_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void _get_version_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void _set_version_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void _get_defined_in_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void _get_absolute_name_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void _get_containing_repository_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void describe_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void move_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void _get_type_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void _get_def_kind_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void destroy_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + }; + +/////////////////////////////////////////////////////////////////////// +// Strategized Proxy Broker Declaration +// -class EnumDef : public virtual TypedefDef +class _TAO_AliasDef_Strategized_Proxy_Broker : public virtual _TAO_AliasDef_Proxy_Broker { -protected: - EnumDef (void); +public: + _TAO_AliasDef_Strategized_Proxy_Broker (void); -public: - EnumDef (const EnumDef& rhs); - virtual ~EnumDef (void); + virtual ~_TAO_AliasDef_Strategized_Proxy_Broker (void); + virtual _TAO_AliasDef_Proxy_Impl &select_proxy ( + IR_AliasDef *object, + CORBA_Environment &ACE_TRY_ENV = TAO_default_environment () + ); - virtual CORBA::Boolean _is_a ( - const char* logical_type_id, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); +private: - virtual void* _downcast ( - const char* logical_type_id - ); +// Helper methods that takes care to create the proxy +// as soon as their use is necessary. + void create_proxy ( + TAO_ORB_Core::TAO_Collocation_Strategies strategy, + CORBA::Environment &ACE_TRY_ENV + ); - static void _is_a_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); +private: + + // Caches the proxy implementations. The proxy implementation + // are totally stateless, and those can be shared by all the + // instances of a given IDL interface type. + _TAO_AliasDef_Proxy_Impl + *proxy_cache_[TAO_ORB_Core::COLLOCATION_STRATEGIES_NUM]; + + TAO_SYNCH_MUTEX mutex_; +// This funxtion is used to get an handle to the unique instance +// of the Strategized Proxy Broker that is available for a given +// interface. - static void _non_existent_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); +public: + static _TAO_AliasDef_Strategized_Proxy_Broker *the_TAO_AliasDef_Strategized_Proxy_Broker (void); +}; - virtual void _dispatch ( - TAO_ServerRequest &_tao_req, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); +// +// End Strategized Proxy Broker Declaration +/////////////////////////////////////////////////////////////////////// - ::IR::EnumDef *_this ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - virtual const char* _interface_repository_id (void) const; +/////////////////////////////////////////////////////////////////////// +// ThruPOA Impl. Declaration +// - virtual IR::EnumMemberSeq * members ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () +class _TAO_AliasDef_ThruPOA_Proxy_Impl : + public virtual _TAO_AliasDef_Proxy_Impl, + public virtual TAO_ThruPOA_Object_Proxy_Impl, + public virtual ::POA_IR::_TAO_TypedefDef_ThruPOA_Proxy_Impl + +{ +public: + _TAO_AliasDef_ThruPOA_Proxy_Impl (void); + + virtual ~_TAO_AliasDef_ThruPOA_Proxy_Impl (void); + + virtual IR_IDLType_ptr original_type_def ( + CORBA_Object *_collocated_tao_target_, + CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException - )) = 0; - - static void _get_members_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + )); - virtual void members ( - const IR::EnumMemberSeq & members, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () + virtual void original_type_def ( + CORBA_Object *_collocated_tao_target_, + IR_IDLType_ptr original_type_def, + CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException - )) = 0; + )); - static void _set_members_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); +}; - static void _get_id_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - static void _set_id_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); +// +// ThruPOA Proxy Impl. Declaration +/////////////////////////////////////////////////////////////////////// - static void _get_name_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _set_name_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); +#if defined (ACE_HAS_USING_KEYWORD) + // TIE class: Refer to CORBA v2.2, Section 20.34.4 + template + class AliasDef_tie : public AliasDef + { + public: + AliasDef_tie (T &t); + // the T& ctor + AliasDef_tie (T &t, PortableServer::POA_ptr poa); + // ctor taking a POA + AliasDef_tie (T *tp, CORBA::Boolean release=1); + // ctor taking pointer and an ownership flag + AliasDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1); + // ctor with T*, ownership flag and a POA + ~AliasDef_tie (void); + // dtor + + // TIE specific functions + T *_tied_object (void); + // return the underlying object + void _tied_object (T &obj); + // set the underlying object + void _tied_object (T *obj, CORBA::Boolean release=1); + // set the underlying object and the ownership flag + CORBA::Boolean _is_owner (void); + // do we own it + void _is_owner (CORBA::Boolean b); + // set the ownership + + // overridden ServantBase operations + PortableServer::POA_ptr _default_POA ( + CORBA::Environment &env = + TAO_default_environment () + ); + IR_IDLType_ptr original_type_def ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _get_version_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + void original_type_def ( + IR_IDLType_ptr original_type_def, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _set_version_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + char * id ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _get_defined_in_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + void id ( + const char * id, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _get_absolute_name_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + char * name ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _get_containing_repository_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + void name ( + const char * name, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void describe_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + char * version ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void move_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + void version ( + const char * version, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _get_type_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_Container_ptr defined_in ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _get_def_kind_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + char * absolute_name ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void destroy_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_Repository_ptr containing_repository ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - -#if (TAO_HAS_INTERCEPTORS == 1) - // Generation of interceptors related RequestInfo classes per operation. - // This needed to be able to store the arguments, exceptions, contexts - // and build the lists dynamically on demand so that unnecessary time overhead - // of building these lists when they arent used is avoided. - class TAO_ServerRequestInfo_IR_EnumDef_members_get : public TAO_ServerRequestInfo - { - public: - friend class POA_IR::EnumDef; - TAO_ServerRequestInfo_IR_EnumDef_members_get ( - TAO_ServerRequest &_tao_server_request, - POA_IR::EnumDef *tao_impl - , - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_Contained::Description * describe ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual Dynamic::ParameterList * arguments ( + void move ( + IR_Container_ptr new_container, + const char * new_name, + const char * new_version, CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( + ACE_THROW_SPEC (( + CORBA::SystemException + )); + + CORBA::TypeCode_ptr type ( CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( + ACE_THROW_SPEC (( + CORBA::SystemException + )); + + IR_DefinitionKind def_kind ( CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - - private: - TAO_ServerRequestInfo_IR_EnumDef_members_get (const TAO_ServerRequestInfo_IR_EnumDef_members_get &); - void operator= (const TAO_ServerRequestInfo_IR_EnumDef_members_get &); - - private: - POA_IR::EnumDef *_tao_impl; - void result (IR::EnumMemberSeq * result); - // update the result -IR::EnumMemberSeq * _result; -}; + ACE_THROW_SPEC (( + CORBA::SystemException + )); -class TAO_ServerRequestInfo_IR_EnumDef_members_set : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::EnumDef; - TAO_ServerRequestInfo_IR_EnumDef_members_set ( - TAO_ServerRequest &_tao_server_request, - POA_IR::EnumDef *tao_impl - , - const IR::EnumMemberSeq & members, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + void destroy ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - private: - TAO_ServerRequestInfo_IR_EnumDef_members_set (const TAO_ServerRequestInfo_IR_EnumDef_members_set &); - void operator= (const TAO_ServerRequestInfo_IR_EnumDef_members_set &); - -private: - POA_IR::EnumDef *_tao_impl; - const IR::EnumMemberSeq & members_; -}; + T *ptr_; + PortableServer::POA_var poa_; + CORBA::Boolean rel_; -#endif /* TAO_HAS_INTERCEPTORS */ + // copy and assignment are not allowed + AliasDef_tie (const AliasDef_tie &); + void operator= (const AliasDef_tie &); + }; -}; +#endif /* ACE_HAS_USING_KEYWORD */ + class NativeDef; + typedef NativeDef *NativeDef_ptr; + // Forward Classes Declaration + class _TAO_NativeDef_ThruPOA_Proxy_Impl; + class _TAO_NativeDef_Strategized_Proxy_Broker; -/////////////////////////////////////////////////////////////////////// -// Strategized Proxy Broker Declaration -// + class NativeDef : public virtual TypedefDef + { + protected: + NativeDef (void); -class _TAO_EnumDef_Strategized_Proxy_Broker : public virtual ::IR::_TAO_EnumDef_Proxy_Broker -{ -public: - _TAO_EnumDef_Strategized_Proxy_Broker (void); - - virtual ~_TAO_EnumDef_Strategized_Proxy_Broker (void); - - virtual ::IR::_TAO_EnumDef_Proxy_Impl &select_proxy ( - ::IR::EnumDef *object, - CORBA_Environment &ACE_TRY_ENV = TAO_default_environment () - ); + public: + NativeDef (const NativeDef& rhs); + virtual ~NativeDef (void); -private: -// Helper methods that takes care to create the proxy -// as soon as their use is necessary. - void create_proxy ( - TAO_ORB_Core::TAO_Collocation_Strategies strategy, - CORBA::Environment &ACE_TRY_ENV - ); + virtual CORBA::Boolean _is_a ( + const char* logical_type_id, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); -private: - - // Caches the proxy implementations. The proxy implementation - // are totally stateless, and those can be shared by all the - // instances of a given IDL interface type. - ::IR::_TAO_EnumDef_Proxy_Impl - *proxy_cache_[TAO_ORB_Core::COLLOCATION_STRATEGIES_NUM]; - - TAO_SYNCH_MUTEX mutex_; -// This funxtion is used to get an handle to the unique instance -// of the Strategized Proxy Broker that is available for a given -// interface. + virtual void* _downcast ( + const char* logical_type_id + ); -public: - static _TAO_EnumDef_Strategized_Proxy_Broker *the_TAO_EnumDef_Strategized_Proxy_Broker (void); -}; + static void _is_a_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); + static void _non_existent_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); -// -// End Strategized Proxy Broker Declaration -/////////////////////////////////////////////////////////////////////// + virtual void _dispatch ( + TAO_ServerRequest &_tao_req, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); + IR_NativeDef *_this ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); -/////////////////////////////////////////////////////////////////////// -// ThruPOA Impl. Declaration -// + virtual const char* _interface_repository_id (void) const; -class _TAO_EnumDef_ThruPOA_Proxy_Impl : - public virtual ::IR::_TAO_EnumDef_Proxy_Impl, - public virtual TAO_ThruPOA_Object_Proxy_Impl, - public virtual ::POA_IR::_TAO_TypedefDef_ThruPOA_Proxy_Impl - -{ -public: - _TAO_EnumDef_ThruPOA_Proxy_Impl (void); - - virtual ~_TAO_EnumDef_ThruPOA_Proxy_Impl (void) { } - - virtual IR::EnumMemberSeq * members ( - CORBA_Object *_collocated_tao_target_, - CORBA::Environment &ACE_TRY_ENV - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - virtual void members ( - CORBA_Object *_collocated_tao_target_, - const IR::EnumMemberSeq & members, - CORBA::Environment &ACE_TRY_ENV - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - -}; + static void _get_id_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + static void _set_id_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); -// -// ThruPOA Proxy Impl. Declaration -/////////////////////////////////////////////////////////////////////// + static void _get_name_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + static void _set_name_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); -#if defined (ACE_HAS_USING_KEYWORD) -// TIE class: Refer to CORBA v2.2, Section 20.34.4 -template -class EnumDef_tie : public EnumDef -{ -public: - EnumDef_tie (T &t); - // the T& ctor - EnumDef_tie (T &t, PortableServer::POA_ptr poa); - // ctor taking a POA - EnumDef_tie (T *tp, CORBA::Boolean release=1); - // ctor taking pointer and an ownership flag - EnumDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1); - // ctor with T*, ownership flag and a POA - ~EnumDef_tie (void); - // dtor - - // TIE specific functions - T *_tied_object (void); - // return the underlying object - void _tied_object (T &obj); - // set the underlying object - void _tied_object (T *obj, CORBA::Boolean release=1); - // set the underlying object and the ownership flag - CORBA::Boolean _is_owner (void); - // do we own it - void _is_owner (CORBA::Boolean b); - // set the ownership - - // overridden ServantBase operations - PortableServer::POA_ptr _default_POA ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - IR::EnumMemberSeq * members ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + static void _get_version_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - void members ( - const IR::EnumMemberSeq & members, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + static void _set_version_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - char * id ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + static void _get_defined_in_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - void id ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + static void _get_absolute_name_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - char * name ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + static void _get_containing_repository_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - void name ( - const char * name, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + static void describe_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - char * version ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + static void move_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - void version ( - const char * version, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + static void _get_type_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - IR::Container_ptr defined_in ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + static void _get_def_kind_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - char * absolute_name ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + static void destroy_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + }; - IR::Repository_ptr containing_repository ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); +/////////////////////////////////////////////////////////////////////// +// Strategized Proxy Broker Declaration +// - IR::Contained::Description * describe ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); +class _TAO_NativeDef_Strategized_Proxy_Broker : public virtual _TAO_NativeDef_Proxy_Broker +{ +public: + _TAO_NativeDef_Strategized_Proxy_Broker (void); - void move ( - IR::Container_ptr new_container, - const char * new_name, - const char * new_version, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + virtual ~_TAO_NativeDef_Strategized_Proxy_Broker (void); - CORBA::TypeCode_ptr type ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + virtual _TAO_NativeDef_Proxy_Impl &select_proxy ( + IR_NativeDef *object, + CORBA_Environment &ACE_TRY_ENV = TAO_default_environment () + ); - IR::DefinitionKind def_kind ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); +private: - void destroy ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); +// Helper methods that takes care to create the proxy +// as soon as their use is necessary. + void create_proxy ( + TAO_ORB_Core::TAO_Collocation_Strategies strategy, + CORBA::Environment &ACE_TRY_ENV + ); private: - T *ptr_; - PortableServer::POA_var poa_; - CORBA::Boolean rel_; - - // copy and assignment are not allowed - EnumDef_tie (const EnumDef_tie &); - void operator= (const EnumDef_tie &); + + // Caches the proxy implementations. The proxy implementation + // are totally stateless, and those can be shared by all the + // instances of a given IDL interface type. + _TAO_NativeDef_Proxy_Impl + *proxy_cache_[TAO_ORB_Core::COLLOCATION_STRATEGIES_NUM]; + + TAO_SYNCH_MUTEX mutex_; +// This funxtion is used to get an handle to the unique instance +// of the Strategized Proxy Broker that is available for a given +// interface. + +public: + static _TAO_NativeDef_Strategized_Proxy_Broker *the_TAO_NativeDef_Strategized_Proxy_Broker (void); }; -#endif /* ACE_HAS_USING_KEYWORD */ +// +// End Strategized Proxy Broker Declaration +/////////////////////////////////////////////////////////////////////// -class AliasDef; -typedef AliasDef *AliasDef_ptr; -// Forward Classes Declaration -class _TAO_AliasDef_ThruPOA_Proxy_Impl; -class _TAO_AliasDef_Strategized_Proxy_Broker; -class AliasDef : public virtual TypedefDef -{ -protected: - AliasDef (void); +/////////////////////////////////////////////////////////////////////// +// ThruPOA Impl. Declaration +// +class _TAO_NativeDef_ThruPOA_Proxy_Impl : + public virtual _TAO_NativeDef_Proxy_Impl, + public virtual TAO_ThruPOA_Object_Proxy_Impl, + public virtual ::POA_IR::_TAO_TypedefDef_ThruPOA_Proxy_Impl + +{ public: - AliasDef (const AliasDef& rhs); - virtual ~AliasDef (void); + _TAO_NativeDef_ThruPOA_Proxy_Impl (void); + + virtual ~_TAO_NativeDef_ThruPOA_Proxy_Impl (void); + +}; - virtual CORBA::Boolean _is_a ( - const char* logical_type_id, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); +// +// ThruPOA Proxy Impl. Declaration +/////////////////////////////////////////////////////////////////////// - virtual void* _downcast ( - const char* logical_type_id - ); +#if defined (ACE_HAS_USING_KEYWORD) + // TIE class: Refer to CORBA v2.2, Section 20.34.4 + template + class NativeDef_tie : public NativeDef + { + public: + NativeDef_tie (T &t); + // the T& ctor + NativeDef_tie (T &t, PortableServer::POA_ptr poa); + // ctor taking a POA + NativeDef_tie (T *tp, CORBA::Boolean release=1); + // ctor taking pointer and an ownership flag + NativeDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1); + // ctor with T*, ownership flag and a POA + ~NativeDef_tie (void); + // dtor + + // TIE specific functions + T *_tied_object (void); + // return the underlying object + void _tied_object (T &obj); + // set the underlying object + void _tied_object (T *obj, CORBA::Boolean release=1); + // set the underlying object and the ownership flag + CORBA::Boolean _is_owner (void); + // do we own it + void _is_owner (CORBA::Boolean b); + // set the ownership + + // overridden ServantBase operations + PortableServer::POA_ptr _default_POA ( + CORBA::Environment &env = + TAO_default_environment () + ); + char * id ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _is_a_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + void id ( + const char * id, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _non_existent_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + char * name ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual void _dispatch ( - TAO_ServerRequest &_tao_req, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + void name ( + const char * name, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - ::IR::AliasDef *_this ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + char * version ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual const char* _interface_repository_id (void) const; + void version ( + const char * version, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual IR::IDLType_ptr original_type_def ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + IR_Container_ptr defined_in ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _get_original_type_def_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + char * absolute_name ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual void original_type_def ( - IR::IDLType_ptr original_type_def, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + IR_Repository_ptr containing_repository ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _set_original_type_def_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_Contained::Description * describe ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _get_id_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + void move ( + IR_Container_ptr new_container, + const char * new_name, + const char * new_version, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _set_id_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + CORBA::TypeCode_ptr type ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _get_name_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_DefinitionKind def_kind ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _set_name_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + void destroy ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _get_version_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); +private: + T *ptr_; + PortableServer::POA_var poa_; + CORBA::Boolean rel_; - static void _set_version_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + // copy and assignment are not allowed + NativeDef_tie (const NativeDef_tie &); + void operator= (const NativeDef_tie &); + }; - static void _get_defined_in_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); +#endif /* ACE_HAS_USING_KEYWORD */ - static void _get_absolute_name_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + class PrimitiveDef; + typedef PrimitiveDef *PrimitiveDef_ptr; + // Forward Classes Declaration + class _TAO_PrimitiveDef_ThruPOA_Proxy_Impl; + class _TAO_PrimitiveDef_Strategized_Proxy_Broker; - static void _get_containing_repository_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + class PrimitiveDef : public virtual IDLType + { + protected: + PrimitiveDef (void); - static void describe_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + public: + PrimitiveDef (const PrimitiveDef& rhs); + virtual ~PrimitiveDef (void); - static void move_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - static void _get_type_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual CORBA::Boolean _is_a ( + const char* logical_type_id, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void _get_def_kind_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual void* _downcast ( + const char* logical_type_id + ); - static void destroy_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _is_a_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - -#if (TAO_HAS_INTERCEPTORS == 1) - // Generation of interceptors related RequestInfo classes per operation. - // This needed to be able to store the arguments, exceptions, contexts - // and build the lists dynamically on demand so that unnecessary time overhead - // of building these lists when they arent used is avoided. - class TAO_ServerRequestInfo_IR_AliasDef_original_type_def_get : public TAO_ServerRequestInfo - { - public: - friend class POA_IR::AliasDef; - TAO_ServerRequestInfo_IR_AliasDef_original_type_def_get ( - TAO_ServerRequest &_tao_server_request, - POA_IR::AliasDef *tao_impl - , - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _non_existent_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - virtual Dynamic::ParameterList * arguments ( + virtual void _dispatch ( + TAO_ServerRequest &_tao_req, + void *_tao_context, CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( + ); + + IR_PrimitiveDef *_this ( CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( + ); + + virtual const char* _interface_repository_id (void) const; + + virtual IR_PrimitiveKind kind ( CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - - private: - TAO_ServerRequestInfo_IR_AliasDef_original_type_def_get (const TAO_ServerRequestInfo_IR_AliasDef_original_type_def_get &); - void operator= (const TAO_ServerRequestInfo_IR_AliasDef_original_type_def_get &); - - private: - POA_IR::AliasDef *_tao_impl; - void result (IR::IDLType_ptr result); - // update the result -IR::IDLType_ptr _result; -}; + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; -class TAO_ServerRequestInfo_IR_AliasDef_original_type_def_set : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::AliasDef; - TAO_ServerRequestInfo_IR_AliasDef_original_type_def_set ( - TAO_ServerRequest &_tao_server_request, - POA_IR::AliasDef *tao_impl - , - IR::IDLType_ptr original_type_def, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _get_kind_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_AliasDef_original_type_def_set (const TAO_ServerRequestInfo_IR_AliasDef_original_type_def_set &); - void operator= (const TAO_ServerRequestInfo_IR_AliasDef_original_type_def_set &); - -private: - POA_IR::AliasDef *_tao_impl; - IR::IDLType_ptr original_type_def_; -}; - -#endif /* TAO_HAS_INTERCEPTORS */ + static void _get_type_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); -}; + static void _get_def_kind_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + static void destroy_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + }; /////////////////////////////////////////////////////////////////////// // Strategized Proxy Broker Declaration // -class _TAO_AliasDef_Strategized_Proxy_Broker : public virtual ::IR::_TAO_AliasDef_Proxy_Broker +class _TAO_PrimitiveDef_Strategized_Proxy_Broker : public virtual _TAO_PrimitiveDef_Proxy_Broker { public: - _TAO_AliasDef_Strategized_Proxy_Broker (void); - - virtual ~_TAO_AliasDef_Strategized_Proxy_Broker (void); - - virtual ::IR::_TAO_AliasDef_Proxy_Impl &select_proxy ( - ::IR::AliasDef *object, + _TAO_PrimitiveDef_Strategized_Proxy_Broker (void); + + virtual ~_TAO_PrimitiveDef_Strategized_Proxy_Broker (void); + + virtual _TAO_PrimitiveDef_Proxy_Impl &select_proxy ( + IR_PrimitiveDef *object, CORBA_Environment &ACE_TRY_ENV = TAO_default_environment () ); @@ -10616,7 +8195,7 @@ // Caches the proxy implementations. The proxy implementation // are totally stateless, and those can be shared by all the // instances of a given IDL interface type. - ::IR::_TAO_AliasDef_Proxy_Impl + _TAO_PrimitiveDef_Proxy_Impl *proxy_cache_[TAO_ORB_Core::COLLOCATION_STRATEGIES_NUM]; TAO_SYNCH_MUTEX mutex_; @@ -10625,10 +8204,9 @@ // interface. public: - static _TAO_AliasDef_Strategized_Proxy_Broker *the_TAO_AliasDef_Strategized_Proxy_Broker (void); + static _TAO_PrimitiveDef_Strategized_Proxy_Broker *the_TAO_PrimitiveDef_Strategized_Proxy_Broker (void); }; - // // End Strategized Proxy Broker Declaration /////////////////////////////////////////////////////////////////////// @@ -10638,29 +8216,20 @@ // ThruPOA Impl. Declaration // -class _TAO_AliasDef_ThruPOA_Proxy_Impl : - public virtual ::IR::_TAO_AliasDef_Proxy_Impl, +class _TAO_PrimitiveDef_ThruPOA_Proxy_Impl : + public virtual _TAO_PrimitiveDef_Proxy_Impl, public virtual TAO_ThruPOA_Object_Proxy_Impl, - public virtual ::POA_IR::_TAO_TypedefDef_ThruPOA_Proxy_Impl + public virtual ::POA_IR::_TAO_IDLType_ThruPOA_Proxy_Impl { public: - _TAO_AliasDef_ThruPOA_Proxy_Impl (void); + _TAO_PrimitiveDef_ThruPOA_Proxy_Impl (void); - virtual ~_TAO_AliasDef_ThruPOA_Proxy_Impl (void) { } + virtual ~_TAO_PrimitiveDef_ThruPOA_Proxy_Impl (void); - virtual IR::IDLType_ptr original_type_def ( - CORBA_Object *_collocated_tao_target_, - CORBA::Environment &ACE_TRY_ENV - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - virtual void original_type_def ( + virtual IR_PrimitiveKind kind ( CORBA_Object *_collocated_tao_target_, - IR::IDLType_ptr original_type_def, - CORBA::Environment &ACE_TRY_ENV + CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException @@ -10673,380 +8242,211 @@ // ThruPOA Proxy Impl. Declaration /////////////////////////////////////////////////////////////////////// - #if defined (ACE_HAS_USING_KEYWORD) -// TIE class: Refer to CORBA v2.2, Section 20.34.4 -template -class AliasDef_tie : public AliasDef -{ -public: - AliasDef_tie (T &t); - // the T& ctor - AliasDef_tie (T &t, PortableServer::POA_ptr poa); - // ctor taking a POA - AliasDef_tie (T *tp, CORBA::Boolean release=1); - // ctor taking pointer and an ownership flag - AliasDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1); - // ctor with T*, ownership flag and a POA - ~AliasDef_tie (void); - // dtor - - // TIE specific functions - T *_tied_object (void); - // return the underlying object - void _tied_object (T &obj); - // set the underlying object - void _tied_object (T *obj, CORBA::Boolean release=1); - // set the underlying object and the ownership flag - CORBA::Boolean _is_owner (void); - // do we own it - void _is_owner (CORBA::Boolean b); - // set the ownership - - // overridden ServantBase operations - PortableServer::POA_ptr _default_POA ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - IR::IDLType_ptr original_type_def ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - void original_type_def ( - IR::IDLType_ptr original_type_def, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + // TIE class: Refer to CORBA v2.2, Section 20.34.4 + template + class PrimitiveDef_tie : public PrimitiveDef + { + public: + PrimitiveDef_tie (T &t); + // the T& ctor + PrimitiveDef_tie (T &t, PortableServer::POA_ptr poa); + // ctor taking a POA + PrimitiveDef_tie (T *tp, CORBA::Boolean release=1); + // ctor taking pointer and an ownership flag + PrimitiveDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1); + // ctor with T*, ownership flag and a POA + ~PrimitiveDef_tie (void); + // dtor + + // TIE specific functions + T *_tied_object (void); + // return the underlying object + void _tied_object (T &obj); + // set the underlying object + void _tied_object (T *obj, CORBA::Boolean release=1); + // set the underlying object and the ownership flag + CORBA::Boolean _is_owner (void); + // do we own it + void _is_owner (CORBA::Boolean b); + // set the ownership + + // overridden ServantBase operations + PortableServer::POA_ptr _default_POA ( + CORBA::Environment &env = + TAO_default_environment () + ); + IR_PrimitiveKind kind ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - char * id ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + CORBA::TypeCode_ptr type ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - void id ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_DefinitionKind def_kind ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - char * name ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + void destroy ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - void name ( - const char * name, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); +private: + T *ptr_; + PortableServer::POA_var poa_; + CORBA::Boolean rel_; - char * version ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + // copy and assignment are not allowed + PrimitiveDef_tie (const PrimitiveDef_tie &); + void operator= (const PrimitiveDef_tie &); + }; - void version ( - const char * version, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); +#endif /* ACE_HAS_USING_KEYWORD */ - IR::Container_ptr defined_in ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + class StringDef; + typedef StringDef *StringDef_ptr; + // Forward Classes Declaration + class _TAO_StringDef_ThruPOA_Proxy_Impl; + class _TAO_StringDef_Strategized_Proxy_Broker; - char * absolute_name ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + class StringDef : public virtual IDLType + { + protected: + StringDef (void); - IR::Repository_ptr containing_repository ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + public: + StringDef (const StringDef& rhs); + virtual ~StringDef (void); - IR::Contained::Description * describe ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - void move ( - IR::Container_ptr new_container, - const char * new_name, - const char * new_version, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + virtual CORBA::Boolean _is_a ( + const char* logical_type_id, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - CORBA::TypeCode_ptr type ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + virtual void* _downcast ( + const char* logical_type_id + ); - IR::DefinitionKind def_kind ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + static void _is_a_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - void destroy ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + static void _non_existent_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); -private: - T *ptr_; - PortableServer::POA_var poa_; - CORBA::Boolean rel_; - - // copy and assignment are not allowed - AliasDef_tie (const AliasDef_tie &); - void operator= (const AliasDef_tie &); -}; + virtual void _dispatch ( + TAO_ServerRequest &_tao_req, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); -#endif /* ACE_HAS_USING_KEYWORD */ + IR_StringDef *_this ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); -class NativeDef; -typedef NativeDef *NativeDef_ptr; -// Forward Classes Declaration -class _TAO_NativeDef_ThruPOA_Proxy_Impl; -class _TAO_NativeDef_Strategized_Proxy_Broker; + virtual const char* _interface_repository_id (void) const; -class NativeDef : public virtual TypedefDef -{ -protected: - NativeDef (void); + virtual CORBA::ULong bound ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; -public: - NativeDef (const NativeDef& rhs); - virtual ~NativeDef (void); + static void _get_bound_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); + virtual void bound ( + CORBA::ULong bound, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; - virtual CORBA::Boolean _is_a ( - const char* logical_type_id, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _set_bound_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - virtual void* _downcast ( - const char* logical_type_id - ); + static void _get_type_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void _is_a_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _non_existent_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - virtual void _dispatch ( - TAO_ServerRequest &_tao_req, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - ::IR::NativeDef *_this ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - virtual const char* _interface_repository_id (void) const; - - static void _get_id_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _set_id_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _get_name_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _set_name_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _get_version_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _set_version_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _get_defined_in_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _get_absolute_name_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _get_containing_repository_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void describe_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void move_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _get_type_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _get_def_kind_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void destroy_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - -#if (TAO_HAS_INTERCEPTORS == 1) - // Generation of interceptors related RequestInfo classes per operation. - // This needed to be able to store the arguments, exceptions, contexts - // and build the lists dynamically on demand so that unnecessary time overhead - // of building these lists when they arent used is avoided. - #endif /* TAO_HAS_INTERCEPTORS */ - -}; + static void _get_def_kind_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + static void destroy_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + }; /////////////////////////////////////////////////////////////////////// // Strategized Proxy Broker Declaration // -class _TAO_NativeDef_Strategized_Proxy_Broker : public virtual ::IR::_TAO_NativeDef_Proxy_Broker +class _TAO_StringDef_Strategized_Proxy_Broker : public virtual _TAO_StringDef_Proxy_Broker { public: - _TAO_NativeDef_Strategized_Proxy_Broker (void); - - virtual ~_TAO_NativeDef_Strategized_Proxy_Broker (void); - - virtual ::IR::_TAO_NativeDef_Proxy_Impl &select_proxy ( - ::IR::NativeDef *object, + _TAO_StringDef_Strategized_Proxy_Broker (void); + + virtual ~_TAO_StringDef_Strategized_Proxy_Broker (void); + + virtual _TAO_StringDef_Proxy_Impl &select_proxy ( + IR_StringDef *object, CORBA_Environment &ACE_TRY_ENV = TAO_default_environment () ); @@ -11064,7 +8464,7 @@ // Caches the proxy implementations. The proxy implementation // are totally stateless, and those can be shared by all the // instances of a given IDL interface type. - ::IR::_TAO_NativeDef_Proxy_Impl + _TAO_StringDef_Proxy_Impl *proxy_cache_[TAO_ORB_Core::COLLOCATION_STRATEGIES_NUM]; TAO_SYNCH_MUTEX mutex_; @@ -11073,10 +8473,9 @@ // interface. public: - static _TAO_NativeDef_Strategized_Proxy_Broker *the_TAO_NativeDef_Strategized_Proxy_Broker (void); + static _TAO_StringDef_Strategized_Proxy_Broker *the_TAO_StringDef_Strategized_Proxy_Broker (void); }; - // // End Strategized Proxy Broker Declaration /////////////////////////////////////////////////////////////////////// @@ -11086,360 +8485,255 @@ // ThruPOA Impl. Declaration // -class _TAO_NativeDef_ThruPOA_Proxy_Impl : - public virtual ::IR::_TAO_NativeDef_Proxy_Impl, +class _TAO_StringDef_ThruPOA_Proxy_Impl : + public virtual _TAO_StringDef_Proxy_Impl, public virtual TAO_ThruPOA_Object_Proxy_Impl, - public virtual ::POA_IR::_TAO_TypedefDef_ThruPOA_Proxy_Impl + public virtual ::POA_IR::_TAO_IDLType_ThruPOA_Proxy_Impl { public: - _TAO_NativeDef_ThruPOA_Proxy_Impl (void); + _TAO_StringDef_ThruPOA_Proxy_Impl (void); - virtual ~_TAO_NativeDef_ThruPOA_Proxy_Impl (void) { } + virtual ~_TAO_StringDef_ThruPOA_Proxy_Impl (void); - }; - - -// -// ThruPOA Proxy Impl. Declaration -/////////////////////////////////////////////////////////////////////// - - -#if defined (ACE_HAS_USING_KEYWORD) -// TIE class: Refer to CORBA v2.2, Section 20.34.4 -template -class NativeDef_tie : public NativeDef -{ -public: - NativeDef_tie (T &t); - // the T& ctor - NativeDef_tie (T &t, PortableServer::POA_ptr poa); - // ctor taking a POA - NativeDef_tie (T *tp, CORBA::Boolean release=1); - // ctor taking pointer and an ownership flag - NativeDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1); - // ctor with T*, ownership flag and a POA - ~NativeDef_tie (void); - // dtor - - // TIE specific functions - T *_tied_object (void); - // return the underlying object - void _tied_object (T &obj); - // set the underlying object - void _tied_object (T *obj, CORBA::Boolean release=1); - // set the underlying object and the ownership flag - CORBA::Boolean _is_owner (void); - // do we own it - void _is_owner (CORBA::Boolean b); - // set the ownership - - // overridden ServantBase operations - PortableServer::POA_ptr _default_POA ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - char * id ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () + virtual CORBA::ULong bound ( + CORBA_Object *_collocated_tao_target_, + CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException )); - void id ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () + virtual void bound ( + CORBA_Object *_collocated_tao_target_, + CORBA::ULong bound, + CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException )); - char * name ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); +}; - void name ( - const char * name, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - char * version ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); +// +// ThruPOA Proxy Impl. Declaration +/////////////////////////////////////////////////////////////////////// - void version ( - const char * version, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); +#if defined (ACE_HAS_USING_KEYWORD) + // TIE class: Refer to CORBA v2.2, Section 20.34.4 + template + class StringDef_tie : public StringDef + { + public: + StringDef_tie (T &t); + // the T& ctor + StringDef_tie (T &t, PortableServer::POA_ptr poa); + // ctor taking a POA + StringDef_tie (T *tp, CORBA::Boolean release=1); + // ctor taking pointer and an ownership flag + StringDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1); + // ctor with T*, ownership flag and a POA + ~StringDef_tie (void); + // dtor + + // TIE specific functions + T *_tied_object (void); + // return the underlying object + void _tied_object (T &obj); + // set the underlying object + void _tied_object (T *obj, CORBA::Boolean release=1); + // set the underlying object and the ownership flag + CORBA::Boolean _is_owner (void); + // do we own it + void _is_owner (CORBA::Boolean b); + // set the ownership + + // overridden ServantBase operations + PortableServer::POA_ptr _default_POA ( + CORBA::Environment &env = + TAO_default_environment () + ); + CORBA::ULong bound ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::Container_ptr defined_in ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + void bound ( + CORBA::ULong bound, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - char * absolute_name ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + CORBA::TypeCode_ptr type ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::Repository_ptr containing_repository ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_DefinitionKind def_kind ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::Contained::Description * describe ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + void destroy ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - void move ( - IR::Container_ptr new_container, - const char * new_name, - const char * new_version, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); +private: + T *ptr_; + PortableServer::POA_var poa_; + CORBA::Boolean rel_; - CORBA::TypeCode_ptr type ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - IR::DefinitionKind def_kind ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - void destroy ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - -private: - T *ptr_; - PortableServer::POA_var poa_; - CORBA::Boolean rel_; - - // copy and assignment are not allowed - NativeDef_tie (const NativeDef_tie &); - void operator= (const NativeDef_tie &); -}; + // copy and assignment are not allowed + StringDef_tie (const StringDef_tie &); + void operator= (const StringDef_tie &); + }; #endif /* ACE_HAS_USING_KEYWORD */ -class PrimitiveDef; -typedef PrimitiveDef *PrimitiveDef_ptr; -// Forward Classes Declaration -class _TAO_PrimitiveDef_ThruPOA_Proxy_Impl; -class _TAO_PrimitiveDef_Strategized_Proxy_Broker; - -class PrimitiveDef : public virtual IDLType -{ -protected: - PrimitiveDef (void); - -public: - PrimitiveDef (const PrimitiveDef& rhs); - virtual ~PrimitiveDef (void); - - - virtual CORBA::Boolean _is_a ( - const char* logical_type_id, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - virtual void* _downcast ( - const char* logical_type_id - ); - - static void _is_a_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + class WstringDef; + typedef WstringDef *WstringDef_ptr; + // Forward Classes Declaration + class _TAO_WstringDef_ThruPOA_Proxy_Impl; + class _TAO_WstringDef_Strategized_Proxy_Broker; - static void _non_existent_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + class WstringDef : public virtual IDLType + { + protected: + WstringDef (void); - virtual void _dispatch ( - TAO_ServerRequest &_tao_req, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + public: + WstringDef (const WstringDef& rhs); + virtual ~WstringDef (void); - ::IR::PrimitiveDef *_this ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - virtual const char* _interface_repository_id (void) const; + virtual CORBA::Boolean _is_a ( + const char* logical_type_id, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - virtual IR::PrimitiveKind kind ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + virtual void* _downcast ( + const char* logical_type_id + ); - static void _get_kind_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _is_a_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void _get_type_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _non_existent_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void _get_def_kind_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual void _dispatch ( + TAO_ServerRequest &_tao_req, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void destroy_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_WstringDef *_this ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - -#if (TAO_HAS_INTERCEPTORS == 1) - // Generation of interceptors related RequestInfo classes per operation. - // This needed to be able to store the arguments, exceptions, contexts - // and build the lists dynamically on demand so that unnecessary time overhead - // of building these lists when they arent used is avoided. - class TAO_ServerRequestInfo_IR_PrimitiveDef_kind_get : public TAO_ServerRequestInfo - { - public: - friend class POA_IR::PrimitiveDef; - TAO_ServerRequestInfo_IR_PrimitiveDef_kind_get ( - TAO_ServerRequest &_tao_server_request, - POA_IR::PrimitiveDef *tao_impl - , - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual const char* _interface_repository_id (void) const; - virtual Dynamic::ParameterList * arguments ( + virtual CORBA::ULong bound ( CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; + + static void _get_bound_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( + ); + + virtual void bound ( + CORBA::ULong bound, CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - - private: - TAO_ServerRequestInfo_IR_PrimitiveDef_kind_get (const TAO_ServerRequestInfo_IR_PrimitiveDef_kind_get &); - void operator= (const TAO_ServerRequestInfo_IR_PrimitiveDef_kind_get &); - - private: - POA_IR::PrimitiveDef *_tao_impl; - void result (IR::PrimitiveKind result); - // update the result -IR::PrimitiveKind _result; -}; + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; -#endif /* TAO_HAS_INTERCEPTORS */ + static void _set_bound_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); -}; + static void _get_type_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void _get_def_kind_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + static void destroy_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + }; /////////////////////////////////////////////////////////////////////// // Strategized Proxy Broker Declaration // -class _TAO_PrimitiveDef_Strategized_Proxy_Broker : public virtual ::IR::_TAO_PrimitiveDef_Proxy_Broker +class _TAO_WstringDef_Strategized_Proxy_Broker : public virtual _TAO_WstringDef_Proxy_Broker { public: - _TAO_PrimitiveDef_Strategized_Proxy_Broker (void); - - virtual ~_TAO_PrimitiveDef_Strategized_Proxy_Broker (void); - - virtual ::IR::_TAO_PrimitiveDef_Proxy_Impl &select_proxy ( - ::IR::PrimitiveDef *object, + _TAO_WstringDef_Strategized_Proxy_Broker (void); + + virtual ~_TAO_WstringDef_Strategized_Proxy_Broker (void); + + virtual _TAO_WstringDef_Proxy_Impl &select_proxy ( + IR_WstringDef *object, CORBA_Environment &ACE_TRY_ENV = TAO_default_environment () ); @@ -11457,7 +8751,7 @@ // Caches the proxy implementations. The proxy implementation // are totally stateless, and those can be shared by all the // instances of a given IDL interface type. - ::IR::_TAO_PrimitiveDef_Proxy_Impl + _TAO_WstringDef_Proxy_Impl *proxy_cache_[TAO_ORB_Core::COLLOCATION_STRATEGIES_NUM]; TAO_SYNCH_MUTEX mutex_; @@ -11466,10 +8760,9 @@ // interface. public: - static _TAO_PrimitiveDef_Strategized_Proxy_Broker *the_TAO_PrimitiveDef_Strategized_Proxy_Broker (void); + static _TAO_WstringDef_Strategized_Proxy_Broker *the_TAO_WstringDef_Strategized_Proxy_Broker (void); }; - // // End Strategized Proxy Broker Declaration /////////////////////////////////////////////////////////////////////// @@ -11479,19 +8772,28 @@ // ThruPOA Impl. Declaration // -class _TAO_PrimitiveDef_ThruPOA_Proxy_Impl : - public virtual ::IR::_TAO_PrimitiveDef_Proxy_Impl, +class _TAO_WstringDef_ThruPOA_Proxy_Impl : + public virtual _TAO_WstringDef_Proxy_Impl, public virtual TAO_ThruPOA_Object_Proxy_Impl, public virtual ::POA_IR::_TAO_IDLType_ThruPOA_Proxy_Impl { public: - _TAO_PrimitiveDef_ThruPOA_Proxy_Impl (void); + _TAO_WstringDef_ThruPOA_Proxy_Impl (void); - virtual ~_TAO_PrimitiveDef_ThruPOA_Proxy_Impl (void) { } + virtual ~_TAO_WstringDef_ThruPOA_Proxy_Impl (void); - virtual IR::PrimitiveKind kind ( + virtual CORBA::ULong bound ( CORBA_Object *_collocated_tao_target_, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); + + virtual void bound ( + CORBA_Object *_collocated_tao_target_, + CORBA::ULong bound, CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( @@ -11505,323 +8807,253 @@ // ThruPOA Proxy Impl. Declaration /////////////////////////////////////////////////////////////////////// - #if defined (ACE_HAS_USING_KEYWORD) -// TIE class: Refer to CORBA v2.2, Section 20.34.4 -template -class PrimitiveDef_tie : public PrimitiveDef -{ -public: - PrimitiveDef_tie (T &t); - // the T& ctor - PrimitiveDef_tie (T &t, PortableServer::POA_ptr poa); - // ctor taking a POA - PrimitiveDef_tie (T *tp, CORBA::Boolean release=1); - // ctor taking pointer and an ownership flag - PrimitiveDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1); - // ctor with T*, ownership flag and a POA - ~PrimitiveDef_tie (void); - // dtor - - // TIE specific functions - T *_tied_object (void); - // return the underlying object - void _tied_object (T &obj); - // set the underlying object - void _tied_object (T *obj, CORBA::Boolean release=1); - // set the underlying object and the ownership flag - CORBA::Boolean _is_owner (void); - // do we own it - void _is_owner (CORBA::Boolean b); - // set the ownership - - // overridden ServantBase operations - PortableServer::POA_ptr _default_POA ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - IR::PrimitiveKind kind ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + // TIE class: Refer to CORBA v2.2, Section 20.34.4 + template + class WstringDef_tie : public WstringDef + { + public: + WstringDef_tie (T &t); + // the T& ctor + WstringDef_tie (T &t, PortableServer::POA_ptr poa); + // ctor taking a POA + WstringDef_tie (T *tp, CORBA::Boolean release=1); + // ctor taking pointer and an ownership flag + WstringDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1); + // ctor with T*, ownership flag and a POA + ~WstringDef_tie (void); + // dtor + + // TIE specific functions + T *_tied_object (void); + // return the underlying object + void _tied_object (T &obj); + // set the underlying object + void _tied_object (T *obj, CORBA::Boolean release=1); + // set the underlying object and the ownership flag + CORBA::Boolean _is_owner (void); + // do we own it + void _is_owner (CORBA::Boolean b); + // set the ownership + + // overridden ServantBase operations + PortableServer::POA_ptr _default_POA ( + CORBA::Environment &env = + TAO_default_environment () + ); + CORBA::ULong bound ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - CORBA::TypeCode_ptr type ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + void bound ( + CORBA::ULong bound, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::DefinitionKind def_kind ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + CORBA::TypeCode_ptr type ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - void destroy ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_DefinitionKind def_kind ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); + + void destroy ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); private: - T *ptr_; - PortableServer::POA_var poa_; - CORBA::Boolean rel_; - - // copy and assignment are not allowed - PrimitiveDef_tie (const PrimitiveDef_tie &); - void operator= (const PrimitiveDef_tie &); -}; + T *ptr_; + PortableServer::POA_var poa_; + CORBA::Boolean rel_; -#endif /* ACE_HAS_USING_KEYWORD */ + // copy and assignment are not allowed + WstringDef_tie (const WstringDef_tie &); + void operator= (const WstringDef_tie &); + }; -class StringDef; -typedef StringDef *StringDef_ptr; -// Forward Classes Declaration -class _TAO_StringDef_ThruPOA_Proxy_Impl; -class _TAO_StringDef_Strategized_Proxy_Broker; +#endif /* ACE_HAS_USING_KEYWORD */ -class StringDef : public virtual IDLType -{ -protected: - StringDef (void); + class FixedDef; + typedef FixedDef *FixedDef_ptr; + // Forward Classes Declaration + class _TAO_FixedDef_ThruPOA_Proxy_Impl; + class _TAO_FixedDef_Strategized_Proxy_Broker; -public: - StringDef (const StringDef& rhs); - virtual ~StringDef (void); + class FixedDef : public virtual IDLType + { + protected: + FixedDef (void); + public: + FixedDef (const FixedDef& rhs); + virtual ~FixedDef (void); - virtual CORBA::Boolean _is_a ( - const char* logical_type_id, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - virtual void* _downcast ( - const char* logical_type_id - ); - - static void _is_a_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _non_existent_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - virtual void _dispatch ( - TAO_ServerRequest &_tao_req, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual CORBA::Boolean _is_a ( + const char* logical_type_id, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - ::IR::StringDef *_this ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual void* _downcast ( + const char* logical_type_id + ); - virtual const char* _interface_repository_id (void) const; + static void _is_a_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - virtual CORBA::ULong bound ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + static void _non_existent_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void _get_bound_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual void _dispatch ( + TAO_ServerRequest &_tao_req, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - virtual void bound ( - CORBA::ULong bound, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + IR_FixedDef *_this ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void _set_bound_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual const char* _interface_repository_id (void) const; - static void _get_type_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual CORBA::UShort digits ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; - static void _get_def_kind_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _get_digits_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void destroy_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual void digits ( + CORBA::UShort digits, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; - -#if (TAO_HAS_INTERCEPTORS == 1) - // Generation of interceptors related RequestInfo classes per operation. - // This needed to be able to store the arguments, exceptions, contexts - // and build the lists dynamically on demand so that unnecessary time overhead - // of building these lists when they arent used is avoided. - class TAO_ServerRequestInfo_IR_StringDef_bound_get : public TAO_ServerRequestInfo - { - public: - friend class POA_IR::StringDef; - TAO_ServerRequestInfo_IR_StringDef_bound_get ( - TAO_ServerRequest &_tao_server_request, - POA_IR::StringDef *tao_impl - , - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _set_digits_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - virtual Dynamic::ParameterList * arguments ( + virtual CORBA::Short scale ( CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; + + static void _get_scale_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( + ); + + virtual void scale ( + CORBA::Short scale, CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - - private: - TAO_ServerRequestInfo_IR_StringDef_bound_get (const TAO_ServerRequestInfo_IR_StringDef_bound_get &); - void operator= (const TAO_ServerRequestInfo_IR_StringDef_bound_get &); - - private: - POA_IR::StringDef *_tao_impl; - void result (CORBA::ULong result); - // update the result -CORBA::ULong _result; -}; - -class TAO_ServerRequestInfo_IR_StringDef_bound_set : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::StringDef; - TAO_ServerRequestInfo_IR_StringDef_bound_set ( - TAO_ServerRequest &_tao_server_request, - POA_IR::StringDef *tao_impl - , - const CORBA::ULong & bound, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_StringDef_bound_set (const TAO_ServerRequestInfo_IR_StringDef_bound_set &); - void operator= (const TAO_ServerRequestInfo_IR_StringDef_bound_set &); - -private: - POA_IR::StringDef *_tao_impl; - const CORBA::ULong & bound_; -}; + static void _set_scale_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); -#endif /* TAO_HAS_INTERCEPTORS */ + static void _get_type_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); -}; + static void _get_def_kind_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + static void destroy_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + }; /////////////////////////////////////////////////////////////////////// // Strategized Proxy Broker Declaration // -class _TAO_StringDef_Strategized_Proxy_Broker : public virtual ::IR::_TAO_StringDef_Proxy_Broker +class _TAO_FixedDef_Strategized_Proxy_Broker : public virtual _TAO_FixedDef_Proxy_Broker { public: - _TAO_StringDef_Strategized_Proxy_Broker (void); - - virtual ~_TAO_StringDef_Strategized_Proxy_Broker (void); - - virtual ::IR::_TAO_StringDef_Proxy_Impl &select_proxy ( - ::IR::StringDef *object, + _TAO_FixedDef_Strategized_Proxy_Broker (void); + + virtual ~_TAO_FixedDef_Strategized_Proxy_Broker (void); + + virtual _TAO_FixedDef_Proxy_Impl &select_proxy ( + IR_FixedDef *object, CORBA_Environment &ACE_TRY_ENV = TAO_default_environment () ); @@ -11839,7 +9071,7 @@ // Caches the proxy implementations. The proxy implementation // are totally stateless, and those can be shared by all the // instances of a given IDL interface type. - ::IR::_TAO_StringDef_Proxy_Impl + _TAO_FixedDef_Proxy_Impl *proxy_cache_[TAO_ORB_Core::COLLOCATION_STRATEGIES_NUM]; TAO_SYNCH_MUTEX mutex_; @@ -11848,10 +9080,9 @@ // interface. public: - static _TAO_StringDef_Strategized_Proxy_Broker *the_TAO_StringDef_Strategized_Proxy_Broker (void); + static _TAO_FixedDef_Strategized_Proxy_Broker *the_TAO_FixedDef_Strategized_Proxy_Broker (void); }; - // // End Strategized Proxy Broker Declaration /////////////////////////////////////////////////////////////////////// @@ -11861,367 +9092,338 @@ // ThruPOA Impl. Declaration // -class _TAO_StringDef_ThruPOA_Proxy_Impl : - public virtual ::IR::_TAO_StringDef_Proxy_Impl, +class _TAO_FixedDef_ThruPOA_Proxy_Impl : + public virtual _TAO_FixedDef_Proxy_Impl, public virtual TAO_ThruPOA_Object_Proxy_Impl, public virtual ::POA_IR::_TAO_IDLType_ThruPOA_Proxy_Impl { public: - _TAO_StringDef_ThruPOA_Proxy_Impl (void); + _TAO_FixedDef_ThruPOA_Proxy_Impl (void); - virtual ~_TAO_StringDef_ThruPOA_Proxy_Impl (void) { } + virtual ~_TAO_FixedDef_ThruPOA_Proxy_Impl (void); - virtual CORBA::ULong bound ( + virtual CORBA::UShort digits ( CORBA_Object *_collocated_tao_target_, - CORBA::Environment &ACE_TRY_ENV + CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException )); - virtual void bound ( + virtual void digits ( CORBA_Object *_collocated_tao_target_, - CORBA::ULong bound, + CORBA::UShort digits, CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException )); -}; - - -// -// ThruPOA Proxy Impl. Declaration -/////////////////////////////////////////////////////////////////////// - - -#if defined (ACE_HAS_USING_KEYWORD) -// TIE class: Refer to CORBA v2.2, Section 20.34.4 -template -class StringDef_tie : public StringDef -{ -public: - StringDef_tie (T &t); - // the T& ctor - StringDef_tie (T &t, PortableServer::POA_ptr poa); - // ctor taking a POA - StringDef_tie (T *tp, CORBA::Boolean release=1); - // ctor taking pointer and an ownership flag - StringDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1); - // ctor with T*, ownership flag and a POA - ~StringDef_tie (void); - // dtor - - // TIE specific functions - T *_tied_object (void); - // return the underlying object - void _tied_object (T &obj); - // set the underlying object - void _tied_object (T *obj, CORBA::Boolean release=1); - // set the underlying object and the ownership flag - CORBA::Boolean _is_owner (void); - // do we own it - void _is_owner (CORBA::Boolean b); - // set the ownership - - // overridden ServantBase operations - PortableServer::POA_ptr _default_POA ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - CORBA::ULong bound ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - void bound ( - CORBA::ULong bound, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - CORBA::TypeCode_ptr type ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - IR::DefinitionKind def_kind ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () + virtual CORBA::Short scale ( + CORBA_Object *_collocated_tao_target_, + CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException )); - void destroy ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () + virtual void scale ( + CORBA_Object *_collocated_tao_target_, + CORBA::Short scale, + CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException )); -private: - T *ptr_; - PortableServer::POA_var poa_; - CORBA::Boolean rel_; - - // copy and assignment are not allowed - StringDef_tie (const StringDef_tie &); - void operator= (const StringDef_tie &); }; -#endif /* ACE_HAS_USING_KEYWORD */ - -class WstringDef; -typedef WstringDef *WstringDef_ptr; -// Forward Classes Declaration -class _TAO_WstringDef_ThruPOA_Proxy_Impl; -class _TAO_WstringDef_Strategized_Proxy_Broker; - -class WstringDef : public virtual IDLType -{ -protected: - WstringDef (void); -public: - WstringDef (const WstringDef& rhs); - virtual ~WstringDef (void); +// +// ThruPOA Proxy Impl. Declaration +/////////////////////////////////////////////////////////////////////// +#if defined (ACE_HAS_USING_KEYWORD) + // TIE class: Refer to CORBA v2.2, Section 20.34.4 + template + class FixedDef_tie : public FixedDef + { + public: + FixedDef_tie (T &t); + // the T& ctor + FixedDef_tie (T &t, PortableServer::POA_ptr poa); + // ctor taking a POA + FixedDef_tie (T *tp, CORBA::Boolean release=1); + // ctor taking pointer and an ownership flag + FixedDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1); + // ctor with T*, ownership flag and a POA + ~FixedDef_tie (void); + // dtor + + // TIE specific functions + T *_tied_object (void); + // return the underlying object + void _tied_object (T &obj); + // set the underlying object + void _tied_object (T *obj, CORBA::Boolean release=1); + // set the underlying object and the ownership flag + CORBA::Boolean _is_owner (void); + // do we own it + void _is_owner (CORBA::Boolean b); + // set the ownership + + // overridden ServantBase operations + PortableServer::POA_ptr _default_POA ( + CORBA::Environment &env = + TAO_default_environment () + ); + CORBA::UShort digits ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual CORBA::Boolean _is_a ( - const char* logical_type_id, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + void digits ( + CORBA::UShort digits, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual void* _downcast ( - const char* logical_type_id - ); + CORBA::Short scale ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _is_a_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + void scale ( + CORBA::Short scale, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _non_existent_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + CORBA::TypeCode_ptr type ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual void _dispatch ( - TAO_ServerRequest &_tao_req, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_DefinitionKind def_kind ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - ::IR::WstringDef *_this ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + void destroy ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual const char* _interface_repository_id (void) const; +private: + T *ptr_; + PortableServer::POA_var poa_; + CORBA::Boolean rel_; - virtual CORBA::ULong bound ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + // copy and assignment are not allowed + FixedDef_tie (const FixedDef_tie &); + void operator= (const FixedDef_tie &); + }; - static void _get_bound_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); +#endif /* ACE_HAS_USING_KEYWORD */ - virtual void bound ( - CORBA::ULong bound, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + class SequenceDef; + typedef SequenceDef *SequenceDef_ptr; + // Forward Classes Declaration + class _TAO_SequenceDef_ThruPOA_Proxy_Impl; + class _TAO_SequenceDef_Strategized_Proxy_Broker; - static void _set_bound_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + class SequenceDef : public virtual IDLType + { + protected: + SequenceDef (void); - static void _get_type_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + public: + SequenceDef (const SequenceDef& rhs); + virtual ~SequenceDef (void); - static void _get_def_kind_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - static void destroy_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual CORBA::Boolean _is_a ( + const char* logical_type_id, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - -#if (TAO_HAS_INTERCEPTORS == 1) - // Generation of interceptors related RequestInfo classes per operation. - // This needed to be able to store the arguments, exceptions, contexts - // and build the lists dynamically on demand so that unnecessary time overhead - // of building these lists when they arent used is avoided. - class TAO_ServerRequestInfo_IR_WstringDef_bound_get : public TAO_ServerRequestInfo - { - public: - friend class POA_IR::WstringDef; - TAO_ServerRequestInfo_IR_WstringDef_bound_get ( - TAO_ServerRequest &_tao_server_request, - POA_IR::WstringDef *tao_impl - , - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual void* _downcast ( + const char* logical_type_id + ); + + static void _is_a_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); + + static void _non_existent_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); + + virtual void _dispatch ( + TAO_ServerRequest &_tao_req, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); + + IR_SequenceDef *_this ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); + + virtual const char* _interface_repository_id (void) const; - virtual Dynamic::ParameterList * arguments ( + virtual CORBA::ULong bound ( CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; + + static void _get_bound_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); + + virtual void bound ( + CORBA::ULong bound, CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; + + static void _set_bound_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); + + virtual CORBA::TypeCode_ptr element_type ( CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - - private: - TAO_ServerRequestInfo_IR_WstringDef_bound_get (const TAO_ServerRequestInfo_IR_WstringDef_bound_get &); - void operator= (const TAO_ServerRequestInfo_IR_WstringDef_bound_get &); - - private: - POA_IR::WstringDef *_tao_impl; - void result (CORBA::ULong result); - // update the result -CORBA::ULong _result; -}; + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; -class TAO_ServerRequestInfo_IR_WstringDef_bound_set : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::WstringDef; - TAO_ServerRequestInfo_IR_WstringDef_bound_set ( - TAO_ServerRequest &_tao_server_request, - POA_IR::WstringDef *tao_impl - , - const CORBA::ULong & bound, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _get_element_type_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_WstringDef_bound_set (const TAO_ServerRequestInfo_IR_WstringDef_bound_set &); - void operator= (const TAO_ServerRequestInfo_IR_WstringDef_bound_set &); - -private: - POA_IR::WstringDef *_tao_impl; - const CORBA::ULong & bound_; -}; + virtual IR_IDLType_ptr element_type_def ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; -#endif /* TAO_HAS_INTERCEPTORS */ + static void _get_element_type_def_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); -}; + virtual void element_type_def ( + IR_IDLType_ptr element_type_def, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; + + static void _set_element_type_def_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); + + static void _get_type_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + static void _get_def_kind_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void destroy_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + }; /////////////////////////////////////////////////////////////////////// // Strategized Proxy Broker Declaration // -class _TAO_WstringDef_Strategized_Proxy_Broker : public virtual ::IR::_TAO_WstringDef_Proxy_Broker +class _TAO_SequenceDef_Strategized_Proxy_Broker : public virtual _TAO_SequenceDef_Proxy_Broker { public: - _TAO_WstringDef_Strategized_Proxy_Broker (void); - - virtual ~_TAO_WstringDef_Strategized_Proxy_Broker (void); - - virtual ::IR::_TAO_WstringDef_Proxy_Impl &select_proxy ( - ::IR::WstringDef *object, + _TAO_SequenceDef_Strategized_Proxy_Broker (void); + + virtual ~_TAO_SequenceDef_Strategized_Proxy_Broker (void); + + virtual _TAO_SequenceDef_Proxy_Impl &select_proxy ( + IR_SequenceDef *object, CORBA_Environment &ACE_TRY_ENV = TAO_default_environment () ); @@ -12239,7 +9441,7 @@ // Caches the proxy implementations. The proxy implementation // are totally stateless, and those can be shared by all the // instances of a given IDL interface type. - ::IR::_TAO_WstringDef_Proxy_Impl + _TAO_SequenceDef_Proxy_Impl *proxy_cache_[TAO_ORB_Core::COLLOCATION_STRATEGIES_NUM]; TAO_SYNCH_MUTEX mutex_; @@ -12248,10 +9450,9 @@ // interface. public: - static _TAO_WstringDef_Strategized_Proxy_Broker *the_TAO_WstringDef_Strategized_Proxy_Broker (void); + static _TAO_SequenceDef_Strategized_Proxy_Broker *the_TAO_SequenceDef_Strategized_Proxy_Broker (void); }; - // // End Strategized Proxy Broker Declaration /////////////////////////////////////////////////////////////////////// @@ -12261,26 +9462,26 @@ // ThruPOA Impl. Declaration // -class _TAO_WstringDef_ThruPOA_Proxy_Impl : - public virtual ::IR::_TAO_WstringDef_Proxy_Impl, +class _TAO_SequenceDef_ThruPOA_Proxy_Impl : + public virtual _TAO_SequenceDef_Proxy_Impl, public virtual TAO_ThruPOA_Object_Proxy_Impl, public virtual ::POA_IR::_TAO_IDLType_ThruPOA_Proxy_Impl { public: - _TAO_WstringDef_ThruPOA_Proxy_Impl (void); + _TAO_SequenceDef_ThruPOA_Proxy_Impl (void); - virtual ~_TAO_WstringDef_ThruPOA_Proxy_Impl (void) { } + virtual ~_TAO_SequenceDef_ThruPOA_Proxy_Impl (void); - virtual CORBA::ULong bound ( + virtual CORBA::ULong bound ( CORBA_Object *_collocated_tao_target_, - CORBA::Environment &ACE_TRY_ENV + CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException )); - virtual void bound ( + virtual void bound ( CORBA_Object *_collocated_tao_target_, CORBA::ULong bound, CORBA::Environment &ACE_TRY_ENV @@ -12289,473 +9490,326 @@ CORBA::SystemException )); -}; - - -// -// ThruPOA Proxy Impl. Declaration -/////////////////////////////////////////////////////////////////////// - - -#if defined (ACE_HAS_USING_KEYWORD) -// TIE class: Refer to CORBA v2.2, Section 20.34.4 -template -class WstringDef_tie : public WstringDef -{ -public: - WstringDef_tie (T &t); - // the T& ctor - WstringDef_tie (T &t, PortableServer::POA_ptr poa); - // ctor taking a POA - WstringDef_tie (T *tp, CORBA::Boolean release=1); - // ctor taking pointer and an ownership flag - WstringDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1); - // ctor with T*, ownership flag and a POA - ~WstringDef_tie (void); - // dtor - - // TIE specific functions - T *_tied_object (void); - // return the underlying object - void _tied_object (T &obj); - // set the underlying object - void _tied_object (T *obj, CORBA::Boolean release=1); - // set the underlying object and the ownership flag - CORBA::Boolean _is_owner (void); - // do we own it - void _is_owner (CORBA::Boolean b); - // set the ownership - - // overridden ServantBase operations - PortableServer::POA_ptr _default_POA ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - CORBA::ULong bound ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () + virtual CORBA::TypeCode_ptr element_type ( + CORBA_Object *_collocated_tao_target_, + CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException )); - void bound ( - CORBA::ULong bound, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () + virtual IR_IDLType_ptr element_type_def ( + CORBA_Object *_collocated_tao_target_, + CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException )); - CORBA::TypeCode_ptr type ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () + virtual void element_type_def ( + CORBA_Object *_collocated_tao_target_, + IR_IDLType_ptr element_type_def, + CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException )); - IR::DefinitionKind def_kind ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); +}; - void destroy ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); -private: - T *ptr_; - PortableServer::POA_var poa_; - CORBA::Boolean rel_; - - // copy and assignment are not allowed - WstringDef_tie (const WstringDef_tie &); - void operator= (const WstringDef_tie &); -}; +// +// ThruPOA Proxy Impl. Declaration +/////////////////////////////////////////////////////////////////////// -#endif /* ACE_HAS_USING_KEYWORD */ +#if defined (ACE_HAS_USING_KEYWORD) + // TIE class: Refer to CORBA v2.2, Section 20.34.4 + template + class SequenceDef_tie : public SequenceDef + { + public: + SequenceDef_tie (T &t); + // the T& ctor + SequenceDef_tie (T &t, PortableServer::POA_ptr poa); + // ctor taking a POA + SequenceDef_tie (T *tp, CORBA::Boolean release=1); + // ctor taking pointer and an ownership flag + SequenceDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1); + // ctor with T*, ownership flag and a POA + ~SequenceDef_tie (void); + // dtor + + // TIE specific functions + T *_tied_object (void); + // return the underlying object + void _tied_object (T &obj); + // set the underlying object + void _tied_object (T *obj, CORBA::Boolean release=1); + // set the underlying object and the ownership flag + CORBA::Boolean _is_owner (void); + // do we own it + void _is_owner (CORBA::Boolean b); + // set the ownership + + // overridden ServantBase operations + PortableServer::POA_ptr _default_POA ( + CORBA::Environment &env = + TAO_default_environment () + ); + CORBA::ULong bound ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); -class FixedDef; -typedef FixedDef *FixedDef_ptr; -// Forward Classes Declaration -class _TAO_FixedDef_ThruPOA_Proxy_Impl; -class _TAO_FixedDef_Strategized_Proxy_Broker; + void bound ( + CORBA::ULong bound, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); -class FixedDef : public virtual IDLType -{ -protected: - FixedDef (void); + CORBA::TypeCode_ptr element_type ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); -public: - FixedDef (const FixedDef& rhs); - virtual ~FixedDef (void); + IR_IDLType_ptr element_type_def ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); + void element_type_def ( + IR_IDLType_ptr element_type_def, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual CORBA::Boolean _is_a ( - const char* logical_type_id, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + CORBA::TypeCode_ptr type ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual void* _downcast ( - const char* logical_type_id - ); + IR_DefinitionKind def_kind ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _is_a_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + void destroy ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _non_existent_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); +private: + T *ptr_; + PortableServer::POA_var poa_; + CORBA::Boolean rel_; - virtual void _dispatch ( - TAO_ServerRequest &_tao_req, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + // copy and assignment are not allowed + SequenceDef_tie (const SequenceDef_tie &); + void operator= (const SequenceDef_tie &); + }; - ::IR::FixedDef *_this ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); +#endif /* ACE_HAS_USING_KEYWORD */ - virtual const char* _interface_repository_id (void) const; + class ArrayDef; + typedef ArrayDef *ArrayDef_ptr; + // Forward Classes Declaration + class _TAO_ArrayDef_ThruPOA_Proxy_Impl; + class _TAO_ArrayDef_Strategized_Proxy_Broker; - virtual CORBA::UShort digits ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + class ArrayDef : public virtual IDLType + { + protected: + ArrayDef (void); - static void _get_digits_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + public: + ArrayDef (const ArrayDef& rhs); + virtual ~ArrayDef (void); - virtual void digits ( - CORBA::UShort digits, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; - static void _set_digits_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual CORBA::Boolean _is_a ( + const char* logical_type_id, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - virtual CORBA::Short scale ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + virtual void* _downcast ( + const char* logical_type_id + ); - static void _get_scale_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _is_a_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - virtual void scale ( - CORBA::Short scale, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + static void _non_existent_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void _set_scale_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual void _dispatch ( + TAO_ServerRequest &_tao_req, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void _get_type_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_ArrayDef *_this ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void _get_def_kind_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual const char* _interface_repository_id (void) const; - static void destroy_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual CORBA::ULong length ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; - -#if (TAO_HAS_INTERCEPTORS == 1) - // Generation of interceptors related RequestInfo classes per operation. - // This needed to be able to store the arguments, exceptions, contexts - // and build the lists dynamically on demand so that unnecessary time overhead - // of building these lists when they arent used is avoided. - class TAO_ServerRequestInfo_IR_FixedDef_digits_get : public TAO_ServerRequestInfo - { - public: - friend class POA_IR::FixedDef; - TAO_ServerRequestInfo_IR_FixedDef_digits_get ( - TAO_ServerRequest &_tao_server_request, - POA_IR::FixedDef *tao_impl - , - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _get_length_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - virtual Dynamic::ParameterList * arguments ( + virtual void length ( + CORBA::ULong length, CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; + + static void _set_length_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); + + virtual CORBA::TypeCode_ptr element_type ( CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; + + static void _get_element_type_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); + + virtual IR_IDLType_ptr element_type_def ( CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - - private: - TAO_ServerRequestInfo_IR_FixedDef_digits_get (const TAO_ServerRequestInfo_IR_FixedDef_digits_get &); - void operator= (const TAO_ServerRequestInfo_IR_FixedDef_digits_get &); - - private: - POA_IR::FixedDef *_tao_impl; - void result (CORBA::UShort result); - // update the result -CORBA::UShort _result; -}; + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; -class TAO_ServerRequestInfo_IR_FixedDef_digits_set : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::FixedDef; - TAO_ServerRequestInfo_IR_FixedDef_digits_set ( - TAO_ServerRequest &_tao_server_request, - POA_IR::FixedDef *tao_impl - , - const CORBA::UShort & digits, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _get_element_type_def_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_FixedDef_digits_set (const TAO_ServerRequestInfo_IR_FixedDef_digits_set &); - void operator= (const TAO_ServerRequestInfo_IR_FixedDef_digits_set &); - -private: - POA_IR::FixedDef *_tao_impl; - const CORBA::UShort & digits_; -}; - -class TAO_ServerRequestInfo_IR_FixedDef_scale_get : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::FixedDef; - TAO_ServerRequestInfo_IR_FixedDef_scale_get ( - TAO_ServerRequest &_tao_server_request, - POA_IR::FixedDef *tao_impl - , - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_FixedDef_scale_get (const TAO_ServerRequestInfo_IR_FixedDef_scale_get &); - void operator= (const TAO_ServerRequestInfo_IR_FixedDef_scale_get &); - -private: - POA_IR::FixedDef *_tao_impl; - void result (CORBA::Short result); - // update the result -CORBA::Short _result; -}; - -class TAO_ServerRequestInfo_IR_FixedDef_scale_set : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::FixedDef; - TAO_ServerRequestInfo_IR_FixedDef_scale_set ( - TAO_ServerRequest &_tao_server_request, - POA_IR::FixedDef *tao_impl - , - const CORBA::Short & scale, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual void element_type_def ( + IR_IDLType_ptr element_type_def, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_FixedDef_scale_set (const TAO_ServerRequestInfo_IR_FixedDef_scale_set &); - void operator= (const TAO_ServerRequestInfo_IR_FixedDef_scale_set &); - -private: - POA_IR::FixedDef *_tao_impl; - const CORBA::Short & scale_; -}; + static void _set_element_type_def_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); -#endif /* TAO_HAS_INTERCEPTORS */ + static void _get_type_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); -}; + static void _get_def_kind_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + static void destroy_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + }; /////////////////////////////////////////////////////////////////////// // Strategized Proxy Broker Declaration // -class _TAO_FixedDef_Strategized_Proxy_Broker : public virtual ::IR::_TAO_FixedDef_Proxy_Broker +class _TAO_ArrayDef_Strategized_Proxy_Broker : public virtual _TAO_ArrayDef_Proxy_Broker { public: - _TAO_FixedDef_Strategized_Proxy_Broker (void); - - virtual ~_TAO_FixedDef_Strategized_Proxy_Broker (void); - - virtual ::IR::_TAO_FixedDef_Proxy_Impl &select_proxy ( - ::IR::FixedDef *object, + _TAO_ArrayDef_Strategized_Proxy_Broker (void); + + virtual ~_TAO_ArrayDef_Strategized_Proxy_Broker (void); + + virtual _TAO_ArrayDef_Proxy_Impl &select_proxy ( + IR_ArrayDef *object, CORBA_Environment &ACE_TRY_ENV = TAO_default_environment () ); @@ -12773,7 +9827,7 @@ // Caches the proxy implementations. The proxy implementation // are totally stateless, and those can be shared by all the // instances of a given IDL interface type. - ::IR::_TAO_FixedDef_Proxy_Impl + _TAO_ArrayDef_Proxy_Impl *proxy_cache_[TAO_ORB_Core::COLLOCATION_STRATEGIES_NUM]; TAO_SYNCH_MUTEX mutex_; @@ -12782,10 +9836,9 @@ // interface. public: - static _TAO_FixedDef_Strategized_Proxy_Broker *the_TAO_FixedDef_Strategized_Proxy_Broker (void); + static _TAO_ArrayDef_Strategized_Proxy_Broker *the_TAO_ArrayDef_Strategized_Proxy_Broker (void); }; - // // End Strategized Proxy Broker Declaration /////////////////////////////////////////////////////////////////////// @@ -12795,45 +9848,53 @@ // ThruPOA Impl. Declaration // -class _TAO_FixedDef_ThruPOA_Proxy_Impl : - public virtual ::IR::_TAO_FixedDef_Proxy_Impl, +class _TAO_ArrayDef_ThruPOA_Proxy_Impl : + public virtual _TAO_ArrayDef_Proxy_Impl, public virtual TAO_ThruPOA_Object_Proxy_Impl, public virtual ::POA_IR::_TAO_IDLType_ThruPOA_Proxy_Impl { public: - _TAO_FixedDef_ThruPOA_Proxy_Impl (void); + _TAO_ArrayDef_ThruPOA_Proxy_Impl (void); - virtual ~_TAO_FixedDef_ThruPOA_Proxy_Impl (void) { } + virtual ~_TAO_ArrayDef_ThruPOA_Proxy_Impl (void); - virtual CORBA::UShort digits ( + virtual CORBA::ULong length ( CORBA_Object *_collocated_tao_target_, - CORBA::Environment &ACE_TRY_ENV + CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException )); - virtual void digits ( + virtual void length ( CORBA_Object *_collocated_tao_target_, - CORBA::UShort digits, + CORBA::ULong length, CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException )); - virtual CORBA::Short scale ( + virtual CORBA::TypeCode_ptr element_type ( CORBA_Object *_collocated_tao_target_, - CORBA::Environment &ACE_TRY_ENV + CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException )); - virtual void scale ( + virtual IR_IDLType_ptr element_type_def ( CORBA_Object *_collocated_tao_target_, - CORBA::Short scale, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); + + virtual void element_type_def ( + CORBA_Object *_collocated_tao_target_, + IR_IDLType_ptr element_type_def, CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( @@ -12847,550 +9908,461 @@ // ThruPOA Proxy Impl. Declaration /////////////////////////////////////////////////////////////////////// - #if defined (ACE_HAS_USING_KEYWORD) -// TIE class: Refer to CORBA v2.2, Section 20.34.4 -template -class FixedDef_tie : public FixedDef -{ -public: - FixedDef_tie (T &t); - // the T& ctor - FixedDef_tie (T &t, PortableServer::POA_ptr poa); - // ctor taking a POA - FixedDef_tie (T *tp, CORBA::Boolean release=1); - // ctor taking pointer and an ownership flag - FixedDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1); - // ctor with T*, ownership flag and a POA - ~FixedDef_tie (void); - // dtor - - // TIE specific functions - T *_tied_object (void); - // return the underlying object - void _tied_object (T &obj); - // set the underlying object - void _tied_object (T *obj, CORBA::Boolean release=1); - // set the underlying object and the ownership flag - CORBA::Boolean _is_owner (void); - // do we own it - void _is_owner (CORBA::Boolean b); - // set the ownership - - // overridden ServantBase operations - PortableServer::POA_ptr _default_POA ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - CORBA::UShort digits ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + // TIE class: Refer to CORBA v2.2, Section 20.34.4 + template + class ArrayDef_tie : public ArrayDef + { + public: + ArrayDef_tie (T &t); + // the T& ctor + ArrayDef_tie (T &t, PortableServer::POA_ptr poa); + // ctor taking a POA + ArrayDef_tie (T *tp, CORBA::Boolean release=1); + // ctor taking pointer and an ownership flag + ArrayDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1); + // ctor with T*, ownership flag and a POA + ~ArrayDef_tie (void); + // dtor + + // TIE specific functions + T *_tied_object (void); + // return the underlying object + void _tied_object (T &obj); + // set the underlying object + void _tied_object (T *obj, CORBA::Boolean release=1); + // set the underlying object and the ownership flag + CORBA::Boolean _is_owner (void); + // do we own it + void _is_owner (CORBA::Boolean b); + // set the ownership + + // overridden ServantBase operations + PortableServer::POA_ptr _default_POA ( + CORBA::Environment &env = + TAO_default_environment () + ); + CORBA::ULong length ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - void digits ( - CORBA::UShort digits, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + void length ( + CORBA::ULong length, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - CORBA::Short scale ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + CORBA::TypeCode_ptr element_type ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - void scale ( - CORBA::Short scale, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_IDLType_ptr element_type_def ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - CORBA::TypeCode_ptr type ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + void element_type_def ( + IR_IDLType_ptr element_type_def, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::DefinitionKind def_kind ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + CORBA::TypeCode_ptr type ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - void destroy ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_DefinitionKind def_kind ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); + + void destroy ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); private: - T *ptr_; - PortableServer::POA_var poa_; - CORBA::Boolean rel_; - - // copy and assignment are not allowed - FixedDef_tie (const FixedDef_tie &); - void operator= (const FixedDef_tie &); -}; + T *ptr_; + PortableServer::POA_var poa_; + CORBA::Boolean rel_; + + // copy and assignment are not allowed + ArrayDef_tie (const ArrayDef_tie &); + void operator= (const ArrayDef_tie &); + }; #endif /* ACE_HAS_USING_KEYWORD */ -class SequenceDef; -typedef SequenceDef *SequenceDef_ptr; -// Forward Classes Declaration -class _TAO_SequenceDef_ThruPOA_Proxy_Impl; -class _TAO_SequenceDef_Strategized_Proxy_Broker; + class ExceptionDef; + typedef ExceptionDef *ExceptionDef_ptr; + // Forward Classes Declaration + class _TAO_ExceptionDef_ThruPOA_Proxy_Impl; + class _TAO_ExceptionDef_Strategized_Proxy_Broker; -class SequenceDef : public virtual IDLType -{ -protected: - SequenceDef (void); + class ExceptionDef : public virtual Contained, public virtual Container + { + protected: + ExceptionDef (void); -public: - SequenceDef (const SequenceDef& rhs); - virtual ~SequenceDef (void); + public: + ExceptionDef (const ExceptionDef& rhs); + virtual ~ExceptionDef (void); - virtual CORBA::Boolean _is_a ( - const char* logical_type_id, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual CORBA::Boolean _is_a ( + const char* logical_type_id, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - virtual void* _downcast ( - const char* logical_type_id - ); + virtual void* _downcast ( + const char* logical_type_id + ); - static void _is_a_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _is_a_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void _non_existent_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _non_existent_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - virtual void _dispatch ( - TAO_ServerRequest &_tao_req, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - ::IR::SequenceDef *_this ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual void _dispatch ( + TAO_ServerRequest &_tao_req, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - virtual const char* _interface_repository_id (void) const; + IR_ExceptionDef *_this ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - virtual CORBA::ULong bound ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + virtual const char* _interface_repository_id (void) const; - static void _get_bound_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual CORBA::TypeCode_ptr type ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; - virtual void bound ( - CORBA::ULong bound, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + static void _get_type_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void _set_bound_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual IR_StructMemberSeq * members ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; - virtual CORBA::TypeCode_ptr element_type ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + static void _get_members_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void _get_element_type_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual void members ( + const IR_StructMemberSeq & members, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; - virtual IR::IDLType_ptr element_type_def ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + static void _set_members_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void _get_element_type_def_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _get_id_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - virtual void element_type_def ( - IR::IDLType_ptr element_type_def, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + static void _set_id_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void _set_element_type_def_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _get_name_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void _get_type_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _set_name_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void _get_def_kind_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _get_version_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void destroy_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _set_version_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - -#if (TAO_HAS_INTERCEPTORS == 1) - // Generation of interceptors related RequestInfo classes per operation. - // This needed to be able to store the arguments, exceptions, contexts - // and build the lists dynamically on demand so that unnecessary time overhead - // of building these lists when they arent used is avoided. - class TAO_ServerRequestInfo_IR_SequenceDef_bound_get : public TAO_ServerRequestInfo - { - public: - friend class POA_IR::SequenceDef; - TAO_ServerRequestInfo_IR_SequenceDef_bound_get ( - TAO_ServerRequest &_tao_server_request, - POA_IR::SequenceDef *tao_impl - , - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _get_defined_in_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = + static void _get_absolute_name_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = + ); + + static void _get_containing_repository_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = + ); + + static void describe_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - - private: - TAO_ServerRequestInfo_IR_SequenceDef_bound_get (const TAO_ServerRequestInfo_IR_SequenceDef_bound_get &); - void operator= (const TAO_ServerRequestInfo_IR_SequenceDef_bound_get &); - - private: - POA_IR::SequenceDef *_tao_impl; - void result (CORBA::ULong result); - // update the result -CORBA::ULong _result; -}; + ); -class TAO_ServerRequestInfo_IR_SequenceDef_bound_set : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::SequenceDef; - TAO_ServerRequestInfo_IR_SequenceDef_bound_set ( - TAO_ServerRequest &_tao_server_request, - POA_IR::SequenceDef *tao_impl - , - const CORBA::ULong & bound, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void move_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_SequenceDef_bound_set (const TAO_ServerRequestInfo_IR_SequenceDef_bound_set &); - void operator= (const TAO_ServerRequestInfo_IR_SequenceDef_bound_set &); - -private: - POA_IR::SequenceDef *_tao_impl; - const CORBA::ULong & bound_; -}; + static void lookup_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); -class TAO_ServerRequestInfo_IR_SequenceDef_element_type_get : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::SequenceDef; - TAO_ServerRequestInfo_IR_SequenceDef_element_type_get ( - TAO_ServerRequest &_tao_server_request, - POA_IR::SequenceDef *tao_impl - , - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void contents_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_SequenceDef_element_type_get (const TAO_ServerRequestInfo_IR_SequenceDef_element_type_get &); - void operator= (const TAO_ServerRequestInfo_IR_SequenceDef_element_type_get &); - -private: - POA_IR::SequenceDef *_tao_impl; - void result (CORBA::TypeCode_ptr result); - // update the result -CORBA::TypeCode_ptr _result; -}; + static void lookup_name_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); -class TAO_ServerRequestInfo_IR_SequenceDef_element_type_def_get : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::SequenceDef; - TAO_ServerRequestInfo_IR_SequenceDef_element_type_def_get ( - TAO_ServerRequest &_tao_server_request, - POA_IR::SequenceDef *tao_impl - , - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void describe_contents_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_SequenceDef_element_type_def_get (const TAO_ServerRequestInfo_IR_SequenceDef_element_type_def_get &); - void operator= (const TAO_ServerRequestInfo_IR_SequenceDef_element_type_def_get &); - -private: - POA_IR::SequenceDef *_tao_impl; - void result (IR::IDLType_ptr result); - // update the result -IR::IDLType_ptr _result; -}; + static void create_module_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); -class TAO_ServerRequestInfo_IR_SequenceDef_element_type_def_set : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::SequenceDef; - TAO_ServerRequestInfo_IR_SequenceDef_element_type_def_set ( - TAO_ServerRequest &_tao_server_request, - POA_IR::SequenceDef *tao_impl - , - IR::IDLType_ptr element_type_def, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void create_constant_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_SequenceDef_element_type_def_set (const TAO_ServerRequestInfo_IR_SequenceDef_element_type_def_set &); - void operator= (const TAO_ServerRequestInfo_IR_SequenceDef_element_type_def_set &); - -private: - POA_IR::SequenceDef *_tao_impl; - IR::IDLType_ptr element_type_def_; -}; + static void create_struct_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); -#endif /* TAO_HAS_INTERCEPTORS */ + static void create_union_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); -}; + static void create_enum_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void create_alias_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void create_interface_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void create_value_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void create_value_box_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void create_exception_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void create_native_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + static void _get_def_kind_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void destroy_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + }; /////////////////////////////////////////////////////////////////////// // Strategized Proxy Broker Declaration // -class _TAO_SequenceDef_Strategized_Proxy_Broker : public virtual ::IR::_TAO_SequenceDef_Proxy_Broker +class _TAO_ExceptionDef_Strategized_Proxy_Broker : public virtual _TAO_ExceptionDef_Proxy_Broker { public: - _TAO_SequenceDef_Strategized_Proxy_Broker (void); - - virtual ~_TAO_SequenceDef_Strategized_Proxy_Broker (void); - - virtual ::IR::_TAO_SequenceDef_Proxy_Impl &select_proxy ( - ::IR::SequenceDef *object, + _TAO_ExceptionDef_Strategized_Proxy_Broker (void); + + virtual ~_TAO_ExceptionDef_Strategized_Proxy_Broker (void); + + virtual _TAO_ExceptionDef_Proxy_Impl &select_proxy ( + IR_ExceptionDef *object, CORBA_Environment &ACE_TRY_ENV = TAO_default_environment () ); @@ -13408,7 +10380,7 @@ // Caches the proxy implementations. The proxy implementation // are totally stateless, and those can be shared by all the // instances of a given IDL interface type. - ::IR::_TAO_SequenceDef_Proxy_Impl + _TAO_ExceptionDef_Proxy_Impl *proxy_cache_[TAO_ORB_Core::COLLOCATION_STRATEGIES_NUM]; TAO_SYNCH_MUTEX mutex_; @@ -13417,10 +10389,9 @@ // interface. public: - static _TAO_SequenceDef_Strategized_Proxy_Broker *the_TAO_SequenceDef_Strategized_Proxy_Broker (void); + static _TAO_ExceptionDef_Strategized_Proxy_Broker *the_TAO_ExceptionDef_Strategized_Proxy_Broker (void); }; - // // End Strategized Proxy Broker Declaration /////////////////////////////////////////////////////////////////////// @@ -13430,53 +10401,37 @@ // ThruPOA Impl. Declaration // -class _TAO_SequenceDef_ThruPOA_Proxy_Impl : - public virtual ::IR::_TAO_SequenceDef_Proxy_Impl, +class _TAO_ExceptionDef_ThruPOA_Proxy_Impl : + public virtual _TAO_ExceptionDef_Proxy_Impl, public virtual TAO_ThruPOA_Object_Proxy_Impl, - public virtual ::POA_IR::_TAO_IDLType_ThruPOA_Proxy_Impl + public virtual ::POA_IR::_TAO_Contained_ThruPOA_Proxy_Impl, + public virtual ::POA_IR::_TAO_Container_ThruPOA_Proxy_Impl { public: - _TAO_SequenceDef_ThruPOA_Proxy_Impl (void); + _TAO_ExceptionDef_ThruPOA_Proxy_Impl (void); - virtual ~_TAO_SequenceDef_ThruPOA_Proxy_Impl (void) { } + virtual ~_TAO_ExceptionDef_ThruPOA_Proxy_Impl (void); - virtual CORBA::ULong bound ( - CORBA_Object *_collocated_tao_target_, - CORBA::Environment &ACE_TRY_ENV - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - virtual void bound ( - CORBA_Object *_collocated_tao_target_, - CORBA::ULong bound, - CORBA::Environment &ACE_TRY_ENV - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - virtual CORBA::TypeCode_ptr element_type ( + virtual CORBA::TypeCode_ptr type ( CORBA_Object *_collocated_tao_target_, - CORBA::Environment &ACE_TRY_ENV + CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException )); - virtual IR::IDLType_ptr element_type_def ( + virtual IR_StructMemberSeq * members ( CORBA_Object *_collocated_tao_target_, - CORBA::Environment &ACE_TRY_ENV + CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException )); - virtual void element_type_def ( + virtual void members ( CORBA_Object *_collocated_tao_target_, - IR::IDLType_ptr element_type_def, + const IR_StructMemberSeq & members, CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( @@ -13490,2241 +10445,2139 @@ // ThruPOA Proxy Impl. Declaration /////////////////////////////////////////////////////////////////////// - #if defined (ACE_HAS_USING_KEYWORD) -// TIE class: Refer to CORBA v2.2, Section 20.34.4 -template -class SequenceDef_tie : public SequenceDef -{ -public: - SequenceDef_tie (T &t); - // the T& ctor - SequenceDef_tie (T &t, PortableServer::POA_ptr poa); - // ctor taking a POA - SequenceDef_tie (T *tp, CORBA::Boolean release=1); - // ctor taking pointer and an ownership flag - SequenceDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1); - // ctor with T*, ownership flag and a POA - ~SequenceDef_tie (void); - // dtor - - // TIE specific functions - T *_tied_object (void); - // return the underlying object - void _tied_object (T &obj); - // set the underlying object - void _tied_object (T *obj, CORBA::Boolean release=1); - // set the underlying object and the ownership flag - CORBA::Boolean _is_owner (void); - // do we own it - void _is_owner (CORBA::Boolean b); - // set the ownership - - // overridden ServantBase operations - PortableServer::POA_ptr _default_POA ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - CORBA::ULong bound ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - void bound ( - CORBA::ULong bound, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - CORBA::TypeCode_ptr element_type ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + // TIE class: Refer to CORBA v2.2, Section 20.34.4 + template + class ExceptionDef_tie : public ExceptionDef + { + public: + ExceptionDef_tie (T &t); + // the T& ctor + ExceptionDef_tie (T &t, PortableServer::POA_ptr poa); + // ctor taking a POA + ExceptionDef_tie (T *tp, CORBA::Boolean release=1); + // ctor taking pointer and an ownership flag + ExceptionDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1); + // ctor with T*, ownership flag and a POA + ~ExceptionDef_tie (void); + // dtor + + // TIE specific functions + T *_tied_object (void); + // return the underlying object + void _tied_object (T &obj); + // set the underlying object + void _tied_object (T *obj, CORBA::Boolean release=1); + // set the underlying object and the ownership flag + CORBA::Boolean _is_owner (void); + // do we own it + void _is_owner (CORBA::Boolean b); + // set the ownership + + // overridden ServantBase operations + PortableServer::POA_ptr _default_POA ( + CORBA::Environment &env = + TAO_default_environment () + ); + CORBA::TypeCode_ptr type ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::IDLType_ptr element_type_def ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_StructMemberSeq * members ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - void element_type_def ( - IR::IDLType_ptr element_type_def, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + void members ( + const IR_StructMemberSeq & members, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - CORBA::TypeCode_ptr type ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + char * id ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::DefinitionKind def_kind ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + void id ( + const char * id, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - void destroy ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + char * name ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); -private: - T *ptr_; - PortableServer::POA_var poa_; - CORBA::Boolean rel_; - - // copy and assignment are not allowed - SequenceDef_tie (const SequenceDef_tie &); - void operator= (const SequenceDef_tie &); -}; + void name ( + const char * name, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); -#endif /* ACE_HAS_USING_KEYWORD */ + char * version ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); -class ArrayDef; -typedef ArrayDef *ArrayDef_ptr; -// Forward Classes Declaration -class _TAO_ArrayDef_ThruPOA_Proxy_Impl; -class _TAO_ArrayDef_Strategized_Proxy_Broker; + void version ( + const char * version, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); -class ArrayDef : public virtual IDLType -{ -protected: - ArrayDef (void); - -public: - ArrayDef (const ArrayDef& rhs); - virtual ~ArrayDef (void); - - - virtual CORBA::Boolean _is_a ( - const char* logical_type_id, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - virtual void* _downcast ( - const char* logical_type_id - ); - - static void _is_a_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _non_existent_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_Container_ptr defined_in ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual void _dispatch ( - TAO_ServerRequest &_tao_req, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + char * absolute_name ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - ::IR::ArrayDef *_this ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_Repository_ptr containing_repository ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual const char* _interface_repository_id (void) const; + IR_Contained::Description * describe ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual CORBA::ULong length ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + void move ( + IR_Container_ptr new_container, + const char * new_name, + const char * new_version, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _get_length_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_Contained_ptr lookup ( + const char * search_name, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual void length ( - CORBA::ULong length, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + IR_ContainedSeq * contents ( + IR_DefinitionKind limit_type, + CORBA::Boolean exclude_inherited, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _set_length_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_ContainedSeq * lookup_name ( + const char * search_name, + CORBA::Long levels_to_search, + IR_DefinitionKind limit_type, + CORBA::Boolean exclude_inherited, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual CORBA::TypeCode_ptr element_type ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + IR_Container::DescriptionSeq * describe_contents ( + IR_DefinitionKind limit_type, + CORBA::Boolean exclude_inherited, + CORBA::Long max_returned_objs, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _get_element_type_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_ModuleDef_ptr create_module ( + const char * id, + const char * name, + const char * version, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual IR::IDLType_ptr element_type_def ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + IR_ConstantDef_ptr create_constant ( + const char * id, + const char * name, + const char * version, + IR_IDLType_ptr type, + const CORBA::Any & value, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _get_element_type_def_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_StructDef_ptr create_struct ( + const char * id, + const char * name, + const char * version, + const IR_StructMemberSeq & members, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual void element_type_def ( - IR::IDLType_ptr element_type_def, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + IR_UnionDef_ptr create_union ( + const char * id, + const char * name, + const char * version, + IR_IDLType_ptr discriminator_type, + const IR_UnionMemberSeq & members, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _set_element_type_def_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_EnumDef_ptr create_enum ( + const char * id, + const char * name, + const char * version, + const IR_EnumMemberSeq & members, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _get_type_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_AliasDef_ptr create_alias ( + const char * id, + const char * name, + const char * version, + IR_IDLType_ptr original_type, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _get_def_kind_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_InterfaceDef_ptr create_interface ( + const char * id, + const char * name, + const char * version, + const IR_InterfaceDefSeq & base_interfaces, + CORBA::Boolean is_abstract, + CORBA::Boolean is_local, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void destroy_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_ValueDef_ptr create_value ( + const char * id, + const char * name, + const char * version, + CORBA::Boolean is_custom, + CORBA::Boolean is_abstract, + IR_ValueDef_ptr base_value, + CORBA::Boolean is_truncatable, + const IR_ValueDefSeq & abstract_base_values, + const IR_InterfaceDefSeq & supported_interfaces, + const IR_InitializerSeq & initializers, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - -#if (TAO_HAS_INTERCEPTORS == 1) - // Generation of interceptors related RequestInfo classes per operation. - // This needed to be able to store the arguments, exceptions, contexts - // and build the lists dynamically on demand so that unnecessary time overhead - // of building these lists when they arent used is avoided. - class TAO_ServerRequestInfo_IR_ArrayDef_length_get : public TAO_ServerRequestInfo - { - public: - friend class POA_IR::ArrayDef; - TAO_ServerRequestInfo_IR_ArrayDef_length_get ( - TAO_ServerRequest &_tao_server_request, - POA_IR::ArrayDef *tao_impl - , - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_ValueBoxDef_ptr create_value_box ( + const char * id, + const char * name, + const char * version, + IR_IDLType_ptr original_type_def, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual Dynamic::ParameterList * arguments ( + IR_ExceptionDef_ptr create_exception ( + const char * id, + const char * name, + const char * version, + const IR_StructMemberSeq & members, CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( + ACE_THROW_SPEC (( + CORBA::SystemException + )); + + IR_NativeDef_ptr create_native ( + const char * id, + const char * name, + const char * version, CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( + ACE_THROW_SPEC (( + CORBA::SystemException + )); + + IR_DefinitionKind def_kind ( CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - - private: - TAO_ServerRequestInfo_IR_ArrayDef_length_get (const TAO_ServerRequestInfo_IR_ArrayDef_length_get &); - void operator= (const TAO_ServerRequestInfo_IR_ArrayDef_length_get &); - - private: - POA_IR::ArrayDef *_tao_impl; - void result (CORBA::ULong result); - // update the result -CORBA::ULong _result; -}; + ACE_THROW_SPEC (( + CORBA::SystemException + )); -class TAO_ServerRequestInfo_IR_ArrayDef_length_set : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::ArrayDef; - TAO_ServerRequestInfo_IR_ArrayDef_length_set ( - TAO_ServerRequest &_tao_server_request, - POA_IR::ArrayDef *tao_impl - , - const CORBA::ULong & length, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + void destroy ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - private: - TAO_ServerRequestInfo_IR_ArrayDef_length_set (const TAO_ServerRequestInfo_IR_ArrayDef_length_set &); - void operator= (const TAO_ServerRequestInfo_IR_ArrayDef_length_set &); - -private: - POA_IR::ArrayDef *_tao_impl; - const CORBA::ULong & length_; -}; - -class TAO_ServerRequestInfo_IR_ArrayDef_element_type_get : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::ArrayDef; - TAO_ServerRequestInfo_IR_ArrayDef_element_type_get ( - TAO_ServerRequest &_tao_server_request, - POA_IR::ArrayDef *tao_impl - , - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_ArrayDef_element_type_get (const TAO_ServerRequestInfo_IR_ArrayDef_element_type_get &); - void operator= (const TAO_ServerRequestInfo_IR_ArrayDef_element_type_get &); - -private: - POA_IR::ArrayDef *_tao_impl; - void result (CORBA::TypeCode_ptr result); - // update the result -CORBA::TypeCode_ptr _result; -}; + T *ptr_; + PortableServer::POA_var poa_; + CORBA::Boolean rel_; -class TAO_ServerRequestInfo_IR_ArrayDef_element_type_def_get : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::ArrayDef; - TAO_ServerRequestInfo_IR_ArrayDef_element_type_def_get ( - TAO_ServerRequest &_tao_server_request, - POA_IR::ArrayDef *tao_impl - , - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + // copy and assignment are not allowed + ExceptionDef_tie (const ExceptionDef_tie &); + void operator= (const ExceptionDef_tie &); + }; - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_ArrayDef_element_type_def_get (const TAO_ServerRequestInfo_IR_ArrayDef_element_type_def_get &); - void operator= (const TAO_ServerRequestInfo_IR_ArrayDef_element_type_def_get &); - -private: - POA_IR::ArrayDef *_tao_impl; - void result (IR::IDLType_ptr result); - // update the result -IR::IDLType_ptr _result; -}; +#endif /* ACE_HAS_USING_KEYWORD */ -class TAO_ServerRequestInfo_IR_ArrayDef_element_type_def_set : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::ArrayDef; - TAO_ServerRequestInfo_IR_ArrayDef_element_type_def_set ( - TAO_ServerRequest &_tao_server_request, - POA_IR::ArrayDef *tao_impl - , - IR::IDLType_ptr element_type_def, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + class AttributeDef; + typedef AttributeDef *AttributeDef_ptr; + // Forward Classes Declaration + class _TAO_AttributeDef_ThruPOA_Proxy_Impl; + class _TAO_AttributeDef_Strategized_Proxy_Broker; - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_ArrayDef_element_type_def_set (const TAO_ServerRequestInfo_IR_ArrayDef_element_type_def_set &); - void operator= (const TAO_ServerRequestInfo_IR_ArrayDef_element_type_def_set &); - -private: - POA_IR::ArrayDef *_tao_impl; - IR::IDLType_ptr element_type_def_; -}; + class AttributeDef : public virtual Contained + { + protected: + AttributeDef (void); -#endif /* TAO_HAS_INTERCEPTORS */ + public: + AttributeDef (const AttributeDef& rhs); + virtual ~AttributeDef (void); -}; + virtual CORBA::Boolean _is_a ( + const char* logical_type_id, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); -/////////////////////////////////////////////////////////////////////// -// Strategized Proxy Broker Declaration -// + virtual void* _downcast ( + const char* logical_type_id + ); -class _TAO_ArrayDef_Strategized_Proxy_Broker : public virtual ::IR::_TAO_ArrayDef_Proxy_Broker -{ -public: - _TAO_ArrayDef_Strategized_Proxy_Broker (void); - - virtual ~_TAO_ArrayDef_Strategized_Proxy_Broker (void); - - virtual ::IR::_TAO_ArrayDef_Proxy_Impl &select_proxy ( - ::IR::ArrayDef *object, - CORBA_Environment &ACE_TRY_ENV = TAO_default_environment () - ); + static void _is_a_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); -private: + static void _non_existent_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); -// Helper methods that takes care to create the proxy -// as soon as their use is necessary. - void create_proxy ( - TAO_ORB_Core::TAO_Collocation_Strategies strategy, - CORBA::Environment &ACE_TRY_ENV - ); + virtual void _dispatch ( + TAO_ServerRequest &_tao_req, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); -private: - - // Caches the proxy implementations. The proxy implementation - // are totally stateless, and those can be shared by all the - // instances of a given IDL interface type. - ::IR::_TAO_ArrayDef_Proxy_Impl - *proxy_cache_[TAO_ORB_Core::COLLOCATION_STRATEGIES_NUM]; - - TAO_SYNCH_MUTEX mutex_; -// This funxtion is used to get an handle to the unique instance -// of the Strategized Proxy Broker that is available for a given -// interface. + IR_AttributeDef *_this ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); -public: - static _TAO_ArrayDef_Strategized_Proxy_Broker *the_TAO_ArrayDef_Strategized_Proxy_Broker (void); -}; + virtual const char* _interface_repository_id (void) const; + virtual CORBA::TypeCode_ptr type ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; -// -// End Strategized Proxy Broker Declaration -/////////////////////////////////////////////////////////////////////// + static void _get_type_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); + virtual IR_IDLType_ptr type_def ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; -/////////////////////////////////////////////////////////////////////// -// ThruPOA Impl. Declaration -// + static void _get_type_def_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); -class _TAO_ArrayDef_ThruPOA_Proxy_Impl : - public virtual ::IR::_TAO_ArrayDef_Proxy_Impl, - public virtual TAO_ThruPOA_Object_Proxy_Impl, - public virtual ::POA_IR::_TAO_IDLType_ThruPOA_Proxy_Impl - -{ -public: - _TAO_ArrayDef_ThruPOA_Proxy_Impl (void); - - virtual ~_TAO_ArrayDef_ThruPOA_Proxy_Impl (void) { } - - virtual CORBA::ULong length ( - CORBA_Object *_collocated_tao_target_, - CORBA::Environment &ACE_TRY_ENV - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + virtual void type_def ( + IR_IDLType_ptr type_def, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; - virtual void length ( - CORBA_Object *_collocated_tao_target_, - CORBA::ULong length, - CORBA::Environment &ACE_TRY_ENV - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + static void _set_type_def_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - virtual CORBA::TypeCode_ptr element_type ( - CORBA_Object *_collocated_tao_target_, - CORBA::Environment &ACE_TRY_ENV - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + virtual IR_AttributeMode mode ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; - virtual IR::IDLType_ptr element_type_def ( - CORBA_Object *_collocated_tao_target_, - CORBA::Environment &ACE_TRY_ENV - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + static void _get_mode_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - virtual void element_type_def ( - CORBA_Object *_collocated_tao_target_, - IR::IDLType_ptr element_type_def, - CORBA::Environment &ACE_TRY_ENV - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + virtual void mode ( + IR_AttributeMode mode, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; -}; + static void _set_mode_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); + static void _get_id_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); -// -// ThruPOA Proxy Impl. Declaration -/////////////////////////////////////////////////////////////////////// + static void _set_id_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + static void _get_name_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); -#if defined (ACE_HAS_USING_KEYWORD) -// TIE class: Refer to CORBA v2.2, Section 20.34.4 -template -class ArrayDef_tie : public ArrayDef + static void _set_name_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void _get_version_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void _set_version_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void _get_defined_in_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void _get_absolute_name_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void _get_containing_repository_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void describe_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void move_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void _get_def_kind_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void destroy_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + }; + +/////////////////////////////////////////////////////////////////////// +// Strategized Proxy Broker Declaration +// + +class _TAO_AttributeDef_Strategized_Proxy_Broker : public virtual _TAO_AttributeDef_Proxy_Broker { +public: + _TAO_AttributeDef_Strategized_Proxy_Broker (void); + + virtual ~_TAO_AttributeDef_Strategized_Proxy_Broker (void); + + virtual _TAO_AttributeDef_Proxy_Impl &select_proxy ( + IR_AttributeDef *object, + CORBA_Environment &ACE_TRY_ENV = TAO_default_environment () + ); + +private: + +// Helper methods that takes care to create the proxy +// as soon as their use is necessary. + void create_proxy ( + TAO_ORB_Core::TAO_Collocation_Strategies strategy, + CORBA::Environment &ACE_TRY_ENV + ); + +private: + + // Caches the proxy implementations. The proxy implementation + // are totally stateless, and those can be shared by all the + // instances of a given IDL interface type. + _TAO_AttributeDef_Proxy_Impl + *proxy_cache_[TAO_ORB_Core::COLLOCATION_STRATEGIES_NUM]; + + TAO_SYNCH_MUTEX mutex_; +// This funxtion is used to get an handle to the unique instance +// of the Strategized Proxy Broker that is available for a given +// interface. + public: - ArrayDef_tie (T &t); - // the T& ctor - ArrayDef_tie (T &t, PortableServer::POA_ptr poa); - // ctor taking a POA - ArrayDef_tie (T *tp, CORBA::Boolean release=1); - // ctor taking pointer and an ownership flag - ArrayDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1); - // ctor with T*, ownership flag and a POA - ~ArrayDef_tie (void); - // dtor - - // TIE specific functions - T *_tied_object (void); - // return the underlying object - void _tied_object (T &obj); - // set the underlying object - void _tied_object (T *obj, CORBA::Boolean release=1); - // set the underlying object and the ownership flag - CORBA::Boolean _is_owner (void); - // do we own it - void _is_owner (CORBA::Boolean b); - // set the ownership - - // overridden ServantBase operations - PortableServer::POA_ptr _default_POA ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - CORBA::ULong length ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + static _TAO_AttributeDef_Strategized_Proxy_Broker *the_TAO_AttributeDef_Strategized_Proxy_Broker (void); +}; - void length ( - CORBA::ULong length, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); +// +// End Strategized Proxy Broker Declaration +/////////////////////////////////////////////////////////////////////// - CORBA::TypeCode_ptr element_type ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - IR::IDLType_ptr element_type_def ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () +/////////////////////////////////////////////////////////////////////// +// ThruPOA Impl. Declaration +// + +class _TAO_AttributeDef_ThruPOA_Proxy_Impl : + public virtual _TAO_AttributeDef_Proxy_Impl, + public virtual TAO_ThruPOA_Object_Proxy_Impl, + public virtual ::POA_IR::_TAO_Contained_ThruPOA_Proxy_Impl + +{ +public: + _TAO_AttributeDef_ThruPOA_Proxy_Impl (void); + + virtual ~_TAO_AttributeDef_ThruPOA_Proxy_Impl (void); + + virtual CORBA::TypeCode_ptr type ( + CORBA_Object *_collocated_tao_target_, + CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException )); - void element_type_def ( - IR::IDLType_ptr element_type_def, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () + virtual IR_IDLType_ptr type_def ( + CORBA_Object *_collocated_tao_target_, + CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException )); - CORBA::TypeCode_ptr type ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () + virtual void type_def ( + CORBA_Object *_collocated_tao_target_, + IR_IDLType_ptr type_def, + CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException )); - IR::DefinitionKind def_kind ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () + virtual IR_AttributeMode mode ( + CORBA_Object *_collocated_tao_target_, + CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException )); - void destroy ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () + virtual void mode ( + CORBA_Object *_collocated_tao_target_, + IR_AttributeMode mode, + CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException )); -private: - T *ptr_; - PortableServer::POA_var poa_; - CORBA::Boolean rel_; - - // copy and assignment are not allowed - ArrayDef_tie (const ArrayDef_tie &); - void operator= (const ArrayDef_tie &); }; -#endif /* ACE_HAS_USING_KEYWORD */ - -class ExceptionDef; -typedef ExceptionDef *ExceptionDef_ptr; -// Forward Classes Declaration -class _TAO_ExceptionDef_ThruPOA_Proxy_Impl; -class _TAO_ExceptionDef_Strategized_Proxy_Broker; -class ExceptionDef : public virtual Contained, public virtual Container -{ -protected: - ExceptionDef (void); +// +// ThruPOA Proxy Impl. Declaration +/////////////////////////////////////////////////////////////////////// -public: - ExceptionDef (const ExceptionDef& rhs); - virtual ~ExceptionDef (void); +#if defined (ACE_HAS_USING_KEYWORD) + // TIE class: Refer to CORBA v2.2, Section 20.34.4 + template + class AttributeDef_tie : public AttributeDef + { + public: + AttributeDef_tie (T &t); + // the T& ctor + AttributeDef_tie (T &t, PortableServer::POA_ptr poa); + // ctor taking a POA + AttributeDef_tie (T *tp, CORBA::Boolean release=1); + // ctor taking pointer and an ownership flag + AttributeDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1); + // ctor with T*, ownership flag and a POA + ~AttributeDef_tie (void); + // dtor + + // TIE specific functions + T *_tied_object (void); + // return the underlying object + void _tied_object (T &obj); + // set the underlying object + void _tied_object (T *obj, CORBA::Boolean release=1); + // set the underlying object and the ownership flag + CORBA::Boolean _is_owner (void); + // do we own it + void _is_owner (CORBA::Boolean b); + // set the ownership + + // overridden ServantBase operations + PortableServer::POA_ptr _default_POA ( + CORBA::Environment &env = + TAO_default_environment () + ); + CORBA::TypeCode_ptr type ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); + IR_IDLType_ptr type_def ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual CORBA::Boolean _is_a ( - const char* logical_type_id, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + void type_def ( + IR_IDLType_ptr type_def, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual void* _downcast ( - const char* logical_type_id - ); + IR_AttributeMode mode ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _is_a_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + void mode ( + IR_AttributeMode mode, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _non_existent_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + char * id ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual void _dispatch ( - TAO_ServerRequest &_tao_req, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + void id ( + const char * id, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - ::IR::ExceptionDef *_this ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + char * name ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual const char* _interface_repository_id (void) const; + void name ( + const char * name, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual CORBA::TypeCode_ptr type ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; - - static void _get_type_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + char * version ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual IR::StructMemberSeq * members ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + void version ( + const char * version, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _get_members_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_Container_ptr defined_in ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual void members ( - const IR::StructMemberSeq & members, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + char * absolute_name ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _set_members_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_Repository_ptr containing_repository ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _get_id_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_Contained::Description * describe ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _set_id_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + void move ( + IR_Container_ptr new_container, + const char * new_name, + const char * new_version, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _get_name_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_DefinitionKind def_kind ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _set_name_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + void destroy ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _get_version_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); +private: + T *ptr_; + PortableServer::POA_var poa_; + CORBA::Boolean rel_; - static void _set_version_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + // copy and assignment are not allowed + AttributeDef_tie (const AttributeDef_tie &); + void operator= (const AttributeDef_tie &); + }; - static void _get_defined_in_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); +#endif /* ACE_HAS_USING_KEYWORD */ - static void _get_absolute_name_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + class OperationDef; + typedef OperationDef *OperationDef_ptr; + // Forward Classes Declaration + class _TAO_OperationDef_ThruPOA_Proxy_Impl; + class _TAO_OperationDef_Strategized_Proxy_Broker; - static void _get_containing_repository_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + class OperationDef : public virtual Contained + { + protected: + OperationDef (void); - static void describe_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + public: + OperationDef (const OperationDef& rhs); + virtual ~OperationDef (void); - static void move_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - static void lookup_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual CORBA::Boolean _is_a ( + const char* logical_type_id, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void contents_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual void* _downcast ( + const char* logical_type_id + ); - static void lookup_name_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _is_a_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void describe_contents_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _non_existent_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void create_module_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual void _dispatch ( + TAO_ServerRequest &_tao_req, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void create_constant_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_OperationDef *_this ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void create_struct_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual const char* _interface_repository_id (void) const; - static void create_union_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual CORBA::TypeCode_ptr result ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; - static void create_enum_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _get_result_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void create_alias_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual IR_IDLType_ptr result_def ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; - static void create_interface_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _get_result_def_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void create_value_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual void result_def ( + IR_IDLType_ptr result_def, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; - static void create_value_box_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void create_exception_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _set_result_def_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void create_native_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual IR_ParDescriptionSeq * params ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; - static void _get_def_kind_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _get_params_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void destroy_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual void params ( + const IR_ParDescriptionSeq & params, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; - -#if (TAO_HAS_INTERCEPTORS == 1) - // Generation of interceptors related RequestInfo classes per operation. - // This needed to be able to store the arguments, exceptions, contexts - // and build the lists dynamically on demand so that unnecessary time overhead - // of building these lists when they arent used is avoided. - class TAO_ServerRequestInfo_IR_ExceptionDef_type_get : public TAO_ServerRequestInfo - { - public: - friend class POA_IR::ExceptionDef; - TAO_ServerRequestInfo_IR_ExceptionDef_type_get ( - TAO_ServerRequest &_tao_server_request, - POA_IR::ExceptionDef *tao_impl - , - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _set_params_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - virtual Dynamic::ParameterList * arguments ( + virtual IR_OperationMode mode ( CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; + + static void _get_mode_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( + ); + + virtual void mode ( + IR_OperationMode mode, CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - - private: - TAO_ServerRequestInfo_IR_ExceptionDef_type_get (const TAO_ServerRequestInfo_IR_ExceptionDef_type_get &); - void operator= (const TAO_ServerRequestInfo_IR_ExceptionDef_type_get &); - - private: - POA_IR::ExceptionDef *_tao_impl; - void result (CORBA::TypeCode_ptr result); - // update the result -CORBA::TypeCode_ptr _result; -}; - -class TAO_ServerRequestInfo_IR_ExceptionDef_members_get : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::ExceptionDef; - TAO_ServerRequestInfo_IR_ExceptionDef_members_get ( - TAO_ServerRequest &_tao_server_request, - POA_IR::ExceptionDef *tao_impl - , - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_ExceptionDef_members_get (const TAO_ServerRequestInfo_IR_ExceptionDef_members_get &); - void operator= (const TAO_ServerRequestInfo_IR_ExceptionDef_members_get &); - -private: - POA_IR::ExceptionDef *_tao_impl; - void result (IR::StructMemberSeq * result); - // update the result -IR::StructMemberSeq * _result; -}; + static void _set_mode_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); -class TAO_ServerRequestInfo_IR_ExceptionDef_members_set : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::ExceptionDef; - TAO_ServerRequestInfo_IR_ExceptionDef_members_set ( - TAO_ServerRequest &_tao_server_request, - POA_IR::ExceptionDef *tao_impl - , - const IR::StructMemberSeq & members, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual IR_ContextIdSeq * contexts ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_ExceptionDef_members_set (const TAO_ServerRequestInfo_IR_ExceptionDef_members_set &); - void operator= (const TAO_ServerRequestInfo_IR_ExceptionDef_members_set &); - -private: - POA_IR::ExceptionDef *_tao_impl; - const IR::StructMemberSeq & members_; -}; + static void _get_contexts_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); -#endif /* TAO_HAS_INTERCEPTORS */ + virtual void contexts ( + const IR_ContextIdSeq & contexts, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; -}; + static void _set_contexts_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); + virtual IR_ExceptionDefSeq * exceptions ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; -/////////////////////////////////////////////////////////////////////// -// Strategized Proxy Broker Declaration -// + static void _get_exceptions_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); -class _TAO_ExceptionDef_Strategized_Proxy_Broker : public virtual ::IR::_TAO_ExceptionDef_Proxy_Broker -{ -public: - _TAO_ExceptionDef_Strategized_Proxy_Broker (void); - - virtual ~_TAO_ExceptionDef_Strategized_Proxy_Broker (void); - - virtual ::IR::_TAO_ExceptionDef_Proxy_Impl &select_proxy ( - ::IR::ExceptionDef *object, - CORBA_Environment &ACE_TRY_ENV = TAO_default_environment () - ); + virtual void exceptions ( + const IR_ExceptionDefSeq & exceptions, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; -private: + static void _set_exceptions_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); -// Helper methods that takes care to create the proxy -// as soon as their use is necessary. - void create_proxy ( - TAO_ORB_Core::TAO_Collocation_Strategies strategy, - CORBA::Environment &ACE_TRY_ENV - ); + static void _get_id_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); -private: - - // Caches the proxy implementations. The proxy implementation - // are totally stateless, and those can be shared by all the - // instances of a given IDL interface type. - ::IR::_TAO_ExceptionDef_Proxy_Impl - *proxy_cache_[TAO_ORB_Core::COLLOCATION_STRATEGIES_NUM]; - - TAO_SYNCH_MUTEX mutex_; -// This funxtion is used to get an handle to the unique instance -// of the Strategized Proxy Broker that is available for a given -// interface. + static void _set_id_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); -public: - static _TAO_ExceptionDef_Strategized_Proxy_Broker *the_TAO_ExceptionDef_Strategized_Proxy_Broker (void); -}; + static void _get_name_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + static void _set_name_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); -// -// End Strategized Proxy Broker Declaration -/////////////////////////////////////////////////////////////////////// + static void _get_version_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + static void _set_version_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); -/////////////////////////////////////////////////////////////////////// -// ThruPOA Impl. Declaration -// + static void _get_defined_in_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); -class _TAO_ExceptionDef_ThruPOA_Proxy_Impl : - public virtual ::IR::_TAO_ExceptionDef_Proxy_Impl, - public virtual TAO_ThruPOA_Object_Proxy_Impl, - public virtual ::POA_IR::_TAO_Contained_ThruPOA_Proxy_Impl, - public virtual ::POA_IR::_TAO_Container_ThruPOA_Proxy_Impl - -{ -public: - _TAO_ExceptionDef_ThruPOA_Proxy_Impl (void); - - virtual ~_TAO_ExceptionDef_ThruPOA_Proxy_Impl (void) { } - - virtual CORBA::TypeCode_ptr type ( - CORBA_Object *_collocated_tao_target_, - CORBA::Environment &ACE_TRY_ENV - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + static void _get_absolute_name_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - virtual IR::StructMemberSeq * members ( - CORBA_Object *_collocated_tao_target_, - CORBA::Environment &ACE_TRY_ENV - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + static void _get_containing_repository_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - virtual void members ( - CORBA_Object *_collocated_tao_target_, - const IR::StructMemberSeq & members, - CORBA::Environment &ACE_TRY_ENV - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + static void describe_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); -}; + static void move_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + static void _get_def_kind_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); -// -// ThruPOA Proxy Impl. Declaration -/////////////////////////////////////////////////////////////////////// + static void destroy_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + }; +/////////////////////////////////////////////////////////////////////// +// Strategized Proxy Broker Declaration +// -#if defined (ACE_HAS_USING_KEYWORD) -// TIE class: Refer to CORBA v2.2, Section 20.34.4 -template -class ExceptionDef_tie : public ExceptionDef +class _TAO_OperationDef_Strategized_Proxy_Broker : public virtual _TAO_OperationDef_Proxy_Broker { -public: - ExceptionDef_tie (T &t); - // the T& ctor - ExceptionDef_tie (T &t, PortableServer::POA_ptr poa); - // ctor taking a POA - ExceptionDef_tie (T *tp, CORBA::Boolean release=1); - // ctor taking pointer and an ownership flag - ExceptionDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1); - // ctor with T*, ownership flag and a POA - ~ExceptionDef_tie (void); - // dtor - - // TIE specific functions - T *_tied_object (void); - // return the underlying object - void _tied_object (T &obj); - // set the underlying object - void _tied_object (T *obj, CORBA::Boolean release=1); - // set the underlying object and the ownership flag - CORBA::Boolean _is_owner (void); - // do we own it - void _is_owner (CORBA::Boolean b); - // set the ownership - - // overridden ServantBase operations - PortableServer::POA_ptr _default_POA ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - CORBA::TypeCode_ptr type ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - IR::StructMemberSeq * members ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); +public: + _TAO_OperationDef_Strategized_Proxy_Broker (void); - void members ( - const IR::StructMemberSeq & members, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + virtual ~_TAO_OperationDef_Strategized_Proxy_Broker (void); - char * id ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + virtual _TAO_OperationDef_Proxy_Impl &select_proxy ( + IR_OperationDef *object, + CORBA_Environment &ACE_TRY_ENV = TAO_default_environment () + ); - void id ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); +private: - char * name ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); +// Helper methods that takes care to create the proxy +// as soon as their use is necessary. + void create_proxy ( + TAO_ORB_Core::TAO_Collocation_Strategies strategy, + CORBA::Environment &ACE_TRY_ENV + ); - void name ( - const char * name, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); +private: + + // Caches the proxy implementations. The proxy implementation + // are totally stateless, and those can be shared by all the + // instances of a given IDL interface type. + _TAO_OperationDef_Proxy_Impl + *proxy_cache_[TAO_ORB_Core::COLLOCATION_STRATEGIES_NUM]; + + TAO_SYNCH_MUTEX mutex_; +// This funxtion is used to get an handle to the unique instance +// of the Strategized Proxy Broker that is available for a given +// interface. - char * version ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); +public: + static _TAO_OperationDef_Strategized_Proxy_Broker *the_TAO_OperationDef_Strategized_Proxy_Broker (void); +}; - void version ( - const char * version, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); +// +// End Strategized Proxy Broker Declaration +/////////////////////////////////////////////////////////////////////// - IR::Container_ptr defined_in ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - char * absolute_name ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); +/////////////////////////////////////////////////////////////////////// +// ThruPOA Impl. Declaration +// - IR::Repository_ptr containing_repository ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () +class _TAO_OperationDef_ThruPOA_Proxy_Impl : + public virtual _TAO_OperationDef_Proxy_Impl, + public virtual TAO_ThruPOA_Object_Proxy_Impl, + public virtual ::POA_IR::_TAO_Contained_ThruPOA_Proxy_Impl + +{ +public: + _TAO_OperationDef_ThruPOA_Proxy_Impl (void); + + virtual ~_TAO_OperationDef_ThruPOA_Proxy_Impl (void); + + virtual CORBA::TypeCode_ptr result ( + CORBA_Object *_collocated_tao_target_, + CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException )); - IR::Contained::Description * describe ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () + virtual IR_IDLType_ptr result_def ( + CORBA_Object *_collocated_tao_target_, + CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException )); - void move ( - IR::Container_ptr new_container, - const char * new_name, - const char * new_version, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () + virtual void result_def ( + CORBA_Object *_collocated_tao_target_, + IR_IDLType_ptr result_def, + CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException )); - IR::Contained_ptr lookup ( - const char * search_name, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () + virtual IR_ParDescriptionSeq * params ( + CORBA_Object *_collocated_tao_target_, + CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException )); - IR::ContainedSeq * contents ( - IR::DefinitionKind limit_type, - CORBA::Boolean exclude_inherited, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () + virtual void params ( + CORBA_Object *_collocated_tao_target_, + const IR_ParDescriptionSeq & params, + CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException )); - IR::ContainedSeq * lookup_name ( - const char * search_name, - CORBA::Long levels_to_search, - IR::DefinitionKind limit_type, - CORBA::Boolean exclude_inherited, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () + virtual IR_OperationMode mode ( + CORBA_Object *_collocated_tao_target_, + CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException )); - IR::Container::DescriptionSeq * describe_contents ( - IR::DefinitionKind limit_type, - CORBA::Boolean exclude_inherited, - CORBA::Long max_returned_objs, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () + virtual void mode ( + CORBA_Object *_collocated_tao_target_, + IR_OperationMode mode, + CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException )); - IR::ModuleDef_ptr create_module ( - const char * id, - const char * name, - const char * version, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () + virtual IR_ContextIdSeq * contexts ( + CORBA_Object *_collocated_tao_target_, + CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException )); - IR::ConstantDef_ptr create_constant ( - const char * id, - const char * name, - const char * version, - IR::IDLType_ptr type, - const CORBA::Any & value, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () + virtual void contexts ( + CORBA_Object *_collocated_tao_target_, + const IR_ContextIdSeq & contexts, + CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException )); - IR::StructDef_ptr create_struct ( - const char * id, - const char * name, - const char * version, - const IR::StructMemberSeq & members, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () + virtual IR_ExceptionDefSeq * exceptions ( + CORBA_Object *_collocated_tao_target_, + CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException )); - IR::UnionDef_ptr create_union ( - const char * id, - const char * name, - const char * version, - IR::IDLType_ptr discriminator_type, - const IR::UnionMemberSeq & members, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () + virtual void exceptions ( + CORBA_Object *_collocated_tao_target_, + const IR_ExceptionDefSeq & exceptions, + CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException )); - IR::EnumDef_ptr create_enum ( - const char * id, - const char * name, - const char * version, - const IR::EnumMemberSeq & members, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); +}; - IR::AliasDef_ptr create_alias ( - const char * id, - const char * name, - const char * version, - IR::IDLType_ptr original_type, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - IR::InterfaceDef_ptr create_interface ( - const char * id, - const char * name, - const char * version, - const IR::InterfaceDefSeq & base_interfaces, - CORBA::Boolean is_abstract, - CORBA::Boolean is_local, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); +// +// ThruPOA Proxy Impl. Declaration +/////////////////////////////////////////////////////////////////////// - IR::ValueDef_ptr create_value ( - const char * id, - const char * name, - const char * version, - CORBA::Boolean is_custom, - CORBA::Boolean is_abstract, - IR::ValueDef_ptr base_value, - CORBA::Boolean is_truncatable, - const IR::ValueDefSeq & abstract_base_values, - const IR::InterfaceDefSeq & supported_interfaces, - const IR::InitializerSeq & initializers, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); +#if defined (ACE_HAS_USING_KEYWORD) + // TIE class: Refer to CORBA v2.2, Section 20.34.4 + template + class OperationDef_tie : public OperationDef + { + public: + OperationDef_tie (T &t); + // the T& ctor + OperationDef_tie (T &t, PortableServer::POA_ptr poa); + // ctor taking a POA + OperationDef_tie (T *tp, CORBA::Boolean release=1); + // ctor taking pointer and an ownership flag + OperationDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1); + // ctor with T*, ownership flag and a POA + ~OperationDef_tie (void); + // dtor + + // TIE specific functions + T *_tied_object (void); + // return the underlying object + void _tied_object (T &obj); + // set the underlying object + void _tied_object (T *obj, CORBA::Boolean release=1); + // set the underlying object and the ownership flag + CORBA::Boolean _is_owner (void); + // do we own it + void _is_owner (CORBA::Boolean b); + // set the ownership + + // overridden ServantBase operations + PortableServer::POA_ptr _default_POA ( + CORBA::Environment &env = + TAO_default_environment () + ); + CORBA::TypeCode_ptr result ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::ValueBoxDef_ptr create_value_box ( - const char * id, - const char * name, - const char * version, - IR::IDLType_ptr original_type_def, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_IDLType_ptr result_def ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::ExceptionDef_ptr create_exception ( - const char * id, - const char * name, - const char * version, - const IR::StructMemberSeq & members, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + void result_def ( + IR_IDLType_ptr result_def, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::NativeDef_ptr create_native ( - const char * id, - const char * name, - const char * version, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_ParDescriptionSeq * params ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::DefinitionKind def_kind ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + void params ( + const IR_ParDescriptionSeq & params, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - void destroy ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_OperationMode mode ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); -private: - T *ptr_; - PortableServer::POA_var poa_; - CORBA::Boolean rel_; - - // copy and assignment are not allowed - ExceptionDef_tie (const ExceptionDef_tie &); - void operator= (const ExceptionDef_tie &); -}; + void mode ( + IR_OperationMode mode, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); -#endif /* ACE_HAS_USING_KEYWORD */ + IR_ContextIdSeq * contexts ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); -class AttributeDef; -typedef AttributeDef *AttributeDef_ptr; -// Forward Classes Declaration -class _TAO_AttributeDef_ThruPOA_Proxy_Impl; -class _TAO_AttributeDef_Strategized_Proxy_Broker; + void contexts ( + const IR_ContextIdSeq & contexts, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); -class AttributeDef : public virtual Contained -{ -protected: - AttributeDef (void); + IR_ExceptionDefSeq * exceptions ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); -public: - AttributeDef (const AttributeDef& rhs); - virtual ~AttributeDef (void); + void exceptions ( + const IR_ExceptionDefSeq & exceptions, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); + char * id ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual CORBA::Boolean _is_a ( - const char* logical_type_id, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + void id ( + const char * id, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual void* _downcast ( - const char* logical_type_id - ); + char * name ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _is_a_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + void name ( + const char * name, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _non_existent_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + char * version ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual void _dispatch ( - TAO_ServerRequest &_tao_req, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + void version ( + const char * version, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - ::IR::AttributeDef *_this ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_Container_ptr defined_in ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual const char* _interface_repository_id (void) const; + char * absolute_name ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual CORBA::TypeCode_ptr type ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + IR_Repository_ptr containing_repository ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _get_type_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_Contained::Description * describe ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual IR::IDLType_ptr type_def ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + void move ( + IR_Container_ptr new_container, + const char * new_name, + const char * new_version, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _get_type_def_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_DefinitionKind def_kind ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual void type_def ( - IR::IDLType_ptr type_def, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + void destroy ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _set_type_def_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); +private: + T *ptr_; + PortableServer::POA_var poa_; + CORBA::Boolean rel_; - virtual IR::AttributeMode mode ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + // copy and assignment are not allowed + OperationDef_tie (const OperationDef_tie &); + void operator= (const OperationDef_tie &); + }; - static void _get_mode_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); +#endif /* ACE_HAS_USING_KEYWORD */ - virtual void mode ( - IR::AttributeMode mode, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + class InterfaceDef; + typedef InterfaceDef *InterfaceDef_ptr; + // Forward Classes Declaration + class _TAO_InterfaceDef_ThruPOA_Proxy_Impl; + class _TAO_InterfaceDef_Strategized_Proxy_Broker; - static void _set_mode_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + class InterfaceDef : public virtual Container, public virtual Contained, public virtual IDLType + { + protected: + InterfaceDef (void); - static void _get_id_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + public: + InterfaceDef (const InterfaceDef& rhs); + virtual ~InterfaceDef (void); - static void _set_id_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - static void _get_name_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _set_name_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual CORBA::Boolean _is_a ( + const char* logical_type_id, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void _get_version_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual void* _downcast ( + const char* logical_type_id + ); - static void _set_version_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _is_a_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void _get_defined_in_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _non_existent_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void _get_absolute_name_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual void _dispatch ( + TAO_ServerRequest &_tao_req, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void _get_containing_repository_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_InterfaceDef *_this ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void describe_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual const char* _interface_repository_id (void) const; - static void move_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual IR_InterfaceDefSeq * base_interfaces ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; - static void _get_def_kind_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _get_base_interfaces_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void destroy_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual void base_interfaces ( + const IR_InterfaceDefSeq & base_interfaces, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; - -#if (TAO_HAS_INTERCEPTORS == 1) - // Generation of interceptors related RequestInfo classes per operation. - // This needed to be able to store the arguments, exceptions, contexts - // and build the lists dynamically on demand so that unnecessary time overhead - // of building these lists when they arent used is avoided. - class TAO_ServerRequestInfo_IR_AttributeDef_type_get : public TAO_ServerRequestInfo - { - public: - friend class POA_IR::AttributeDef; - TAO_ServerRequestInfo_IR_AttributeDef_type_get ( - TAO_ServerRequest &_tao_server_request, - POA_IR::AttributeDef *tao_impl - , - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _set_base_interfaces_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - virtual Dynamic::ParameterList * arguments ( + virtual CORBA::Boolean is_abstract ( CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; + + static void _get_is_abstract_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( + ); + + virtual void is_abstract ( + CORBA::Boolean is_abstract, CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - - private: - TAO_ServerRequestInfo_IR_AttributeDef_type_get (const TAO_ServerRequestInfo_IR_AttributeDef_type_get &); - void operator= (const TAO_ServerRequestInfo_IR_AttributeDef_type_get &); - - private: - POA_IR::AttributeDef *_tao_impl; - void result (CORBA::TypeCode_ptr result); - // update the result -CORBA::TypeCode_ptr _result; -}; + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; -class TAO_ServerRequestInfo_IR_AttributeDef_type_def_get : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::AttributeDef; - TAO_ServerRequestInfo_IR_AttributeDef_type_def_get ( - TAO_ServerRequest &_tao_server_request, - POA_IR::AttributeDef *tao_impl - , - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _set_is_abstract_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_AttributeDef_type_def_get (const TAO_ServerRequestInfo_IR_AttributeDef_type_def_get &); - void operator= (const TAO_ServerRequestInfo_IR_AttributeDef_type_def_get &); - -private: - POA_IR::AttributeDef *_tao_impl; - void result (IR::IDLType_ptr result); - // update the result -IR::IDLType_ptr _result; -}; + virtual CORBA::Boolean is_local ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; -class TAO_ServerRequestInfo_IR_AttributeDef_type_def_set : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::AttributeDef; - TAO_ServerRequestInfo_IR_AttributeDef_type_def_set ( - TAO_ServerRequest &_tao_server_request, - POA_IR::AttributeDef *tao_impl - , - IR::IDLType_ptr type_def, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _get_is_local_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_AttributeDef_type_def_set (const TAO_ServerRequestInfo_IR_AttributeDef_type_def_set &); - void operator= (const TAO_ServerRequestInfo_IR_AttributeDef_type_def_set &); - -private: - POA_IR::AttributeDef *_tao_impl; - IR::IDLType_ptr type_def_; -}; + virtual void is_local ( + CORBA::Boolean is_local, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; -class TAO_ServerRequestInfo_IR_AttributeDef_mode_get : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::AttributeDef; - TAO_ServerRequestInfo_IR_AttributeDef_mode_get ( - TAO_ServerRequest &_tao_server_request, - POA_IR::AttributeDef *tao_impl - , - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _set_is_local_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_AttributeDef_mode_get (const TAO_ServerRequestInfo_IR_AttributeDef_mode_get &); - void operator= (const TAO_ServerRequestInfo_IR_AttributeDef_mode_get &); - -private: - POA_IR::AttributeDef *_tao_impl; - void result (IR::AttributeMode result); - // update the result -IR::AttributeMode _result; -}; + virtual CORBA::Boolean is_a ( + const char * interface_id, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; -class TAO_ServerRequestInfo_IR_AttributeDef_mode_set : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::AttributeDef; - TAO_ServerRequestInfo_IR_AttributeDef_mode_set ( - TAO_ServerRequest &_tao_server_request, - POA_IR::AttributeDef *tao_impl - , - IR::AttributeMode & mode, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void is_a_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_AttributeDef_mode_set (const TAO_ServerRequestInfo_IR_AttributeDef_mode_set &); - void operator= (const TAO_ServerRequestInfo_IR_AttributeDef_mode_set &); - -private: - POA_IR::AttributeDef *_tao_impl; - const IR::AttributeMode & mode_; -}; + virtual IR_AttributeDef_ptr create_attribute ( + const char * id, + const char * name, + const char * version, + IR_IDLType_ptr type, + IR_AttributeMode mode, + const IR_ExceptionDefSeq & get_exceptions, + const IR_ExceptionDefSeq & put_exceptions, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; -#endif /* TAO_HAS_INTERCEPTORS */ + static void create_attribute_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); -}; + virtual IR_OperationDef_ptr create_operation ( + const char * id, + const char * name, + const char * version, + IR_IDLType_ptr result, + IR_OperationMode mode, + const IR_ParDescriptionSeq & params, + const IR_ExceptionDefSeq & exceptions, + const IR_ContextIdSeq & contexts, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; + + static void create_operation_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); + + static void lookup_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void contents_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void lookup_name_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void describe_contents_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void create_module_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void create_constant_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void create_struct_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void create_union_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void create_enum_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void create_alias_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void create_interface_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void create_value_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void create_value_box_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void create_exception_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void create_native_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void _get_id_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void _set_id_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void _get_name_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void _set_name_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void _get_version_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void _set_version_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void _get_defined_in_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void _get_absolute_name_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void _get_containing_repository_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void describe_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void move_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void _get_type_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void _get_def_kind_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + static void destroy_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + }; /////////////////////////////////////////////////////////////////////// // Strategized Proxy Broker Declaration // -class _TAO_AttributeDef_Strategized_Proxy_Broker : public virtual ::IR::_TAO_AttributeDef_Proxy_Broker +class _TAO_InterfaceDef_Strategized_Proxy_Broker : public virtual _TAO_InterfaceDef_Proxy_Broker { public: - _TAO_AttributeDef_Strategized_Proxy_Broker (void); - - virtual ~_TAO_AttributeDef_Strategized_Proxy_Broker (void); - - virtual ::IR::_TAO_AttributeDef_Proxy_Impl &select_proxy ( - ::IR::AttributeDef *object, + _TAO_InterfaceDef_Strategized_Proxy_Broker (void); + + virtual ~_TAO_InterfaceDef_Strategized_Proxy_Broker (void); + + virtual _TAO_InterfaceDef_Proxy_Impl &select_proxy ( + IR_InterfaceDef *object, CORBA_Environment &ACE_TRY_ENV = TAO_default_environment () ); @@ -15742,7 +12595,7 @@ // Caches the proxy implementations. The proxy implementation // are totally stateless, and those can be shared by all the // instances of a given IDL interface type. - ::IR::_TAO_AttributeDef_Proxy_Impl + _TAO_InterfaceDef_Proxy_Impl *proxy_cache_[TAO_ORB_Core::COLLOCATION_STRATEGIES_NUM]; TAO_SYNCH_MUTEX mutex_; @@ -15751,10 +12604,9 @@ // interface. public: - static _TAO_AttributeDef_Strategized_Proxy_Broker *the_TAO_AttributeDef_Strategized_Proxy_Broker (void); + static _TAO_InterfaceDef_Strategized_Proxy_Broker *the_TAO_InterfaceDef_Strategized_Proxy_Broker (void); }; - // // End Strategized Proxy Broker Declaration /////////////////////////////////////////////////////////////////////// @@ -15764,1186 +12616,810 @@ // ThruPOA Impl. Declaration // -class _TAO_AttributeDef_ThruPOA_Proxy_Impl : - public virtual ::IR::_TAO_AttributeDef_Proxy_Impl, +class _TAO_InterfaceDef_ThruPOA_Proxy_Impl : + public virtual _TAO_InterfaceDef_Proxy_Impl, public virtual TAO_ThruPOA_Object_Proxy_Impl, - public virtual ::POA_IR::_TAO_Contained_ThruPOA_Proxy_Impl + public virtual ::POA_IR::_TAO_Container_ThruPOA_Proxy_Impl, + public virtual ::POA_IR::_TAO_Contained_ThruPOA_Proxy_Impl, + public virtual ::POA_IR::_TAO_IDLType_ThruPOA_Proxy_Impl { public: - _TAO_AttributeDef_ThruPOA_Proxy_Impl (void); + _TAO_InterfaceDef_ThruPOA_Proxy_Impl (void); - virtual ~_TAO_AttributeDef_ThruPOA_Proxy_Impl (void) { } + virtual ~_TAO_InterfaceDef_ThruPOA_Proxy_Impl (void); - virtual CORBA::TypeCode_ptr type ( + virtual IR_InterfaceDefSeq * base_interfaces ( CORBA_Object *_collocated_tao_target_, - CORBA::Environment &ACE_TRY_ENV + CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException )); - virtual IR::IDLType_ptr type_def ( + virtual void base_interfaces ( CORBA_Object *_collocated_tao_target_, + const IR_InterfaceDefSeq & base_interfaces, CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException )); - virtual void type_def ( + virtual CORBA::Boolean is_abstract ( CORBA_Object *_collocated_tao_target_, - IR::IDLType_ptr type_def, - CORBA::Environment &ACE_TRY_ENV + CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException )); - virtual IR::AttributeMode mode ( + virtual void is_abstract ( CORBA_Object *_collocated_tao_target_, + CORBA::Boolean is_abstract, CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException )); - virtual void mode ( + virtual CORBA::Boolean is_local ( CORBA_Object *_collocated_tao_target_, - IR::AttributeMode mode, - CORBA::Environment &ACE_TRY_ENV + CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException )); -}; - - -// -// ThruPOA Proxy Impl. Declaration -/////////////////////////////////////////////////////////////////////// - - -#if defined (ACE_HAS_USING_KEYWORD) -// TIE class: Refer to CORBA v2.2, Section 20.34.4 -template -class AttributeDef_tie : public AttributeDef -{ -public: - AttributeDef_tie (T &t); - // the T& ctor - AttributeDef_tie (T &t, PortableServer::POA_ptr poa); - // ctor taking a POA - AttributeDef_tie (T *tp, CORBA::Boolean release=1); - // ctor taking pointer and an ownership flag - AttributeDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1); - // ctor with T*, ownership flag and a POA - ~AttributeDef_tie (void); - // dtor - - // TIE specific functions - T *_tied_object (void); - // return the underlying object - void _tied_object (T &obj); - // set the underlying object - void _tied_object (T *obj, CORBA::Boolean release=1); - // set the underlying object and the ownership flag - CORBA::Boolean _is_owner (void); - // do we own it - void _is_owner (CORBA::Boolean b); - // set the ownership - - // overridden ServantBase operations - PortableServer::POA_ptr _default_POA ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - CORBA::TypeCode_ptr type ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - IR::IDLType_ptr type_def ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - void type_def ( - IR::IDLType_ptr type_def, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - IR::AttributeMode mode ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - void mode ( - IR::AttributeMode mode, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () + virtual void is_local ( + CORBA_Object *_collocated_tao_target_, + CORBA::Boolean is_local, + CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException )); - char * id ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () + virtual CORBA::Boolean is_a ( + CORBA_Object *_collocated_tao_target_, + const char * interface_id, + CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException )); - void id ( + virtual IR_AttributeDef_ptr create_attribute ( + CORBA_Object *_collocated_tao_target_, const char * id, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - char * name ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - void name ( const char * name, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - char * version ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - void version ( const char * version, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () + IR_IDLType_ptr type, + IR_AttributeMode mode, + const IR_ExceptionDefSeq & get_exceptions, + const IR_ExceptionDefSeq & put_exceptions, + CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException )); - IR::Container_ptr defined_in ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () + virtual IR_OperationDef_ptr create_operation ( + CORBA_Object *_collocated_tao_target_, + const char * id, + const char * name, + const char * version, + IR_IDLType_ptr result, + IR_OperationMode mode, + const IR_ParDescriptionSeq & params, + const IR_ExceptionDefSeq & exceptions, + const IR_ContextIdSeq & contexts, + CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException )); - char * absolute_name ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); +}; - IR::Repository_ptr containing_repository ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - IR::Contained::Description * describe ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); +// +// ThruPOA Proxy Impl. Declaration +/////////////////////////////////////////////////////////////////////// - void move ( - IR::Container_ptr new_container, - const char * new_name, - const char * new_version, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); +#if defined (ACE_HAS_USING_KEYWORD) + // TIE class: Refer to CORBA v2.2, Section 20.34.4 + template + class InterfaceDef_tie : public InterfaceDef + { + public: + InterfaceDef_tie (T &t); + // the T& ctor + InterfaceDef_tie (T &t, PortableServer::POA_ptr poa); + // ctor taking a POA + InterfaceDef_tie (T *tp, CORBA::Boolean release=1); + // ctor taking pointer and an ownership flag + InterfaceDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1); + // ctor with T*, ownership flag and a POA + ~InterfaceDef_tie (void); + // dtor + + // TIE specific functions + T *_tied_object (void); + // return the underlying object + void _tied_object (T &obj); + // set the underlying object + void _tied_object (T *obj, CORBA::Boolean release=1); + // set the underlying object and the ownership flag + CORBA::Boolean _is_owner (void); + // do we own it + void _is_owner (CORBA::Boolean b); + // set the ownership + + // overridden ServantBase operations + PortableServer::POA_ptr _default_POA ( + CORBA::Environment &env = + TAO_default_environment () + ); + IR_InterfaceDefSeq * base_interfaces ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::DefinitionKind def_kind ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + void base_interfaces ( + const IR_InterfaceDefSeq & base_interfaces, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - void destroy ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + CORBA::Boolean is_abstract ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); -private: - T *ptr_; - PortableServer::POA_var poa_; - CORBA::Boolean rel_; - - // copy and assignment are not allowed - AttributeDef_tie (const AttributeDef_tie &); - void operator= (const AttributeDef_tie &); -}; + void is_abstract ( + CORBA::Boolean is_abstract, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); -#endif /* ACE_HAS_USING_KEYWORD */ + CORBA::Boolean is_local ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); -class OperationDef; -typedef OperationDef *OperationDef_ptr; -// Forward Classes Declaration -class _TAO_OperationDef_ThruPOA_Proxy_Impl; -class _TAO_OperationDef_Strategized_Proxy_Broker; + void is_local ( + CORBA::Boolean is_local, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); -class OperationDef : public virtual Contained -{ -protected: - OperationDef (void); + CORBA::Boolean is_a ( + const char * interface_id, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); -public: - OperationDef (const OperationDef& rhs); - virtual ~OperationDef (void); + IR_AttributeDef_ptr create_attribute ( + const char * id, + const char * name, + const char * version, + IR_IDLType_ptr type, + IR_AttributeMode mode, + const IR_ExceptionDefSeq & get_exceptions, + const IR_ExceptionDefSeq & put_exceptions, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); + IR_OperationDef_ptr create_operation ( + const char * id, + const char * name, + const char * version, + IR_IDLType_ptr result, + IR_OperationMode mode, + const IR_ParDescriptionSeq & params, + const IR_ExceptionDefSeq & exceptions, + const IR_ContextIdSeq & contexts, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual CORBA::Boolean _is_a ( - const char* logical_type_id, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_Contained_ptr lookup ( + const char * search_name, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual void* _downcast ( - const char* logical_type_id - ); + IR_ContainedSeq * contents ( + IR_DefinitionKind limit_type, + CORBA::Boolean exclude_inherited, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _is_a_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_ContainedSeq * lookup_name ( + const char * search_name, + CORBA::Long levels_to_search, + IR_DefinitionKind limit_type, + CORBA::Boolean exclude_inherited, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _non_existent_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_Container::DescriptionSeq * describe_contents ( + IR_DefinitionKind limit_type, + CORBA::Boolean exclude_inherited, + CORBA::Long max_returned_objs, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual void _dispatch ( - TAO_ServerRequest &_tao_req, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_ModuleDef_ptr create_module ( + const char * id, + const char * name, + const char * version, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - ::IR::OperationDef *_this ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_ConstantDef_ptr create_constant ( + const char * id, + const char * name, + const char * version, + IR_IDLType_ptr type, + const CORBA::Any & value, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual const char* _interface_repository_id (void) const; + IR_StructDef_ptr create_struct ( + const char * id, + const char * name, + const char * version, + const IR_StructMemberSeq & members, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual CORBA::TypeCode_ptr result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + IR_UnionDef_ptr create_union ( + const char * id, + const char * name, + const char * version, + IR_IDLType_ptr discriminator_type, + const IR_UnionMemberSeq & members, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _get_result_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - virtual IR::IDLType_ptr result_def ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + IR_EnumDef_ptr create_enum ( + const char * id, + const char * name, + const char * version, + const IR_EnumMemberSeq & members, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _get_result_def_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_AliasDef_ptr create_alias ( + const char * id, + const char * name, + const char * version, + IR_IDLType_ptr original_type, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual void result_def ( - IR::IDLType_ptr result_def, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + IR_InterfaceDef_ptr create_interface ( + const char * id, + const char * name, + const char * version, + const IR_InterfaceDefSeq & base_interfaces, + CORBA::Boolean is_abstract, + CORBA::Boolean is_local, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _set_result_def_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_ValueDef_ptr create_value ( + const char * id, + const char * name, + const char * version, + CORBA::Boolean is_custom, + CORBA::Boolean is_abstract, + IR_ValueDef_ptr base_value, + CORBA::Boolean is_truncatable, + const IR_ValueDefSeq & abstract_base_values, + const IR_InterfaceDefSeq & supported_interfaces, + const IR_InitializerSeq & initializers, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual IR::ParDescriptionSeq * params ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + IR_ValueBoxDef_ptr create_value_box ( + const char * id, + const char * name, + const char * version, + IR_IDLType_ptr original_type_def, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _get_params_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_ExceptionDef_ptr create_exception ( + const char * id, + const char * name, + const char * version, + const IR_StructMemberSeq & members, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual void params ( - const IR::ParDescriptionSeq & params, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + IR_NativeDef_ptr create_native ( + const char * id, + const char * name, + const char * version, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _set_params_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + char * id ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual IR::OperationMode mode ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + void id ( + const char * id, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _get_mode_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + char * name ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual void mode ( - IR::OperationMode mode, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + void name ( + const char * name, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _set_mode_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + char * version ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual IR::ContextIdSeq * contexts ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + void version ( + const char * version, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _get_contexts_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_Container_ptr defined_in ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual void contexts ( - const IR::ContextIdSeq & contexts, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + char * absolute_name ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _set_contexts_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_Repository_ptr containing_repository ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual IR::ExceptionDefSeq * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + IR_Contained::Description * describe ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _get_exceptions_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + void move ( + IR_Container_ptr new_container, + const char * new_name, + const char * new_version, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual void exceptions ( - const IR::ExceptionDefSeq & exceptions, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + CORBA::TypeCode_ptr type ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _set_exceptions_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_DefinitionKind def_kind ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _get_id_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + void destroy ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _set_id_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); +private: + T *ptr_; + PortableServer::POA_var poa_; + CORBA::Boolean rel_; - static void _get_name_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + // copy and assignment are not allowed + InterfaceDef_tie (const InterfaceDef_tie &); + void operator= (const InterfaceDef_tie &); + }; - static void _set_name_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); +#endif /* ACE_HAS_USING_KEYWORD */ - static void _get_version_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + class ValueMemberDef; + typedef ValueMemberDef *ValueMemberDef_ptr; + // Forward Classes Declaration + class _TAO_ValueMemberDef_ThruPOA_Proxy_Impl; + class _TAO_ValueMemberDef_Strategized_Proxy_Broker; - static void _set_version_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + class ValueMemberDef : public virtual Contained + { + protected: + ValueMemberDef (void); - static void _get_defined_in_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + public: + ValueMemberDef (const ValueMemberDef& rhs); + virtual ~ValueMemberDef (void); - static void _get_absolute_name_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - static void _get_containing_repository_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual CORBA::Boolean _is_a ( + const char* logical_type_id, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void describe_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual void* _downcast ( + const char* logical_type_id + ); - static void move_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _is_a_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void _get_def_kind_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _non_existent_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void destroy_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual void _dispatch ( + TAO_ServerRequest &_tao_req, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - -#if (TAO_HAS_INTERCEPTORS == 1) - // Generation of interceptors related RequestInfo classes per operation. - // This needed to be able to store the arguments, exceptions, contexts - // and build the lists dynamically on demand so that unnecessary time overhead - // of building these lists when they arent used is avoided. - class TAO_ServerRequestInfo_IR_OperationDef_result_get : public TAO_ServerRequestInfo - { - public: - friend class POA_IR::OperationDef; - TAO_ServerRequestInfo_IR_OperationDef_result_get ( - TAO_ServerRequest &_tao_server_request, - POA_IR::OperationDef *tao_impl - , - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_ValueMemberDef *_this ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); + + virtual const char* _interface_repository_id (void) const; - virtual Dynamic::ParameterList * arguments ( + virtual CORBA::TypeCode_ptr type ( CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; + + static void _get_type_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( + ); + + virtual IR_IDLType_ptr type_def ( CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - - private: - TAO_ServerRequestInfo_IR_OperationDef_result_get (const TAO_ServerRequestInfo_IR_OperationDef_result_get &); - void operator= (const TAO_ServerRequestInfo_IR_OperationDef_result_get &); - - private: - POA_IR::OperationDef *_tao_impl; - void result (CORBA::TypeCode_ptr result); - // update the result -CORBA::TypeCode_ptr _result; -}; + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; -class TAO_ServerRequestInfo_IR_OperationDef_result_def_get : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::OperationDef; - TAO_ServerRequestInfo_IR_OperationDef_result_def_get ( - TAO_ServerRequest &_tao_server_request, - POA_IR::OperationDef *tao_impl - , - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _get_type_def_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_OperationDef_result_def_get (const TAO_ServerRequestInfo_IR_OperationDef_result_def_get &); - void operator= (const TAO_ServerRequestInfo_IR_OperationDef_result_def_get &); - -private: - POA_IR::OperationDef *_tao_impl; - void result (IR::IDLType_ptr result); - // update the result -IR::IDLType_ptr _result; -}; + virtual void type_def ( + IR_IDLType_ptr type_def, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; -class TAO_ServerRequestInfo_IR_OperationDef_result_def_set : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::OperationDef; - TAO_ServerRequestInfo_IR_OperationDef_result_def_set ( - TAO_ServerRequest &_tao_server_request, - POA_IR::OperationDef *tao_impl - , - IR::IDLType_ptr result_def, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _set_type_def_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_OperationDef_result_def_set (const TAO_ServerRequestInfo_IR_OperationDef_result_def_set &); - void operator= (const TAO_ServerRequestInfo_IR_OperationDef_result_def_set &); - -private: - POA_IR::OperationDef *_tao_impl; - IR::IDLType_ptr result_def_; -}; + virtual CORBA::Visibility access ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; -class TAO_ServerRequestInfo_IR_OperationDef_params_get : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::OperationDef; - TAO_ServerRequestInfo_IR_OperationDef_params_get ( - TAO_ServerRequest &_tao_server_request, - POA_IR::OperationDef *tao_impl - , - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _get_access_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_OperationDef_params_get (const TAO_ServerRequestInfo_IR_OperationDef_params_get &); - void operator= (const TAO_ServerRequestInfo_IR_OperationDef_params_get &); - -private: - POA_IR::OperationDef *_tao_impl; - void result (IR::ParDescriptionSeq * result); - // update the result -IR::ParDescriptionSeq * _result; -}; + virtual void access ( + CORBA::Visibility access, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; -class TAO_ServerRequestInfo_IR_OperationDef_params_set : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::OperationDef; - TAO_ServerRequestInfo_IR_OperationDef_params_set ( - TAO_ServerRequest &_tao_server_request, - POA_IR::OperationDef *tao_impl - , - const IR::ParDescriptionSeq & params, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _set_access_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_OperationDef_params_set (const TAO_ServerRequestInfo_IR_OperationDef_params_set &); - void operator= (const TAO_ServerRequestInfo_IR_OperationDef_params_set &); - -private: - POA_IR::OperationDef *_tao_impl; - const IR::ParDescriptionSeq & params_; -}; + static void _get_id_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); -class TAO_ServerRequestInfo_IR_OperationDef_mode_get : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::OperationDef; - TAO_ServerRequestInfo_IR_OperationDef_mode_get ( - TAO_ServerRequest &_tao_server_request, - POA_IR::OperationDef *tao_impl - , - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _set_id_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_OperationDef_mode_get (const TAO_ServerRequestInfo_IR_OperationDef_mode_get &); - void operator= (const TAO_ServerRequestInfo_IR_OperationDef_mode_get &); - -private: - POA_IR::OperationDef *_tao_impl; - void result (IR::OperationMode result); - // update the result -IR::OperationMode _result; -}; + static void _get_name_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); -class TAO_ServerRequestInfo_IR_OperationDef_mode_set : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::OperationDef; - TAO_ServerRequestInfo_IR_OperationDef_mode_set ( - TAO_ServerRequest &_tao_server_request, - POA_IR::OperationDef *tao_impl - , - IR::OperationMode & mode, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_OperationDef_mode_set (const TAO_ServerRequestInfo_IR_OperationDef_mode_set &); - void operator= (const TAO_ServerRequestInfo_IR_OperationDef_mode_set &); - -private: - POA_IR::OperationDef *_tao_impl; - const IR::OperationMode & mode_; -}; - -class TAO_ServerRequestInfo_IR_OperationDef_contexts_get : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::OperationDef; - TAO_ServerRequestInfo_IR_OperationDef_contexts_get ( - TAO_ServerRequest &_tao_server_request, - POA_IR::OperationDef *tao_impl - , - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_OperationDef_contexts_get (const TAO_ServerRequestInfo_IR_OperationDef_contexts_get &); - void operator= (const TAO_ServerRequestInfo_IR_OperationDef_contexts_get &); - -private: - POA_IR::OperationDef *_tao_impl; - void result (IR::ContextIdSeq * result); - // update the result -IR::ContextIdSeq * _result; -}; + static void _set_name_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); -class TAO_ServerRequestInfo_IR_OperationDef_contexts_set : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::OperationDef; - TAO_ServerRequestInfo_IR_OperationDef_contexts_set ( - TAO_ServerRequest &_tao_server_request, - POA_IR::OperationDef *tao_impl - , - const IR::ContextIdSeq & contexts, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _get_version_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_OperationDef_contexts_set (const TAO_ServerRequestInfo_IR_OperationDef_contexts_set &); - void operator= (const TAO_ServerRequestInfo_IR_OperationDef_contexts_set &); - -private: - POA_IR::OperationDef *_tao_impl; - const IR::ContextIdSeq & contexts_; -}; + static void _set_version_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); -class TAO_ServerRequestInfo_IR_OperationDef_exceptions_get : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::OperationDef; - TAO_ServerRequestInfo_IR_OperationDef_exceptions_get ( - TAO_ServerRequest &_tao_server_request, - POA_IR::OperationDef *tao_impl - , - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _get_defined_in_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_OperationDef_exceptions_get (const TAO_ServerRequestInfo_IR_OperationDef_exceptions_get &); - void operator= (const TAO_ServerRequestInfo_IR_OperationDef_exceptions_get &); - -private: - POA_IR::OperationDef *_tao_impl; - void result (IR::ExceptionDefSeq * result); - // update the result -IR::ExceptionDefSeq * _result; -}; + static void _get_absolute_name_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); -class TAO_ServerRequestInfo_IR_OperationDef_exceptions_set : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::OperationDef; - TAO_ServerRequestInfo_IR_OperationDef_exceptions_set ( - TAO_ServerRequest &_tao_server_request, - POA_IR::OperationDef *tao_impl - , - const IR::ExceptionDefSeq & exceptions, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _get_containing_repository_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_OperationDef_exceptions_set (const TAO_ServerRequestInfo_IR_OperationDef_exceptions_set &); - void operator= (const TAO_ServerRequestInfo_IR_OperationDef_exceptions_set &); - -private: - POA_IR::OperationDef *_tao_impl; - const IR::ExceptionDefSeq & exceptions_; -}; + static void describe_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); -#endif /* TAO_HAS_INTERCEPTORS */ + static void move_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); -}; + static void _get_def_kind_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + static void destroy_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + }; /////////////////////////////////////////////////////////////////////// // Strategized Proxy Broker Declaration // -class _TAO_OperationDef_Strategized_Proxy_Broker : public virtual ::IR::_TAO_OperationDef_Proxy_Broker +class _TAO_ValueMemberDef_Strategized_Proxy_Broker : public virtual _TAO_ValueMemberDef_Proxy_Broker { public: - _TAO_OperationDef_Strategized_Proxy_Broker (void); - - virtual ~_TAO_OperationDef_Strategized_Proxy_Broker (void); - - virtual ::IR::_TAO_OperationDef_Proxy_Impl &select_proxy ( - ::IR::OperationDef *object, + _TAO_ValueMemberDef_Strategized_Proxy_Broker (void); + + virtual ~_TAO_ValueMemberDef_Strategized_Proxy_Broker (void); + + virtual _TAO_ValueMemberDef_Proxy_Impl &select_proxy ( + IR_ValueMemberDef *object, CORBA_Environment &ACE_TRY_ENV = TAO_default_environment () ); @@ -16961,7 +13437,7 @@ // Caches the proxy implementations. The proxy implementation // are totally stateless, and those can be shared by all the // instances of a given IDL interface type. - ::IR::_TAO_OperationDef_Proxy_Impl + _TAO_ValueMemberDef_Proxy_Impl *proxy_cache_[TAO_ORB_Core::COLLOCATION_STRATEGIES_NUM]; TAO_SYNCH_MUTEX mutex_; @@ -16970,10 +13446,9 @@ // interface. public: - static _TAO_OperationDef_Strategized_Proxy_Broker *the_TAO_OperationDef_Strategized_Proxy_Broker (void); + static _TAO_ValueMemberDef_Strategized_Proxy_Broker *the_TAO_ValueMemberDef_Strategized_Proxy_Broker (void); }; - // // End Strategized Proxy Broker Declaration /////////////////////////////////////////////////////////////////////// @@ -16983,104 +13458,53 @@ // ThruPOA Impl. Declaration // -class _TAO_OperationDef_ThruPOA_Proxy_Impl : - public virtual ::IR::_TAO_OperationDef_Proxy_Impl, +class _TAO_ValueMemberDef_ThruPOA_Proxy_Impl : + public virtual _TAO_ValueMemberDef_Proxy_Impl, public virtual TAO_ThruPOA_Object_Proxy_Impl, public virtual ::POA_IR::_TAO_Contained_ThruPOA_Proxy_Impl { public: - _TAO_OperationDef_ThruPOA_Proxy_Impl (void); + _TAO_ValueMemberDef_ThruPOA_Proxy_Impl (void); - virtual ~_TAO_OperationDef_ThruPOA_Proxy_Impl (void) { } + virtual ~_TAO_ValueMemberDef_ThruPOA_Proxy_Impl (void); - virtual CORBA::TypeCode_ptr result ( - CORBA_Object *_collocated_tao_target_, - CORBA::Environment &ACE_TRY_ENV - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - virtual IR::IDLType_ptr result_def ( - CORBA_Object *_collocated_tao_target_, - CORBA::Environment &ACE_TRY_ENV - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - virtual void result_def ( - CORBA_Object *_collocated_tao_target_, - IR::IDLType_ptr result_def, - CORBA::Environment &ACE_TRY_ENV - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - virtual IR::ParDescriptionSeq * params ( - CORBA_Object *_collocated_tao_target_, - CORBA::Environment &ACE_TRY_ENV - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - virtual void params ( - CORBA_Object *_collocated_tao_target_, - const IR::ParDescriptionSeq & params, - CORBA::Environment &ACE_TRY_ENV - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - virtual IR::OperationMode mode ( - CORBA_Object *_collocated_tao_target_, - CORBA::Environment &ACE_TRY_ENV - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - virtual void mode ( + virtual CORBA::TypeCode_ptr type ( CORBA_Object *_collocated_tao_target_, - IR::OperationMode mode, - CORBA::Environment &ACE_TRY_ENV + CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException )); - virtual IR::ContextIdSeq * contexts ( + virtual IR_IDLType_ptr type_def ( CORBA_Object *_collocated_tao_target_, - CORBA::Environment &ACE_TRY_ENV + CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException )); - virtual void contexts ( + virtual void type_def ( CORBA_Object *_collocated_tao_target_, - const IR::ContextIdSeq & contexts, + IR_IDLType_ptr type_def, CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException )); - virtual IR::ExceptionDefSeq * exceptions ( + virtual CORBA::Visibility access ( CORBA_Object *_collocated_tao_target_, - CORBA::Environment &ACE_TRY_ENV + CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException )); - virtual void exceptions ( + virtual void access ( CORBA_Object *_collocated_tao_target_, - const IR::ExceptionDefSeq & exceptions, + CORBA::Visibility access, CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( @@ -17094,2326 +13518,1785 @@ // ThruPOA Proxy Impl. Declaration /////////////////////////////////////////////////////////////////////// - #if defined (ACE_HAS_USING_KEYWORD) -// TIE class: Refer to CORBA v2.2, Section 20.34.4 -template -class OperationDef_tie : public OperationDef -{ -public: - OperationDef_tie (T &t); - // the T& ctor - OperationDef_tie (T &t, PortableServer::POA_ptr poa); - // ctor taking a POA - OperationDef_tie (T *tp, CORBA::Boolean release=1); - // ctor taking pointer and an ownership flag - OperationDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1); - // ctor with T*, ownership flag and a POA - ~OperationDef_tie (void); - // dtor - - // TIE specific functions - T *_tied_object (void); - // return the underlying object - void _tied_object (T &obj); - // set the underlying object - void _tied_object (T *obj, CORBA::Boolean release=1); - // set the underlying object and the ownership flag - CORBA::Boolean _is_owner (void); - // do we own it - void _is_owner (CORBA::Boolean b); - // set the ownership - - // overridden ServantBase operations - PortableServer::POA_ptr _default_POA ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - CORBA::TypeCode_ptr result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + // TIE class: Refer to CORBA v2.2, Section 20.34.4 + template + class ValueMemberDef_tie : public ValueMemberDef + { + public: + ValueMemberDef_tie (T &t); + // the T& ctor + ValueMemberDef_tie (T &t, PortableServer::POA_ptr poa); + // ctor taking a POA + ValueMemberDef_tie (T *tp, CORBA::Boolean release=1); + // ctor taking pointer and an ownership flag + ValueMemberDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1); + // ctor with T*, ownership flag and a POA + ~ValueMemberDef_tie (void); + // dtor + + // TIE specific functions + T *_tied_object (void); + // return the underlying object + void _tied_object (T &obj); + // set the underlying object + void _tied_object (T *obj, CORBA::Boolean release=1); + // set the underlying object and the ownership flag + CORBA::Boolean _is_owner (void); + // do we own it + void _is_owner (CORBA::Boolean b); + // set the ownership + + // overridden ServantBase operations + PortableServer::POA_ptr _default_POA ( + CORBA::Environment &env = + TAO_default_environment () + ); + CORBA::TypeCode_ptr type ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::IDLType_ptr result_def ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_IDLType_ptr type_def ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - void result_def ( - IR::IDLType_ptr result_def, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + void type_def ( + IR_IDLType_ptr type_def, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::ParDescriptionSeq * params ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + CORBA::Visibility access ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - void params ( - const IR::ParDescriptionSeq & params, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + void access ( + CORBA::Visibility access, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::OperationMode mode ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + char * id ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - void mode ( - IR::OperationMode mode, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + void id ( + const char * id, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::ContextIdSeq * contexts ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + char * name ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - void contexts ( - const IR::ContextIdSeq & contexts, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + void name ( + const char * name, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::ExceptionDefSeq * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + char * version ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - void exceptions ( - const IR::ExceptionDefSeq & exceptions, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + void version ( + const char * version, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - char * id ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_Container_ptr defined_in ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - void id ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + char * absolute_name ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - char * name ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_Repository_ptr containing_repository ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - void name ( - const char * name, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_Contained::Description * describe ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - char * version ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + void move ( + IR_Container_ptr new_container, + const char * new_name, + const char * new_version, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - void version ( - const char * version, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_DefinitionKind def_kind ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::Container_ptr defined_in ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + void destroy ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - char * absolute_name ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); +private: + T *ptr_; + PortableServer::POA_var poa_; + CORBA::Boolean rel_; - IR::Repository_ptr containing_repository ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + // copy and assignment are not allowed + ValueMemberDef_tie (const ValueMemberDef_tie &); + void operator= (const ValueMemberDef_tie &); + }; - IR::Contained::Description * describe ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); +#endif /* ACE_HAS_USING_KEYWORD */ - void move ( - IR::Container_ptr new_container, - const char * new_name, - const char * new_version, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + class ValueDef; + typedef ValueDef *ValueDef_ptr; + // Forward Classes Declaration + class _TAO_ValueDef_ThruPOA_Proxy_Impl; + class _TAO_ValueDef_Strategized_Proxy_Broker; - IR::DefinitionKind def_kind ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + class ValueDef : public virtual Container, public virtual Contained, public virtual IDLType + { + protected: + ValueDef (void); - void destroy ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + public: + ValueDef (const ValueDef& rhs); + virtual ~ValueDef (void); -private: - T *ptr_; - PortableServer::POA_var poa_; - CORBA::Boolean rel_; - - // copy and assignment are not allowed - OperationDef_tie (const OperationDef_tie &); - void operator= (const OperationDef_tie &); -}; -#endif /* ACE_HAS_USING_KEYWORD */ + virtual CORBA::Boolean _is_a ( + const char* logical_type_id, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); -class InterfaceDef; -typedef InterfaceDef *InterfaceDef_ptr; -// Forward Classes Declaration -class _TAO_InterfaceDef_ThruPOA_Proxy_Impl; -class _TAO_InterfaceDef_Strategized_Proxy_Broker; + virtual void* _downcast ( + const char* logical_type_id + ); -class InterfaceDef : public virtual Container, public virtual Contained, public virtual IDLType -{ -protected: - InterfaceDef (void); + static void _is_a_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); -public: - InterfaceDef (const InterfaceDef& rhs); - virtual ~InterfaceDef (void); + static void _non_existent_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); + virtual void _dispatch ( + TAO_ServerRequest &_tao_req, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - virtual CORBA::Boolean _is_a ( - const char* logical_type_id, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - virtual void* _downcast ( - const char* logical_type_id - ); + IR_ValueDef *_this ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void _is_a_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual const char* _interface_repository_id (void) const; - static void _non_existent_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual IR_InterfaceDefSeq * supported_interfaces ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; - virtual void _dispatch ( - TAO_ServerRequest &_tao_req, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _get_supported_interfaces_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - ::IR::InterfaceDef *_this ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual void supported_interfaces ( + const IR_InterfaceDefSeq & supported_interfaces, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; - virtual const char* _interface_repository_id (void) const; + static void _set_supported_interfaces_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - virtual IR::InterfaceDefSeq * base_interfaces ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + virtual IR_InitializerSeq * initializers ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; - static void _get_base_interfaces_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _get_initializers_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - virtual void base_interfaces ( - const IR::InterfaceDefSeq & base_interfaces, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + virtual void initializers ( + const IR_InitializerSeq & initializers, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; - static void _set_base_interfaces_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _set_initializers_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - virtual CORBA::Boolean is_abstract ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + virtual IR_ValueDef_ptr base_value ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; - static void _get_is_abstract_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _get_base_value_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - virtual void is_abstract ( - CORBA::Boolean is_abstract, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + virtual void base_value ( + IR_ValueDef_ptr base_value, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; - static void _set_is_abstract_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _set_base_value_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - virtual CORBA::Boolean is_local ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + virtual IR_ValueDefSeq * abstract_base_values ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; - static void _get_is_local_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _get_abstract_base_values_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - virtual void is_local ( - CORBA::Boolean is_local, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + virtual void abstract_base_values ( + const IR_ValueDefSeq & abstract_base_values, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; - static void _set_is_local_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _set_abstract_base_values_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - virtual CORBA::Boolean is_a ( - const char * interface_id, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + virtual CORBA::Boolean is_abstract ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; - static void is_a_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _get_is_abstract_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - virtual IR::AttributeDef_ptr create_attribute ( - const char * id, - const char * name, - const char * version, - IR::IDLType_ptr type, - IR::AttributeMode mode, - const IR::ExceptionDefSeq & get_exceptions, - const IR::ExceptionDefSeq & put_exceptions, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + virtual void is_abstract ( + CORBA::Boolean is_abstract, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; - static void create_attribute_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _set_is_abstract_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - virtual IR::OperationDef_ptr create_operation ( - const char * id, - const char * name, - const char * version, - IR::IDLType_ptr result, - IR::OperationMode mode, - const IR::ParDescriptionSeq & params, - const IR::ExceptionDefSeq & exceptions, - const IR::ContextIdSeq & contexts, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + virtual CORBA::Boolean is_custom ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; - static void create_operation_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _get_is_custom_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void lookup_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual void is_custom ( + CORBA::Boolean is_custom, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; - static void contents_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _set_is_custom_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void lookup_name_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual CORBA::Boolean is_truncatable ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; - static void describe_contents_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void create_module_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _get_is_truncatable_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void create_constant_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual void is_truncatable ( + CORBA::Boolean is_truncatable, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; - static void create_struct_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _set_is_truncatable_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void create_union_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual CORBA::Boolean is_a ( + const char * id, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; - static void create_enum_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void is_a_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void create_alias_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual IR_ValueMemberDef_ptr create_value_member ( + const char * id, + const char * name, + const char * version, + IR_IDLType_ptr type, + CORBA::Visibility access, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; - static void create_interface_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void create_value_member_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void create_value_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual IR_AttributeDef_ptr create_attribute ( + const char * id, + const char * name, + const char * version, + IR_IDLType_ptr type, + IR_AttributeMode mode, + const IR_ExceptionDefSeq & get_exceptions, + const IR_ExceptionDefSeq & put_exceptions, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; - static void create_value_box_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void create_attribute_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void create_exception_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual IR_OperationDef_ptr create_operation ( + const char * id, + const char * name, + const char * version, + IR_IDLType_ptr result, + IR_OperationMode mode, + const IR_ParDescriptionSeq & params, + const IR_ExceptionDefSeq & exceptions, + const IR_ContextIdSeq & contexts, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; - static void create_native_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void create_operation_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void _get_id_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void lookup_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void _set_id_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void contents_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void _get_name_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void lookup_name_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void _set_name_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void describe_contents_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void _get_version_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void create_module_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void _set_version_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void create_constant_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void _get_defined_in_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void create_struct_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void _get_absolute_name_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void create_union_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void _get_containing_repository_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void create_enum_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void describe_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void create_alias_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void move_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void create_interface_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void _get_type_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void create_value_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void _get_def_kind_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void create_value_box_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void destroy_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void create_exception_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - -#if (TAO_HAS_INTERCEPTORS == 1) - // Generation of interceptors related RequestInfo classes per operation. - // This needed to be able to store the arguments, exceptions, contexts - // and build the lists dynamically on demand so that unnecessary time overhead - // of building these lists when they arent used is avoided. - class TAO_ServerRequestInfo_IR_InterfaceDef_base_interfaces_get : public TAO_ServerRequestInfo - { - public: - friend class POA_IR::InterfaceDef; - TAO_ServerRequestInfo_IR_InterfaceDef_base_interfaces_get ( - TAO_ServerRequest &_tao_server_request, - POA_IR::InterfaceDef *tao_impl - , - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void create_native_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = + static void _get_id_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = + ); + + static void _set_id_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = + ); + + static void _get_name_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - - private: - TAO_ServerRequestInfo_IR_InterfaceDef_base_interfaces_get (const TAO_ServerRequestInfo_IR_InterfaceDef_base_interfaces_get &); - void operator= (const TAO_ServerRequestInfo_IR_InterfaceDef_base_interfaces_get &); - - private: - POA_IR::InterfaceDef *_tao_impl; - void result (IR::InterfaceDefSeq * result); - // update the result -IR::InterfaceDefSeq * _result; -}; + ); + + static void _set_name_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void _get_version_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void _set_version_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void _get_defined_in_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void _get_absolute_name_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void _get_containing_repository_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void describe_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void move_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void _get_type_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void _get_def_kind_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void destroy_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + }; + +/////////////////////////////////////////////////////////////////////// +// Strategized Proxy Broker Declaration +// -class TAO_ServerRequestInfo_IR_InterfaceDef_base_interfaces_set : public TAO_ServerRequestInfo +class _TAO_ValueDef_Strategized_Proxy_Broker : public virtual _TAO_ValueDef_Proxy_Broker { -public: - friend class POA_IR::InterfaceDef; - TAO_ServerRequestInfo_IR_InterfaceDef_base_interfaces_set ( - TAO_ServerRequest &_tao_server_request, - POA_IR::InterfaceDef *tao_impl - , - const IR::InterfaceDefSeq & base_interfaces, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () +public: + _TAO_ValueDef_Strategized_Proxy_Broker (void); + + virtual ~_TAO_ValueDef_Strategized_Proxy_Broker (void); + + virtual _TAO_ValueDef_Proxy_Impl &select_proxy ( + IR_ValueDef *object, + CORBA_Environment &ACE_TRY_ENV = TAO_default_environment () ); - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_InterfaceDef_base_interfaces_set (const TAO_ServerRequestInfo_IR_InterfaceDef_base_interfaces_set &); - void operator= (const TAO_ServerRequestInfo_IR_InterfaceDef_base_interfaces_set &); - private: - POA_IR::InterfaceDef *_tao_impl; - const IR::InterfaceDefSeq & base_interfaces_; -}; -class TAO_ServerRequestInfo_IR_InterfaceDef_is_abstract_get : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::InterfaceDef; - TAO_ServerRequestInfo_IR_InterfaceDef_is_abstract_get ( - TAO_ServerRequest &_tao_server_request, - POA_IR::InterfaceDef *tao_impl - , - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () +// Helper methods that takes care to create the proxy +// as soon as their use is necessary. + void create_proxy ( + TAO_ORB_Core::TAO_Collocation_Strategies strategy, + CORBA::Environment &ACE_TRY_ENV ); - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - private: - TAO_ServerRequestInfo_IR_InterfaceDef_is_abstract_get (const TAO_ServerRequestInfo_IR_InterfaceDef_is_abstract_get &); - void operator= (const TAO_ServerRequestInfo_IR_InterfaceDef_is_abstract_get &); -private: - POA_IR::InterfaceDef *_tao_impl; - void result (CORBA::Boolean result); - // update the result -CORBA::Boolean _result; + // Caches the proxy implementations. The proxy implementation + // are totally stateless, and those can be shared by all the + // instances of a given IDL interface type. + _TAO_ValueDef_Proxy_Impl + *proxy_cache_[TAO_ORB_Core::COLLOCATION_STRATEGIES_NUM]; + + TAO_SYNCH_MUTEX mutex_; +// This funxtion is used to get an handle to the unique instance +// of the Strategized Proxy Broker that is available for a given +// interface. + +public: + static _TAO_ValueDef_Strategized_Proxy_Broker *the_TAO_ValueDef_Strategized_Proxy_Broker (void); }; -class TAO_ServerRequestInfo_IR_InterfaceDef_is_abstract_set : public TAO_ServerRequestInfo +// +// End Strategized Proxy Broker Declaration +/////////////////////////////////////////////////////////////////////// + + +/////////////////////////////////////////////////////////////////////// +// ThruPOA Impl. Declaration +// + +class _TAO_ValueDef_ThruPOA_Proxy_Impl : + public virtual _TAO_ValueDef_Proxy_Impl, + public virtual TAO_ThruPOA_Object_Proxy_Impl, + public virtual ::POA_IR::_TAO_Container_ThruPOA_Proxy_Impl, + public virtual ::POA_IR::_TAO_Contained_ThruPOA_Proxy_Impl, + public virtual ::POA_IR::_TAO_IDLType_ThruPOA_Proxy_Impl + { public: - friend class POA_IR::InterfaceDef; - TAO_ServerRequestInfo_IR_InterfaceDef_is_abstract_set ( - TAO_ServerRequest &_tao_server_request, - POA_IR::InterfaceDef *tao_impl - , - const CORBA::Boolean & is_abstract, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); + _TAO_ValueDef_ThruPOA_Proxy_Impl (void); - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); + virtual ~_TAO_ValueDef_ThruPOA_Proxy_Impl (void); - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () + virtual IR_InterfaceDefSeq * supported_interfaces ( + CORBA_Object *_collocated_tao_target_, + CORBA::Environment &ACE_TRY_ENV ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_InterfaceDef_is_abstract_set (const TAO_ServerRequestInfo_IR_InterfaceDef_is_abstract_set &); - void operator= (const TAO_ServerRequestInfo_IR_InterfaceDef_is_abstract_set &); - -private: - POA_IR::InterfaceDef *_tao_impl; - const CORBA::Boolean & is_abstract_; -}; - -class TAO_ServerRequestInfo_IR_InterfaceDef_is_local_get : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::InterfaceDef; - TAO_ServerRequestInfo_IR_InterfaceDef_is_local_get ( - TAO_ServerRequest &_tao_server_request, - POA_IR::InterfaceDef *tao_impl - , - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () + virtual void supported_interfaces ( + CORBA_Object *_collocated_tao_target_, + const IR_InterfaceDefSeq & supported_interfaces, + CORBA::Environment &ACE_TRY_ENV ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_InterfaceDef_is_local_get (const TAO_ServerRequestInfo_IR_InterfaceDef_is_local_get &); - void operator= (const TAO_ServerRequestInfo_IR_InterfaceDef_is_local_get &); - -private: - POA_IR::InterfaceDef *_tao_impl; - void result (CORBA::Boolean result); - // update the result -CORBA::Boolean _result; -}; - -class TAO_ServerRequestInfo_IR_InterfaceDef_is_local_set : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::InterfaceDef; - TAO_ServerRequestInfo_IR_InterfaceDef_is_local_set ( - TAO_ServerRequest &_tao_server_request, - POA_IR::InterfaceDef *tao_impl - , - const CORBA::Boolean & is_local, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_InterfaceDef_is_local_set (const TAO_ServerRequestInfo_IR_InterfaceDef_is_local_set &); - void operator= (const TAO_ServerRequestInfo_IR_InterfaceDef_is_local_set &); - -private: - POA_IR::InterfaceDef *_tao_impl; - const CORBA::Boolean & is_local_; -}; - -class TAO_ServerRequestInfo_IR_InterfaceDef_is_a : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::InterfaceDef; - TAO_ServerRequestInfo_IR_InterfaceDef_is_a ( - TAO_ServerRequest &_tao_server_request, - POA_IR::InterfaceDef *tao_impl - , - const char * interface_id, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_InterfaceDef_is_a (const TAO_ServerRequestInfo_IR_InterfaceDef_is_a &); - void operator= (const TAO_ServerRequestInfo_IR_InterfaceDef_is_a &); - -private: - POA_IR::InterfaceDef *_tao_impl; - const char * interface_id_; -void result (CORBA::Boolean result); - // update the result -CORBA::Boolean _result; -}; - -class TAO_ServerRequestInfo_IR_InterfaceDef_create_attribute : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::InterfaceDef; - TAO_ServerRequestInfo_IR_InterfaceDef_create_attribute ( - TAO_ServerRequest &_tao_server_request, - POA_IR::InterfaceDef *tao_impl - , - const char * id, - const char * name, - const char * version, - IR::IDLType_ptr type, - IR::AttributeMode & mode, - const IR::ExceptionDefSeq & get_exceptions, - const IR::ExceptionDefSeq & put_exceptions, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_InterfaceDef_create_attribute (const TAO_ServerRequestInfo_IR_InterfaceDef_create_attribute &); - void operator= (const TAO_ServerRequestInfo_IR_InterfaceDef_create_attribute &); - -private: - POA_IR::InterfaceDef *_tao_impl; - const char * id_; -const char * name_; -const char * version_; -IR::IDLType_ptr type_; -const IR::AttributeMode & mode_; -const IR::ExceptionDefSeq & get_exceptions_; -const IR::ExceptionDefSeq & put_exceptions_; -void result (IR::AttributeDef_ptr result); - // update the result -IR::AttributeDef_ptr _result; -}; - -class TAO_ServerRequestInfo_IR_InterfaceDef_create_operation : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::InterfaceDef; - TAO_ServerRequestInfo_IR_InterfaceDef_create_operation ( - TAO_ServerRequest &_tao_server_request, - POA_IR::InterfaceDef *tao_impl - , - const char * id, - const char * name, - const char * version, - IR::IDLType_ptr result, - IR::OperationMode & mode, - const IR::ParDescriptionSeq & params, - const IR::ExceptionDefSeq & exceptions, - const IR::ContextIdSeq & contexts, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_InterfaceDef_create_operation (const TAO_ServerRequestInfo_IR_InterfaceDef_create_operation &); - void operator= (const TAO_ServerRequestInfo_IR_InterfaceDef_create_operation &); - -private: - POA_IR::InterfaceDef *_tao_impl; - const char * id_; -const char * name_; -const char * version_; -IR::IDLType_ptr result_; -const IR::OperationMode & mode_; -const IR::ParDescriptionSeq & params_; -const IR::ExceptionDefSeq & exceptions_; -const IR::ContextIdSeq & contexts_; -void result (IR::OperationDef_ptr result); - // update the result -IR::OperationDef_ptr _result; -}; - -#endif /* TAO_HAS_INTERCEPTORS */ - -}; - - -/////////////////////////////////////////////////////////////////////// -// Strategized Proxy Broker Declaration -// - -class _TAO_InterfaceDef_Strategized_Proxy_Broker : public virtual ::IR::_TAO_InterfaceDef_Proxy_Broker -{ -public: - _TAO_InterfaceDef_Strategized_Proxy_Broker (void); - - virtual ~_TAO_InterfaceDef_Strategized_Proxy_Broker (void); - - virtual ::IR::_TAO_InterfaceDef_Proxy_Impl &select_proxy ( - ::IR::InterfaceDef *object, - CORBA_Environment &ACE_TRY_ENV = TAO_default_environment () - ); - -private: - -// Helper methods that takes care to create the proxy -// as soon as their use is necessary. - void create_proxy ( - TAO_ORB_Core::TAO_Collocation_Strategies strategy, - CORBA::Environment &ACE_TRY_ENV - ); - -private: - - // Caches the proxy implementations. The proxy implementation - // are totally stateless, and those can be shared by all the - // instances of a given IDL interface type. - ::IR::_TAO_InterfaceDef_Proxy_Impl - *proxy_cache_[TAO_ORB_Core::COLLOCATION_STRATEGIES_NUM]; - - TAO_SYNCH_MUTEX mutex_; -// This funxtion is used to get an handle to the unique instance -// of the Strategized Proxy Broker that is available for a given -// interface. - -public: - static _TAO_InterfaceDef_Strategized_Proxy_Broker *the_TAO_InterfaceDef_Strategized_Proxy_Broker (void); -}; - - -// -// End Strategized Proxy Broker Declaration -/////////////////////////////////////////////////////////////////////// - - -/////////////////////////////////////////////////////////////////////// -// ThruPOA Impl. Declaration -// - -class _TAO_InterfaceDef_ThruPOA_Proxy_Impl : - public virtual ::IR::_TAO_InterfaceDef_Proxy_Impl, - public virtual TAO_ThruPOA_Object_Proxy_Impl, - public virtual ::POA_IR::_TAO_Container_ThruPOA_Proxy_Impl, - public virtual ::POA_IR::_TAO_Contained_ThruPOA_Proxy_Impl, - public virtual ::POA_IR::_TAO_IDLType_ThruPOA_Proxy_Impl - -{ -public: - _TAO_InterfaceDef_ThruPOA_Proxy_Impl (void); - - virtual ~_TAO_InterfaceDef_ThruPOA_Proxy_Impl (void) { } - - virtual IR::InterfaceDefSeq * base_interfaces ( - CORBA_Object *_collocated_tao_target_, - CORBA::Environment &ACE_TRY_ENV + ACE_THROW_SPEC (( + CORBA::SystemException + )); + + virtual IR_InitializerSeq * initializers ( + CORBA_Object *_collocated_tao_target_, + CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException )); - virtual void base_interfaces ( + virtual void initializers ( CORBA_Object *_collocated_tao_target_, - const IR::InterfaceDefSeq & base_interfaces, + const IR_InitializerSeq & initializers, CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException )); - virtual CORBA::Boolean is_abstract ( + virtual IR_ValueDef_ptr base_value ( CORBA_Object *_collocated_tao_target_, - CORBA::Environment &ACE_TRY_ENV + CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException )); - virtual void is_abstract ( + virtual void base_value ( CORBA_Object *_collocated_tao_target_, - CORBA::Boolean is_abstract, + IR_ValueDef_ptr base_value, CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException )); - virtual CORBA::Boolean is_local ( + virtual IR_ValueDefSeq * abstract_base_values ( CORBA_Object *_collocated_tao_target_, - CORBA::Environment &ACE_TRY_ENV + CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException )); - virtual void is_local ( + virtual void abstract_base_values ( CORBA_Object *_collocated_tao_target_, - CORBA::Boolean is_local, + const IR_ValueDefSeq & abstract_base_values, CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException )); - virtual CORBA::Boolean is_a ( + virtual CORBA::Boolean is_abstract ( CORBA_Object *_collocated_tao_target_, - const char * interface_id, - CORBA::Environment &ACE_TRY_ENV + CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException )); - virtual IR::AttributeDef_ptr create_attribute ( + virtual void is_abstract ( CORBA_Object *_collocated_tao_target_, - const char * id, - const char * name, - const char * version, - IR::IDLType_ptr type, - IR::AttributeMode mode, - const IR::ExceptionDefSeq & get_exceptions, - const IR::ExceptionDefSeq & put_exceptions, + CORBA::Boolean is_abstract, CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException )); - virtual IR::OperationDef_ptr create_operation ( + virtual CORBA::Boolean is_custom ( CORBA_Object *_collocated_tao_target_, - const char * id, - const char * name, - const char * version, - IR::IDLType_ptr result, - IR::OperationMode mode, - const IR::ParDescriptionSeq & params, - const IR::ExceptionDefSeq & exceptions, - const IR::ContextIdSeq & contexts, - CORBA::Environment &ACE_TRY_ENV + CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException )); -}; - - -// -// ThruPOA Proxy Impl. Declaration -/////////////////////////////////////////////////////////////////////// - - -#if defined (ACE_HAS_USING_KEYWORD) -// TIE class: Refer to CORBA v2.2, Section 20.34.4 -template -class InterfaceDef_tie : public InterfaceDef -{ -public: - InterfaceDef_tie (T &t); - // the T& ctor - InterfaceDef_tie (T &t, PortableServer::POA_ptr poa); - // ctor taking a POA - InterfaceDef_tie (T *tp, CORBA::Boolean release=1); - // ctor taking pointer and an ownership flag - InterfaceDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1); - // ctor with T*, ownership flag and a POA - ~InterfaceDef_tie (void); - // dtor - - // TIE specific functions - T *_tied_object (void); - // return the underlying object - void _tied_object (T &obj); - // set the underlying object - void _tied_object (T *obj, CORBA::Boolean release=1); - // set the underlying object and the ownership flag - CORBA::Boolean _is_owner (void); - // do we own it - void _is_owner (CORBA::Boolean b); - // set the ownership - - // overridden ServantBase operations - PortableServer::POA_ptr _default_POA ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - IR::InterfaceDefSeq * base_interfaces ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - void base_interfaces ( - const IR::InterfaceDefSeq & base_interfaces, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - CORBA::Boolean is_abstract ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () + virtual void is_custom ( + CORBA_Object *_collocated_tao_target_, + CORBA::Boolean is_custom, + CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException )); - void is_abstract ( - CORBA::Boolean is_abstract, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () + virtual CORBA::Boolean is_truncatable ( + CORBA_Object *_collocated_tao_target_, + CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException )); - CORBA::Boolean is_local ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () + virtual void is_truncatable ( + CORBA_Object *_collocated_tao_target_, + CORBA::Boolean is_truncatable, + CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException )); - void is_local ( - CORBA::Boolean is_local, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () + virtual CORBA::Boolean is_a ( + CORBA_Object *_collocated_tao_target_, + const char * id, + CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException )); - CORBA::Boolean is_a ( - const char * interface_id, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () + virtual IR_ValueMemberDef_ptr create_value_member ( + CORBA_Object *_collocated_tao_target_, + const char * id, + const char * name, + const char * version, + IR_IDLType_ptr type, + CORBA::Visibility access, + CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException )); - IR::AttributeDef_ptr create_attribute ( + virtual IR_AttributeDef_ptr create_attribute ( + CORBA_Object *_collocated_tao_target_, const char * id, const char * name, const char * version, - IR::IDLType_ptr type, - IR::AttributeMode mode, - const IR::ExceptionDefSeq & get_exceptions, - const IR::ExceptionDefSeq & put_exceptions, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () + IR_IDLType_ptr type, + IR_AttributeMode mode, + const IR_ExceptionDefSeq & get_exceptions, + const IR_ExceptionDefSeq & put_exceptions, + CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException )); - IR::OperationDef_ptr create_operation ( + virtual IR_OperationDef_ptr create_operation ( + CORBA_Object *_collocated_tao_target_, const char * id, const char * name, const char * version, - IR::IDLType_ptr result, - IR::OperationMode mode, - const IR::ParDescriptionSeq & params, - const IR::ExceptionDefSeq & exceptions, - const IR::ContextIdSeq & contexts, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () + IR_IDLType_ptr result, + IR_OperationMode mode, + const IR_ParDescriptionSeq & params, + const IR_ExceptionDefSeq & exceptions, + const IR_ContextIdSeq & contexts, + CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException )); - IR::Contained_ptr lookup ( - const char * search_name, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); +}; - IR::ContainedSeq * contents ( - IR::DefinitionKind limit_type, - CORBA::Boolean exclude_inherited, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - IR::ContainedSeq * lookup_name ( - const char * search_name, - CORBA::Long levels_to_search, - IR::DefinitionKind limit_type, - CORBA::Boolean exclude_inherited, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); +// +// ThruPOA Proxy Impl. Declaration +/////////////////////////////////////////////////////////////////////// - IR::Container::DescriptionSeq * describe_contents ( - IR::DefinitionKind limit_type, - CORBA::Boolean exclude_inherited, - CORBA::Long max_returned_objs, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); +#if defined (ACE_HAS_USING_KEYWORD) + // TIE class: Refer to CORBA v2.2, Section 20.34.4 + template + class ValueDef_tie : public ValueDef + { + public: + ValueDef_tie (T &t); + // the T& ctor + ValueDef_tie (T &t, PortableServer::POA_ptr poa); + // ctor taking a POA + ValueDef_tie (T *tp, CORBA::Boolean release=1); + // ctor taking pointer and an ownership flag + ValueDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1); + // ctor with T*, ownership flag and a POA + ~ValueDef_tie (void); + // dtor + + // TIE specific functions + T *_tied_object (void); + // return the underlying object + void _tied_object (T &obj); + // set the underlying object + void _tied_object (T *obj, CORBA::Boolean release=1); + // set the underlying object and the ownership flag + CORBA::Boolean _is_owner (void); + // do we own it + void _is_owner (CORBA::Boolean b); + // set the ownership + + // overridden ServantBase operations + PortableServer::POA_ptr _default_POA ( + CORBA::Environment &env = + TAO_default_environment () + ); + IR_InterfaceDefSeq * supported_interfaces ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::ModuleDef_ptr create_module ( - const char * id, - const char * name, - const char * version, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + void supported_interfaces ( + const IR_InterfaceDefSeq & supported_interfaces, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::ConstantDef_ptr create_constant ( - const char * id, - const char * name, - const char * version, - IR::IDLType_ptr type, - const CORBA::Any & value, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_InitializerSeq * initializers ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::StructDef_ptr create_struct ( - const char * id, - const char * name, - const char * version, - const IR::StructMemberSeq & members, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + void initializers ( + const IR_InitializerSeq & initializers, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::UnionDef_ptr create_union ( - const char * id, - const char * name, - const char * version, - IR::IDLType_ptr discriminator_type, - const IR::UnionMemberSeq & members, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_ValueDef_ptr base_value ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::EnumDef_ptr create_enum ( - const char * id, - const char * name, - const char * version, - const IR::EnumMemberSeq & members, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + void base_value ( + IR_ValueDef_ptr base_value, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::AliasDef_ptr create_alias ( - const char * id, - const char * name, - const char * version, - IR::IDLType_ptr original_type, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_ValueDefSeq * abstract_base_values ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::InterfaceDef_ptr create_interface ( - const char * id, - const char * name, - const char * version, - const IR::InterfaceDefSeq & base_interfaces, - CORBA::Boolean is_abstract, - CORBA::Boolean is_local, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + void abstract_base_values ( + const IR_ValueDefSeq & abstract_base_values, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::ValueDef_ptr create_value ( - const char * id, - const char * name, - const char * version, - CORBA::Boolean is_custom, - CORBA::Boolean is_abstract, - IR::ValueDef_ptr base_value, - CORBA::Boolean is_truncatable, - const IR::ValueDefSeq & abstract_base_values, - const IR::InterfaceDefSeq & supported_interfaces, - const IR::InitializerSeq & initializers, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + CORBA::Boolean is_abstract ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::ValueBoxDef_ptr create_value_box ( - const char * id, - const char * name, - const char * version, - IR::IDLType_ptr original_type_def, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + void is_abstract ( + CORBA::Boolean is_abstract, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::ExceptionDef_ptr create_exception ( - const char * id, - const char * name, - const char * version, - const IR::StructMemberSeq & members, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + CORBA::Boolean is_custom ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::NativeDef_ptr create_native ( - const char * id, - const char * name, - const char * version, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + void is_custom ( + CORBA::Boolean is_custom, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - char * id ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + CORBA::Boolean is_truncatable ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - void id ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + void is_truncatable ( + CORBA::Boolean is_truncatable, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - char * name ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + CORBA::Boolean is_a ( + const char * id, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - void name ( - const char * name, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_ValueMemberDef_ptr create_value_member ( + const char * id, + const char * name, + const char * version, + IR_IDLType_ptr type, + CORBA::Visibility access, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - char * version ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_AttributeDef_ptr create_attribute ( + const char * id, + const char * name, + const char * version, + IR_IDLType_ptr type, + IR_AttributeMode mode, + const IR_ExceptionDefSeq & get_exceptions, + const IR_ExceptionDefSeq & put_exceptions, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - void version ( - const char * version, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_OperationDef_ptr create_operation ( + const char * id, + const char * name, + const char * version, + IR_IDLType_ptr result, + IR_OperationMode mode, + const IR_ParDescriptionSeq & params, + const IR_ExceptionDefSeq & exceptions, + const IR_ContextIdSeq & contexts, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::Container_ptr defined_in ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - char * absolute_name ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_Contained_ptr lookup ( + const char * search_name, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::Repository_ptr containing_repository ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_ContainedSeq * contents ( + IR_DefinitionKind limit_type, + CORBA::Boolean exclude_inherited, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::Contained::Description * describe ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_ContainedSeq * lookup_name ( + const char * search_name, + CORBA::Long levels_to_search, + IR_DefinitionKind limit_type, + CORBA::Boolean exclude_inherited, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - void move ( - IR::Container_ptr new_container, - const char * new_name, - const char * new_version, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_Container::DescriptionSeq * describe_contents ( + IR_DefinitionKind limit_type, + CORBA::Boolean exclude_inherited, + CORBA::Long max_returned_objs, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - CORBA::TypeCode_ptr type ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_ModuleDef_ptr create_module ( + const char * id, + const char * name, + const char * version, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::DefinitionKind def_kind ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_ConstantDef_ptr create_constant ( + const char * id, + const char * name, + const char * version, + IR_IDLType_ptr type, + const CORBA::Any & value, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - void destroy ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_StructDef_ptr create_struct ( + const char * id, + const char * name, + const char * version, + const IR_StructMemberSeq & members, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); -private: - T *ptr_; - PortableServer::POA_var poa_; - CORBA::Boolean rel_; - - // copy and assignment are not allowed - InterfaceDef_tie (const InterfaceDef_tie &); - void operator= (const InterfaceDef_tie &); -}; + IR_UnionDef_ptr create_union ( + const char * id, + const char * name, + const char * version, + IR_IDLType_ptr discriminator_type, + const IR_UnionMemberSeq & members, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); -#endif /* ACE_HAS_USING_KEYWORD */ + IR_EnumDef_ptr create_enum ( + const char * id, + const char * name, + const char * version, + const IR_EnumMemberSeq & members, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); -class ValueMemberDef; -typedef ValueMemberDef *ValueMemberDef_ptr; -// Forward Classes Declaration -class _TAO_ValueMemberDef_ThruPOA_Proxy_Impl; -class _TAO_ValueMemberDef_Strategized_Proxy_Broker; + IR_AliasDef_ptr create_alias ( + const char * id, + const char * name, + const char * version, + IR_IDLType_ptr original_type, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); -class ValueMemberDef : public virtual Contained -{ -protected: - ValueMemberDef (void); + IR_InterfaceDef_ptr create_interface ( + const char * id, + const char * name, + const char * version, + const IR_InterfaceDefSeq & base_interfaces, + CORBA::Boolean is_abstract, + CORBA::Boolean is_local, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); -public: - ValueMemberDef (const ValueMemberDef& rhs); - virtual ~ValueMemberDef (void); + IR_ValueDef_ptr create_value ( + const char * id, + const char * name, + const char * version, + CORBA::Boolean is_custom, + CORBA::Boolean is_abstract, + IR_ValueDef_ptr base_value, + CORBA::Boolean is_truncatable, + const IR_ValueDefSeq & abstract_base_values, + const IR_InterfaceDefSeq & supported_interfaces, + const IR_InitializerSeq & initializers, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); + IR_ValueBoxDef_ptr create_value_box ( + const char * id, + const char * name, + const char * version, + IR_IDLType_ptr original_type_def, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual CORBA::Boolean _is_a ( - const char* logical_type_id, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_ExceptionDef_ptr create_exception ( + const char * id, + const char * name, + const char * version, + const IR_StructMemberSeq & members, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual void* _downcast ( - const char* logical_type_id - ); + IR_NativeDef_ptr create_native ( + const char * id, + const char * name, + const char * version, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _is_a_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + char * id ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _non_existent_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + void id ( + const char * id, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual void _dispatch ( - TAO_ServerRequest &_tao_req, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + char * name ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - ::IR::ValueMemberDef *_this ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + void name ( + const char * name, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual const char* _interface_repository_id (void) const; + char * version ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual CORBA::TypeCode_ptr type ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + void version ( + const char * version, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _get_type_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_Container_ptr defined_in ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual IR::IDLType_ptr type_def ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + char * absolute_name ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _get_type_def_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_Repository_ptr containing_repository ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual void type_def ( - IR::IDLType_ptr type_def, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + IR_Contained::Description * describe ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _set_type_def_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - virtual CORBA::Visibility access ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + void move ( + IR_Container_ptr new_container, + const char * new_name, + const char * new_version, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _get_access_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + CORBA::TypeCode_ptr type ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual void access ( - CORBA::Visibility access, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + IR_DefinitionKind def_kind ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _set_access_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + void destroy ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _get_id_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); +private: + T *ptr_; + PortableServer::POA_var poa_; + CORBA::Boolean rel_; - static void _set_id_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + // copy and assignment are not allowed + ValueDef_tie (const ValueDef_tie &); + void operator= (const ValueDef_tie &); + }; - static void _get_name_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); +#endif /* ACE_HAS_USING_KEYWORD */ - static void _set_name_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + class ValueBoxDef; + typedef ValueBoxDef *ValueBoxDef_ptr; + // Forward Classes Declaration + class _TAO_ValueBoxDef_ThruPOA_Proxy_Impl; + class _TAO_ValueBoxDef_Strategized_Proxy_Broker; - static void _get_version_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + class ValueBoxDef : public virtual TypedefDef + { + protected: + ValueBoxDef (void); - static void _set_version_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + public: + ValueBoxDef (const ValueBoxDef& rhs); + virtual ~ValueBoxDef (void); - static void _get_defined_in_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - static void _get_absolute_name_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual CORBA::Boolean _is_a ( + const char* logical_type_id, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void _get_containing_repository_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual void* _downcast ( + const char* logical_type_id + ); - static void describe_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _is_a_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void move_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _non_existent_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void _get_def_kind_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual void _dispatch ( + TAO_ServerRequest &_tao_req, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void destroy_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_ValueBoxDef *_this ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - -#if (TAO_HAS_INTERCEPTORS == 1) - // Generation of interceptors related RequestInfo classes per operation. - // This needed to be able to store the arguments, exceptions, contexts - // and build the lists dynamically on demand so that unnecessary time overhead - // of building these lists when they arent used is avoided. - class TAO_ServerRequestInfo_IR_ValueMemberDef_type_get : public TAO_ServerRequestInfo - { - public: - friend class POA_IR::ValueMemberDef; - TAO_ServerRequestInfo_IR_ValueMemberDef_type_get ( - TAO_ServerRequest &_tao_server_request, - POA_IR::ValueMemberDef *tao_impl - , - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual const char* _interface_repository_id (void) const; - virtual Dynamic::ParameterList * arguments ( + virtual IR_IDLType_ptr original_type_def ( CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; + + static void _get_original_type_def_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( + ); + + virtual void original_type_def ( + IR_IDLType_ptr original_type_def, CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - - private: - TAO_ServerRequestInfo_IR_ValueMemberDef_type_get (const TAO_ServerRequestInfo_IR_ValueMemberDef_type_get &); - void operator= (const TAO_ServerRequestInfo_IR_ValueMemberDef_type_get &); - - private: - POA_IR::ValueMemberDef *_tao_impl; - void result (CORBA::TypeCode_ptr result); - // update the result -CORBA::TypeCode_ptr _result; -}; + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; -class TAO_ServerRequestInfo_IR_ValueMemberDef_type_def_get : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::ValueMemberDef; - TAO_ServerRequestInfo_IR_ValueMemberDef_type_def_get ( - TAO_ServerRequest &_tao_server_request, - POA_IR::ValueMemberDef *tao_impl - , - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _set_original_type_def_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_ValueMemberDef_type_def_get (const TAO_ServerRequestInfo_IR_ValueMemberDef_type_def_get &); - void operator= (const TAO_ServerRequestInfo_IR_ValueMemberDef_type_def_get &); - -private: - POA_IR::ValueMemberDef *_tao_impl; - void result (IR::IDLType_ptr result); - // update the result -IR::IDLType_ptr _result; -}; + static void _get_id_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); -class TAO_ServerRequestInfo_IR_ValueMemberDef_type_def_set : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::ValueMemberDef; - TAO_ServerRequestInfo_IR_ValueMemberDef_type_def_set ( - TAO_ServerRequest &_tao_server_request, - POA_IR::ValueMemberDef *tao_impl - , - IR::IDLType_ptr type_def, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _set_id_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_ValueMemberDef_type_def_set (const TAO_ServerRequestInfo_IR_ValueMemberDef_type_def_set &); - void operator= (const TAO_ServerRequestInfo_IR_ValueMemberDef_type_def_set &); - -private: - POA_IR::ValueMemberDef *_tao_impl; - IR::IDLType_ptr type_def_; -}; + static void _get_name_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); -class TAO_ServerRequestInfo_IR_ValueMemberDef_access_get : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::ValueMemberDef; - TAO_ServerRequestInfo_IR_ValueMemberDef_access_get ( - TAO_ServerRequest &_tao_server_request, - POA_IR::ValueMemberDef *tao_impl - , - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _set_name_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_ValueMemberDef_access_get (const TAO_ServerRequestInfo_IR_ValueMemberDef_access_get &); - void operator= (const TAO_ServerRequestInfo_IR_ValueMemberDef_access_get &); - -private: - POA_IR::ValueMemberDef *_tao_impl; - void result (CORBA::Visibility result); - // update the result -CORBA::Visibility _result; -}; + static void _get_version_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); -class TAO_ServerRequestInfo_IR_ValueMemberDef_access_set : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::ValueMemberDef; - TAO_ServerRequestInfo_IR_ValueMemberDef_access_set ( - TAO_ServerRequest &_tao_server_request, - POA_IR::ValueMemberDef *tao_impl - , - const CORBA::Visibility & access, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _set_version_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_ValueMemberDef_access_set (const TAO_ServerRequestInfo_IR_ValueMemberDef_access_set &); - void operator= (const TAO_ServerRequestInfo_IR_ValueMemberDef_access_set &); - -private: - POA_IR::ValueMemberDef *_tao_impl; - const CORBA::Visibility & access_; -}; + static void _get_defined_in_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); -#endif /* TAO_HAS_INTERCEPTORS */ + static void _get_absolute_name_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); -}; + static void _get_containing_repository_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void describe_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void move_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void _get_type_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void _get_def_kind_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + static void destroy_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + }; /////////////////////////////////////////////////////////////////////// // Strategized Proxy Broker Declaration // -class _TAO_ValueMemberDef_Strategized_Proxy_Broker : public virtual ::IR::_TAO_ValueMemberDef_Proxy_Broker +class _TAO_ValueBoxDef_Strategized_Proxy_Broker : public virtual _TAO_ValueBoxDef_Proxy_Broker { public: - _TAO_ValueMemberDef_Strategized_Proxy_Broker (void); - - virtual ~_TAO_ValueMemberDef_Strategized_Proxy_Broker (void); - - virtual ::IR::_TAO_ValueMemberDef_Proxy_Impl &select_proxy ( - ::IR::ValueMemberDef *object, + _TAO_ValueBoxDef_Strategized_Proxy_Broker (void); + + virtual ~_TAO_ValueBoxDef_Strategized_Proxy_Broker (void); + + virtual _TAO_ValueBoxDef_Proxy_Impl &select_proxy ( + IR_ValueBoxDef *object, CORBA_Environment &ACE_TRY_ENV = TAO_default_environment () ); @@ -19431,7 +15314,7 @@ // Caches the proxy implementations. The proxy implementation // are totally stateless, and those can be shared by all the // instances of a given IDL interface type. - ::IR::_TAO_ValueMemberDef_Proxy_Impl + _TAO_ValueBoxDef_Proxy_Impl *proxy_cache_[TAO_ORB_Core::COLLOCATION_STRATEGIES_NUM]; TAO_SYNCH_MUTEX mutex_; @@ -19440,10 +15323,9 @@ // interface. public: - static _TAO_ValueMemberDef_Strategized_Proxy_Broker *the_TAO_ValueMemberDef_Strategized_Proxy_Broker (void); + static _TAO_ValueBoxDef_Strategized_Proxy_Broker *the_TAO_ValueBoxDef_Strategized_Proxy_Broker (void); }; - // // End Strategized Proxy Broker Declaration /////////////////////////////////////////////////////////////////////// @@ -19453,53 +15335,28 @@ // ThruPOA Impl. Declaration // -class _TAO_ValueMemberDef_ThruPOA_Proxy_Impl : - public virtual ::IR::_TAO_ValueMemberDef_Proxy_Impl, +class _TAO_ValueBoxDef_ThruPOA_Proxy_Impl : + public virtual _TAO_ValueBoxDef_Proxy_Impl, public virtual TAO_ThruPOA_Object_Proxy_Impl, - public virtual ::POA_IR::_TAO_Contained_ThruPOA_Proxy_Impl + public virtual ::POA_IR::_TAO_TypedefDef_ThruPOA_Proxy_Impl { public: - _TAO_ValueMemberDef_ThruPOA_Proxy_Impl (void); + _TAO_ValueBoxDef_ThruPOA_Proxy_Impl (void); - virtual ~_TAO_ValueMemberDef_ThruPOA_Proxy_Impl (void) { } + virtual ~_TAO_ValueBoxDef_ThruPOA_Proxy_Impl (void); - virtual CORBA::TypeCode_ptr type ( - CORBA_Object *_collocated_tao_target_, - CORBA::Environment &ACE_TRY_ENV - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - virtual IR::IDLType_ptr type_def ( - CORBA_Object *_collocated_tao_target_, - CORBA::Environment &ACE_TRY_ENV - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - virtual void type_def ( - CORBA_Object *_collocated_tao_target_, - IR::IDLType_ptr type_def, - CORBA::Environment &ACE_TRY_ENV - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - virtual CORBA::Visibility access ( + virtual IR_IDLType_ptr original_type_def ( CORBA_Object *_collocated_tao_target_, - CORBA::Environment &ACE_TRY_ENV + CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException )); - virtual void access ( + virtual void original_type_def ( CORBA_Object *_collocated_tao_target_, - CORBA::Visibility access, + IR_IDLType_ptr original_type_def, CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( @@ -19513,1786 +15370,1262 @@ // ThruPOA Proxy Impl. Declaration /////////////////////////////////////////////////////////////////////// - #if defined (ACE_HAS_USING_KEYWORD) -// TIE class: Refer to CORBA v2.2, Section 20.34.4 -template -class ValueMemberDef_tie : public ValueMemberDef -{ -public: - ValueMemberDef_tie (T &t); - // the T& ctor - ValueMemberDef_tie (T &t, PortableServer::POA_ptr poa); - // ctor taking a POA - ValueMemberDef_tie (T *tp, CORBA::Boolean release=1); - // ctor taking pointer and an ownership flag - ValueMemberDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1); - // ctor with T*, ownership flag and a POA - ~ValueMemberDef_tie (void); - // dtor - - // TIE specific functions - T *_tied_object (void); - // return the underlying object - void _tied_object (T &obj); - // set the underlying object - void _tied_object (T *obj, CORBA::Boolean release=1); - // set the underlying object and the ownership flag - CORBA::Boolean _is_owner (void); - // do we own it - void _is_owner (CORBA::Boolean b); - // set the ownership - - // overridden ServantBase operations - PortableServer::POA_ptr _default_POA ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - CORBA::TypeCode_ptr type ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + // TIE class: Refer to CORBA v2.2, Section 20.34.4 + template + class ValueBoxDef_tie : public ValueBoxDef + { + public: + ValueBoxDef_tie (T &t); + // the T& ctor + ValueBoxDef_tie (T &t, PortableServer::POA_ptr poa); + // ctor taking a POA + ValueBoxDef_tie (T *tp, CORBA::Boolean release=1); + // ctor taking pointer and an ownership flag + ValueBoxDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1); + // ctor with T*, ownership flag and a POA + ~ValueBoxDef_tie (void); + // dtor + + // TIE specific functions + T *_tied_object (void); + // return the underlying object + void _tied_object (T &obj); + // set the underlying object + void _tied_object (T *obj, CORBA::Boolean release=1); + // set the underlying object and the ownership flag + CORBA::Boolean _is_owner (void); + // do we own it + void _is_owner (CORBA::Boolean b); + // set the ownership + + // overridden ServantBase operations + PortableServer::POA_ptr _default_POA ( + CORBA::Environment &env = + TAO_default_environment () + ); + IR_IDLType_ptr original_type_def ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::IDLType_ptr type_def ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + void original_type_def ( + IR_IDLType_ptr original_type_def, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - void type_def ( - IR::IDLType_ptr type_def, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + char * id ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - CORBA::Visibility access ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + void id ( + const char * id, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - void access ( - CORBA::Visibility access, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + char * name ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - char * id ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + void name ( + const char * name, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - void id ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + char * version ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - char * name ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + void version ( + const char * version, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - void name ( - const char * name, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_Container_ptr defined_in ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - char * version ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + char * absolute_name ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - void version ( - const char * version, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - IR::Container_ptr defined_in ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - char * absolute_name ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_Repository_ptr containing_repository ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::Repository_ptr containing_repository ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_Contained::Description * describe ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::Contained::Description * describe ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + void move ( + IR_Container_ptr new_container, + const char * new_name, + const char * new_version, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - void move ( - IR::Container_ptr new_container, - const char * new_name, - const char * new_version, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + CORBA::TypeCode_ptr type ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::DefinitionKind def_kind ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_DefinitionKind def_kind ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - void destroy ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + void destroy ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); private: - T *ptr_; - PortableServer::POA_var poa_; - CORBA::Boolean rel_; - - // copy and assignment are not allowed - ValueMemberDef_tie (const ValueMemberDef_tie &); - void operator= (const ValueMemberDef_tie &); -}; + T *ptr_; + PortableServer::POA_var poa_; + CORBA::Boolean rel_; -#endif /* ACE_HAS_USING_KEYWORD */ + // copy and assignment are not allowed + ValueBoxDef_tie (const ValueBoxDef_tie &); + void operator= (const ValueBoxDef_tie &); + }; -class ValueDef; -typedef ValueDef *ValueDef_ptr; -// Forward Classes Declaration -class _TAO_ValueDef_ThruPOA_Proxy_Impl; -class _TAO_ValueDef_Strategized_Proxy_Broker; +#endif /* ACE_HAS_USING_KEYWORD */ -class ValueDef : public virtual Container, public virtual Contained, public virtual IDLType -{ -protected: - ValueDef (void); + class ProvidesDef; + typedef ProvidesDef *ProvidesDef_ptr; + // Forward Classes Declaration + class _TAO_ProvidesDef_ThruPOA_Proxy_Impl; + class _TAO_ProvidesDef_Strategized_Proxy_Broker; -public: - ValueDef (const ValueDef& rhs); - virtual ~ValueDef (void); + class ProvidesDef : public virtual Contained + { + protected: + ProvidesDef (void); + public: + ProvidesDef (const ProvidesDef& rhs); + virtual ~ProvidesDef (void); - virtual CORBA::Boolean _is_a ( - const char* logical_type_id, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - virtual void* _downcast ( - const char* logical_type_id - ); + virtual CORBA::Boolean _is_a ( + const char* logical_type_id, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void _is_a_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual void* _downcast ( + const char* logical_type_id + ); - static void _non_existent_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _is_a_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - virtual void _dispatch ( - TAO_ServerRequest &_tao_req, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _non_existent_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - ::IR::ValueDef *_this ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual void _dispatch ( + TAO_ServerRequest &_tao_req, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - virtual const char* _interface_repository_id (void) const; + IR_ProvidesDef *_this ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - virtual IR::InterfaceDefSeq * supported_interfaces ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + virtual const char* _interface_repository_id (void) const; - static void _get_supported_interfaces_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual IR_InterfaceDef_ptr interface_type ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; - virtual void supported_interfaces ( - const IR::InterfaceDefSeq & supported_interfaces, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + static void _get_interface_type_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void _set_supported_interfaces_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _get_id_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - virtual IR::InitializerSeq * initializers ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + static void _set_id_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void _get_initializers_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _get_name_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - virtual void initializers ( - const IR::InitializerSeq & initializers, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + static void _set_name_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void _set_initializers_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _get_version_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - virtual IR::ValueDef_ptr base_value ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + static void _set_version_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void _get_base_value_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _get_defined_in_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - virtual void base_value ( - IR::ValueDef_ptr base_value, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + static void _get_absolute_name_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void _set_base_value_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _get_containing_repository_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - virtual IR::ValueDefSeq * abstract_base_values ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; - - static void _get_abstract_base_values_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void describe_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - virtual void abstract_base_values ( - const IR::ValueDefSeq & abstract_base_values, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + static void move_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void _set_abstract_base_values_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _get_def_kind_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - virtual CORBA::Boolean is_abstract ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + static void destroy_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + }; - static void _get_is_abstract_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); +/////////////////////////////////////////////////////////////////////// +// Strategized Proxy Broker Declaration +// - virtual void is_abstract ( - CORBA::Boolean is_abstract, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; +class _TAO_ProvidesDef_Strategized_Proxy_Broker : public virtual _TAO_ProvidesDef_Proxy_Broker +{ +public: + _TAO_ProvidesDef_Strategized_Proxy_Broker (void); - static void _set_is_abstract_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual ~_TAO_ProvidesDef_Strategized_Proxy_Broker (void); - virtual CORBA::Boolean is_custom ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + virtual _TAO_ProvidesDef_Proxy_Impl &select_proxy ( + IR_ProvidesDef *object, + CORBA_Environment &ACE_TRY_ENV = TAO_default_environment () + ); - static void _get_is_custom_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); +private: - virtual void is_custom ( - CORBA::Boolean is_custom, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; +// Helper methods that takes care to create the proxy +// as soon as their use is necessary. + void create_proxy ( + TAO_ORB_Core::TAO_Collocation_Strategies strategy, + CORBA::Environment &ACE_TRY_ENV + ); - static void _set_is_custom_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); +private: + + // Caches the proxy implementations. The proxy implementation + // are totally stateless, and those can be shared by all the + // instances of a given IDL interface type. + _TAO_ProvidesDef_Proxy_Impl + *proxy_cache_[TAO_ORB_Core::COLLOCATION_STRATEGIES_NUM]; + + TAO_SYNCH_MUTEX mutex_; +// This funxtion is used to get an handle to the unique instance +// of the Strategized Proxy Broker that is available for a given +// interface. - virtual CORBA::Boolean is_truncatable ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; +public: + static _TAO_ProvidesDef_Strategized_Proxy_Broker *the_TAO_ProvidesDef_Strategized_Proxy_Broker (void); +}; - static void _get_is_truncatable_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); +// +// End Strategized Proxy Broker Declaration +/////////////////////////////////////////////////////////////////////// - virtual void is_truncatable ( - CORBA::Boolean is_truncatable, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; - static void _set_is_truncatable_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); +/////////////////////////////////////////////////////////////////////// +// ThruPOA Impl. Declaration +// - virtual CORBA::Boolean is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () +class _TAO_ProvidesDef_ThruPOA_Proxy_Impl : + public virtual _TAO_ProvidesDef_Proxy_Impl, + public virtual TAO_ThruPOA_Object_Proxy_Impl, + public virtual ::POA_IR::_TAO_Contained_ThruPOA_Proxy_Impl + +{ +public: + _TAO_ProvidesDef_ThruPOA_Proxy_Impl (void); + + virtual ~_TAO_ProvidesDef_ThruPOA_Proxy_Impl (void); + + virtual IR_InterfaceDef_ptr interface_type ( + CORBA_Object *_collocated_tao_target_, + CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException - )) = 0; - - static void is_a_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + )); - virtual IR::ValueMemberDef_ptr create_value_member ( - const char * id, - const char * name, - const char * version, - IR::IDLType_ptr type, - CORBA::Visibility access, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; +}; - static void create_value_member_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - virtual IR::AttributeDef_ptr create_attribute ( - const char * id, - const char * name, - const char * version, - IR::IDLType_ptr type, - IR::AttributeMode mode, - const IR::ExceptionDefSeq & get_exceptions, - const IR::ExceptionDefSeq & put_exceptions, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; +// +// ThruPOA Proxy Impl. Declaration +/////////////////////////////////////////////////////////////////////// - static void create_attribute_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); +#if defined (ACE_HAS_USING_KEYWORD) + // TIE class: Refer to CORBA v2.2, Section 20.34.4 + template + class ProvidesDef_tie : public ProvidesDef + { + public: + ProvidesDef_tie (T &t); + // the T& ctor + ProvidesDef_tie (T &t, PortableServer::POA_ptr poa); + // ctor taking a POA + ProvidesDef_tie (T *tp, CORBA::Boolean release=1); + // ctor taking pointer and an ownership flag + ProvidesDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1); + // ctor with T*, ownership flag and a POA + ~ProvidesDef_tie (void); + // dtor + + // TIE specific functions + T *_tied_object (void); + // return the underlying object + void _tied_object (T &obj); + // set the underlying object + void _tied_object (T *obj, CORBA::Boolean release=1); + // set the underlying object and the ownership flag + CORBA::Boolean _is_owner (void); + // do we own it + void _is_owner (CORBA::Boolean b); + // set the ownership + + // overridden ServantBase operations + PortableServer::POA_ptr _default_POA ( + CORBA::Environment &env = + TAO_default_environment () + ); + IR_InterfaceDef_ptr interface_type ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual IR::OperationDef_ptr create_operation ( - const char * id, - const char * name, - const char * version, - IR::IDLType_ptr result, - IR::OperationMode mode, - const IR::ParDescriptionSeq & params, - const IR::ExceptionDefSeq & exceptions, - const IR::ContextIdSeq & contexts, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + char * id ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void create_operation_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + void id ( + const char * id, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void lookup_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + char * name ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void contents_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + void name ( + const char * name, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void lookup_name_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + char * version ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void describe_contents_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + void version ( + const char * version, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void create_module_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_Container_ptr defined_in ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void create_constant_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + char * absolute_name ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void create_struct_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void create_union_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void create_enum_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void create_alias_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void create_interface_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void create_value_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_Repository_ptr containing_repository ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void create_value_box_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_Contained::Description * describe ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void create_exception_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + void move ( + IR_Container_ptr new_container, + const char * new_name, + const char * new_version, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void create_native_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_DefinitionKind def_kind ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _get_id_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + void destroy ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _set_id_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); +private: + T *ptr_; + PortableServer::POA_var poa_; + CORBA::Boolean rel_; - static void _get_name_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + // copy and assignment are not allowed + ProvidesDef_tie (const ProvidesDef_tie &); + void operator= (const ProvidesDef_tie &); + }; - static void _set_name_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); +#endif /* ACE_HAS_USING_KEYWORD */ - static void _get_version_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + class UsesDef; + typedef UsesDef *UsesDef_ptr; + // Forward Classes Declaration + class _TAO_UsesDef_ThruPOA_Proxy_Impl; + class _TAO_UsesDef_Strategized_Proxy_Broker; - static void _set_version_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + class UsesDef : public virtual Contained + { + protected: + UsesDef (void); - static void _get_defined_in_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + public: + UsesDef (const UsesDef& rhs); + virtual ~UsesDef (void); - static void _get_absolute_name_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - static void _get_containing_repository_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual CORBA::Boolean _is_a ( + const char* logical_type_id, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void describe_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual void* _downcast ( + const char* logical_type_id + ); - static void move_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _is_a_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void _get_type_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _non_existent_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void _get_def_kind_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual void _dispatch ( + TAO_ServerRequest &_tao_req, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void destroy_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_UsesDef *_this ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - -#if (TAO_HAS_INTERCEPTORS == 1) - // Generation of interceptors related RequestInfo classes per operation. - // This needed to be able to store the arguments, exceptions, contexts - // and build the lists dynamically on demand so that unnecessary time overhead - // of building these lists when they arent used is avoided. - class TAO_ServerRequestInfo_IR_ValueDef_supported_interfaces_get : public TAO_ServerRequestInfo - { - public: - friend class POA_IR::ValueDef; - TAO_ServerRequestInfo_IR_ValueDef_supported_interfaces_get ( - TAO_ServerRequest &_tao_server_request, - POA_IR::ValueDef *tao_impl - , - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual const char* _interface_repository_id (void) const; - virtual Dynamic::ParameterList * arguments ( + virtual IR_InterfaceDef_ptr interface_type ( CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; + + static void _get_interface_type_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( + ); + + virtual CORBA::Boolean is_multiple ( CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - - private: - TAO_ServerRequestInfo_IR_ValueDef_supported_interfaces_get (const TAO_ServerRequestInfo_IR_ValueDef_supported_interfaces_get &); - void operator= (const TAO_ServerRequestInfo_IR_ValueDef_supported_interfaces_get &); - - private: - POA_IR::ValueDef *_tao_impl; - void result (IR::InterfaceDefSeq * result); - // update the result -IR::InterfaceDefSeq * _result; -}; + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; -class TAO_ServerRequestInfo_IR_ValueDef_supported_interfaces_set : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::ValueDef; - TAO_ServerRequestInfo_IR_ValueDef_supported_interfaces_set ( - TAO_ServerRequest &_tao_server_request, - POA_IR::ValueDef *tao_impl - , - const IR::InterfaceDefSeq & supported_interfaces, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _get_is_multiple_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_ValueDef_supported_interfaces_set (const TAO_ServerRequestInfo_IR_ValueDef_supported_interfaces_set &); - void operator= (const TAO_ServerRequestInfo_IR_ValueDef_supported_interfaces_set &); - -private: - POA_IR::ValueDef *_tao_impl; - const IR::InterfaceDefSeq & supported_interfaces_; -}; + static void _get_id_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); -class TAO_ServerRequestInfo_IR_ValueDef_initializers_get : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::ValueDef; - TAO_ServerRequestInfo_IR_ValueDef_initializers_get ( - TAO_ServerRequest &_tao_server_request, - POA_IR::ValueDef *tao_impl - , - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _set_id_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_ValueDef_initializers_get (const TAO_ServerRequestInfo_IR_ValueDef_initializers_get &); - void operator= (const TAO_ServerRequestInfo_IR_ValueDef_initializers_get &); - -private: - POA_IR::ValueDef *_tao_impl; - void result (IR::InitializerSeq * result); - // update the result -IR::InitializerSeq * _result; -}; + static void _get_name_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); -class TAO_ServerRequestInfo_IR_ValueDef_initializers_set : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::ValueDef; - TAO_ServerRequestInfo_IR_ValueDef_initializers_set ( - TAO_ServerRequest &_tao_server_request, - POA_IR::ValueDef *tao_impl - , - const IR::InitializerSeq & initializers, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _set_name_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_ValueDef_initializers_set (const TAO_ServerRequestInfo_IR_ValueDef_initializers_set &); - void operator= (const TAO_ServerRequestInfo_IR_ValueDef_initializers_set &); - -private: - POA_IR::ValueDef *_tao_impl; - const IR::InitializerSeq & initializers_; -}; + static void _get_version_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); -class TAO_ServerRequestInfo_IR_ValueDef_base_value_get : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::ValueDef; - TAO_ServerRequestInfo_IR_ValueDef_base_value_get ( - TAO_ServerRequest &_tao_server_request, - POA_IR::ValueDef *tao_impl - , - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _set_version_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_ValueDef_base_value_get (const TAO_ServerRequestInfo_IR_ValueDef_base_value_get &); - void operator= (const TAO_ServerRequestInfo_IR_ValueDef_base_value_get &); - -private: - POA_IR::ValueDef *_tao_impl; - void result (IR::ValueDef_ptr result); - // update the result -IR::ValueDef_ptr _result; -}; + static void _get_defined_in_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void _get_absolute_name_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void _get_containing_repository_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void describe_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void move_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void _get_def_kind_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void destroy_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + }; + +/////////////////////////////////////////////////////////////////////// +// Strategized Proxy Broker Declaration +// -class TAO_ServerRequestInfo_IR_ValueDef_base_value_set : public TAO_ServerRequestInfo +class _TAO_UsesDef_Strategized_Proxy_Broker : public virtual _TAO_UsesDef_Proxy_Broker { -public: - friend class POA_IR::ValueDef; - TAO_ServerRequestInfo_IR_ValueDef_base_value_set ( - TAO_ServerRequest &_tao_server_request, - POA_IR::ValueDef *tao_impl - , - IR::ValueDef_ptr base_value, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () +public: + _TAO_UsesDef_Strategized_Proxy_Broker (void); + + virtual ~_TAO_UsesDef_Strategized_Proxy_Broker (void); + + virtual _TAO_UsesDef_Proxy_Impl &select_proxy ( + IR_UsesDef *object, + CORBA_Environment &ACE_TRY_ENV = TAO_default_environment () ); - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_ValueDef_base_value_set (const TAO_ServerRequestInfo_IR_ValueDef_base_value_set &); - void operator= (const TAO_ServerRequestInfo_IR_ValueDef_base_value_set &); - private: - POA_IR::ValueDef *_tao_impl; - IR::ValueDef_ptr base_value_; -}; -class TAO_ServerRequestInfo_IR_ValueDef_abstract_base_values_get : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::ValueDef; - TAO_ServerRequestInfo_IR_ValueDef_abstract_base_values_get ( - TAO_ServerRequest &_tao_server_request, - POA_IR::ValueDef *tao_impl - , - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () +// Helper methods that takes care to create the proxy +// as soon as their use is necessary. + void create_proxy ( + TAO_ORB_Core::TAO_Collocation_Strategies strategy, + CORBA::Environment &ACE_TRY_ENV ); - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - private: - TAO_ServerRequestInfo_IR_ValueDef_abstract_base_values_get (const TAO_ServerRequestInfo_IR_ValueDef_abstract_base_values_get &); - void operator= (const TAO_ServerRequestInfo_IR_ValueDef_abstract_base_values_get &); -private: - POA_IR::ValueDef *_tao_impl; - void result (IR::ValueDefSeq * result); - // update the result -IR::ValueDefSeq * _result; + // Caches the proxy implementations. The proxy implementation + // are totally stateless, and those can be shared by all the + // instances of a given IDL interface type. + _TAO_UsesDef_Proxy_Impl + *proxy_cache_[TAO_ORB_Core::COLLOCATION_STRATEGIES_NUM]; + + TAO_SYNCH_MUTEX mutex_; +// This funxtion is used to get an handle to the unique instance +// of the Strategized Proxy Broker that is available for a given +// interface. + +public: + static _TAO_UsesDef_Strategized_Proxy_Broker *the_TAO_UsesDef_Strategized_Proxy_Broker (void); }; -class TAO_ServerRequestInfo_IR_ValueDef_abstract_base_values_set : public TAO_ServerRequestInfo +// +// End Strategized Proxy Broker Declaration +/////////////////////////////////////////////////////////////////////// + + +/////////////////////////////////////////////////////////////////////// +// ThruPOA Impl. Declaration +// + +class _TAO_UsesDef_ThruPOA_Proxy_Impl : + public virtual _TAO_UsesDef_Proxy_Impl, + public virtual TAO_ThruPOA_Object_Proxy_Impl, + public virtual ::POA_IR::_TAO_Contained_ThruPOA_Proxy_Impl + { public: - friend class POA_IR::ValueDef; - TAO_ServerRequestInfo_IR_ValueDef_abstract_base_values_set ( - TAO_ServerRequest &_tao_server_request, - POA_IR::ValueDef *tao_impl - , - const IR::ValueDefSeq & abstract_base_values, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); + _TAO_UsesDef_ThruPOA_Proxy_Impl (void); - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); + virtual ~_TAO_UsesDef_ThruPOA_Proxy_Impl (void); - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () + virtual IR_InterfaceDef_ptr interface_type ( + CORBA_Object *_collocated_tao_target_, + CORBA::Environment &ACE_TRY_ENV ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_ValueDef_abstract_base_values_set (const TAO_ServerRequestInfo_IR_ValueDef_abstract_base_values_set &); - void operator= (const TAO_ServerRequestInfo_IR_ValueDef_abstract_base_values_set &); - -private: - POA_IR::ValueDef *_tao_impl; - const IR::ValueDefSeq & abstract_base_values_; + ACE_THROW_SPEC (( + CORBA::SystemException + )); + + virtual CORBA::Boolean is_multiple ( + CORBA_Object *_collocated_tao_target_, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); + }; -class TAO_ServerRequestInfo_IR_ValueDef_is_abstract_get : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::ValueDef; - TAO_ServerRequestInfo_IR_ValueDef_is_abstract_get ( - TAO_ServerRequest &_tao_server_request, - POA_IR::ValueDef *tao_impl - , - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_ValueDef_is_abstract_get (const TAO_ServerRequestInfo_IR_ValueDef_is_abstract_get &); - void operator= (const TAO_ServerRequestInfo_IR_ValueDef_is_abstract_get &); - -private: - POA_IR::ValueDef *_tao_impl; - void result (CORBA::Boolean result); - // update the result -CORBA::Boolean _result; -}; +// +// ThruPOA Proxy Impl. Declaration +/////////////////////////////////////////////////////////////////////// -class TAO_ServerRequestInfo_IR_ValueDef_is_abstract_set : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::ValueDef; - TAO_ServerRequestInfo_IR_ValueDef_is_abstract_set ( - TAO_ServerRequest &_tao_server_request, - POA_IR::ValueDef *tao_impl - , - const CORBA::Boolean & is_abstract, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); +#if defined (ACE_HAS_USING_KEYWORD) + // TIE class: Refer to CORBA v2.2, Section 20.34.4 + template + class UsesDef_tie : public UsesDef + { + public: + UsesDef_tie (T &t); + // the T& ctor + UsesDef_tie (T &t, PortableServer::POA_ptr poa); + // ctor taking a POA + UsesDef_tie (T *tp, CORBA::Boolean release=1); + // ctor taking pointer and an ownership flag + UsesDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1); + // ctor with T*, ownership flag and a POA + ~UsesDef_tie (void); + // dtor + + // TIE specific functions + T *_tied_object (void); + // return the underlying object + void _tied_object (T &obj); + // set the underlying object + void _tied_object (T *obj, CORBA::Boolean release=1); + // set the underlying object and the ownership flag + CORBA::Boolean _is_owner (void); + // do we own it + void _is_owner (CORBA::Boolean b); + // set the ownership + + // overridden ServantBase operations + PortableServer::POA_ptr _default_POA ( + CORBA::Environment &env = + TAO_default_environment () + ); + IR_InterfaceDef_ptr interface_type ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_ValueDef_is_abstract_set (const TAO_ServerRequestInfo_IR_ValueDef_is_abstract_set &); - void operator= (const TAO_ServerRequestInfo_IR_ValueDef_is_abstract_set &); - -private: - POA_IR::ValueDef *_tao_impl; - const CORBA::Boolean & is_abstract_; -}; + CORBA::Boolean is_multiple ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); -class TAO_ServerRequestInfo_IR_ValueDef_is_custom_get : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::ValueDef; - TAO_ServerRequestInfo_IR_ValueDef_is_custom_get ( - TAO_ServerRequest &_tao_server_request, - POA_IR::ValueDef *tao_impl - , - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + char * id ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_ValueDef_is_custom_get (const TAO_ServerRequestInfo_IR_ValueDef_is_custom_get &); - void operator= (const TAO_ServerRequestInfo_IR_ValueDef_is_custom_get &); - -private: - POA_IR::ValueDef *_tao_impl; - void result (CORBA::Boolean result); - // update the result -CORBA::Boolean _result; -}; + void id ( + const char * id, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); -class TAO_ServerRequestInfo_IR_ValueDef_is_custom_set : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::ValueDef; - TAO_ServerRequestInfo_IR_ValueDef_is_custom_set ( - TAO_ServerRequest &_tao_server_request, - POA_IR::ValueDef *tao_impl - , - const CORBA::Boolean & is_custom, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + char * name ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_ValueDef_is_custom_set (const TAO_ServerRequestInfo_IR_ValueDef_is_custom_set &); - void operator= (const TAO_ServerRequestInfo_IR_ValueDef_is_custom_set &); - -private: - POA_IR::ValueDef *_tao_impl; - const CORBA::Boolean & is_custom_; -}; + void name ( + const char * name, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); -class TAO_ServerRequestInfo_IR_ValueDef_is_truncatable_get : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::ValueDef; - TAO_ServerRequestInfo_IR_ValueDef_is_truncatable_get ( - TAO_ServerRequest &_tao_server_request, - POA_IR::ValueDef *tao_impl - , - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + char * version ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_ValueDef_is_truncatable_get (const TAO_ServerRequestInfo_IR_ValueDef_is_truncatable_get &); - void operator= (const TAO_ServerRequestInfo_IR_ValueDef_is_truncatable_get &); - -private: - POA_IR::ValueDef *_tao_impl; - void result (CORBA::Boolean result); - // update the result -CORBA::Boolean _result; -}; + void version ( + const char * version, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); -class TAO_ServerRequestInfo_IR_ValueDef_is_truncatable_set : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::ValueDef; - TAO_ServerRequestInfo_IR_ValueDef_is_truncatable_set ( - TAO_ServerRequest &_tao_server_request, - POA_IR::ValueDef *tao_impl - , - const CORBA::Boolean & is_truncatable, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_Container_ptr defined_in ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_ValueDef_is_truncatable_set (const TAO_ServerRequestInfo_IR_ValueDef_is_truncatable_set &); - void operator= (const TAO_ServerRequestInfo_IR_ValueDef_is_truncatable_set &); - -private: - POA_IR::ValueDef *_tao_impl; - const CORBA::Boolean & is_truncatable_; -}; + char * absolute_name ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); -class TAO_ServerRequestInfo_IR_ValueDef_is_a : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::ValueDef; - TAO_ServerRequestInfo_IR_ValueDef_is_a ( - TAO_ServerRequest &_tao_server_request, - POA_IR::ValueDef *tao_impl - , - const char * id, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_Repository_ptr containing_repository ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); + + IR_Contained::Description * describe ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); + + void move ( + IR_Container_ptr new_container, + const char * new_name, + const char * new_version, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); + + IR_DefinitionKind def_kind ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); + + void destroy ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_ValueDef_is_a (const TAO_ServerRequestInfo_IR_ValueDef_is_a &); - void operator= (const TAO_ServerRequestInfo_IR_ValueDef_is_a &); - private: - POA_IR::ValueDef *_tao_impl; - const char * id_; -void result (CORBA::Boolean result); - // update the result -CORBA::Boolean _result; -}; + T *ptr_; + PortableServer::POA_var poa_; + CORBA::Boolean rel_; -class TAO_ServerRequestInfo_IR_ValueDef_create_value_member : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::ValueDef; - TAO_ServerRequestInfo_IR_ValueDef_create_value_member ( - TAO_ServerRequest &_tao_server_request, - POA_IR::ValueDef *tao_impl - , - const char * id, - const char * name, - const char * version, - IR::IDLType_ptr type, - const CORBA::Visibility & access, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + // copy and assignment are not allowed + UsesDef_tie (const UsesDef_tie &); + void operator= (const UsesDef_tie &); + }; - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_ValueDef_create_value_member (const TAO_ServerRequestInfo_IR_ValueDef_create_value_member &); - void operator= (const TAO_ServerRequestInfo_IR_ValueDef_create_value_member &); - -private: - POA_IR::ValueDef *_tao_impl; - const char * id_; -const char * name_; -const char * version_; -IR::IDLType_ptr type_; -const CORBA::Visibility & access_; -void result (IR::ValueMemberDef_ptr result); - // update the result -IR::ValueMemberDef_ptr _result; -}; +#endif /* ACE_HAS_USING_KEYWORD */ -class TAO_ServerRequestInfo_IR_ValueDef_create_attribute : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::ValueDef; - TAO_ServerRequestInfo_IR_ValueDef_create_attribute ( - TAO_ServerRequest &_tao_server_request, - POA_IR::ValueDef *tao_impl - , - const char * id, - const char * name, - const char * version, - IR::IDLType_ptr type, - IR::AttributeMode & mode, - const IR::ExceptionDefSeq & get_exceptions, - const IR::ExceptionDefSeq & put_exceptions, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + class EventDef; + typedef EventDef *EventDef_ptr; + // Forward Classes Declaration + class _TAO_EventDef_ThruPOA_Proxy_Impl; + class _TAO_EventDef_Strategized_Proxy_Broker; - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_ValueDef_create_attribute (const TAO_ServerRequestInfo_IR_ValueDef_create_attribute &); - void operator= (const TAO_ServerRequestInfo_IR_ValueDef_create_attribute &); - -private: - POA_IR::ValueDef *_tao_impl; - const char * id_; -const char * name_; -const char * version_; -IR::IDLType_ptr type_; -const IR::AttributeMode & mode_; -const IR::ExceptionDefSeq & get_exceptions_; -const IR::ExceptionDefSeq & put_exceptions_; -void result (IR::AttributeDef_ptr result); - // update the result -IR::AttributeDef_ptr _result; -}; + class EventDef : public virtual Contained + { + protected: + EventDef (void); -class TAO_ServerRequestInfo_IR_ValueDef_create_operation : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::ValueDef; - TAO_ServerRequestInfo_IR_ValueDef_create_operation ( - TAO_ServerRequest &_tao_server_request, - POA_IR::ValueDef *tao_impl - , - const char * id, - const char * name, - const char * version, - IR::IDLType_ptr result, - IR::OperationMode & mode, - const IR::ParDescriptionSeq & params, - const IR::ExceptionDefSeq & exceptions, - const IR::ContextIdSeq & contexts, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + public: + EventDef (const EventDef& rhs); + virtual ~EventDef (void); - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_ValueDef_create_operation (const TAO_ServerRequestInfo_IR_ValueDef_create_operation &); - void operator= (const TAO_ServerRequestInfo_IR_ValueDef_create_operation &); - -private: - POA_IR::ValueDef *_tao_impl; - const char * id_; -const char * name_; -const char * version_; -IR::IDLType_ptr result_; -const IR::OperationMode & mode_; -const IR::ParDescriptionSeq & params_; -const IR::ExceptionDefSeq & exceptions_; -const IR::ContextIdSeq & contexts_; -void result (IR::OperationDef_ptr result); - // update the result -IR::OperationDef_ptr _result; -}; -#endif /* TAO_HAS_INTERCEPTORS */ + virtual CORBA::Boolean _is_a ( + const char* logical_type_id, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); + + virtual void* _downcast ( + const char* logical_type_id + ); -}; + static void _is_a_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); + + static void _non_existent_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); + + virtual void _dispatch ( + TAO_ServerRequest &_tao_req, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); + + IR_EventDef *_this ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); + + virtual const char* _interface_repository_id (void) const; + + virtual CORBA::Boolean is_a ( + const char * event_id, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; + + static void is_a_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); + + virtual IR_ValueDef_ptr event ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; + + static void _get_event_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); + + static void _get_id_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void _set_id_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void _get_name_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void _set_name_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void _get_version_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void _set_version_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void _get_defined_in_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void _get_absolute_name_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void _get_containing_repository_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void describe_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void move_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void _get_def_kind_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + static void destroy_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + }; /////////////////////////////////////////////////////////////////////// // Strategized Proxy Broker Declaration // -class _TAO_ValueDef_Strategized_Proxy_Broker : public virtual ::IR::_TAO_ValueDef_Proxy_Broker +class _TAO_EventDef_Strategized_Proxy_Broker : public virtual _TAO_EventDef_Proxy_Broker { public: - _TAO_ValueDef_Strategized_Proxy_Broker (void); - - virtual ~_TAO_ValueDef_Strategized_Proxy_Broker (void); - - virtual ::IR::_TAO_ValueDef_Proxy_Impl &select_proxy ( - ::IR::ValueDef *object, + _TAO_EventDef_Strategized_Proxy_Broker (void); + + virtual ~_TAO_EventDef_Strategized_Proxy_Broker (void); + + virtual _TAO_EventDef_Proxy_Impl &select_proxy ( + IR_EventDef *object, CORBA_Environment &ACE_TRY_ENV = TAO_default_environment () ); @@ -21310,7 +16643,7 @@ // Caches the proxy implementations. The proxy implementation // are totally stateless, and those can be shared by all the // instances of a given IDL interface type. - ::IR::_TAO_ValueDef_Proxy_Impl + _TAO_EventDef_Proxy_Impl *proxy_cache_[TAO_ORB_Core::COLLOCATION_STRATEGIES_NUM]; TAO_SYNCH_MUTEX mutex_; @@ -21319,10 +16652,9 @@ // interface. public: - static _TAO_ValueDef_Strategized_Proxy_Broker *the_TAO_ValueDef_Strategized_Proxy_Broker (void); + static _TAO_EventDef_Strategized_Proxy_Broker *the_TAO_EventDef_Strategized_Proxy_Broker (void); }; - // // End Strategized Proxy Broker Declaration /////////////////////////////////////////////////////////////////////// @@ -21332,1043 +16664,823 @@ // ThruPOA Impl. Declaration // -class _TAO_ValueDef_ThruPOA_Proxy_Impl : - public virtual ::IR::_TAO_ValueDef_Proxy_Impl, +class _TAO_EventDef_ThruPOA_Proxy_Impl : + public virtual _TAO_EventDef_Proxy_Impl, public virtual TAO_ThruPOA_Object_Proxy_Impl, - public virtual ::POA_IR::_TAO_Container_ThruPOA_Proxy_Impl, - public virtual ::POA_IR::_TAO_Contained_ThruPOA_Proxy_Impl, - public virtual ::POA_IR::_TAO_IDLType_ThruPOA_Proxy_Impl + public virtual ::POA_IR::_TAO_Contained_ThruPOA_Proxy_Impl { public: - _TAO_ValueDef_ThruPOA_Proxy_Impl (void); + _TAO_EventDef_ThruPOA_Proxy_Impl (void); - virtual ~_TAO_ValueDef_ThruPOA_Proxy_Impl (void) { } + virtual ~_TAO_EventDef_ThruPOA_Proxy_Impl (void); - virtual IR::InterfaceDefSeq * supported_interfaces ( - CORBA_Object *_collocated_tao_target_, - CORBA::Environment &ACE_TRY_ENV - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - virtual void supported_interfaces ( + virtual CORBA::Boolean is_a ( CORBA_Object *_collocated_tao_target_, - const IR::InterfaceDefSeq & supported_interfaces, + const char * event_id, CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException )); - virtual IR::InitializerSeq * initializers ( + virtual IR_ValueDef_ptr event ( CORBA_Object *_collocated_tao_target_, - CORBA::Environment &ACE_TRY_ENV + CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException )); - virtual void initializers ( - CORBA_Object *_collocated_tao_target_, - const IR::InitializerSeq & initializers, - CORBA::Environment &ACE_TRY_ENV - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); +}; - virtual IR::ValueDef_ptr base_value ( - CORBA_Object *_collocated_tao_target_, - CORBA::Environment &ACE_TRY_ENV - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - virtual void base_value ( - CORBA_Object *_collocated_tao_target_, - IR::ValueDef_ptr base_value, - CORBA::Environment &ACE_TRY_ENV - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); +// +// ThruPOA Proxy Impl. Declaration +/////////////////////////////////////////////////////////////////////// - virtual IR::ValueDefSeq * abstract_base_values ( - CORBA_Object *_collocated_tao_target_, - CORBA::Environment &ACE_TRY_ENV - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); +#if defined (ACE_HAS_USING_KEYWORD) + // TIE class: Refer to CORBA v2.2, Section 20.34.4 + template + class EventDef_tie : public EventDef + { + public: + EventDef_tie (T &t); + // the T& ctor + EventDef_tie (T &t, PortableServer::POA_ptr poa); + // ctor taking a POA + EventDef_tie (T *tp, CORBA::Boolean release=1); + // ctor taking pointer and an ownership flag + EventDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1); + // ctor with T*, ownership flag and a POA + ~EventDef_tie (void); + // dtor + + // TIE specific functions + T *_tied_object (void); + // return the underlying object + void _tied_object (T &obj); + // set the underlying object + void _tied_object (T *obj, CORBA::Boolean release=1); + // set the underlying object and the ownership flag + CORBA::Boolean _is_owner (void); + // do we own it + void _is_owner (CORBA::Boolean b); + // set the ownership + + // overridden ServantBase operations + PortableServer::POA_ptr _default_POA ( + CORBA::Environment &env = + TAO_default_environment () + ); + CORBA::Boolean is_a ( + const char * event_id, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual void abstract_base_values ( - CORBA_Object *_collocated_tao_target_, - const IR::ValueDefSeq & abstract_base_values, - CORBA::Environment &ACE_TRY_ENV - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_ValueDef_ptr event ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual CORBA::Boolean is_abstract ( - CORBA_Object *_collocated_tao_target_, - CORBA::Environment &ACE_TRY_ENV - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + char * id ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual void is_abstract ( - CORBA_Object *_collocated_tao_target_, - CORBA::Boolean is_abstract, - CORBA::Environment &ACE_TRY_ENV - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + void id ( + const char * id, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual CORBA::Boolean is_custom ( - CORBA_Object *_collocated_tao_target_, - CORBA::Environment &ACE_TRY_ENV - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + char * name ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual void is_custom ( - CORBA_Object *_collocated_tao_target_, - CORBA::Boolean is_custom, - CORBA::Environment &ACE_TRY_ENV - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + void name ( + const char * name, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual CORBA::Boolean is_truncatable ( - CORBA_Object *_collocated_tao_target_, - CORBA::Environment &ACE_TRY_ENV - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + char * version ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual void is_truncatable ( - CORBA_Object *_collocated_tao_target_, - CORBA::Boolean is_truncatable, - CORBA::Environment &ACE_TRY_ENV - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + void version ( + const char * version, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual CORBA::Boolean is_a ( - CORBA_Object *_collocated_tao_target_, - const char * id, - CORBA::Environment &ACE_TRY_ENV - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_Container_ptr defined_in ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual IR::ValueMemberDef_ptr create_value_member ( - CORBA_Object *_collocated_tao_target_, - const char * id, - const char * name, - const char * version, - IR::IDLType_ptr type, - CORBA::Visibility access, - CORBA::Environment &ACE_TRY_ENV - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + char * absolute_name ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual IR::AttributeDef_ptr create_attribute ( - CORBA_Object *_collocated_tao_target_, - const char * id, - const char * name, - const char * version, - IR::IDLType_ptr type, - IR::AttributeMode mode, - const IR::ExceptionDefSeq & get_exceptions, - const IR::ExceptionDefSeq & put_exceptions, - CORBA::Environment &ACE_TRY_ENV - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_Repository_ptr containing_repository ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual IR::OperationDef_ptr create_operation ( - CORBA_Object *_collocated_tao_target_, - const char * id, - const char * name, - const char * version, - IR::IDLType_ptr result, - IR::OperationMode mode, - const IR::ParDescriptionSeq & params, - const IR::ExceptionDefSeq & exceptions, - const IR::ContextIdSeq & contexts, - CORBA::Environment &ACE_TRY_ENV - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_Contained::Description * describe ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); -}; + void move ( + IR_Container_ptr new_container, + const char * new_name, + const char * new_version, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); + IR_DefinitionKind def_kind ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); -// -// ThruPOA Proxy Impl. Declaration -/////////////////////////////////////////////////////////////////////// + void destroy ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); +private: + T *ptr_; + PortableServer::POA_var poa_; + CORBA::Boolean rel_; -#if defined (ACE_HAS_USING_KEYWORD) -// TIE class: Refer to CORBA v2.2, Section 20.34.4 -template -class ValueDef_tie : public ValueDef -{ -public: - ValueDef_tie (T &t); - // the T& ctor - ValueDef_tie (T &t, PortableServer::POA_ptr poa); - // ctor taking a POA - ValueDef_tie (T *tp, CORBA::Boolean release=1); - // ctor taking pointer and an ownership flag - ValueDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1); - // ctor with T*, ownership flag and a POA - ~ValueDef_tie (void); - // dtor - - // TIE specific functions - T *_tied_object (void); - // return the underlying object - void _tied_object (T &obj); - // set the underlying object - void _tied_object (T *obj, CORBA::Boolean release=1); - // set the underlying object and the ownership flag - CORBA::Boolean _is_owner (void); - // do we own it - void _is_owner (CORBA::Boolean b); - // set the ownership - - // overridden ServantBase operations - PortableServer::POA_ptr _default_POA ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - IR::InterfaceDefSeq * supported_interfaces ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + // copy and assignment are not allowed + EventDef_tie (const EventDef_tie &); + void operator= (const EventDef_tie &); + }; - void supported_interfaces ( - const IR::InterfaceDefSeq & supported_interfaces, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); +#endif /* ACE_HAS_USING_KEYWORD */ - IR::InitializerSeq * initializers ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + class EmitsDef; + typedef EmitsDef *EmitsDef_ptr; + // Forward Classes Declaration + class _TAO_EmitsDef_ThruPOA_Proxy_Impl; + class _TAO_EmitsDef_Strategized_Proxy_Broker; - void initializers ( - const IR::InitializerSeq & initializers, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + class EmitsDef : public virtual EventDef + { + protected: + EmitsDef (void); - IR::ValueDef_ptr base_value ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + public: + EmitsDef (const EmitsDef& rhs); + virtual ~EmitsDef (void); - void base_value ( - IR::ValueDef_ptr base_value, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - IR::ValueDefSeq * abstract_base_values ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + virtual CORBA::Boolean _is_a ( + const char* logical_type_id, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - void abstract_base_values ( - const IR::ValueDefSeq & abstract_base_values, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + virtual void* _downcast ( + const char* logical_type_id + ); - CORBA::Boolean is_abstract ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + static void _is_a_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - void is_abstract ( - CORBA::Boolean is_abstract, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + static void _non_existent_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - CORBA::Boolean is_custom ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + virtual void _dispatch ( + TAO_ServerRequest &_tao_req, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - void is_custom ( - CORBA::Boolean is_custom, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_EmitsDef *_this ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - CORBA::Boolean is_truncatable ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + virtual const char* _interface_repository_id (void) const; - void is_truncatable ( - CORBA::Boolean is_truncatable, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + static void is_a_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - CORBA::Boolean is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + static void _get_event_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - IR::ValueMemberDef_ptr create_value_member ( - const char * id, - const char * name, - const char * version, - IR::IDLType_ptr type, - CORBA::Visibility access, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + static void _get_id_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - IR::AttributeDef_ptr create_attribute ( - const char * id, - const char * name, - const char * version, - IR::IDLType_ptr type, - IR::AttributeMode mode, - const IR::ExceptionDefSeq & get_exceptions, - const IR::ExceptionDefSeq & put_exceptions, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + static void _set_id_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - IR::OperationDef_ptr create_operation ( - const char * id, - const char * name, - const char * version, - IR::IDLType_ptr result, - IR::OperationMode mode, - const IR::ParDescriptionSeq & params, - const IR::ExceptionDefSeq & exceptions, - const IR::ContextIdSeq & contexts, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + static void _get_name_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - IR::Contained_ptr lookup ( - const char * search_name, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + static void _set_name_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - IR::ContainedSeq * contents ( - IR::DefinitionKind limit_type, - CORBA::Boolean exclude_inherited, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + static void _get_version_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - IR::ContainedSeq * lookup_name ( - const char * search_name, - CORBA::Long levels_to_search, - IR::DefinitionKind limit_type, - CORBA::Boolean exclude_inherited, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + static void _set_version_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - IR::Container::DescriptionSeq * describe_contents ( - IR::DefinitionKind limit_type, - CORBA::Boolean exclude_inherited, - CORBA::Long max_returned_objs, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + static void _get_defined_in_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - IR::ModuleDef_ptr create_module ( - const char * id, - const char * name, - const char * version, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + static void _get_absolute_name_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - IR::ConstantDef_ptr create_constant ( - const char * id, - const char * name, - const char * version, - IR::IDLType_ptr type, - const CORBA::Any & value, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + static void _get_containing_repository_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - IR::StructDef_ptr create_struct ( - const char * id, - const char * name, - const char * version, - const IR::StructMemberSeq & members, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + static void describe_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - IR::UnionDef_ptr create_union ( - const char * id, - const char * name, - const char * version, - IR::IDLType_ptr discriminator_type, - const IR::UnionMemberSeq & members, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + static void move_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - IR::EnumDef_ptr create_enum ( - const char * id, - const char * name, - const char * version, - const IR::EnumMemberSeq & members, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + static void _get_def_kind_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - IR::AliasDef_ptr create_alias ( - const char * id, - const char * name, - const char * version, - IR::IDLType_ptr original_type, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + static void destroy_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + }; - IR::InterfaceDef_ptr create_interface ( - const char * id, - const char * name, - const char * version, - const IR::InterfaceDefSeq & base_interfaces, - CORBA::Boolean is_abstract, - CORBA::Boolean is_local, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); +/////////////////////////////////////////////////////////////////////// +// Strategized Proxy Broker Declaration +// - IR::ValueDef_ptr create_value ( - const char * id, - const char * name, - const char * version, - CORBA::Boolean is_custom, - CORBA::Boolean is_abstract, - IR::ValueDef_ptr base_value, - CORBA::Boolean is_truncatable, - const IR::ValueDefSeq & abstract_base_values, - const IR::InterfaceDefSeq & supported_interfaces, - const IR::InitializerSeq & initializers, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); +class _TAO_EmitsDef_Strategized_Proxy_Broker : public virtual _TAO_EmitsDef_Proxy_Broker +{ +public: + _TAO_EmitsDef_Strategized_Proxy_Broker (void); - IR::ValueBoxDef_ptr create_value_box ( - const char * id, - const char * name, - const char * version, - IR::IDLType_ptr original_type_def, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + virtual ~_TAO_EmitsDef_Strategized_Proxy_Broker (void); - IR::ExceptionDef_ptr create_exception ( - const char * id, - const char * name, - const char * version, - const IR::StructMemberSeq & members, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + virtual _TAO_EmitsDef_Proxy_Impl &select_proxy ( + IR_EmitsDef *object, + CORBA_Environment &ACE_TRY_ENV = TAO_default_environment () + ); - IR::NativeDef_ptr create_native ( - const char * id, - const char * name, - const char * version, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); +private: - char * id ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); +// Helper methods that takes care to create the proxy +// as soon as their use is necessary. + void create_proxy ( + TAO_ORB_Core::TAO_Collocation_Strategies strategy, + CORBA::Environment &ACE_TRY_ENV + ); - void id ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); +private: + + // Caches the proxy implementations. The proxy implementation + // are totally stateless, and those can be shared by all the + // instances of a given IDL interface type. + _TAO_EmitsDef_Proxy_Impl + *proxy_cache_[TAO_ORB_Core::COLLOCATION_STRATEGIES_NUM]; + + TAO_SYNCH_MUTEX mutex_; +// This funxtion is used to get an handle to the unique instance +// of the Strategized Proxy Broker that is available for a given +// interface. - char * name ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); +public: + static _TAO_EmitsDef_Strategized_Proxy_Broker *the_TAO_EmitsDef_Strategized_Proxy_Broker (void); +}; - void name ( - const char * name, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); +// +// End Strategized Proxy Broker Declaration +/////////////////////////////////////////////////////////////////////// - char * version ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - void version ( - const char * version, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); +/////////////////////////////////////////////////////////////////////// +// ThruPOA Impl. Declaration +// - IR::Container_ptr defined_in ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); +class _TAO_EmitsDef_ThruPOA_Proxy_Impl : + public virtual _TAO_EmitsDef_Proxy_Impl, + public virtual TAO_ThruPOA_Object_Proxy_Impl, + public virtual ::POA_IR::_TAO_EventDef_ThruPOA_Proxy_Impl + +{ +public: + _TAO_EmitsDef_ThruPOA_Proxy_Impl (void); + + virtual ~_TAO_EmitsDef_ThruPOA_Proxy_Impl (void); + +}; - char * absolute_name ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - IR::Repository_ptr containing_repository ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); +// +// ThruPOA Proxy Impl. Declaration +/////////////////////////////////////////////////////////////////////// - IR::Contained::Description * describe ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); +#if defined (ACE_HAS_USING_KEYWORD) + // TIE class: Refer to CORBA v2.2, Section 20.34.4 + template + class EmitsDef_tie : public EmitsDef + { + public: + EmitsDef_tie (T &t); + // the T& ctor + EmitsDef_tie (T &t, PortableServer::POA_ptr poa); + // ctor taking a POA + EmitsDef_tie (T *tp, CORBA::Boolean release=1); + // ctor taking pointer and an ownership flag + EmitsDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1); + // ctor with T*, ownership flag and a POA + ~EmitsDef_tie (void); + // dtor + + // TIE specific functions + T *_tied_object (void); + // return the underlying object + void _tied_object (T &obj); + // set the underlying object + void _tied_object (T *obj, CORBA::Boolean release=1); + // set the underlying object and the ownership flag + CORBA::Boolean _is_owner (void); + // do we own it + void _is_owner (CORBA::Boolean b); + // set the ownership + + // overridden ServantBase operations + PortableServer::POA_ptr _default_POA ( + CORBA::Environment &env = + TAO_default_environment () + ); + CORBA::Boolean is_a ( + const char * event_id, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - void move ( - IR::Container_ptr new_container, - const char * new_name, - const char * new_version, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_ValueDef_ptr event ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - CORBA::TypeCode_ptr type ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + char * id ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::DefinitionKind def_kind ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + void id ( + const char * id, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - void destroy ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + char * name ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); -private: - T *ptr_; - PortableServer::POA_var poa_; - CORBA::Boolean rel_; - - // copy and assignment are not allowed - ValueDef_tie (const ValueDef_tie &); - void operator= (const ValueDef_tie &); -}; + void name ( + const char * name, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); -#endif /* ACE_HAS_USING_KEYWORD */ + char * version ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); -class ValueBoxDef; -typedef ValueBoxDef *ValueBoxDef_ptr; -// Forward Classes Declaration -class _TAO_ValueBoxDef_ThruPOA_Proxy_Impl; -class _TAO_ValueBoxDef_Strategized_Proxy_Broker; + void version ( + const char * version, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); -class ValueBoxDef : public virtual TypedefDef -{ -protected: - ValueBoxDef (void); + IR_Container_ptr defined_in ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); -public: - ValueBoxDef (const ValueBoxDef& rhs); - virtual ~ValueBoxDef (void); + char * absolute_name ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); + IR_Repository_ptr containing_repository ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual CORBA::Boolean _is_a ( - const char* logical_type_id, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_Contained::Description * describe ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual void* _downcast ( - const char* logical_type_id - ); + void move ( + IR_Container_ptr new_container, + const char * new_name, + const char * new_version, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _is_a_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_DefinitionKind def_kind ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _non_existent_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - virtual void _dispatch ( - TAO_ServerRequest &_tao_req, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - ::IR::ValueBoxDef *_this ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + void destroy ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual const char* _interface_repository_id (void) const; +private: + T *ptr_; + PortableServer::POA_var poa_; + CORBA::Boolean rel_; - virtual IR::IDLType_ptr original_type_def ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + // copy and assignment are not allowed + EmitsDef_tie (const EmitsDef_tie &); + void operator= (const EmitsDef_tie &); + }; - static void _get_original_type_def_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); +#endif /* ACE_HAS_USING_KEYWORD */ - virtual void original_type_def ( - IR::IDLType_ptr original_type_def, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + class PublishesDef; + typedef PublishesDef *PublishesDef_ptr; + // Forward Classes Declaration + class _TAO_PublishesDef_ThruPOA_Proxy_Impl; + class _TAO_PublishesDef_Strategized_Proxy_Broker; - static void _set_original_type_def_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + class PublishesDef : public virtual EventDef + { + protected: + PublishesDef (void); - static void _get_id_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + public: + PublishesDef (const PublishesDef& rhs); + virtual ~PublishesDef (void); - static void _set_id_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - static void _get_name_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual CORBA::Boolean _is_a ( + const char* logical_type_id, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void _set_name_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual void* _downcast ( + const char* logical_type_id + ); - static void _get_version_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _is_a_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void _set_version_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _non_existent_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void _get_defined_in_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual void _dispatch ( + TAO_ServerRequest &_tao_req, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void _get_absolute_name_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_PublishesDef *_this ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void _get_containing_repository_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual const char* _interface_repository_id (void) const; - static void describe_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void is_a_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void move_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _get_event_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void _get_type_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _get_id_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void _get_def_kind_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _set_id_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void destroy_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _get_name_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - -#if (TAO_HAS_INTERCEPTORS == 1) - // Generation of interceptors related RequestInfo classes per operation. - // This needed to be able to store the arguments, exceptions, contexts - // and build the lists dynamically on demand so that unnecessary time overhead - // of building these lists when they arent used is avoided. - class TAO_ServerRequestInfo_IR_ValueBoxDef_original_type_def_get : public TAO_ServerRequestInfo - { - public: - friend class POA_IR::ValueBoxDef; - TAO_ServerRequestInfo_IR_ValueBoxDef_original_type_def_get ( - TAO_ServerRequest &_tao_server_request, - POA_IR::ValueBoxDef *tao_impl - , - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _set_name_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = + static void _get_version_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = + ); + + static void _set_version_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = + ); + + static void _get_defined_in_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - - private: - TAO_ServerRequestInfo_IR_ValueBoxDef_original_type_def_get (const TAO_ServerRequestInfo_IR_ValueBoxDef_original_type_def_get &); - void operator= (const TAO_ServerRequestInfo_IR_ValueBoxDef_original_type_def_get &); - - private: - POA_IR::ValueBoxDef *_tao_impl; - void result (IR::IDLType_ptr result); - // update the result -IR::IDLType_ptr _result; -}; + ); -class TAO_ServerRequestInfo_IR_ValueBoxDef_original_type_def_set : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::ValueBoxDef; - TAO_ServerRequestInfo_IR_ValueBoxDef_original_type_def_set ( - TAO_ServerRequest &_tao_server_request, - POA_IR::ValueBoxDef *tao_impl - , - IR::IDLType_ptr original_type_def, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _get_absolute_name_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_ValueBoxDef_original_type_def_set (const TAO_ServerRequestInfo_IR_ValueBoxDef_original_type_def_set &); - void operator= (const TAO_ServerRequestInfo_IR_ValueBoxDef_original_type_def_set &); - -private: - POA_IR::ValueBoxDef *_tao_impl; - IR::IDLType_ptr original_type_def_; -}; + static void _get_containing_repository_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); -#endif /* TAO_HAS_INTERCEPTORS */ + static void describe_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); -}; + static void move_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void _get_def_kind_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + static void destroy_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + }; /////////////////////////////////////////////////////////////////////// // Strategized Proxy Broker Declaration // -class _TAO_ValueBoxDef_Strategized_Proxy_Broker : public virtual ::IR::_TAO_ValueBoxDef_Proxy_Broker +class _TAO_PublishesDef_Strategized_Proxy_Broker : public virtual _TAO_PublishesDef_Proxy_Broker { public: - _TAO_ValueBoxDef_Strategized_Proxy_Broker (void); - - virtual ~_TAO_ValueBoxDef_Strategized_Proxy_Broker (void); - - virtual ::IR::_TAO_ValueBoxDef_Proxy_Impl &select_proxy ( - ::IR::ValueBoxDef *object, + _TAO_PublishesDef_Strategized_Proxy_Broker (void); + + virtual ~_TAO_PublishesDef_Strategized_Proxy_Broker (void); + + virtual _TAO_PublishesDef_Proxy_Impl &select_proxy ( + IR_PublishesDef *object, CORBA_Environment &ACE_TRY_ENV = TAO_default_environment () ); @@ -22386,7 +17498,7 @@ // Caches the proxy implementations. The proxy implementation // are totally stateless, and those can be shared by all the // instances of a given IDL interface type. - ::IR::_TAO_ValueBoxDef_Proxy_Impl + _TAO_PublishesDef_Proxy_Impl *proxy_cache_[TAO_ORB_Core::COLLOCATION_STRATEGIES_NUM]; TAO_SYNCH_MUTEX mutex_; @@ -22395,10 +17507,9 @@ // interface. public: - static _TAO_ValueBoxDef_Strategized_Proxy_Broker *the_TAO_ValueBoxDef_Strategized_Proxy_Broker (void); + static _TAO_PublishesDef_Strategized_Proxy_Broker *the_TAO_PublishesDef_Strategized_Proxy_Broker (void); }; - // // End Strategized Proxy Broker Declaration /////////////////////////////////////////////////////////////////////// @@ -22408,34 +17519,17 @@ // ThruPOA Impl. Declaration // -class _TAO_ValueBoxDef_ThruPOA_Proxy_Impl : - public virtual ::IR::_TAO_ValueBoxDef_Proxy_Impl, +class _TAO_PublishesDef_ThruPOA_Proxy_Impl : + public virtual _TAO_PublishesDef_Proxy_Impl, public virtual TAO_ThruPOA_Object_Proxy_Impl, - public virtual ::POA_IR::_TAO_TypedefDef_ThruPOA_Proxy_Impl + public virtual ::POA_IR::_TAO_EventDef_ThruPOA_Proxy_Impl { public: - _TAO_ValueBoxDef_ThruPOA_Proxy_Impl (void); + _TAO_PublishesDef_ThruPOA_Proxy_Impl (void); - virtual ~_TAO_ValueBoxDef_ThruPOA_Proxy_Impl (void) { } + virtual ~_TAO_PublishesDef_ThruPOA_Proxy_Impl (void); - virtual IR::IDLType_ptr original_type_def ( - CORBA_Object *_collocated_tao_target_, - CORBA::Environment &ACE_TRY_ENV - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - virtual void original_type_def ( - CORBA_Object *_collocated_tao_target_, - IR::IDLType_ptr original_type_def, - CORBA::Environment &ACE_TRY_ENV - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - }; @@ -22443,439 +17537,369 @@ // ThruPOA Proxy Impl. Declaration /////////////////////////////////////////////////////////////////////// - #if defined (ACE_HAS_USING_KEYWORD) -// TIE class: Refer to CORBA v2.2, Section 20.34.4 -template -class ValueBoxDef_tie : public ValueBoxDef -{ -public: - ValueBoxDef_tie (T &t); - // the T& ctor - ValueBoxDef_tie (T &t, PortableServer::POA_ptr poa); - // ctor taking a POA - ValueBoxDef_tie (T *tp, CORBA::Boolean release=1); - // ctor taking pointer and an ownership flag - ValueBoxDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1); - // ctor with T*, ownership flag and a POA - ~ValueBoxDef_tie (void); - // dtor - - // TIE specific functions - T *_tied_object (void); - // return the underlying object - void _tied_object (T &obj); - // set the underlying object - void _tied_object (T *obj, CORBA::Boolean release=1); - // set the underlying object and the ownership flag - CORBA::Boolean _is_owner (void); - // do we own it - void _is_owner (CORBA::Boolean b); - // set the ownership - - // overridden ServantBase operations - PortableServer::POA_ptr _default_POA ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - IR::IDLType_ptr original_type_def ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - void original_type_def ( - IR::IDLType_ptr original_type_def, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + // TIE class: Refer to CORBA v2.2, Section 20.34.4 + template + class PublishesDef_tie : public PublishesDef + { + public: + PublishesDef_tie (T &t); + // the T& ctor + PublishesDef_tie (T &t, PortableServer::POA_ptr poa); + // ctor taking a POA + PublishesDef_tie (T *tp, CORBA::Boolean release=1); + // ctor taking pointer and an ownership flag + PublishesDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1); + // ctor with T*, ownership flag and a POA + ~PublishesDef_tie (void); + // dtor + + // TIE specific functions + T *_tied_object (void); + // return the underlying object + void _tied_object (T &obj); + // set the underlying object + void _tied_object (T *obj, CORBA::Boolean release=1); + // set the underlying object and the ownership flag + CORBA::Boolean _is_owner (void); + // do we own it + void _is_owner (CORBA::Boolean b); + // set the ownership + + // overridden ServantBase operations + PortableServer::POA_ptr _default_POA ( + CORBA::Environment &env = + TAO_default_environment () + ); + CORBA::Boolean is_a ( + const char * event_id, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - char * id ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_ValueDef_ptr event ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - void id ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + char * id ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - char * name ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + void id ( + const char * id, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - void name ( - const char * name, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + char * name ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - char * version ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + void name ( + const char * name, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - void version ( - const char * version, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + char * version ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::Container_ptr defined_in ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + void version ( + const char * version, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - char * absolute_name ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_Container_ptr defined_in ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::Repository_ptr containing_repository ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + char * absolute_name ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::Contained::Description * describe ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_Repository_ptr containing_repository ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - void move ( - IR::Container_ptr new_container, - const char * new_name, - const char * new_version, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_Contained::Description * describe ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - CORBA::TypeCode_ptr type ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + void move ( + IR_Container_ptr new_container, + const char * new_name, + const char * new_version, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::DefinitionKind def_kind ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_DefinitionKind def_kind ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - void destroy ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + void destroy ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); private: - T *ptr_; - PortableServer::POA_var poa_; - CORBA::Boolean rel_; - - // copy and assignment are not allowed - ValueBoxDef_tie (const ValueBoxDef_tie &); - void operator= (const ValueBoxDef_tie &); -}; + T *ptr_; + PortableServer::POA_var poa_; + CORBA::Boolean rel_; + + // copy and assignment are not allowed + PublishesDef_tie (const PublishesDef_tie &); + void operator= (const PublishesDef_tie &); + }; #endif /* ACE_HAS_USING_KEYWORD */ -class ProvidesDef; -typedef ProvidesDef *ProvidesDef_ptr; -// Forward Classes Declaration -class _TAO_ProvidesDef_ThruPOA_Proxy_Impl; -class _TAO_ProvidesDef_Strategized_Proxy_Broker; + class ConsumesDef; + typedef ConsumesDef *ConsumesDef_ptr; + // Forward Classes Declaration + class _TAO_ConsumesDef_ThruPOA_Proxy_Impl; + class _TAO_ConsumesDef_Strategized_Proxy_Broker; -class ProvidesDef : public virtual Contained -{ -protected: - ProvidesDef (void); + class ConsumesDef : public virtual EventDef + { + protected: + ConsumesDef (void); -public: - ProvidesDef (const ProvidesDef& rhs); - virtual ~ProvidesDef (void); + public: + ConsumesDef (const ConsumesDef& rhs); + virtual ~ConsumesDef (void); - virtual CORBA::Boolean _is_a ( - const char* logical_type_id, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual CORBA::Boolean _is_a ( + const char* logical_type_id, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - virtual void* _downcast ( - const char* logical_type_id - ); + virtual void* _downcast ( + const char* logical_type_id + ); - static void _is_a_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _non_existent_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - virtual void _dispatch ( - TAO_ServerRequest &_tao_req, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - ::IR::ProvidesDef *_this ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - virtual const char* _interface_repository_id (void) const; - - virtual IR::InterfaceDef_ptr interface_type ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; - - static void _get_interface_type_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _get_id_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _is_a_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void _set_id_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _non_existent_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void _get_name_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual void _dispatch ( + TAO_ServerRequest &_tao_req, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void _set_name_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_ConsumesDef *_this ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void _get_version_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual const char* _interface_repository_id (void) const; - static void _set_version_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void is_a_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void _get_defined_in_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _get_event_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void _get_absolute_name_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _get_id_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void _get_containing_repository_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _set_id_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void describe_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _get_name_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void move_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _set_name_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void _get_def_kind_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _get_version_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void destroy_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _set_version_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - -#if (TAO_HAS_INTERCEPTORS == 1) - // Generation of interceptors related RequestInfo classes per operation. - // This needed to be able to store the arguments, exceptions, contexts - // and build the lists dynamically on demand so that unnecessary time overhead - // of building these lists when they arent used is avoided. - class TAO_ServerRequestInfo_IR_ProvidesDef_interface_type_get : public TAO_ServerRequestInfo - { - public: - friend class POA_IR::ProvidesDef; - TAO_ServerRequestInfo_IR_ProvidesDef_interface_type_get ( - TAO_ServerRequest &_tao_server_request, - POA_IR::ProvidesDef *tao_impl - , - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _get_defined_in_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = + static void _get_absolute_name_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = + ); + + static void _get_containing_repository_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = + ); + + static void describe_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - - private: - TAO_ServerRequestInfo_IR_ProvidesDef_interface_type_get (const TAO_ServerRequestInfo_IR_ProvidesDef_interface_type_get &); - void operator= (const TAO_ServerRequestInfo_IR_ProvidesDef_interface_type_get &); - - private: - POA_IR::ProvidesDef *_tao_impl; - void result (IR::InterfaceDef_ptr result); - // update the result -IR::InterfaceDef_ptr _result; -}; + ); -#endif /* TAO_HAS_INTERCEPTORS */ + static void move_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); -}; + static void _get_def_kind_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + static void destroy_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + }; /////////////////////////////////////////////////////////////////////// // Strategized Proxy Broker Declaration // -class _TAO_ProvidesDef_Strategized_Proxy_Broker : public virtual ::IR::_TAO_ProvidesDef_Proxy_Broker +class _TAO_ConsumesDef_Strategized_Proxy_Broker : public virtual _TAO_ConsumesDef_Proxy_Broker { public: - _TAO_ProvidesDef_Strategized_Proxy_Broker (void); - - virtual ~_TAO_ProvidesDef_Strategized_Proxy_Broker (void); - - virtual ::IR::_TAO_ProvidesDef_Proxy_Impl &select_proxy ( - ::IR::ProvidesDef *object, + _TAO_ConsumesDef_Strategized_Proxy_Broker (void); + + virtual ~_TAO_ConsumesDef_Strategized_Proxy_Broker (void); + + virtual _TAO_ConsumesDef_Proxy_Impl &select_proxy ( + IR_ConsumesDef *object, CORBA_Environment &ACE_TRY_ENV = TAO_default_environment () ); @@ -22893,7 +17917,7 @@ // Caches the proxy implementations. The proxy implementation // are totally stateless, and those can be shared by all the // instances of a given IDL interface type. - ::IR::_TAO_ProvidesDef_Proxy_Impl + _TAO_ConsumesDef_Proxy_Impl *proxy_cache_[TAO_ORB_Core::COLLOCATION_STRATEGIES_NUM]; TAO_SYNCH_MUTEX mutex_; @@ -22902,10 +17926,9 @@ // interface. public: - static _TAO_ProvidesDef_Strategized_Proxy_Broker *the_TAO_ProvidesDef_Strategized_Proxy_Broker (void); + static _TAO_ConsumesDef_Strategized_Proxy_Broker *the_TAO_ConsumesDef_Strategized_Proxy_Broker (void); }; - // // End Strategized Proxy Broker Declaration /////////////////////////////////////////////////////////////////////// @@ -22915,25 +17938,17 @@ // ThruPOA Impl. Declaration // -class _TAO_ProvidesDef_ThruPOA_Proxy_Impl : - public virtual ::IR::_TAO_ProvidesDef_Proxy_Impl, +class _TAO_ConsumesDef_ThruPOA_Proxy_Impl : + public virtual _TAO_ConsumesDef_Proxy_Impl, public virtual TAO_ThruPOA_Object_Proxy_Impl, - public virtual ::POA_IR::_TAO_Contained_ThruPOA_Proxy_Impl + public virtual ::POA_IR::_TAO_EventDef_ThruPOA_Proxy_Impl { public: - _TAO_ProvidesDef_ThruPOA_Proxy_Impl (void); + _TAO_ConsumesDef_ThruPOA_Proxy_Impl (void); - virtual ~_TAO_ProvidesDef_ThruPOA_Proxy_Impl (void) { } + virtual ~_TAO_ConsumesDef_ThruPOA_Proxy_Impl (void); - virtual IR::InterfaceDef_ptr interface_type ( - CORBA_Object *_collocated_tao_target_, - CORBA::Environment &ACE_TRY_ENV - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - }; @@ -22941,1935 +17956,1767 @@ // ThruPOA Proxy Impl. Declaration /////////////////////////////////////////////////////////////////////// - #if defined (ACE_HAS_USING_KEYWORD) -// TIE class: Refer to CORBA v2.2, Section 20.34.4 -template -class ProvidesDef_tie : public ProvidesDef -{ -public: - ProvidesDef_tie (T &t); - // the T& ctor - ProvidesDef_tie (T &t, PortableServer::POA_ptr poa); - // ctor taking a POA - ProvidesDef_tie (T *tp, CORBA::Boolean release=1); - // ctor taking pointer and an ownership flag - ProvidesDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1); - // ctor with T*, ownership flag and a POA - ~ProvidesDef_tie (void); - // dtor - - // TIE specific functions - T *_tied_object (void); - // return the underlying object - void _tied_object (T &obj); - // set the underlying object - void _tied_object (T *obj, CORBA::Boolean release=1); - // set the underlying object and the ownership flag - CORBA::Boolean _is_owner (void); - // do we own it - void _is_owner (CORBA::Boolean b); - // set the ownership - - // overridden ServantBase operations - PortableServer::POA_ptr _default_POA ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - IR::InterfaceDef_ptr interface_type ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + // TIE class: Refer to CORBA v2.2, Section 20.34.4 + template + class ConsumesDef_tie : public ConsumesDef + { + public: + ConsumesDef_tie (T &t); + // the T& ctor + ConsumesDef_tie (T &t, PortableServer::POA_ptr poa); + // ctor taking a POA + ConsumesDef_tie (T *tp, CORBA::Boolean release=1); + // ctor taking pointer and an ownership flag + ConsumesDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1); + // ctor with T*, ownership flag and a POA + ~ConsumesDef_tie (void); + // dtor + + // TIE specific functions + T *_tied_object (void); + // return the underlying object + void _tied_object (T &obj); + // set the underlying object + void _tied_object (T *obj, CORBA::Boolean release=1); + // set the underlying object and the ownership flag + CORBA::Boolean _is_owner (void); + // do we own it + void _is_owner (CORBA::Boolean b); + // set the ownership + + // overridden ServantBase operations + PortableServer::POA_ptr _default_POA ( + CORBA::Environment &env = + TAO_default_environment () + ); + CORBA::Boolean is_a ( + const char * event_id, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - char * id ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_ValueDef_ptr event ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - void id ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + char * id ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - char * name ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + void id ( + const char * id, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - void name ( - const char * name, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + char * name ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - char * version ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + void name ( + const char * name, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - void version ( - const char * version, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + char * version ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::Container_ptr defined_in ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + void version ( + const char * version, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - char * absolute_name ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_Container_ptr defined_in ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::Repository_ptr containing_repository ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + char * absolute_name ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::Contained::Description * describe ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_Repository_ptr containing_repository ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - void move ( - IR::Container_ptr new_container, - const char * new_name, - const char * new_version, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_Contained::Description * describe ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::DefinitionKind def_kind ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + void move ( + IR_Container_ptr new_container, + const char * new_name, + const char * new_version, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - void destroy ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_DefinitionKind def_kind ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); + + void destroy ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); private: - T *ptr_; - PortableServer::POA_var poa_; - CORBA::Boolean rel_; - - // copy and assignment are not allowed - ProvidesDef_tie (const ProvidesDef_tie &); - void operator= (const ProvidesDef_tie &); -}; + T *ptr_; + PortableServer::POA_var poa_; + CORBA::Boolean rel_; -#endif /* ACE_HAS_USING_KEYWORD */ + // copy and assignment are not allowed + ConsumesDef_tie (const ConsumesDef_tie &); + void operator= (const ConsumesDef_tie &); + }; -class UsesDef; -typedef UsesDef *UsesDef_ptr; -// Forward Classes Declaration -class _TAO_UsesDef_ThruPOA_Proxy_Impl; -class _TAO_UsesDef_Strategized_Proxy_Broker; +#endif /* ACE_HAS_USING_KEYWORD */ -class UsesDef : public virtual Contained -{ -protected: - UsesDef (void); + class ComponentDef; + typedef ComponentDef *ComponentDef_ptr; + // Forward Classes Declaration + class _TAO_ComponentDef_ThruPOA_Proxy_Impl; + class _TAO_ComponentDef_Strategized_Proxy_Broker; -public: - UsesDef (const UsesDef& rhs); - virtual ~UsesDef (void); + class ComponentDef : public virtual InterfaceDef + { + protected: + ComponentDef (void); + public: + ComponentDef (const ComponentDef& rhs); + virtual ~ComponentDef (void); - virtual CORBA::Boolean _is_a ( - const char* logical_type_id, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - virtual void* _downcast ( - const char* logical_type_id - ); + virtual CORBA::Boolean _is_a ( + const char* logical_type_id, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void _is_a_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual void* _downcast ( + const char* logical_type_id + ); - static void _non_existent_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _is_a_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - virtual void _dispatch ( - TAO_ServerRequest &_tao_req, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _non_existent_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - ::IR::UsesDef *_this ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual void _dispatch ( + TAO_ServerRequest &_tao_req, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - virtual const char* _interface_repository_id (void) const; + IR_ComponentDef *_this ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - virtual IR::InterfaceDef_ptr interface_type ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + virtual const char* _interface_repository_id (void) const; - static void _get_interface_type_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual IR_InterfaceDefSeq * supported_interfaces ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; - virtual CORBA::Boolean is_multiple ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + static void _get_supported_interfaces_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void _get_is_multiple_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _get_id_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual void supported_interfaces ( + const IR_InterfaceDefSeq & supported_interfaces, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; - static void _set_id_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _set_supported_interfaces_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void _get_name_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual IR_ComponentDef_ptr base_component ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; - static void _set_name_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _get_base_component_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void _get_version_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual IR_ProvidesDefSeq * provides_interfaces ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; - static void _set_version_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _get_provides_interfaces_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void _get_defined_in_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual IR_UsesDefSeq * uses_interfaces ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; - static void _get_absolute_name_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _get_uses_interfaces_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void _get_containing_repository_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual IR_EmitsDefSeq * emits_events ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; - static void describe_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _get_emits_events_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void move_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual IR_PublishesDefSeq * publishes_events ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; - static void _get_def_kind_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _get_publishes_events_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void destroy_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual IR_ConsumesDefSeq * consumes_events ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; - -#if (TAO_HAS_INTERCEPTORS == 1) - // Generation of interceptors related RequestInfo classes per operation. - // This needed to be able to store the arguments, exceptions, contexts - // and build the lists dynamically on demand so that unnecessary time overhead - // of building these lists when they arent used is avoided. - class TAO_ServerRequestInfo_IR_UsesDef_interface_type_get : public TAO_ServerRequestInfo - { - public: - friend class POA_IR::UsesDef; - TAO_ServerRequestInfo_IR_UsesDef_interface_type_get ( - TAO_ServerRequest &_tao_server_request, - POA_IR::UsesDef *tao_impl - , - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _get_consumes_events_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - virtual Dynamic::ParameterList * arguments ( + virtual CORBA::Boolean is_basic ( CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; + + static void _get_is_basic_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( + ); + + virtual IR_ProvidesDef_ptr create_provides ( + const char * id, + const char * name, + const char * version, + IR_InterfaceDef_ptr interface_type, CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - - private: - TAO_ServerRequestInfo_IR_UsesDef_interface_type_get (const TAO_ServerRequestInfo_IR_UsesDef_interface_type_get &); - void operator= (const TAO_ServerRequestInfo_IR_UsesDef_interface_type_get &); - - private: - POA_IR::UsesDef *_tao_impl; - void result (IR::InterfaceDef_ptr result); - // update the result -IR::InterfaceDef_ptr _result; -}; + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; -class TAO_ServerRequestInfo_IR_UsesDef_is_multiple_get : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::UsesDef; - TAO_ServerRequestInfo_IR_UsesDef_is_multiple_get ( - TAO_ServerRequest &_tao_server_request, - POA_IR::UsesDef *tao_impl - , - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void create_provides_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_UsesDef_is_multiple_get (const TAO_ServerRequestInfo_IR_UsesDef_is_multiple_get &); - void operator= (const TAO_ServerRequestInfo_IR_UsesDef_is_multiple_get &); - -private: - POA_IR::UsesDef *_tao_impl; - void result (CORBA::Boolean result); - // update the result -CORBA::Boolean _result; -}; + virtual IR_UsesDef_ptr create_uses ( + const char * id, + const char * name, + const char * version, + IR_InterfaceDef_ptr interface_type, + CORBA::Boolean is_multiple, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; -#endif /* TAO_HAS_INTERCEPTORS */ + static void create_uses_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); -}; + virtual IR_EmitsDef_ptr create_emits ( + const char * id, + const char * name, + const char * version, + IR_ValueDef_ptr value, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; + static void create_emits_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); -/////////////////////////////////////////////////////////////////////// -// Strategized Proxy Broker Declaration -// + virtual IR_PublishesDef_ptr create_publishes ( + const char * id, + const char * name, + const char * version, + IR_ValueDef_ptr value, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; -class _TAO_UsesDef_Strategized_Proxy_Broker : public virtual ::IR::_TAO_UsesDef_Proxy_Broker -{ -public: - _TAO_UsesDef_Strategized_Proxy_Broker (void); - - virtual ~_TAO_UsesDef_Strategized_Proxy_Broker (void); - - virtual ::IR::_TAO_UsesDef_Proxy_Impl &select_proxy ( - ::IR::UsesDef *object, - CORBA_Environment &ACE_TRY_ENV = TAO_default_environment () - ); + static void create_publishes_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); -private: + virtual IR_ConsumesDef_ptr create_consumes ( + const char * id, + const char * name, + const char * version, + IR_ValueDef_ptr value, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; -// Helper methods that takes care to create the proxy -// as soon as their use is necessary. - void create_proxy ( - TAO_ORB_Core::TAO_Collocation_Strategies strategy, - CORBA::Environment &ACE_TRY_ENV - ); + static void create_consumes_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); -private: - - // Caches the proxy implementations. The proxy implementation - // are totally stateless, and those can be shared by all the - // instances of a given IDL interface type. - ::IR::_TAO_UsesDef_Proxy_Impl - *proxy_cache_[TAO_ORB_Core::COLLOCATION_STRATEGIES_NUM]; - - TAO_SYNCH_MUTEX mutex_; -// This funxtion is used to get an handle to the unique instance -// of the Strategized Proxy Broker that is available for a given -// interface. + static void _get_base_interfaces_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); -public: - static _TAO_UsesDef_Strategized_Proxy_Broker *the_TAO_UsesDef_Strategized_Proxy_Broker (void); -}; + static void _set_base_interfaces_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + static void _get_is_abstract_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); -// -// End Strategized Proxy Broker Declaration -/////////////////////////////////////////////////////////////////////// + static void _set_is_abstract_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + static void _get_is_local_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); -/////////////////////////////////////////////////////////////////////// -// ThruPOA Impl. Declaration -// + static void _set_is_local_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); -class _TAO_UsesDef_ThruPOA_Proxy_Impl : - public virtual ::IR::_TAO_UsesDef_Proxy_Impl, - public virtual TAO_ThruPOA_Object_Proxy_Impl, - public virtual ::POA_IR::_TAO_Contained_ThruPOA_Proxy_Impl - -{ -public: - _TAO_UsesDef_ThruPOA_Proxy_Impl (void); - - virtual ~_TAO_UsesDef_ThruPOA_Proxy_Impl (void) { } - - virtual IR::InterfaceDef_ptr interface_type ( - CORBA_Object *_collocated_tao_target_, - CORBA::Environment &ACE_TRY_ENV - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + static void is_a_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - virtual CORBA::Boolean is_multiple ( - CORBA_Object *_collocated_tao_target_, - CORBA::Environment &ACE_TRY_ENV - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + static void create_attribute_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); -}; + static void create_operation_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + static void lookup_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); -// -// ThruPOA Proxy Impl. Declaration -/////////////////////////////////////////////////////////////////////// + static void contents_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + static void lookup_name_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); -#if defined (ACE_HAS_USING_KEYWORD) -// TIE class: Refer to CORBA v2.2, Section 20.34.4 -template -class UsesDef_tie : public UsesDef -{ -public: - UsesDef_tie (T &t); - // the T& ctor - UsesDef_tie (T &t, PortableServer::POA_ptr poa); - // ctor taking a POA - UsesDef_tie (T *tp, CORBA::Boolean release=1); - // ctor taking pointer and an ownership flag - UsesDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1); - // ctor with T*, ownership flag and a POA - ~UsesDef_tie (void); - // dtor - - // TIE specific functions - T *_tied_object (void); - // return the underlying object - void _tied_object (T &obj); - // set the underlying object - void _tied_object (T *obj, CORBA::Boolean release=1); - // set the underlying object and the ownership flag - CORBA::Boolean _is_owner (void); - // do we own it - void _is_owner (CORBA::Boolean b); - // set the ownership - - // overridden ServantBase operations - PortableServer::POA_ptr _default_POA ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - IR::InterfaceDef_ptr interface_type ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + static void describe_contents_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - CORBA::Boolean is_multiple ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + static void create_module_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - char * id ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + static void create_constant_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - void id ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + static void create_struct_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - char * name ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + static void create_union_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - void name ( - const char * name, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + static void create_enum_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - char * version ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + static void create_alias_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - void version ( - const char * version, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + static void create_interface_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - IR::Container_ptr defined_in ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + static void create_value_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - char * absolute_name ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + static void create_value_box_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - IR::Repository_ptr containing_repository ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + static void create_exception_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - IR::Contained::Description * describe ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + static void create_native_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - void move ( - IR::Container_ptr new_container, - const char * new_name, - const char * new_version, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + static void _get_id_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - IR::DefinitionKind def_kind ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + static void _set_id_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - void destroy ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + static void _get_name_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); -private: - T *ptr_; - PortableServer::POA_var poa_; - CORBA::Boolean rel_; - - // copy and assignment are not allowed - UsesDef_tie (const UsesDef_tie &); - void operator= (const UsesDef_tie &); -}; + static void _set_name_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); -#endif /* ACE_HAS_USING_KEYWORD */ + static void _get_version_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); -class EventDef; -typedef EventDef *EventDef_ptr; -// Forward Classes Declaration -class _TAO_EventDef_ThruPOA_Proxy_Impl; -class _TAO_EventDef_Strategized_Proxy_Broker; + static void _set_version_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void _get_defined_in_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void _get_absolute_name_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void _get_containing_repository_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void describe_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void move_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void _get_type_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void _get_def_kind_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void destroy_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + }; + +/////////////////////////////////////////////////////////////////////// +// Strategized Proxy Broker Declaration +// -class EventDef : public virtual Contained +class _TAO_ComponentDef_Strategized_Proxy_Broker : public virtual _TAO_ComponentDef_Proxy_Broker { -protected: - EventDef (void); +public: + _TAO_ComponentDef_Strategized_Proxy_Broker (void); -public: - EventDef (const EventDef& rhs); - virtual ~EventDef (void); + virtual ~_TAO_ComponentDef_Strategized_Proxy_Broker (void); + virtual _TAO_ComponentDef_Proxy_Impl &select_proxy ( + IR_ComponentDef *object, + CORBA_Environment &ACE_TRY_ENV = TAO_default_environment () + ); - virtual CORBA::Boolean _is_a ( - const char* logical_type_id, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); +private: - virtual void* _downcast ( - const char* logical_type_id - ); +// Helper methods that takes care to create the proxy +// as soon as their use is necessary. + void create_proxy ( + TAO_ORB_Core::TAO_Collocation_Strategies strategy, + CORBA::Environment &ACE_TRY_ENV + ); - static void _is_a_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); +private: + + // Caches the proxy implementations. The proxy implementation + // are totally stateless, and those can be shared by all the + // instances of a given IDL interface type. + _TAO_ComponentDef_Proxy_Impl + *proxy_cache_[TAO_ORB_Core::COLLOCATION_STRATEGIES_NUM]; + + TAO_SYNCH_MUTEX mutex_; +// This funxtion is used to get an handle to the unique instance +// of the Strategized Proxy Broker that is available for a given +// interface. - static void _non_existent_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); +public: + static _TAO_ComponentDef_Strategized_Proxy_Broker *the_TAO_ComponentDef_Strategized_Proxy_Broker (void); +}; - virtual void _dispatch ( - TAO_ServerRequest &_tao_req, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); +// +// End Strategized Proxy Broker Declaration +/////////////////////////////////////////////////////////////////////// - ::IR::EventDef *_this ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - virtual const char* _interface_repository_id (void) const; +/////////////////////////////////////////////////////////////////////// +// ThruPOA Impl. Declaration +// - virtual CORBA::Boolean is_a ( - const char * event_id, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () +class _TAO_ComponentDef_ThruPOA_Proxy_Impl : + public virtual _TAO_ComponentDef_Proxy_Impl, + public virtual TAO_ThruPOA_Object_Proxy_Impl, + public virtual ::POA_IR::_TAO_InterfaceDef_ThruPOA_Proxy_Impl + +{ +public: + _TAO_ComponentDef_ThruPOA_Proxy_Impl (void); + + virtual ~_TAO_ComponentDef_ThruPOA_Proxy_Impl (void); + + virtual IR_InterfaceDefSeq * supported_interfaces ( + CORBA_Object *_collocated_tao_target_, + CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException - )) = 0; - - static void is_a_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + )); - virtual IR::ValueDef_ptr event ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () + virtual void supported_interfaces ( + CORBA_Object *_collocated_tao_target_, + const IR_InterfaceDefSeq & supported_interfaces, + CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException - )) = 0; + )); - static void _get_event_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual IR_ComponentDef_ptr base_component ( + CORBA_Object *_collocated_tao_target_, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _get_id_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual IR_ProvidesDefSeq * provides_interfaces ( + CORBA_Object *_collocated_tao_target_, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _set_id_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual IR_UsesDefSeq * uses_interfaces ( + CORBA_Object *_collocated_tao_target_, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _get_name_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual IR_EmitsDefSeq * emits_events ( + CORBA_Object *_collocated_tao_target_, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _set_name_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual IR_PublishesDefSeq * publishes_events ( + CORBA_Object *_collocated_tao_target_, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _get_version_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual IR_ConsumesDefSeq * consumes_events ( + CORBA_Object *_collocated_tao_target_, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _set_version_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _get_defined_in_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _get_absolute_name_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _get_containing_repository_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void describe_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void move_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _get_def_kind_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void destroy_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - -#if (TAO_HAS_INTERCEPTORS == 1) - // Generation of interceptors related RequestInfo classes per operation. - // This needed to be able to store the arguments, exceptions, contexts - // and build the lists dynamically on demand so that unnecessary time overhead - // of building these lists when they arent used is avoided. - class TAO_ServerRequestInfo_IR_EventDef_is_a : public TAO_ServerRequestInfo - { - public: - friend class POA_IR::EventDef; - TAO_ServerRequestInfo_IR_EventDef_is_a ( - TAO_ServerRequest &_tao_server_request, - POA_IR::EventDef *tao_impl - , - const char * event_id, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - - private: - TAO_ServerRequestInfo_IR_EventDef_is_a (const TAO_ServerRequestInfo_IR_EventDef_is_a &); - void operator= (const TAO_ServerRequestInfo_IR_EventDef_is_a &); - - private: - POA_IR::EventDef *_tao_impl; - const char * event_id_; -void result (CORBA::Boolean result); - // update the result -CORBA::Boolean _result; -}; - -class TAO_ServerRequestInfo_IR_EventDef_event_get : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::EventDef; - TAO_ServerRequestInfo_IR_EventDef_event_get ( - TAO_ServerRequest &_tao_server_request, - POA_IR::EventDef *tao_impl - , - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_EventDef_event_get (const TAO_ServerRequestInfo_IR_EventDef_event_get &); - void operator= (const TAO_ServerRequestInfo_IR_EventDef_event_get &); - -private: - POA_IR::EventDef *_tao_impl; - void result (IR::ValueDef_ptr result); - // update the result -IR::ValueDef_ptr _result; -}; - -#endif /* TAO_HAS_INTERCEPTORS */ - -}; - - -/////////////////////////////////////////////////////////////////////// -// Strategized Proxy Broker Declaration -// - -class _TAO_EventDef_Strategized_Proxy_Broker : public virtual ::IR::_TAO_EventDef_Proxy_Broker -{ -public: - _TAO_EventDef_Strategized_Proxy_Broker (void); - - virtual ~_TAO_EventDef_Strategized_Proxy_Broker (void); - - virtual ::IR::_TAO_EventDef_Proxy_Impl &select_proxy ( - ::IR::EventDef *object, - CORBA_Environment &ACE_TRY_ENV = TAO_default_environment () - ); - -private: - -// Helper methods that takes care to create the proxy -// as soon as their use is necessary. - void create_proxy ( - TAO_ORB_Core::TAO_Collocation_Strategies strategy, - CORBA::Environment &ACE_TRY_ENV - ); - -private: - - // Caches the proxy implementations. The proxy implementation - // are totally stateless, and those can be shared by all the - // instances of a given IDL interface type. - ::IR::_TAO_EventDef_Proxy_Impl - *proxy_cache_[TAO_ORB_Core::COLLOCATION_STRATEGIES_NUM]; - - TAO_SYNCH_MUTEX mutex_; -// This funxtion is used to get an handle to the unique instance -// of the Strategized Proxy Broker that is available for a given -// interface. - -public: - static _TAO_EventDef_Strategized_Proxy_Broker *the_TAO_EventDef_Strategized_Proxy_Broker (void); -}; - - -// -// End Strategized Proxy Broker Declaration -/////////////////////////////////////////////////////////////////////// - - -/////////////////////////////////////////////////////////////////////// -// ThruPOA Impl. Declaration -// - -class _TAO_EventDef_ThruPOA_Proxy_Impl : - public virtual ::IR::_TAO_EventDef_Proxy_Impl, - public virtual TAO_ThruPOA_Object_Proxy_Impl, - public virtual ::POA_IR::_TAO_Contained_ThruPOA_Proxy_Impl - -{ -public: - _TAO_EventDef_ThruPOA_Proxy_Impl (void); - - virtual ~_TAO_EventDef_ThruPOA_Proxy_Impl (void) { } - - virtual CORBA::Boolean is_a ( + virtual CORBA::Boolean is_basic ( CORBA_Object *_collocated_tao_target_, - const char * event_id, - CORBA::Environment &ACE_TRY_ENV + CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException )); - virtual IR::ValueDef_ptr event ( + virtual IR_ProvidesDef_ptr create_provides ( CORBA_Object *_collocated_tao_target_, + const char * id, + const char * name, + const char * version, + IR_InterfaceDef_ptr interface_type, CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException )); -}; - - -// -// ThruPOA Proxy Impl. Declaration -/////////////////////////////////////////////////////////////////////// - - -#if defined (ACE_HAS_USING_KEYWORD) -// TIE class: Refer to CORBA v2.2, Section 20.34.4 -template -class EventDef_tie : public EventDef -{ -public: - EventDef_tie (T &t); - // the T& ctor - EventDef_tie (T &t, PortableServer::POA_ptr poa); - // ctor taking a POA - EventDef_tie (T *tp, CORBA::Boolean release=1); - // ctor taking pointer and an ownership flag - EventDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1); - // ctor with T*, ownership flag and a POA - ~EventDef_tie (void); - // dtor - - // TIE specific functions - T *_tied_object (void); - // return the underlying object - void _tied_object (T &obj); - // set the underlying object - void _tied_object (T *obj, CORBA::Boolean release=1); - // set the underlying object and the ownership flag - CORBA::Boolean _is_owner (void); - // do we own it - void _is_owner (CORBA::Boolean b); - // set the ownership - - // overridden ServantBase operations - PortableServer::POA_ptr _default_POA ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - CORBA::Boolean is_a ( - const char * event_id, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - IR::ValueDef_ptr event ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - char * id ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - void id ( + virtual IR_UsesDef_ptr create_uses ( + CORBA_Object *_collocated_tao_target_, const char * id, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - char * name ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - void name ( const char * name, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () + const char * version, + IR_InterfaceDef_ptr interface_type, + CORBA::Boolean is_multiple, + CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException )); - char * version ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () + virtual IR_EmitsDef_ptr create_emits ( + CORBA_Object *_collocated_tao_target_, + const char * id, + const char * name, + const char * version, + IR_ValueDef_ptr value, + CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException )); - void version ( + virtual IR_PublishesDef_ptr create_publishes ( + CORBA_Object *_collocated_tao_target_, + const char * id, + const char * name, const char * version, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () + IR_ValueDef_ptr value, + CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException )); - IR::Container_ptr defined_in ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () + virtual IR_ConsumesDef_ptr create_consumes ( + CORBA_Object *_collocated_tao_target_, + const char * id, + const char * name, + const char * version, + IR_ValueDef_ptr value, + CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException )); - char * absolute_name ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); +}; - IR::Repository_ptr containing_repository ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - IR::Contained::Description * describe ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); +// +// ThruPOA Proxy Impl. Declaration +/////////////////////////////////////////////////////////////////////// - void move ( - IR::Container_ptr new_container, - const char * new_name, - const char * new_version, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); +#if defined (ACE_HAS_USING_KEYWORD) + // TIE class: Refer to CORBA v2.2, Section 20.34.4 + template + class ComponentDef_tie : public ComponentDef + { + public: + ComponentDef_tie (T &t); + // the T& ctor + ComponentDef_tie (T &t, PortableServer::POA_ptr poa); + // ctor taking a POA + ComponentDef_tie (T *tp, CORBA::Boolean release=1); + // ctor taking pointer and an ownership flag + ComponentDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1); + // ctor with T*, ownership flag and a POA + ~ComponentDef_tie (void); + // dtor + + // TIE specific functions + T *_tied_object (void); + // return the underlying object + void _tied_object (T &obj); + // set the underlying object + void _tied_object (T *obj, CORBA::Boolean release=1); + // set the underlying object and the ownership flag + CORBA::Boolean _is_owner (void); + // do we own it + void _is_owner (CORBA::Boolean b); + // set the ownership + + // overridden ServantBase operations + PortableServer::POA_ptr _default_POA ( + CORBA::Environment &env = + TAO_default_environment () + ); + IR_InterfaceDefSeq * supported_interfaces ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::DefinitionKind def_kind ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + void supported_interfaces ( + const IR_InterfaceDefSeq & supported_interfaces, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - void destroy ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_ComponentDef_ptr base_component ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); -private: - T *ptr_; - PortableServer::POA_var poa_; - CORBA::Boolean rel_; - - // copy and assignment are not allowed - EventDef_tie (const EventDef_tie &); - void operator= (const EventDef_tie &); -}; + IR_ProvidesDefSeq * provides_interfaces ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); -#endif /* ACE_HAS_USING_KEYWORD */ + IR_UsesDefSeq * uses_interfaces ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); -class EmitsDef; -typedef EmitsDef *EmitsDef_ptr; -// Forward Classes Declaration -class _TAO_EmitsDef_ThruPOA_Proxy_Impl; -class _TAO_EmitsDef_Strategized_Proxy_Broker; + IR_EmitsDefSeq * emits_events ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); -class EmitsDef : public virtual EventDef -{ -protected: - EmitsDef (void); + IR_PublishesDefSeq * publishes_events ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); -public: - EmitsDef (const EmitsDef& rhs); - virtual ~EmitsDef (void); + IR_ConsumesDefSeq * consumes_events ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); + CORBA::Boolean is_basic ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual CORBA::Boolean _is_a ( - const char* logical_type_id, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_ProvidesDef_ptr create_provides ( + const char * id, + const char * name, + const char * version, + IR_InterfaceDef_ptr interface_type, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual void* _downcast ( - const char* logical_type_id - ); + IR_UsesDef_ptr create_uses ( + const char * id, + const char * name, + const char * version, + IR_InterfaceDef_ptr interface_type, + CORBA::Boolean is_multiple, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _is_a_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_EmitsDef_ptr create_emits ( + const char * id, + const char * name, + const char * version, + IR_ValueDef_ptr value, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _non_existent_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_PublishesDef_ptr create_publishes ( + const char * id, + const char * name, + const char * version, + IR_ValueDef_ptr value, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual void _dispatch ( - TAO_ServerRequest &_tao_req, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_ConsumesDef_ptr create_consumes ( + const char * id, + const char * name, + const char * version, + IR_ValueDef_ptr value, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - ::IR::EmitsDef *_this ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_InterfaceDefSeq * base_interfaces ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual const char* _interface_repository_id (void) const; + void base_interfaces ( + const IR_InterfaceDefSeq & base_interfaces, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void is_a_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + CORBA::Boolean is_abstract ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _get_event_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + void is_abstract ( + CORBA::Boolean is_abstract, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _get_id_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + CORBA::Boolean is_local ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _set_id_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + void is_local ( + CORBA::Boolean is_local, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _get_name_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + CORBA::Boolean is_a ( + const char * interface_id, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _set_name_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_AttributeDef_ptr create_attribute ( + const char * id, + const char * name, + const char * version, + IR_IDLType_ptr type, + IR_AttributeMode mode, + const IR_ExceptionDefSeq & get_exceptions, + const IR_ExceptionDefSeq & put_exceptions, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _get_version_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_OperationDef_ptr create_operation ( + const char * id, + const char * name, + const char * version, + IR_IDLType_ptr result, + IR_OperationMode mode, + const IR_ParDescriptionSeq & params, + const IR_ExceptionDefSeq & exceptions, + const IR_ContextIdSeq & contexts, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _set_version_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_Contained_ptr lookup ( + const char * search_name, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _get_defined_in_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_ContainedSeq * contents ( + IR_DefinitionKind limit_type, + CORBA::Boolean exclude_inherited, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _get_absolute_name_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_ContainedSeq * lookup_name ( + const char * search_name, + CORBA::Long levels_to_search, + IR_DefinitionKind limit_type, + CORBA::Boolean exclude_inherited, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _get_containing_repository_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_Container::DescriptionSeq * describe_contents ( + IR_DefinitionKind limit_type, + CORBA::Boolean exclude_inherited, + CORBA::Long max_returned_objs, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void describe_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_ModuleDef_ptr create_module ( + const char * id, + const char * name, + const char * version, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void move_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_ConstantDef_ptr create_constant ( + const char * id, + const char * name, + const char * version, + IR_IDLType_ptr type, + const CORBA::Any & value, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _get_def_kind_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_StructDef_ptr create_struct ( + const char * id, + const char * name, + const char * version, + const IR_StructMemberSeq & members, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void destroy_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_UnionDef_ptr create_union ( + const char * id, + const char * name, + const char * version, + IR_IDLType_ptr discriminator_type, + const IR_UnionMemberSeq & members, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - -#if (TAO_HAS_INTERCEPTORS == 1) - // Generation of interceptors related RequestInfo classes per operation. - // This needed to be able to store the arguments, exceptions, contexts - // and build the lists dynamically on demand so that unnecessary time overhead - // of building these lists when they arent used is avoided. - #endif /* TAO_HAS_INTERCEPTORS */ + IR_EnumDef_ptr create_enum ( + const char * id, + const char * name, + const char * version, + const IR_EnumMemberSeq & members, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); -}; + IR_AliasDef_ptr create_alias ( + const char * id, + const char * name, + const char * version, + IR_IDLType_ptr original_type, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); + IR_InterfaceDef_ptr create_interface ( + const char * id, + const char * name, + const char * version, + const IR_InterfaceDefSeq & base_interfaces, + CORBA::Boolean is_abstract, + CORBA::Boolean is_local, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); -/////////////////////////////////////////////////////////////////////// -// Strategized Proxy Broker Declaration -// + IR_ValueDef_ptr create_value ( + const char * id, + const char * name, + const char * version, + CORBA::Boolean is_custom, + CORBA::Boolean is_abstract, + IR_ValueDef_ptr base_value, + CORBA::Boolean is_truncatable, + const IR_ValueDefSeq & abstract_base_values, + const IR_InterfaceDefSeq & supported_interfaces, + const IR_InitializerSeq & initializers, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); -class _TAO_EmitsDef_Strategized_Proxy_Broker : public virtual ::IR::_TAO_EmitsDef_Proxy_Broker -{ -public: - _TAO_EmitsDef_Strategized_Proxy_Broker (void); - - virtual ~_TAO_EmitsDef_Strategized_Proxy_Broker (void); - - virtual ::IR::_TAO_EmitsDef_Proxy_Impl &select_proxy ( - ::IR::EmitsDef *object, - CORBA_Environment &ACE_TRY_ENV = TAO_default_environment () - ); + IR_ValueBoxDef_ptr create_value_box ( + const char * id, + const char * name, + const char * version, + IR_IDLType_ptr original_type_def, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); -private: + IR_ExceptionDef_ptr create_exception ( + const char * id, + const char * name, + const char * version, + const IR_StructMemberSeq & members, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); -// Helper methods that takes care to create the proxy -// as soon as their use is necessary. - void create_proxy ( - TAO_ORB_Core::TAO_Collocation_Strategies strategy, - CORBA::Environment &ACE_TRY_ENV - ); + IR_NativeDef_ptr create_native ( + const char * id, + const char * name, + const char * version, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); -private: - - // Caches the proxy implementations. The proxy implementation - // are totally stateless, and those can be shared by all the - // instances of a given IDL interface type. - ::IR::_TAO_EmitsDef_Proxy_Impl - *proxy_cache_[TAO_ORB_Core::COLLOCATION_STRATEGIES_NUM]; - - TAO_SYNCH_MUTEX mutex_; -// This funxtion is used to get an handle to the unique instance -// of the Strategized Proxy Broker that is available for a given -// interface. + char * id ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); -public: - static _TAO_EmitsDef_Strategized_Proxy_Broker *the_TAO_EmitsDef_Strategized_Proxy_Broker (void); -}; + void id ( + const char * id, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); + char * name ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); -// -// End Strategized Proxy Broker Declaration -/////////////////////////////////////////////////////////////////////// + void name ( + const char * name, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); + char * version ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); -/////////////////////////////////////////////////////////////////////// -// ThruPOA Impl. Declaration -// + void version ( + const char * version, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); -class _TAO_EmitsDef_ThruPOA_Proxy_Impl : - public virtual ::IR::_TAO_EmitsDef_Proxy_Impl, - public virtual TAO_ThruPOA_Object_Proxy_Impl, - public virtual ::POA_IR::_TAO_EventDef_ThruPOA_Proxy_Impl - -{ -public: - _TAO_EmitsDef_ThruPOA_Proxy_Impl (void); - - virtual ~_TAO_EmitsDef_ThruPOA_Proxy_Impl (void) { } - - }; + IR_Container_ptr defined_in ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); + char * absolute_name ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); -// -// ThruPOA Proxy Impl. Declaration -/////////////////////////////////////////////////////////////////////// + IR_Repository_ptr containing_repository ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); + IR_Contained::Description * describe ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); -#if defined (ACE_HAS_USING_KEYWORD) -// TIE class: Refer to CORBA v2.2, Section 20.34.4 -template -class EmitsDef_tie : public EmitsDef -{ -public: - EmitsDef_tie (T &t); - // the T& ctor - EmitsDef_tie (T &t, PortableServer::POA_ptr poa); - // ctor taking a POA - EmitsDef_tie (T *tp, CORBA::Boolean release=1); - // ctor taking pointer and an ownership flag - EmitsDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1); - // ctor with T*, ownership flag and a POA - ~EmitsDef_tie (void); - // dtor - - // TIE specific functions - T *_tied_object (void); - // return the underlying object - void _tied_object (T &obj); - // set the underlying object - void _tied_object (T *obj, CORBA::Boolean release=1); - // set the underlying object and the ownership flag - CORBA::Boolean _is_owner (void); - // do we own it - void _is_owner (CORBA::Boolean b); - // set the ownership - - // overridden ServantBase operations - PortableServer::POA_ptr _default_POA ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - CORBA::Boolean is_a ( - const char * event_id, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + void move ( + IR_Container_ptr new_container, + const char * new_name, + const char * new_version, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::ValueDef_ptr event ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + CORBA::TypeCode_ptr type ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - char * id ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - void id ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_DefinitionKind def_kind ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - char * name ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + void destroy ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - void name ( - const char * name, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); +private: + T *ptr_; + PortableServer::POA_var poa_; + CORBA::Boolean rel_; - char * version ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + // copy and assignment are not allowed + ComponentDef_tie (const ComponentDef_tie &); + void operator= (const ComponentDef_tie &); + }; - void version ( - const char * version, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); +#endif /* ACE_HAS_USING_KEYWORD */ - IR::Container_ptr defined_in ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + class PrimaryKeyDef; + typedef PrimaryKeyDef *PrimaryKeyDef_ptr; + // Forward Classes Declaration + class _TAO_PrimaryKeyDef_ThruPOA_Proxy_Impl; + class _TAO_PrimaryKeyDef_Strategized_Proxy_Broker; - char * absolute_name ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + class PrimaryKeyDef : public virtual Contained + { + protected: + PrimaryKeyDef (void); - IR::Repository_ptr containing_repository ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + public: + PrimaryKeyDef (const PrimaryKeyDef& rhs); + virtual ~PrimaryKeyDef (void); - IR::Contained::Description * describe ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - void move ( - IR::Container_ptr new_container, - const char * new_name, - const char * new_version, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + virtual CORBA::Boolean _is_a ( + const char* logical_type_id, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - IR::DefinitionKind def_kind ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + virtual void* _downcast ( + const char* logical_type_id + ); - void destroy ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + static void _is_a_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); -private: - T *ptr_; - PortableServer::POA_var poa_; - CORBA::Boolean rel_; - - // copy and assignment are not allowed - EmitsDef_tie (const EmitsDef_tie &); - void operator= (const EmitsDef_tie &); -}; + static void _non_existent_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); -#endif /* ACE_HAS_USING_KEYWORD */ + virtual void _dispatch ( + TAO_ServerRequest &_tao_req, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); -class PublishesDef; -typedef PublishesDef *PublishesDef_ptr; -// Forward Classes Declaration -class _TAO_PublishesDef_ThruPOA_Proxy_Impl; -class _TAO_PublishesDef_Strategized_Proxy_Broker; + IR_PrimaryKeyDef *_this ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); -class PublishesDef : public virtual EventDef -{ -protected: - PublishesDef (void); + virtual const char* _interface_repository_id (void) const; -public: - PublishesDef (const PublishesDef& rhs); - virtual ~PublishesDef (void); + virtual CORBA::Boolean is_a ( + const char * primary_key_id, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; + static void is_a_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - virtual CORBA::Boolean _is_a ( - const char* logical_type_id, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual IR_ValueDef_ptr primary_key ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; - virtual void* _downcast ( - const char* logical_type_id - ); + static void _get_primary_key_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void _is_a_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _get_id_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void _non_existent_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _set_id_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - virtual void _dispatch ( - TAO_ServerRequest &_tao_req, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _get_name_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - ::IR::PublishesDef *_this ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _set_name_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - virtual const char* _interface_repository_id (void) const; + static void _get_version_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void is_a_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _set_version_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void _get_event_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _get_defined_in_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void _get_id_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _get_absolute_name_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void _set_id_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _get_containing_repository_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void _get_name_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _set_name_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _get_version_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _set_version_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _get_defined_in_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _get_absolute_name_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _get_containing_repository_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void describe_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void move_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _get_def_kind_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void destroy_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void describe_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - -#if (TAO_HAS_INTERCEPTORS == 1) - // Generation of interceptors related RequestInfo classes per operation. - // This needed to be able to store the arguments, exceptions, contexts - // and build the lists dynamically on demand so that unnecessary time overhead - // of building these lists when they arent used is avoided. - #endif /* TAO_HAS_INTERCEPTORS */ + static void move_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); -}; + static void _get_def_kind_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + static void destroy_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + }; /////////////////////////////////////////////////////////////////////// // Strategized Proxy Broker Declaration // -class _TAO_PublishesDef_Strategized_Proxy_Broker : public virtual ::IR::_TAO_PublishesDef_Proxy_Broker +class _TAO_PrimaryKeyDef_Strategized_Proxy_Broker : public virtual _TAO_PrimaryKeyDef_Proxy_Broker { public: - _TAO_PublishesDef_Strategized_Proxy_Broker (void); - - virtual ~_TAO_PublishesDef_Strategized_Proxy_Broker (void); - - virtual ::IR::_TAO_PublishesDef_Proxy_Impl &select_proxy ( - ::IR::PublishesDef *object, + _TAO_PrimaryKeyDef_Strategized_Proxy_Broker (void); + + virtual ~_TAO_PrimaryKeyDef_Strategized_Proxy_Broker (void); + + virtual _TAO_PrimaryKeyDef_Proxy_Impl &select_proxy ( + IR_PrimaryKeyDef *object, CORBA_Environment &ACE_TRY_ENV = TAO_default_environment () ); @@ -24887,7 +19734,7 @@ // Caches the proxy implementations. The proxy implementation // are totally stateless, and those can be shared by all the // instances of a given IDL interface type. - ::IR::_TAO_PublishesDef_Proxy_Impl + _TAO_PrimaryKeyDef_Proxy_Impl *proxy_cache_[TAO_ORB_Core::COLLOCATION_STRATEGIES_NUM]; TAO_SYNCH_MUTEX mutex_; @@ -24896,10 +19743,9 @@ // interface. public: - static _TAO_PublishesDef_Strategized_Proxy_Broker *the_TAO_PublishesDef_Strategized_Proxy_Broker (void); + static _TAO_PrimaryKeyDef_Strategized_Proxy_Broker *the_TAO_PrimaryKeyDef_Strategized_Proxy_Broker (void); }; - // // End Strategized Proxy Broker Declaration /////////////////////////////////////////////////////////////////////// @@ -24909,398 +19755,476 @@ // ThruPOA Impl. Declaration // -class _TAO_PublishesDef_ThruPOA_Proxy_Impl : - public virtual ::IR::_TAO_PublishesDef_Proxy_Impl, +class _TAO_PrimaryKeyDef_ThruPOA_Proxy_Impl : + public virtual _TAO_PrimaryKeyDef_Proxy_Impl, public virtual TAO_ThruPOA_Object_Proxy_Impl, - public virtual ::POA_IR::_TAO_EventDef_ThruPOA_Proxy_Impl + public virtual ::POA_IR::_TAO_Contained_ThruPOA_Proxy_Impl { public: - _TAO_PublishesDef_ThruPOA_Proxy_Impl (void); + _TAO_PrimaryKeyDef_ThruPOA_Proxy_Impl (void); - virtual ~_TAO_PublishesDef_ThruPOA_Proxy_Impl (void) { } + virtual ~_TAO_PrimaryKeyDef_ThruPOA_Proxy_Impl (void); - }; - - -// -// ThruPOA Proxy Impl. Declaration -/////////////////////////////////////////////////////////////////////// - - -#if defined (ACE_HAS_USING_KEYWORD) -// TIE class: Refer to CORBA v2.2, Section 20.34.4 -template -class PublishesDef_tie : public PublishesDef -{ -public: - PublishesDef_tie (T &t); - // the T& ctor - PublishesDef_tie (T &t, PortableServer::POA_ptr poa); - // ctor taking a POA - PublishesDef_tie (T *tp, CORBA::Boolean release=1); - // ctor taking pointer and an ownership flag - PublishesDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1); - // ctor with T*, ownership flag and a POA - ~PublishesDef_tie (void); - // dtor - - // TIE specific functions - T *_tied_object (void); - // return the underlying object - void _tied_object (T &obj); - // set the underlying object - void _tied_object (T *obj, CORBA::Boolean release=1); - // set the underlying object and the ownership flag - CORBA::Boolean _is_owner (void); - // do we own it - void _is_owner (CORBA::Boolean b); - // set the ownership - - // overridden ServantBase operations - PortableServer::POA_ptr _default_POA ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - CORBA::Boolean is_a ( - const char * event_id, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () + virtual CORBA::Boolean is_a ( + CORBA_Object *_collocated_tao_target_, + const char * primary_key_id, + CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException )); - IR::ValueDef_ptr event ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () + virtual IR_ValueDef_ptr primary_key ( + CORBA_Object *_collocated_tao_target_, + CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException )); - char * id ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); +}; - void id ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - char * name ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); +// +// ThruPOA Proxy Impl. Declaration +/////////////////////////////////////////////////////////////////////// - void name ( - const char * name, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); +#if defined (ACE_HAS_USING_KEYWORD) + // TIE class: Refer to CORBA v2.2, Section 20.34.4 + template + class PrimaryKeyDef_tie : public PrimaryKeyDef + { + public: + PrimaryKeyDef_tie (T &t); + // the T& ctor + PrimaryKeyDef_tie (T &t, PortableServer::POA_ptr poa); + // ctor taking a POA + PrimaryKeyDef_tie (T *tp, CORBA::Boolean release=1); + // ctor taking pointer and an ownership flag + PrimaryKeyDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1); + // ctor with T*, ownership flag and a POA + ~PrimaryKeyDef_tie (void); + // dtor + + // TIE specific functions + T *_tied_object (void); + // return the underlying object + void _tied_object (T &obj); + // set the underlying object + void _tied_object (T *obj, CORBA::Boolean release=1); + // set the underlying object and the ownership flag + CORBA::Boolean _is_owner (void); + // do we own it + void _is_owner (CORBA::Boolean b); + // set the ownership + + // overridden ServantBase operations + PortableServer::POA_ptr _default_POA ( + CORBA::Environment &env = + TAO_default_environment () + ); + CORBA::Boolean is_a ( + const char * primary_key_id, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - char * version ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_ValueDef_ptr primary_key ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - void version ( - const char * version, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + char * id ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::Container_ptr defined_in ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + void id ( + const char * id, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - char * absolute_name ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + char * name ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::Repository_ptr containing_repository ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + void name ( + const char * name, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::Contained::Description * describe ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + char * version ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - void move ( - IR::Container_ptr new_container, - const char * new_name, - const char * new_version, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + void version ( + const char * version, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::DefinitionKind def_kind ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_Container_ptr defined_in ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - void destroy ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + char * absolute_name ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); -private: - T *ptr_; - PortableServer::POA_var poa_; - CORBA::Boolean rel_; - - // copy and assignment are not allowed - PublishesDef_tie (const PublishesDef_tie &); - void operator= (const PublishesDef_tie &); -}; + IR_Repository_ptr containing_repository ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); -#endif /* ACE_HAS_USING_KEYWORD */ + IR_Contained::Description * describe ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); -class ConsumesDef; -typedef ConsumesDef *ConsumesDef_ptr; -// Forward Classes Declaration -class _TAO_ConsumesDef_ThruPOA_Proxy_Impl; -class _TAO_ConsumesDef_Strategized_Proxy_Broker; + void move ( + IR_Container_ptr new_container, + const char * new_name, + const char * new_version, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); -class ConsumesDef : public virtual EventDef -{ -protected: - ConsumesDef (void); + IR_DefinitionKind def_kind ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); -public: - ConsumesDef (const ConsumesDef& rhs); - virtual ~ConsumesDef (void); + void destroy ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); +private: + T *ptr_; + PortableServer::POA_var poa_; + CORBA::Boolean rel_; - virtual CORBA::Boolean _is_a ( - const char* logical_type_id, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + // copy and assignment are not allowed + PrimaryKeyDef_tie (const PrimaryKeyDef_tie &); + void operator= (const PrimaryKeyDef_tie &); + }; - virtual void* _downcast ( - const char* logical_type_id - ); +#endif /* ACE_HAS_USING_KEYWORD */ - static void _is_a_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + class FactoryDef; + typedef FactoryDef *FactoryDef_ptr; + // Forward Classes Declaration + class _TAO_FactoryDef_ThruPOA_Proxy_Impl; + class _TAO_FactoryDef_Strategized_Proxy_Broker; - static void _non_existent_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + class FactoryDef : public virtual OperationDef + { + protected: + FactoryDef (void); - virtual void _dispatch ( - TAO_ServerRequest &_tao_req, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + public: + FactoryDef (const FactoryDef& rhs); + virtual ~FactoryDef (void); - ::IR::ConsumesDef *_this ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - virtual const char* _interface_repository_id (void) const; + virtual CORBA::Boolean _is_a ( + const char* logical_type_id, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void is_a_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual void* _downcast ( + const char* logical_type_id + ); - static void _get_event_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _is_a_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void _get_id_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _non_existent_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void _set_id_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual void _dispatch ( + TAO_ServerRequest &_tao_req, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void _get_name_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_FactoryDef *_this ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void _set_name_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual const char* _interface_repository_id (void) const; - static void _get_version_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _get_result_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void _set_version_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _get_result_def_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void _get_defined_in_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _set_result_def_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void _get_absolute_name_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _get_params_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void _get_containing_repository_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _set_params_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void describe_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _get_mode_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void move_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _set_mode_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void _get_def_kind_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _get_contexts_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void destroy_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _set_contexts_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - -#if (TAO_HAS_INTERCEPTORS == 1) - // Generation of interceptors related RequestInfo classes per operation. - // This needed to be able to store the arguments, exceptions, contexts - // and build the lists dynamically on demand so that unnecessary time overhead - // of building these lists when they arent used is avoided. - #endif /* TAO_HAS_INTERCEPTORS */ + static void _get_exceptions_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); -}; + static void _set_exceptions_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + static void _get_id_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); -/////////////////////////////////////////////////////////////////////// + static void _set_id_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void _get_name_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void _set_name_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void _get_version_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void _set_version_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void _get_defined_in_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void _get_absolute_name_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void _get_containing_repository_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void describe_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void move_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void _get_def_kind_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void destroy_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + }; + +/////////////////////////////////////////////////////////////////////// // Strategized Proxy Broker Declaration // -class _TAO_ConsumesDef_Strategized_Proxy_Broker : public virtual ::IR::_TAO_ConsumesDef_Proxy_Broker +class _TAO_FactoryDef_Strategized_Proxy_Broker : public virtual _TAO_FactoryDef_Proxy_Broker { public: - _TAO_ConsumesDef_Strategized_Proxy_Broker (void); - - virtual ~_TAO_ConsumesDef_Strategized_Proxy_Broker (void); - - virtual ::IR::_TAO_ConsumesDef_Proxy_Impl &select_proxy ( - ::IR::ConsumesDef *object, + _TAO_FactoryDef_Strategized_Proxy_Broker (void); + + virtual ~_TAO_FactoryDef_Strategized_Proxy_Broker (void); + + virtual _TAO_FactoryDef_Proxy_Impl &select_proxy ( + IR_FactoryDef *object, CORBA_Environment &ACE_TRY_ENV = TAO_default_environment () ); @@ -25318,7 +20242,7 @@ // Caches the proxy implementations. The proxy implementation // are totally stateless, and those can be shared by all the // instances of a given IDL interface type. - ::IR::_TAO_ConsumesDef_Proxy_Impl + _TAO_FactoryDef_Proxy_Impl *proxy_cache_[TAO_ORB_Core::COLLOCATION_STRATEGIES_NUM]; TAO_SYNCH_MUTEX mutex_; @@ -25327,10 +20251,9 @@ // interface. public: - static _TAO_ConsumesDef_Strategized_Proxy_Broker *the_TAO_ConsumesDef_Strategized_Proxy_Broker (void); + static _TAO_FactoryDef_Strategized_Proxy_Broker *the_TAO_FactoryDef_Strategized_Proxy_Broker (void); }; - // // End Strategized Proxy Broker Declaration /////////////////////////////////////////////////////////////////////// @@ -25340,5102 +20263,1372 @@ // ThruPOA Impl. Declaration // -class _TAO_ConsumesDef_ThruPOA_Proxy_Impl : - public virtual ::IR::_TAO_ConsumesDef_Proxy_Impl, +class _TAO_FactoryDef_ThruPOA_Proxy_Impl : + public virtual _TAO_FactoryDef_Proxy_Impl, public virtual TAO_ThruPOA_Object_Proxy_Impl, - public virtual ::POA_IR::_TAO_EventDef_ThruPOA_Proxy_Impl + public virtual ::POA_IR::_TAO_OperationDef_ThruPOA_Proxy_Impl { public: - _TAO_ConsumesDef_ThruPOA_Proxy_Impl (void); + _TAO_FactoryDef_ThruPOA_Proxy_Impl (void); - virtual ~_TAO_ConsumesDef_ThruPOA_Proxy_Impl (void) { } + virtual ~_TAO_FactoryDef_ThruPOA_Proxy_Impl (void); - }; +}; // // ThruPOA Proxy Impl. Declaration /////////////////////////////////////////////////////////////////////// - #if defined (ACE_HAS_USING_KEYWORD) -// TIE class: Refer to CORBA v2.2, Section 20.34.4 -template -class ConsumesDef_tie : public ConsumesDef -{ -public: - ConsumesDef_tie (T &t); - // the T& ctor - ConsumesDef_tie (T &t, PortableServer::POA_ptr poa); - // ctor taking a POA - ConsumesDef_tie (T *tp, CORBA::Boolean release=1); - // ctor taking pointer and an ownership flag - ConsumesDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1); - // ctor with T*, ownership flag and a POA - ~ConsumesDef_tie (void); - // dtor - - // TIE specific functions - T *_tied_object (void); - // return the underlying object - void _tied_object (T &obj); - // set the underlying object - void _tied_object (T *obj, CORBA::Boolean release=1); - // set the underlying object and the ownership flag - CORBA::Boolean _is_owner (void); - // do we own it - void _is_owner (CORBA::Boolean b); - // set the ownership - - // overridden ServantBase operations - PortableServer::POA_ptr _default_POA ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - CORBA::Boolean is_a ( - const char * event_id, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - IR::ValueDef_ptr event ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + // TIE class: Refer to CORBA v2.2, Section 20.34.4 + template + class FactoryDef_tie : public FactoryDef + { + public: + FactoryDef_tie (T &t); + // the T& ctor + FactoryDef_tie (T &t, PortableServer::POA_ptr poa); + // ctor taking a POA + FactoryDef_tie (T *tp, CORBA::Boolean release=1); + // ctor taking pointer and an ownership flag + FactoryDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1); + // ctor with T*, ownership flag and a POA + ~FactoryDef_tie (void); + // dtor + + // TIE specific functions + T *_tied_object (void); + // return the underlying object + void _tied_object (T &obj); + // set the underlying object + void _tied_object (T *obj, CORBA::Boolean release=1); + // set the underlying object and the ownership flag + CORBA::Boolean _is_owner (void); + // do we own it + void _is_owner (CORBA::Boolean b); + // set the ownership + + // overridden ServantBase operations + PortableServer::POA_ptr _default_POA ( + CORBA::Environment &env = + TAO_default_environment () + ); + CORBA::TypeCode_ptr result ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - char * id ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_IDLType_ptr result_def ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - void id ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + void result_def ( + IR_IDLType_ptr result_def, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - char * name ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_ParDescriptionSeq * params ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - void name ( - const char * name, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + void params ( + const IR_ParDescriptionSeq & params, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - char * version ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_OperationMode mode ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - void version ( - const char * version, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + void mode ( + IR_OperationMode mode, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::Container_ptr defined_in ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_ContextIdSeq * contexts ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - char * absolute_name ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + void contexts ( + const IR_ContextIdSeq & contexts, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::Repository_ptr containing_repository ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_ExceptionDefSeq * exceptions ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::Contained::Description * describe ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + void exceptions ( + const IR_ExceptionDefSeq & exceptions, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - void move ( - IR::Container_ptr new_container, - const char * new_name, - const char * new_version, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + char * id ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::DefinitionKind def_kind ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + void id ( + const char * id, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - void destroy ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + char * name ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); -private: - T *ptr_; - PortableServer::POA_var poa_; - CORBA::Boolean rel_; - - // copy and assignment are not allowed - ConsumesDef_tie (const ConsumesDef_tie &); - void operator= (const ConsumesDef_tie &); -}; + void name ( + const char * name, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); -#endif /* ACE_HAS_USING_KEYWORD */ + char * version ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); -class ComponentDef; -typedef ComponentDef *ComponentDef_ptr; -// Forward Classes Declaration -class _TAO_ComponentDef_ThruPOA_Proxy_Impl; -class _TAO_ComponentDef_Strategized_Proxy_Broker; + void version ( + const char * version, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); -class ComponentDef : public virtual InterfaceDef -{ -protected: - ComponentDef (void); + IR_Container_ptr defined_in ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); -public: - ComponentDef (const ComponentDef& rhs); - virtual ~ComponentDef (void); + char * absolute_name ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); + IR_Repository_ptr containing_repository ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual CORBA::Boolean _is_a ( - const char* logical_type_id, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_Contained::Description * describe ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual void* _downcast ( - const char* logical_type_id - ); + void move ( + IR_Container_ptr new_container, + const char * new_name, + const char * new_version, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _is_a_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_DefinitionKind def_kind ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _non_existent_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + void destroy ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual void _dispatch ( - TAO_ServerRequest &_tao_req, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); +private: + T *ptr_; + PortableServer::POA_var poa_; + CORBA::Boolean rel_; - ::IR::ComponentDef *_this ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + // copy and assignment are not allowed + FactoryDef_tie (const FactoryDef_tie &); + void operator= (const FactoryDef_tie &); + }; - virtual const char* _interface_repository_id (void) const; +#endif /* ACE_HAS_USING_KEYWORD */ - virtual IR::InterfaceDefSeq * supported_interfaces ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + class FinderDef; + typedef FinderDef *FinderDef_ptr; + // Forward Classes Declaration + class _TAO_FinderDef_ThruPOA_Proxy_Impl; + class _TAO_FinderDef_Strategized_Proxy_Broker; - static void _get_supported_interfaces_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + class FinderDef : public virtual OperationDef + { + protected: + FinderDef (void); - virtual void supported_interfaces ( - const IR::InterfaceDefSeq & supported_interfaces, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + public: + FinderDef (const FinderDef& rhs); + virtual ~FinderDef (void); - static void _set_supported_interfaces_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - virtual IR::ComponentDef_ptr base_component ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + virtual CORBA::Boolean _is_a ( + const char* logical_type_id, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void _get_base_component_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual void* _downcast ( + const char* logical_type_id + ); - virtual IR::ProvidesDefSeq * provides_interfaces ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + static void _is_a_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void _get_provides_interfaces_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _non_existent_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - virtual IR::UsesDefSeq * uses_interfaces ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + virtual void _dispatch ( + TAO_ServerRequest &_tao_req, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - static void _get_uses_interfaces_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_FinderDef *_this ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - virtual IR::EmitsDefSeq * emits_events ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + virtual const char* _interface_repository_id (void) const; - static void _get_emits_events_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _get_result_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - virtual IR::PublishesDefSeq * publishes_events ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + static void _get_result_def_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void _get_publishes_events_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _set_result_def_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - virtual IR::ConsumesDefSeq * consumes_events ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + static void _get_params_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void _get_consumes_events_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _set_params_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - virtual CORBA::Boolean is_basic ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + static void _get_mode_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void _get_is_basic_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _set_mode_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - virtual IR::ProvidesDef_ptr create_provides ( - const char * id, - const char * name, - const char * version, - IR::InterfaceDef_ptr interface_type, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + static void _get_contexts_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void create_provides_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _set_contexts_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - virtual IR::UsesDef_ptr create_uses ( - const char * id, - const char * name, - const char * version, - IR::InterfaceDef_ptr interface_type, - CORBA::Boolean is_multiple, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; - - static void create_uses_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _get_exceptions_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - virtual IR::EmitsDef_ptr create_emits ( - const char * id, - const char * name, - const char * version, - IR::ValueDef_ptr value, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + static void _set_exceptions_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void create_emits_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _get_id_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - virtual IR::PublishesDef_ptr create_publishes ( - const char * id, - const char * name, - const char * version, - IR::ValueDef_ptr value, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + static void _set_id_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void create_publishes_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _get_name_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - virtual IR::ConsumesDef_ptr create_consumes ( - const char * id, - const char * name, - const char * version, - IR::ValueDef_ptr value, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; + static void _set_name_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void create_consumes_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _get_version_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void _get_base_interfaces_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _set_version_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void _set_base_interfaces_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _get_defined_in_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void _get_is_abstract_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _get_absolute_name_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void _set_is_abstract_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _get_containing_repository_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void _get_is_local_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void describe_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void _set_is_local_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void move_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void is_a_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _get_def_kind_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - static void create_attribute_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void destroy_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + }; - static void create_operation_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); +/////////////////////////////////////////////////////////////////////// +// Strategized Proxy Broker Declaration +// - static void lookup_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); +class _TAO_FinderDef_Strategized_Proxy_Broker : public virtual _TAO_FinderDef_Proxy_Broker +{ +public: + _TAO_FinderDef_Strategized_Proxy_Broker (void); - static void contents_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual ~_TAO_FinderDef_Strategized_Proxy_Broker (void); - static void lookup_name_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual _TAO_FinderDef_Proxy_Impl &select_proxy ( + IR_FinderDef *object, + CORBA_Environment &ACE_TRY_ENV = TAO_default_environment () + ); - static void describe_contents_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); +private: - static void create_module_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); +// Helper methods that takes care to create the proxy +// as soon as their use is necessary. + void create_proxy ( + TAO_ORB_Core::TAO_Collocation_Strategies strategy, + CORBA::Environment &ACE_TRY_ENV + ); - static void create_constant_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); +private: + + // Caches the proxy implementations. The proxy implementation + // are totally stateless, and those can be shared by all the + // instances of a given IDL interface type. + _TAO_FinderDef_Proxy_Impl + *proxy_cache_[TAO_ORB_Core::COLLOCATION_STRATEGIES_NUM]; + + TAO_SYNCH_MUTEX mutex_; +// This funxtion is used to get an handle to the unique instance +// of the Strategized Proxy Broker that is available for a given +// interface. - static void create_struct_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); +public: + static _TAO_FinderDef_Strategized_Proxy_Broker *the_TAO_FinderDef_Strategized_Proxy_Broker (void); +}; - static void create_union_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); +// +// End Strategized Proxy Broker Declaration +/////////////////////////////////////////////////////////////////////// - static void create_enum_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - static void create_alias_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); +/////////////////////////////////////////////////////////////////////// +// ThruPOA Impl. Declaration +// - static void create_interface_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); +class _TAO_FinderDef_ThruPOA_Proxy_Impl : + public virtual _TAO_FinderDef_Proxy_Impl, + public virtual TAO_ThruPOA_Object_Proxy_Impl, + public virtual ::POA_IR::_TAO_OperationDef_ThruPOA_Proxy_Impl + +{ +public: + _TAO_FinderDef_ThruPOA_Proxy_Impl (void); + + virtual ~_TAO_FinderDef_ThruPOA_Proxy_Impl (void); + +}; - static void create_value_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - static void create_value_box_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); +// +// ThruPOA Proxy Impl. Declaration +/////////////////////////////////////////////////////////////////////// - static void create_exception_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); +#if defined (ACE_HAS_USING_KEYWORD) + // TIE class: Refer to CORBA v2.2, Section 20.34.4 + template + class FinderDef_tie : public FinderDef + { + public: + FinderDef_tie (T &t); + // the T& ctor + FinderDef_tie (T &t, PortableServer::POA_ptr poa); + // ctor taking a POA + FinderDef_tie (T *tp, CORBA::Boolean release=1); + // ctor taking pointer and an ownership flag + FinderDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1); + // ctor with T*, ownership flag and a POA + ~FinderDef_tie (void); + // dtor + + // TIE specific functions + T *_tied_object (void); + // return the underlying object + void _tied_object (T &obj); + // set the underlying object + void _tied_object (T *obj, CORBA::Boolean release=1); + // set the underlying object and the ownership flag + CORBA::Boolean _is_owner (void); + // do we own it + void _is_owner (CORBA::Boolean b); + // set the ownership + + // overridden ServantBase operations + PortableServer::POA_ptr _default_POA ( + CORBA::Environment &env = + TAO_default_environment () + ); + CORBA::TypeCode_ptr result ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void create_native_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_IDLType_ptr result_def ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _get_id_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + void result_def ( + IR_IDLType_ptr result_def, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _set_id_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_ParDescriptionSeq * params ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _get_name_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + void params ( + const IR_ParDescriptionSeq & params, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _set_name_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_OperationMode mode ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _get_version_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + void mode ( + IR_OperationMode mode, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _set_version_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_ContextIdSeq * contexts ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _get_defined_in_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + void contexts ( + const IR_ContextIdSeq & contexts, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _get_absolute_name_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_ExceptionDefSeq * exceptions ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _get_containing_repository_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + void exceptions ( + const IR_ExceptionDefSeq & exceptions, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void describe_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + char * id ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void move_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + void id ( + const char * id, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _get_type_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + char * name ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void _get_def_kind_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + void name ( + const char * name, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - static void destroy_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + char * version ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - -#if (TAO_HAS_INTERCEPTORS == 1) - // Generation of interceptors related RequestInfo classes per operation. - // This needed to be able to store the arguments, exceptions, contexts - // and build the lists dynamically on demand so that unnecessary time overhead - // of building these lists when they arent used is avoided. - class TAO_ServerRequestInfo_IR_ComponentDef_supported_interfaces_get : public TAO_ServerRequestInfo - { - public: - friend class POA_IR::ComponentDef; - TAO_ServerRequestInfo_IR_ComponentDef_supported_interfaces_get ( - TAO_ServerRequest &_tao_server_request, - POA_IR::ComponentDef *tao_impl - , - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + void version ( + const char * version, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual Dynamic::ParameterList * arguments ( + IR_Container_ptr defined_in ( CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( + ACE_THROW_SPEC (( + CORBA::SystemException + )); + + char * absolute_name ( CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( + ACE_THROW_SPEC (( + CORBA::SystemException + )); + + IR_Repository_ptr containing_repository ( CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - - private: - TAO_ServerRequestInfo_IR_ComponentDef_supported_interfaces_get (const TAO_ServerRequestInfo_IR_ComponentDef_supported_interfaces_get &); - void operator= (const TAO_ServerRequestInfo_IR_ComponentDef_supported_interfaces_get &); - - private: - POA_IR::ComponentDef *_tao_impl; - void result (IR::InterfaceDefSeq * result); - // update the result -IR::InterfaceDefSeq * _result; -}; + ACE_THROW_SPEC (( + CORBA::SystemException + )); -class TAO_ServerRequestInfo_IR_ComponentDef_supported_interfaces_set : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::ComponentDef; - TAO_ServerRequestInfo_IR_ComponentDef_supported_interfaces_set ( - TAO_ServerRequest &_tao_server_request, - POA_IR::ComponentDef *tao_impl - , - const IR::InterfaceDefSeq & supported_interfaces, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + IR_Contained::Description * describe ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_ComponentDef_supported_interfaces_set (const TAO_ServerRequestInfo_IR_ComponentDef_supported_interfaces_set &); - void operator= (const TAO_ServerRequestInfo_IR_ComponentDef_supported_interfaces_set &); - -private: - POA_IR::ComponentDef *_tao_impl; - const IR::InterfaceDefSeq & supported_interfaces_; -}; - -class TAO_ServerRequestInfo_IR_ComponentDef_base_component_get : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::ComponentDef; - TAO_ServerRequestInfo_IR_ComponentDef_base_component_get ( - TAO_ServerRequest &_tao_server_request, - POA_IR::ComponentDef *tao_impl - , - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + void move ( + IR_Container_ptr new_container, + const char * new_name, + const char * new_version, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_ComponentDef_base_component_get (const TAO_ServerRequestInfo_IR_ComponentDef_base_component_get &); - void operator= (const TAO_ServerRequestInfo_IR_ComponentDef_base_component_get &); - -private: - POA_IR::ComponentDef *_tao_impl; - void result (IR::ComponentDef_ptr result); - // update the result -IR::ComponentDef_ptr _result; -}; + IR_DefinitionKind def_kind ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); -class TAO_ServerRequestInfo_IR_ComponentDef_provides_interfaces_get : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::ComponentDef; - TAO_ServerRequestInfo_IR_ComponentDef_provides_interfaces_get ( - TAO_ServerRequest &_tao_server_request, - POA_IR::ComponentDef *tao_impl - , - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + void destroy ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - private: - TAO_ServerRequestInfo_IR_ComponentDef_provides_interfaces_get (const TAO_ServerRequestInfo_IR_ComponentDef_provides_interfaces_get &); - void operator= (const TAO_ServerRequestInfo_IR_ComponentDef_provides_interfaces_get &); - -private: - POA_IR::ComponentDef *_tao_impl; - void result (IR::ProvidesDefSeq * result); - // update the result -IR::ProvidesDefSeq * _result; -}; + T *ptr_; + PortableServer::POA_var poa_; + CORBA::Boolean rel_; -class TAO_ServerRequestInfo_IR_ComponentDef_uses_interfaces_get : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::ComponentDef; - TAO_ServerRequestInfo_IR_ComponentDef_uses_interfaces_get ( - TAO_ServerRequest &_tao_server_request, - POA_IR::ComponentDef *tao_impl - , - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + // copy and assignment are not allowed + FinderDef_tie (const FinderDef_tie &); + void operator= (const FinderDef_tie &); + }; - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_ComponentDef_uses_interfaces_get (const TAO_ServerRequestInfo_IR_ComponentDef_uses_interfaces_get &); - void operator= (const TAO_ServerRequestInfo_IR_ComponentDef_uses_interfaces_get &); - -private: - POA_IR::ComponentDef *_tao_impl; - void result (IR::UsesDefSeq * result); - // update the result -IR::UsesDefSeq * _result; -}; +#endif /* ACE_HAS_USING_KEYWORD */ -class TAO_ServerRequestInfo_IR_ComponentDef_emits_events_get : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::ComponentDef; - TAO_ServerRequestInfo_IR_ComponentDef_emits_events_get ( - TAO_ServerRequest &_tao_server_request, - POA_IR::ComponentDef *tao_impl - , - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + class HomeDef; + typedef HomeDef *HomeDef_ptr; + // Forward Classes Declaration + class _TAO_HomeDef_ThruPOA_Proxy_Impl; + class _TAO_HomeDef_Strategized_Proxy_Broker; - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_ComponentDef_emits_events_get (const TAO_ServerRequestInfo_IR_ComponentDef_emits_events_get &); - void operator= (const TAO_ServerRequestInfo_IR_ComponentDef_emits_events_get &); - -private: - POA_IR::ComponentDef *_tao_impl; - void result (IR::EmitsDefSeq * result); - // update the result -IR::EmitsDefSeq * _result; -}; + class HomeDef : public virtual InterfaceDef + { + protected: + HomeDef (void); -class TAO_ServerRequestInfo_IR_ComponentDef_publishes_events_get : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::ComponentDef; - TAO_ServerRequestInfo_IR_ComponentDef_publishes_events_get ( - TAO_ServerRequest &_tao_server_request, - POA_IR::ComponentDef *tao_impl - , - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + public: + HomeDef (const HomeDef& rhs); + virtual ~HomeDef (void); - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_ComponentDef_publishes_events_get (const TAO_ServerRequestInfo_IR_ComponentDef_publishes_events_get &); - void operator= (const TAO_ServerRequestInfo_IR_ComponentDef_publishes_events_get &); - -private: - POA_IR::ComponentDef *_tao_impl; - void result (IR::PublishesDefSeq * result); - // update the result -IR::PublishesDefSeq * _result; -}; -class TAO_ServerRequestInfo_IR_ComponentDef_consumes_events_get : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::ComponentDef; - TAO_ServerRequestInfo_IR_ComponentDef_consumes_events_get ( - TAO_ServerRequest &_tao_server_request, - POA_IR::ComponentDef *tao_impl - , - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual CORBA::Boolean _is_a ( + const char* logical_type_id, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_ComponentDef_consumes_events_get (const TAO_ServerRequestInfo_IR_ComponentDef_consumes_events_get &); - void operator= (const TAO_ServerRequestInfo_IR_ComponentDef_consumes_events_get &); - -private: - POA_IR::ComponentDef *_tao_impl; - void result (IR::ConsumesDefSeq * result); - // update the result -IR::ConsumesDefSeq * _result; -}; + virtual void* _downcast ( + const char* logical_type_id + ); -class TAO_ServerRequestInfo_IR_ComponentDef_is_basic_get : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::ComponentDef; - TAO_ServerRequestInfo_IR_ComponentDef_is_basic_get ( - TAO_ServerRequest &_tao_server_request, - POA_IR::ComponentDef *tao_impl - , - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _is_a_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_ComponentDef_is_basic_get (const TAO_ServerRequestInfo_IR_ComponentDef_is_basic_get &); - void operator= (const TAO_ServerRequestInfo_IR_ComponentDef_is_basic_get &); - -private: - POA_IR::ComponentDef *_tao_impl; - void result (CORBA::Boolean result); - // update the result -CORBA::Boolean _result; -}; + static void _non_existent_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); -class TAO_ServerRequestInfo_IR_ComponentDef_create_provides : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::ComponentDef; - TAO_ServerRequestInfo_IR_ComponentDef_create_provides ( - TAO_ServerRequest &_tao_server_request, - POA_IR::ComponentDef *tao_impl - , - const char * id, - const char * name, - const char * version, - IR::InterfaceDef_ptr interface_type, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual void _dispatch ( + TAO_ServerRequest &_tao_req, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_ComponentDef_create_provides (const TAO_ServerRequestInfo_IR_ComponentDef_create_provides &); - void operator= (const TAO_ServerRequestInfo_IR_ComponentDef_create_provides &); - -private: - POA_IR::ComponentDef *_tao_impl; - const char * id_; -const char * name_; -const char * version_; -IR::InterfaceDef_ptr interface_type_; -void result (IR::ProvidesDef_ptr result); - // update the result -IR::ProvidesDef_ptr _result; -}; + IR_HomeDef *_this ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); -class TAO_ServerRequestInfo_IR_ComponentDef_create_uses : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::ComponentDef; - TAO_ServerRequestInfo_IR_ComponentDef_create_uses ( - TAO_ServerRequest &_tao_server_request, - POA_IR::ComponentDef *tao_impl - , - const char * id, - const char * name, - const char * version, - IR::InterfaceDef_ptr interface_type, - const CORBA::Boolean & is_multiple, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + virtual const char* _interface_repository_id (void) const; - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_ComponentDef_create_uses (const TAO_ServerRequestInfo_IR_ComponentDef_create_uses &); - void operator= (const TAO_ServerRequestInfo_IR_ComponentDef_create_uses &); - -private: - POA_IR::ComponentDef *_tao_impl; - const char * id_; -const char * name_; -const char * version_; -IR::InterfaceDef_ptr interface_type_; -const CORBA::Boolean & is_multiple_; -void result (IR::UsesDef_ptr result); - // update the result -IR::UsesDef_ptr _result; -}; + virtual IR_HomeDef_ptr base_home ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; -class TAO_ServerRequestInfo_IR_ComponentDef_create_emits : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::ComponentDef; - TAO_ServerRequestInfo_IR_ComponentDef_create_emits ( - TAO_ServerRequest &_tao_server_request, - POA_IR::ComponentDef *tao_impl - , - const char * id, - const char * name, - const char * version, - IR::ValueDef_ptr value, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _get_base_home_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_ComponentDef_create_emits (const TAO_ServerRequestInfo_IR_ComponentDef_create_emits &); - void operator= (const TAO_ServerRequestInfo_IR_ComponentDef_create_emits &); - -private: - POA_IR::ComponentDef *_tao_impl; - const char * id_; -const char * name_; -const char * version_; -IR::ValueDef_ptr value_; -void result (IR::EmitsDef_ptr result); - // update the result -IR::EmitsDef_ptr _result; -}; + virtual IR_ComponentDef_ptr managed_component ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; -class TAO_ServerRequestInfo_IR_ComponentDef_create_publishes : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::ComponentDef; - TAO_ServerRequestInfo_IR_ComponentDef_create_publishes ( - TAO_ServerRequest &_tao_server_request, - POA_IR::ComponentDef *tao_impl - , - const char * id, - const char * name, - const char * version, - IR::ValueDef_ptr value, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _get_managed_component_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_ComponentDef_create_publishes (const TAO_ServerRequestInfo_IR_ComponentDef_create_publishes &); - void operator= (const TAO_ServerRequestInfo_IR_ComponentDef_create_publishes &); - -private: - POA_IR::ComponentDef *_tao_impl; - const char * id_; -const char * name_; -const char * version_; -IR::ValueDef_ptr value_; -void result (IR::PublishesDef_ptr result); - // update the result -IR::PublishesDef_ptr _result; -}; + virtual IR_PrimaryKeyDef_ptr primary_key ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; -class TAO_ServerRequestInfo_IR_ComponentDef_create_consumes : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::ComponentDef; - TAO_ServerRequestInfo_IR_ComponentDef_create_consumes ( - TAO_ServerRequest &_tao_server_request, - POA_IR::ComponentDef *tao_impl - , - const char * id, - const char * name, - const char * version, - IR::ValueDef_ptr value, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _get_primary_key_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_ComponentDef_create_consumes (const TAO_ServerRequestInfo_IR_ComponentDef_create_consumes &); - void operator= (const TAO_ServerRequestInfo_IR_ComponentDef_create_consumes &); - -private: - POA_IR::ComponentDef *_tao_impl; - const char * id_; -const char * name_; -const char * version_; -IR::ValueDef_ptr value_; -void result (IR::ConsumesDef_ptr result); - // update the result -IR::ConsumesDef_ptr _result; -}; + virtual IR_FactoryDefSeq * factories ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; -#endif /* TAO_HAS_INTERCEPTORS */ + static void _get_factories_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); -}; + virtual IR_FinderDefSeq * finders ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; + static void _get_finders_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); -/////////////////////////////////////////////////////////////////////// -// Strategized Proxy Broker Declaration -// + virtual CORBA::Boolean is_basic ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; -class _TAO_ComponentDef_Strategized_Proxy_Broker : public virtual ::IR::_TAO_ComponentDef_Proxy_Broker -{ -public: - _TAO_ComponentDef_Strategized_Proxy_Broker (void); - - virtual ~_TAO_ComponentDef_Strategized_Proxy_Broker (void); - - virtual ::IR::_TAO_ComponentDef_Proxy_Impl &select_proxy ( - ::IR::ComponentDef *object, - CORBA_Environment &ACE_TRY_ENV = TAO_default_environment () - ); + static void _get_is_basic_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); -private: + virtual IR_PrimaryKeyDef_ptr create_primary_key ( + const char * id, + const char * name, + const char * version, + IR_ValueDef_ptr primary_key, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; -// Helper methods that takes care to create the proxy -// as soon as their use is necessary. - void create_proxy ( - TAO_ORB_Core::TAO_Collocation_Strategies strategy, - CORBA::Environment &ACE_TRY_ENV - ); + static void create_primary_key_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); -private: - - // Caches the proxy implementations. The proxy implementation - // are totally stateless, and those can be shared by all the - // instances of a given IDL interface type. - ::IR::_TAO_ComponentDef_Proxy_Impl - *proxy_cache_[TAO_ORB_Core::COLLOCATION_STRATEGIES_NUM]; - - TAO_SYNCH_MUTEX mutex_; -// This funxtion is used to get an handle to the unique instance -// of the Strategized Proxy Broker that is available for a given -// interface. + virtual IR_FactoryDef_ptr create_factory ( + const char * id, + const char * name, + const char * version, + const IR_ParDescriptionSeq & params, + const IR_ExceptionDefSeq & exceptions, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; -public: - static _TAO_ComponentDef_Strategized_Proxy_Broker *the_TAO_ComponentDef_Strategized_Proxy_Broker (void); -}; + static void create_factory_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); + virtual IR_FinderDef_ptr create_finder ( + const char * id, + const char * name, + const char * version, + const IR_ParDescriptionSeq & params, + const IR_ExceptionDefSeq & exceptions, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; -// -// End Strategized Proxy Broker Declaration -/////////////////////////////////////////////////////////////////////// + static void create_finder_skel ( + TAO_ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); + static void _get_base_interfaces_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); -/////////////////////////////////////////////////////////////////////// -// ThruPOA Impl. Declaration -// + static void _set_base_interfaces_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); -class _TAO_ComponentDef_ThruPOA_Proxy_Impl : - public virtual ::IR::_TAO_ComponentDef_Proxy_Impl, - public virtual TAO_ThruPOA_Object_Proxy_Impl, - public virtual ::POA_IR::_TAO_InterfaceDef_ThruPOA_Proxy_Impl - -{ -public: - _TAO_ComponentDef_ThruPOA_Proxy_Impl (void); - - virtual ~_TAO_ComponentDef_ThruPOA_Proxy_Impl (void) { } - - virtual IR::InterfaceDefSeq * supported_interfaces ( - CORBA_Object *_collocated_tao_target_, - CORBA::Environment &ACE_TRY_ENV - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + static void _get_is_abstract_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - virtual void supported_interfaces ( - CORBA_Object *_collocated_tao_target_, - const IR::InterfaceDefSeq & supported_interfaces, - CORBA::Environment &ACE_TRY_ENV - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - virtual IR::ComponentDef_ptr base_component ( - CORBA_Object *_collocated_tao_target_, - CORBA::Environment &ACE_TRY_ENV - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + static void _set_is_abstract_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - virtual IR::ProvidesDefSeq * provides_interfaces ( - CORBA_Object *_collocated_tao_target_, - CORBA::Environment &ACE_TRY_ENV - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + static void _get_is_local_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - virtual IR::UsesDefSeq * uses_interfaces ( - CORBA_Object *_collocated_tao_target_, - CORBA::Environment &ACE_TRY_ENV - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + static void _set_is_local_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - virtual IR::EmitsDefSeq * emits_events ( - CORBA_Object *_collocated_tao_target_, - CORBA::Environment &ACE_TRY_ENV - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + static void is_a_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - virtual IR::PublishesDefSeq * publishes_events ( - CORBA_Object *_collocated_tao_target_, - CORBA::Environment &ACE_TRY_ENV - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + static void create_attribute_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - virtual IR::ConsumesDefSeq * consumes_events ( - CORBA_Object *_collocated_tao_target_, - CORBA::Environment &ACE_TRY_ENV - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + static void create_operation_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - virtual CORBA::Boolean is_basic ( - CORBA_Object *_collocated_tao_target_, - CORBA::Environment &ACE_TRY_ENV - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + static void lookup_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - virtual IR::ProvidesDef_ptr create_provides ( - CORBA_Object *_collocated_tao_target_, - const char * id, - const char * name, - const char * version, - IR::InterfaceDef_ptr interface_type, - CORBA::Environment &ACE_TRY_ENV - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + static void contents_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - virtual IR::UsesDef_ptr create_uses ( - CORBA_Object *_collocated_tao_target_, - const char * id, - const char * name, - const char * version, - IR::InterfaceDef_ptr interface_type, - CORBA::Boolean is_multiple, - CORBA::Environment &ACE_TRY_ENV - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + static void lookup_name_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - virtual IR::EmitsDef_ptr create_emits ( - CORBA_Object *_collocated_tao_target_, - const char * id, - const char * name, - const char * version, - IR::ValueDef_ptr value, - CORBA::Environment &ACE_TRY_ENV - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + static void describe_contents_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - virtual IR::PublishesDef_ptr create_publishes ( - CORBA_Object *_collocated_tao_target_, - const char * id, - const char * name, - const char * version, - IR::ValueDef_ptr value, - CORBA::Environment &ACE_TRY_ENV - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + static void create_module_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - virtual IR::ConsumesDef_ptr create_consumes ( - CORBA_Object *_collocated_tao_target_, - const char * id, - const char * name, - const char * version, - IR::ValueDef_ptr value, - CORBA::Environment &ACE_TRY_ENV - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + static void create_constant_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); -}; + static void create_struct_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + static void create_union_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); -// -// ThruPOA Proxy Impl. Declaration -/////////////////////////////////////////////////////////////////////// + static void create_enum_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + static void create_alias_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); -#if defined (ACE_HAS_USING_KEYWORD) -// TIE class: Refer to CORBA v2.2, Section 20.34.4 -template -class ComponentDef_tie : public ComponentDef -{ -public: - ComponentDef_tie (T &t); - // the T& ctor - ComponentDef_tie (T &t, PortableServer::POA_ptr poa); - // ctor taking a POA - ComponentDef_tie (T *tp, CORBA::Boolean release=1); - // ctor taking pointer and an ownership flag - ComponentDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1); - // ctor with T*, ownership flag and a POA - ~ComponentDef_tie (void); - // dtor - - // TIE specific functions - T *_tied_object (void); - // return the underlying object - void _tied_object (T &obj); - // set the underlying object - void _tied_object (T *obj, CORBA::Boolean release=1); - // set the underlying object and the ownership flag - CORBA::Boolean _is_owner (void); - // do we own it - void _is_owner (CORBA::Boolean b); - // set the ownership - - // overridden ServantBase operations - PortableServer::POA_ptr _default_POA ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - IR::InterfaceDefSeq * supported_interfaces ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + static void create_interface_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - void supported_interfaces ( - const IR::InterfaceDefSeq & supported_interfaces, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + static void create_value_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - IR::ComponentDef_ptr base_component ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + static void create_value_box_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - IR::ProvidesDefSeq * provides_interfaces ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + static void create_exception_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - IR::UsesDefSeq * uses_interfaces ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + static void create_native_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - IR::EmitsDefSeq * emits_events ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + static void _get_id_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - IR::PublishesDefSeq * publishes_events ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + static void _set_id_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - IR::ConsumesDefSeq * consumes_events ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - CORBA::Boolean is_basic ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - IR::ProvidesDef_ptr create_provides ( - const char * id, - const char * name, - const char * version, - IR::InterfaceDef_ptr interface_type, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - IR::UsesDef_ptr create_uses ( - const char * id, - const char * name, - const char * version, - IR::InterfaceDef_ptr interface_type, - CORBA::Boolean is_multiple, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - IR::EmitsDef_ptr create_emits ( - const char * id, - const char * name, - const char * version, - IR::ValueDef_ptr value, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - IR::PublishesDef_ptr create_publishes ( - const char * id, - const char * name, - const char * version, - IR::ValueDef_ptr value, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - IR::ConsumesDef_ptr create_consumes ( - const char * id, - const char * name, - const char * version, - IR::ValueDef_ptr value, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - IR::InterfaceDefSeq * base_interfaces ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - void base_interfaces ( - const IR::InterfaceDefSeq & base_interfaces, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - CORBA::Boolean is_abstract ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - void is_abstract ( - CORBA::Boolean is_abstract, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - CORBA::Boolean is_local ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - void is_local ( - CORBA::Boolean is_local, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - CORBA::Boolean is_a ( - const char * interface_id, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - IR::AttributeDef_ptr create_attribute ( - const char * id, - const char * name, - const char * version, - IR::IDLType_ptr type, - IR::AttributeMode mode, - const IR::ExceptionDefSeq & get_exceptions, - const IR::ExceptionDefSeq & put_exceptions, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - IR::OperationDef_ptr create_operation ( - const char * id, - const char * name, - const char * version, - IR::IDLType_ptr result, - IR::OperationMode mode, - const IR::ParDescriptionSeq & params, - const IR::ExceptionDefSeq & exceptions, - const IR::ContextIdSeq & contexts, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - IR::Contained_ptr lookup ( - const char * search_name, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - IR::ContainedSeq * contents ( - IR::DefinitionKind limit_type, - CORBA::Boolean exclude_inherited, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - IR::ContainedSeq * lookup_name ( - const char * search_name, - CORBA::Long levels_to_search, - IR::DefinitionKind limit_type, - CORBA::Boolean exclude_inherited, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - IR::Container::DescriptionSeq * describe_contents ( - IR::DefinitionKind limit_type, - CORBA::Boolean exclude_inherited, - CORBA::Long max_returned_objs, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - IR::ModuleDef_ptr create_module ( - const char * id, - const char * name, - const char * version, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - IR::ConstantDef_ptr create_constant ( - const char * id, - const char * name, - const char * version, - IR::IDLType_ptr type, - const CORBA::Any & value, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - IR::StructDef_ptr create_struct ( - const char * id, - const char * name, - const char * version, - const IR::StructMemberSeq & members, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - IR::UnionDef_ptr create_union ( - const char * id, - const char * name, - const char * version, - IR::IDLType_ptr discriminator_type, - const IR::UnionMemberSeq & members, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - IR::EnumDef_ptr create_enum ( - const char * id, - const char * name, - const char * version, - const IR::EnumMemberSeq & members, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - IR::AliasDef_ptr create_alias ( - const char * id, - const char * name, - const char * version, - IR::IDLType_ptr original_type, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - IR::InterfaceDef_ptr create_interface ( - const char * id, - const char * name, - const char * version, - const IR::InterfaceDefSeq & base_interfaces, - CORBA::Boolean is_abstract, - CORBA::Boolean is_local, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - IR::ValueDef_ptr create_value ( - const char * id, - const char * name, - const char * version, - CORBA::Boolean is_custom, - CORBA::Boolean is_abstract, - IR::ValueDef_ptr base_value, - CORBA::Boolean is_truncatable, - const IR::ValueDefSeq & abstract_base_values, - const IR::InterfaceDefSeq & supported_interfaces, - const IR::InitializerSeq & initializers, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - IR::ValueBoxDef_ptr create_value_box ( - const char * id, - const char * name, - const char * version, - IR::IDLType_ptr original_type_def, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - IR::ExceptionDef_ptr create_exception ( - const char * id, - const char * name, - const char * version, - const IR::StructMemberSeq & members, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - IR::NativeDef_ptr create_native ( - const char * id, - const char * name, - const char * version, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - char * id ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - void id ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - char * name ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - void name ( - const char * name, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - char * version ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - void version ( - const char * version, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - IR::Container_ptr defined_in ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - char * absolute_name ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - IR::Repository_ptr containing_repository ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - IR::Contained::Description * describe ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - void move ( - IR::Container_ptr new_container, - const char * new_name, - const char * new_version, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - CORBA::TypeCode_ptr type ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - IR::DefinitionKind def_kind ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - void destroy ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - -private: - T *ptr_; - PortableServer::POA_var poa_; - CORBA::Boolean rel_; - - // copy and assignment are not allowed - ComponentDef_tie (const ComponentDef_tie &); - void operator= (const ComponentDef_tie &); -}; - -#endif /* ACE_HAS_USING_KEYWORD */ - -class PrimaryKeyDef; -typedef PrimaryKeyDef *PrimaryKeyDef_ptr; -// Forward Classes Declaration -class _TAO_PrimaryKeyDef_ThruPOA_Proxy_Impl; -class _TAO_PrimaryKeyDef_Strategized_Proxy_Broker; - -class PrimaryKeyDef : public virtual Contained -{ -protected: - PrimaryKeyDef (void); - -public: - PrimaryKeyDef (const PrimaryKeyDef& rhs); - virtual ~PrimaryKeyDef (void); - - - virtual CORBA::Boolean _is_a ( - const char* logical_type_id, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - virtual void* _downcast ( - const char* logical_type_id - ); - - static void _is_a_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _non_existent_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - virtual void _dispatch ( - TAO_ServerRequest &_tao_req, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - ::IR::PrimaryKeyDef *_this ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - virtual const char* _interface_repository_id (void) const; - - virtual CORBA::Boolean is_a ( - const char * primary_key_id, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; - - static void is_a_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - virtual IR::ValueDef_ptr primary_key ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; - - static void _get_primary_key_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _get_id_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _set_id_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _get_name_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _set_name_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _get_version_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _set_version_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _get_defined_in_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _get_absolute_name_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _get_containing_repository_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void describe_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void move_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _get_def_kind_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void destroy_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - -#if (TAO_HAS_INTERCEPTORS == 1) - // Generation of interceptors related RequestInfo classes per operation. - // This needed to be able to store the arguments, exceptions, contexts - // and build the lists dynamically on demand so that unnecessary time overhead - // of building these lists when they arent used is avoided. - class TAO_ServerRequestInfo_IR_PrimaryKeyDef_is_a : public TAO_ServerRequestInfo - { - public: - friend class POA_IR::PrimaryKeyDef; - TAO_ServerRequestInfo_IR_PrimaryKeyDef_is_a ( - TAO_ServerRequest &_tao_server_request, - POA_IR::PrimaryKeyDef *tao_impl - , - const char * primary_key_id, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - - private: - TAO_ServerRequestInfo_IR_PrimaryKeyDef_is_a (const TAO_ServerRequestInfo_IR_PrimaryKeyDef_is_a &); - void operator= (const TAO_ServerRequestInfo_IR_PrimaryKeyDef_is_a &); - - private: - POA_IR::PrimaryKeyDef *_tao_impl; - const char * primary_key_id_; -void result (CORBA::Boolean result); - // update the result -CORBA::Boolean _result; -}; - -class TAO_ServerRequestInfo_IR_PrimaryKeyDef_primary_key_get : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::PrimaryKeyDef; - TAO_ServerRequestInfo_IR_PrimaryKeyDef_primary_key_get ( - TAO_ServerRequest &_tao_server_request, - POA_IR::PrimaryKeyDef *tao_impl - , - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_PrimaryKeyDef_primary_key_get (const TAO_ServerRequestInfo_IR_PrimaryKeyDef_primary_key_get &); - void operator= (const TAO_ServerRequestInfo_IR_PrimaryKeyDef_primary_key_get &); - -private: - POA_IR::PrimaryKeyDef *_tao_impl; - void result (IR::ValueDef_ptr result); - // update the result -IR::ValueDef_ptr _result; -}; - -#endif /* TAO_HAS_INTERCEPTORS */ - -}; - - -/////////////////////////////////////////////////////////////////////// -// Strategized Proxy Broker Declaration -// - -class _TAO_PrimaryKeyDef_Strategized_Proxy_Broker : public virtual ::IR::_TAO_PrimaryKeyDef_Proxy_Broker -{ -public: - _TAO_PrimaryKeyDef_Strategized_Proxy_Broker (void); - - virtual ~_TAO_PrimaryKeyDef_Strategized_Proxy_Broker (void); - - virtual ::IR::_TAO_PrimaryKeyDef_Proxy_Impl &select_proxy ( - ::IR::PrimaryKeyDef *object, - CORBA_Environment &ACE_TRY_ENV = TAO_default_environment () - ); - -private: - -// Helper methods that takes care to create the proxy -// as soon as their use is necessary. - void create_proxy ( - TAO_ORB_Core::TAO_Collocation_Strategies strategy, - CORBA::Environment &ACE_TRY_ENV - ); - -private: - - // Caches the proxy implementations. The proxy implementation - // are totally stateless, and those can be shared by all the - // instances of a given IDL interface type. - ::IR::_TAO_PrimaryKeyDef_Proxy_Impl - *proxy_cache_[TAO_ORB_Core::COLLOCATION_STRATEGIES_NUM]; - - TAO_SYNCH_MUTEX mutex_; -// This funxtion is used to get an handle to the unique instance -// of the Strategized Proxy Broker that is available for a given -// interface. - -public: - static _TAO_PrimaryKeyDef_Strategized_Proxy_Broker *the_TAO_PrimaryKeyDef_Strategized_Proxy_Broker (void); -}; - - -// -// End Strategized Proxy Broker Declaration -/////////////////////////////////////////////////////////////////////// - - -/////////////////////////////////////////////////////////////////////// -// ThruPOA Impl. Declaration -// - -class _TAO_PrimaryKeyDef_ThruPOA_Proxy_Impl : - public virtual ::IR::_TAO_PrimaryKeyDef_Proxy_Impl, - public virtual TAO_ThruPOA_Object_Proxy_Impl, - public virtual ::POA_IR::_TAO_Contained_ThruPOA_Proxy_Impl - -{ -public: - _TAO_PrimaryKeyDef_ThruPOA_Proxy_Impl (void); - - virtual ~_TAO_PrimaryKeyDef_ThruPOA_Proxy_Impl (void) { } - - virtual CORBA::Boolean is_a ( - CORBA_Object *_collocated_tao_target_, - const char * primary_key_id, - CORBA::Environment &ACE_TRY_ENV - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - virtual IR::ValueDef_ptr primary_key ( - CORBA_Object *_collocated_tao_target_, - CORBA::Environment &ACE_TRY_ENV - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - -}; - - -// -// ThruPOA Proxy Impl. Declaration -/////////////////////////////////////////////////////////////////////// - - -#if defined (ACE_HAS_USING_KEYWORD) -// TIE class: Refer to CORBA v2.2, Section 20.34.4 -template -class PrimaryKeyDef_tie : public PrimaryKeyDef -{ -public: - PrimaryKeyDef_tie (T &t); - // the T& ctor - PrimaryKeyDef_tie (T &t, PortableServer::POA_ptr poa); - // ctor taking a POA - PrimaryKeyDef_tie (T *tp, CORBA::Boolean release=1); - // ctor taking pointer and an ownership flag - PrimaryKeyDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1); - // ctor with T*, ownership flag and a POA - ~PrimaryKeyDef_tie (void); - // dtor - - // TIE specific functions - T *_tied_object (void); - // return the underlying object - void _tied_object (T &obj); - // set the underlying object - void _tied_object (T *obj, CORBA::Boolean release=1); - // set the underlying object and the ownership flag - CORBA::Boolean _is_owner (void); - // do we own it - void _is_owner (CORBA::Boolean b); - // set the ownership - - // overridden ServantBase operations - PortableServer::POA_ptr _default_POA ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - CORBA::Boolean is_a ( - const char * primary_key_id, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - IR::ValueDef_ptr primary_key ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - char * id ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - void id ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - char * name ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - void name ( - const char * name, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - char * version ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - void version ( - const char * version, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - IR::Container_ptr defined_in ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - char * absolute_name ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - IR::Repository_ptr containing_repository ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - IR::Contained::Description * describe ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - void move ( - IR::Container_ptr new_container, - const char * new_name, - const char * new_version, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - IR::DefinitionKind def_kind ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - void destroy ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - -private: - T *ptr_; - PortableServer::POA_var poa_; - CORBA::Boolean rel_; - - // copy and assignment are not allowed - PrimaryKeyDef_tie (const PrimaryKeyDef_tie &); - void operator= (const PrimaryKeyDef_tie &); -}; - -#endif /* ACE_HAS_USING_KEYWORD */ - -class FactoryDef; -typedef FactoryDef *FactoryDef_ptr; -// Forward Classes Declaration -class _TAO_FactoryDef_ThruPOA_Proxy_Impl; -class _TAO_FactoryDef_Strategized_Proxy_Broker; - -class FactoryDef : public virtual OperationDef -{ -protected: - FactoryDef (void); - -public: - FactoryDef (const FactoryDef& rhs); - virtual ~FactoryDef (void); - - - virtual CORBA::Boolean _is_a ( - const char* logical_type_id, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - virtual void* _downcast ( - const char* logical_type_id - ); - - static void _is_a_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _non_existent_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - virtual void _dispatch ( - TAO_ServerRequest &_tao_req, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - ::IR::FactoryDef *_this ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - virtual const char* _interface_repository_id (void) const; - - static void _get_result_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _get_result_def_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _set_result_def_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _get_params_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _set_params_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _get_mode_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _set_mode_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _get_contexts_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _set_contexts_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _get_exceptions_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _set_exceptions_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _get_id_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _set_id_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _get_name_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _set_name_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _get_version_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _set_version_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _get_defined_in_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _get_absolute_name_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _get_containing_repository_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void describe_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void move_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _get_def_kind_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void destroy_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - -#if (TAO_HAS_INTERCEPTORS == 1) - // Generation of interceptors related RequestInfo classes per operation. - // This needed to be able to store the arguments, exceptions, contexts - // and build the lists dynamically on demand so that unnecessary time overhead - // of building these lists when they arent used is avoided. - #endif /* TAO_HAS_INTERCEPTORS */ - -}; - - -/////////////////////////////////////////////////////////////////////// -// Strategized Proxy Broker Declaration -// - -class _TAO_FactoryDef_Strategized_Proxy_Broker : public virtual ::IR::_TAO_FactoryDef_Proxy_Broker -{ -public: - _TAO_FactoryDef_Strategized_Proxy_Broker (void); - - virtual ~_TAO_FactoryDef_Strategized_Proxy_Broker (void); - - virtual ::IR::_TAO_FactoryDef_Proxy_Impl &select_proxy ( - ::IR::FactoryDef *object, - CORBA_Environment &ACE_TRY_ENV = TAO_default_environment () - ); - -private: - -// Helper methods that takes care to create the proxy -// as soon as their use is necessary. - void create_proxy ( - TAO_ORB_Core::TAO_Collocation_Strategies strategy, - CORBA::Environment &ACE_TRY_ENV - ); - -private: - - // Caches the proxy implementations. The proxy implementation - // are totally stateless, and those can be shared by all the - // instances of a given IDL interface type. - ::IR::_TAO_FactoryDef_Proxy_Impl - *proxy_cache_[TAO_ORB_Core::COLLOCATION_STRATEGIES_NUM]; - - TAO_SYNCH_MUTEX mutex_; -// This funxtion is used to get an handle to the unique instance -// of the Strategized Proxy Broker that is available for a given -// interface. - -public: - static _TAO_FactoryDef_Strategized_Proxy_Broker *the_TAO_FactoryDef_Strategized_Proxy_Broker (void); -}; - - -// -// End Strategized Proxy Broker Declaration -/////////////////////////////////////////////////////////////////////// - - -/////////////////////////////////////////////////////////////////////// -// ThruPOA Impl. Declaration -// - -class _TAO_FactoryDef_ThruPOA_Proxy_Impl : - public virtual ::IR::_TAO_FactoryDef_Proxy_Impl, - public virtual TAO_ThruPOA_Object_Proxy_Impl, - public virtual ::POA_IR::_TAO_OperationDef_ThruPOA_Proxy_Impl - -{ -public: - _TAO_FactoryDef_ThruPOA_Proxy_Impl (void); - - virtual ~_TAO_FactoryDef_ThruPOA_Proxy_Impl (void) { } - - }; - - -// -// ThruPOA Proxy Impl. Declaration -/////////////////////////////////////////////////////////////////////// - - -#if defined (ACE_HAS_USING_KEYWORD) -// TIE class: Refer to CORBA v2.2, Section 20.34.4 -template -class FactoryDef_tie : public FactoryDef -{ -public: - FactoryDef_tie (T &t); - // the T& ctor - FactoryDef_tie (T &t, PortableServer::POA_ptr poa); - // ctor taking a POA - FactoryDef_tie (T *tp, CORBA::Boolean release=1); - // ctor taking pointer and an ownership flag - FactoryDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1); - // ctor with T*, ownership flag and a POA - ~FactoryDef_tie (void); - // dtor - - // TIE specific functions - T *_tied_object (void); - // return the underlying object - void _tied_object (T &obj); - // set the underlying object - void _tied_object (T *obj, CORBA::Boolean release=1); - // set the underlying object and the ownership flag - CORBA::Boolean _is_owner (void); - // do we own it - void _is_owner (CORBA::Boolean b); - // set the ownership - - // overridden ServantBase operations - PortableServer::POA_ptr _default_POA ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - CORBA::TypeCode_ptr result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - IR::IDLType_ptr result_def ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - void result_def ( - IR::IDLType_ptr result_def, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - IR::ParDescriptionSeq * params ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - void params ( - const IR::ParDescriptionSeq & params, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - IR::OperationMode mode ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - void mode ( - IR::OperationMode mode, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - IR::ContextIdSeq * contexts ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - void contexts ( - const IR::ContextIdSeq & contexts, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - IR::ExceptionDefSeq * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - void exceptions ( - const IR::ExceptionDefSeq & exceptions, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - char * id ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - void id ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - char * name ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - void name ( - const char * name, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - char * version ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - void version ( - const char * version, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - IR::Container_ptr defined_in ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - char * absolute_name ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - IR::Repository_ptr containing_repository ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - IR::Contained::Description * describe ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - void move ( - IR::Container_ptr new_container, - const char * new_name, - const char * new_version, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - IR::DefinitionKind def_kind ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - void destroy ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - -private: - T *ptr_; - PortableServer::POA_var poa_; - CORBA::Boolean rel_; - - // copy and assignment are not allowed - FactoryDef_tie (const FactoryDef_tie &); - void operator= (const FactoryDef_tie &); -}; - -#endif /* ACE_HAS_USING_KEYWORD */ - -class FinderDef; -typedef FinderDef *FinderDef_ptr; -// Forward Classes Declaration -class _TAO_FinderDef_ThruPOA_Proxy_Impl; -class _TAO_FinderDef_Strategized_Proxy_Broker; - -class FinderDef : public virtual OperationDef -{ -protected: - FinderDef (void); - -public: - FinderDef (const FinderDef& rhs); - virtual ~FinderDef (void); - - - virtual CORBA::Boolean _is_a ( - const char* logical_type_id, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - virtual void* _downcast ( - const char* logical_type_id - ); - - static void _is_a_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _non_existent_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - virtual void _dispatch ( - TAO_ServerRequest &_tao_req, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - ::IR::FinderDef *_this ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - virtual const char* _interface_repository_id (void) const; - - static void _get_result_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _get_result_def_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _set_result_def_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _get_params_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _set_params_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _get_mode_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _set_mode_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _get_contexts_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _set_contexts_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _get_exceptions_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _set_exceptions_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _get_id_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _set_id_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _get_name_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _set_name_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _get_version_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _set_version_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _get_defined_in_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _get_absolute_name_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _get_containing_repository_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void describe_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void move_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _get_def_kind_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void destroy_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - -#if (TAO_HAS_INTERCEPTORS == 1) - // Generation of interceptors related RequestInfo classes per operation. - // This needed to be able to store the arguments, exceptions, contexts - // and build the lists dynamically on demand so that unnecessary time overhead - // of building these lists when they arent used is avoided. - #endif /* TAO_HAS_INTERCEPTORS */ - -}; - - -/////////////////////////////////////////////////////////////////////// -// Strategized Proxy Broker Declaration -// - -class _TAO_FinderDef_Strategized_Proxy_Broker : public virtual ::IR::_TAO_FinderDef_Proxy_Broker -{ -public: - _TAO_FinderDef_Strategized_Proxy_Broker (void); - - virtual ~_TAO_FinderDef_Strategized_Proxy_Broker (void); - - virtual ::IR::_TAO_FinderDef_Proxy_Impl &select_proxy ( - ::IR::FinderDef *object, - CORBA_Environment &ACE_TRY_ENV = TAO_default_environment () - ); - -private: - -// Helper methods that takes care to create the proxy -// as soon as their use is necessary. - void create_proxy ( - TAO_ORB_Core::TAO_Collocation_Strategies strategy, - CORBA::Environment &ACE_TRY_ENV - ); - -private: - - // Caches the proxy implementations. The proxy implementation - // are totally stateless, and those can be shared by all the - // instances of a given IDL interface type. - ::IR::_TAO_FinderDef_Proxy_Impl - *proxy_cache_[TAO_ORB_Core::COLLOCATION_STRATEGIES_NUM]; - - TAO_SYNCH_MUTEX mutex_; -// This funxtion is used to get an handle to the unique instance -// of the Strategized Proxy Broker that is available for a given -// interface. - -public: - static _TAO_FinderDef_Strategized_Proxy_Broker *the_TAO_FinderDef_Strategized_Proxy_Broker (void); -}; - - -// -// End Strategized Proxy Broker Declaration -/////////////////////////////////////////////////////////////////////// - - -/////////////////////////////////////////////////////////////////////// -// ThruPOA Impl. Declaration -// - -class _TAO_FinderDef_ThruPOA_Proxy_Impl : - public virtual ::IR::_TAO_FinderDef_Proxy_Impl, - public virtual TAO_ThruPOA_Object_Proxy_Impl, - public virtual ::POA_IR::_TAO_OperationDef_ThruPOA_Proxy_Impl - -{ -public: - _TAO_FinderDef_ThruPOA_Proxy_Impl (void); - - virtual ~_TAO_FinderDef_ThruPOA_Proxy_Impl (void) { } - - }; - - -// -// ThruPOA Proxy Impl. Declaration -/////////////////////////////////////////////////////////////////////// - - -#if defined (ACE_HAS_USING_KEYWORD) -// TIE class: Refer to CORBA v2.2, Section 20.34.4 -template -class FinderDef_tie : public FinderDef -{ -public: - FinderDef_tie (T &t); - // the T& ctor - FinderDef_tie (T &t, PortableServer::POA_ptr poa); - // ctor taking a POA - FinderDef_tie (T *tp, CORBA::Boolean release=1); - // ctor taking pointer and an ownership flag - FinderDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1); - // ctor with T*, ownership flag and a POA - ~FinderDef_tie (void); - // dtor - - // TIE specific functions - T *_tied_object (void); - // return the underlying object - void _tied_object (T &obj); - // set the underlying object - void _tied_object (T *obj, CORBA::Boolean release=1); - // set the underlying object and the ownership flag - CORBA::Boolean _is_owner (void); - // do we own it - void _is_owner (CORBA::Boolean b); - // set the ownership - - // overridden ServantBase operations - PortableServer::POA_ptr _default_POA ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - CORBA::TypeCode_ptr result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - IR::IDLType_ptr result_def ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - void result_def ( - IR::IDLType_ptr result_def, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - IR::ParDescriptionSeq * params ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - void params ( - const IR::ParDescriptionSeq & params, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - IR::OperationMode mode ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - void mode ( - IR::OperationMode mode, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - IR::ContextIdSeq * contexts ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - void contexts ( - const IR::ContextIdSeq & contexts, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - IR::ExceptionDefSeq * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - void exceptions ( - const IR::ExceptionDefSeq & exceptions, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - char * id ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - void id ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - char * name ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - void name ( - const char * name, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - char * version ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - void version ( - const char * version, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - IR::Container_ptr defined_in ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - char * absolute_name ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - IR::Repository_ptr containing_repository ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - IR::Contained::Description * describe ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - void move ( - IR::Container_ptr new_container, - const char * new_name, - const char * new_version, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - IR::DefinitionKind def_kind ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - void destroy ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - -private: - T *ptr_; - PortableServer::POA_var poa_; - CORBA::Boolean rel_; - - // copy and assignment are not allowed - FinderDef_tie (const FinderDef_tie &); - void operator= (const FinderDef_tie &); -}; - -#endif /* ACE_HAS_USING_KEYWORD */ - -class HomeDef; -typedef HomeDef *HomeDef_ptr; -// Forward Classes Declaration -class _TAO_HomeDef_ThruPOA_Proxy_Impl; -class _TAO_HomeDef_Strategized_Proxy_Broker; - -class HomeDef : public virtual InterfaceDef -{ -protected: - HomeDef (void); - -public: - HomeDef (const HomeDef& rhs); - virtual ~HomeDef (void); - - - virtual CORBA::Boolean _is_a ( - const char* logical_type_id, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - virtual void* _downcast ( - const char* logical_type_id - ); - - static void _is_a_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _non_existent_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - virtual void _dispatch ( - TAO_ServerRequest &_tao_req, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - ::IR::HomeDef *_this ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - virtual const char* _interface_repository_id (void) const; - - virtual IR::HomeDef_ptr base_home ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; - - static void _get_base_home_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - virtual IR::ComponentDef_ptr managed_component ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; - - static void _get_managed_component_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - virtual IR::PrimaryKeyDef_ptr primary_key ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; - - static void _get_primary_key_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - virtual IR::FactoryDefSeq * factories ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; - - static void _get_factories_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - virtual IR::FinderDefSeq * finders ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; - - static void _get_finders_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - virtual CORBA::Boolean is_basic ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; - - static void _get_is_basic_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - virtual IR::PrimaryKeyDef_ptr create_primary_key ( - const char * id, - const char * name, - const char * version, - IR::ValueDef_ptr primary_key, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; - - static void create_primary_key_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - virtual IR::FactoryDef_ptr create_factory ( - const char * id, - const char * name, - const char * version, - const IR::ParDescriptionSeq & params, - const IR::ExceptionDefSeq & exceptions, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; - - static void create_factory_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - virtual IR::FinderDef_ptr create_finder ( - const char * id, - const char * name, - const char * version, - const IR::ParDescriptionSeq & params, - const IR::ExceptionDefSeq & exceptions, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )) = 0; - - static void create_finder_skel ( - TAO_ServerRequest &_tao_req, - void *_tao_obj, - void *_tao_context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _get_base_interfaces_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _set_base_interfaces_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _get_is_abstract_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _set_is_abstract_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _get_is_local_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _set_is_local_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void is_a_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void create_attribute_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void create_operation_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void lookup_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void contents_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void lookup_name_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void describe_contents_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void create_module_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void create_constant_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void create_struct_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void create_union_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void create_enum_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void create_alias_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void create_interface_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void create_value_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void create_value_box_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void create_exception_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void create_native_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _get_id_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _set_id_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _get_name_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _set_name_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _get_version_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _set_version_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _get_defined_in_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _get_absolute_name_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _get_containing_repository_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void describe_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void move_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _get_type_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void _get_def_kind_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - static void destroy_skel ( - TAO_ServerRequest &req, - void *obj, - void *context, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - -#if (TAO_HAS_INTERCEPTORS == 1) - // Generation of interceptors related RequestInfo classes per operation. - // This needed to be able to store the arguments, exceptions, contexts - // and build the lists dynamically on demand so that unnecessary time overhead - // of building these lists when they arent used is avoided. - class TAO_ServerRequestInfo_IR_HomeDef_base_home_get : public TAO_ServerRequestInfo - { - public: - friend class POA_IR::HomeDef; - TAO_ServerRequestInfo_IR_HomeDef_base_home_get ( - TAO_ServerRequest &_tao_server_request, - POA_IR::HomeDef *tao_impl - , - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = + static void _get_name_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - - private: - TAO_ServerRequestInfo_IR_HomeDef_base_home_get (const TAO_ServerRequestInfo_IR_HomeDef_base_home_get &); - void operator= (const TAO_ServerRequestInfo_IR_HomeDef_base_home_get &); - - private: - POA_IR::HomeDef *_tao_impl; - void result (IR::HomeDef_ptr result); - // update the result -IR::HomeDef_ptr _result; -}; - -class TAO_ServerRequestInfo_IR_HomeDef_managed_component_get : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::HomeDef; - TAO_ServerRequestInfo_IR_HomeDef_managed_component_get ( - TAO_ServerRequest &_tao_server_request, - POA_IR::HomeDef *tao_impl - , - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_HomeDef_managed_component_get (const TAO_ServerRequestInfo_IR_HomeDef_managed_component_get &); - void operator= (const TAO_ServerRequestInfo_IR_HomeDef_managed_component_get &); - -private: - POA_IR::HomeDef *_tao_impl; - void result (IR::ComponentDef_ptr result); - // update the result -IR::ComponentDef_ptr _result; -}; - -class TAO_ServerRequestInfo_IR_HomeDef_primary_key_get : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::HomeDef; - TAO_ServerRequestInfo_IR_HomeDef_primary_key_get ( - TAO_ServerRequest &_tao_server_request, - POA_IR::HomeDef *tao_impl - , - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_HomeDef_primary_key_get (const TAO_ServerRequestInfo_IR_HomeDef_primary_key_get &); - void operator= (const TAO_ServerRequestInfo_IR_HomeDef_primary_key_get &); - -private: - POA_IR::HomeDef *_tao_impl; - void result (IR::PrimaryKeyDef_ptr result); - // update the result -IR::PrimaryKeyDef_ptr _result; -}; - -class TAO_ServerRequestInfo_IR_HomeDef_factories_get : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::HomeDef; - TAO_ServerRequestInfo_IR_HomeDef_factories_get ( - TAO_ServerRequest &_tao_server_request, - POA_IR::HomeDef *tao_impl - , - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_HomeDef_factories_get (const TAO_ServerRequestInfo_IR_HomeDef_factories_get &); - void operator= (const TAO_ServerRequestInfo_IR_HomeDef_factories_get &); - -private: - POA_IR::HomeDef *_tao_impl; - void result (IR::FactoryDefSeq * result); - // update the result -IR::FactoryDefSeq * _result; -}; - -class TAO_ServerRequestInfo_IR_HomeDef_finders_get : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::HomeDef; - TAO_ServerRequestInfo_IR_HomeDef_finders_get ( - TAO_ServerRequest &_tao_server_request, - POA_IR::HomeDef *tao_impl - , - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_HomeDef_finders_get (const TAO_ServerRequestInfo_IR_HomeDef_finders_get &); - void operator= (const TAO_ServerRequestInfo_IR_HomeDef_finders_get &); - -private: - POA_IR::HomeDef *_tao_impl; - void result (IR::FinderDefSeq * result); - // update the result -IR::FinderDefSeq * _result; -}; - -class TAO_ServerRequestInfo_IR_HomeDef_is_basic_get : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::HomeDef; - TAO_ServerRequestInfo_IR_HomeDef_is_basic_get ( - TAO_ServerRequest &_tao_server_request, - POA_IR::HomeDef *tao_impl - , - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_HomeDef_is_basic_get (const TAO_ServerRequestInfo_IR_HomeDef_is_basic_get &); - void operator= (const TAO_ServerRequestInfo_IR_HomeDef_is_basic_get &); - -private: - POA_IR::HomeDef *_tao_impl; - void result (CORBA::Boolean result); - // update the result -CORBA::Boolean _result; -}; + ); -class TAO_ServerRequestInfo_IR_HomeDef_create_primary_key : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::HomeDef; - TAO_ServerRequestInfo_IR_HomeDef_create_primary_key ( - TAO_ServerRequest &_tao_server_request, - POA_IR::HomeDef *tao_impl - , - const char * id, - const char * name, - const char * version, - IR::ValueDef_ptr primary_key, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _set_name_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_HomeDef_create_primary_key (const TAO_ServerRequestInfo_IR_HomeDef_create_primary_key &); - void operator= (const TAO_ServerRequestInfo_IR_HomeDef_create_primary_key &); - -private: - POA_IR::HomeDef *_tao_impl; - const char * id_; -const char * name_; -const char * version_; -IR::ValueDef_ptr primary_key_; -void result (IR::PrimaryKeyDef_ptr result); - // update the result -IR::PrimaryKeyDef_ptr _result; -}; + static void _get_version_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); -class TAO_ServerRequestInfo_IR_HomeDef_create_factory : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::HomeDef; - TAO_ServerRequestInfo_IR_HomeDef_create_factory ( - TAO_ServerRequest &_tao_server_request, - POA_IR::HomeDef *tao_impl - , - const char * id, - const char * name, - const char * version, - const IR::ParDescriptionSeq & params, - const IR::ExceptionDefSeq & exceptions, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _set_version_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_HomeDef_create_factory (const TAO_ServerRequestInfo_IR_HomeDef_create_factory &); - void operator= (const TAO_ServerRequestInfo_IR_HomeDef_create_factory &); - -private: - POA_IR::HomeDef *_tao_impl; - const char * id_; -const char * name_; -const char * version_; -const IR::ParDescriptionSeq & params_; -const IR::ExceptionDefSeq & exceptions_; -void result (IR::FactoryDef_ptr result); - // update the result -IR::FactoryDef_ptr _result; -}; + static void _get_defined_in_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); -class TAO_ServerRequestInfo_IR_HomeDef_create_finder : public TAO_ServerRequestInfo -{ -public: - friend class POA_IR::HomeDef; - TAO_ServerRequestInfo_IR_HomeDef_create_finder ( - TAO_ServerRequest &_tao_server_request, - POA_IR::HomeDef *tao_impl - , - const char * id, - const char * name, - const char * version, - const IR::ParDescriptionSeq & params, - const IR::ExceptionDefSeq & exceptions, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + static void _get_absolute_name_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual char * target_most_derived_interface ( - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - virtual CORBA::Boolean target_is_a ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - - -private: - TAO_ServerRequestInfo_IR_HomeDef_create_finder (const TAO_ServerRequestInfo_IR_HomeDef_create_finder &); - void operator= (const TAO_ServerRequestInfo_IR_HomeDef_create_finder &); - -private: - POA_IR::HomeDef *_tao_impl; - const char * id_; -const char * name_; -const char * version_; -const IR::ParDescriptionSeq & params_; -const IR::ExceptionDefSeq & exceptions_; -void result (IR::FinderDef_ptr result); - // update the result -IR::FinderDef_ptr _result; -}; + static void _get_containing_repository_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); -#endif /* TAO_HAS_INTERCEPTORS */ + static void describe_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); -}; + static void move_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void _get_type_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + + static void _get_def_kind_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + static void destroy_skel ( + TAO_ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &env = + TAO_default_environment () + ); + }; /////////////////////////////////////////////////////////////////////// // Strategized Proxy Broker Declaration // -class _TAO_HomeDef_Strategized_Proxy_Broker : public virtual ::IR::_TAO_HomeDef_Proxy_Broker +class _TAO_HomeDef_Strategized_Proxy_Broker : public virtual _TAO_HomeDef_Proxy_Broker { public: _TAO_HomeDef_Strategized_Proxy_Broker (void); - + virtual ~_TAO_HomeDef_Strategized_Proxy_Broker (void); - - virtual ::IR::_TAO_HomeDef_Proxy_Impl &select_proxy ( - ::IR::HomeDef *object, + + virtual _TAO_HomeDef_Proxy_Impl &select_proxy ( + IR_HomeDef *object, CORBA_Environment &ACE_TRY_ENV = TAO_default_environment () ); @@ -30453,7 +21646,7 @@ // Caches the proxy implementations. The proxy implementation // are totally stateless, and those can be shared by all the // instances of a given IDL interface type. - ::IR::_TAO_HomeDef_Proxy_Impl + _TAO_HomeDef_Proxy_Impl *proxy_cache_[TAO_ORB_Core::COLLOCATION_STRATEGIES_NUM]; TAO_SYNCH_MUTEX mutex_; @@ -30465,641 +21658,639 @@ static _TAO_HomeDef_Strategized_Proxy_Broker *the_TAO_HomeDef_Strategized_Proxy_Broker (void); }; - // // End Strategized Proxy Broker Declaration /////////////////////////////////////////////////////////////////////// -/////////////////////////////////////////////////////////////////////// -// ThruPOA Impl. Declaration -// - -class _TAO_HomeDef_ThruPOA_Proxy_Impl : - public virtual ::IR::_TAO_HomeDef_Proxy_Impl, - public virtual TAO_ThruPOA_Object_Proxy_Impl, - public virtual ::POA_IR::_TAO_InterfaceDef_ThruPOA_Proxy_Impl - -{ -public: - _TAO_HomeDef_ThruPOA_Proxy_Impl (void); - - virtual ~_TAO_HomeDef_ThruPOA_Proxy_Impl (void) { } - - virtual IR::HomeDef_ptr base_home ( - CORBA_Object *_collocated_tao_target_, - CORBA::Environment &ACE_TRY_ENV - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - virtual IR::ComponentDef_ptr managed_component ( - CORBA_Object *_collocated_tao_target_, - CORBA::Environment &ACE_TRY_ENV - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - virtual IR::PrimaryKeyDef_ptr primary_key ( - CORBA_Object *_collocated_tao_target_, - CORBA::Environment &ACE_TRY_ENV - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - virtual IR::FactoryDefSeq * factories ( - CORBA_Object *_collocated_tao_target_, - CORBA::Environment &ACE_TRY_ENV - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - virtual IR::FinderDefSeq * finders ( - CORBA_Object *_collocated_tao_target_, - CORBA::Environment &ACE_TRY_ENV - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - virtual CORBA::Boolean is_basic ( - CORBA_Object *_collocated_tao_target_, - CORBA::Environment &ACE_TRY_ENV - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - virtual IR::PrimaryKeyDef_ptr create_primary_key ( - CORBA_Object *_collocated_tao_target_, - const char * id, - const char * name, - const char * version, - IR::ValueDef_ptr primary_key, - CORBA::Environment &ACE_TRY_ENV - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - virtual IR::FactoryDef_ptr create_factory ( - CORBA_Object *_collocated_tao_target_, - const char * id, - const char * name, - const char * version, - const IR::ParDescriptionSeq & params, - const IR::ExceptionDefSeq & exceptions, - CORBA::Environment &ACE_TRY_ENV - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - virtual IR::FinderDef_ptr create_finder ( - CORBA_Object *_collocated_tao_target_, - const char * id, - const char * name, - const char * version, - const IR::ParDescriptionSeq & params, - const IR::ExceptionDefSeq & exceptions, - CORBA::Environment &ACE_TRY_ENV - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - -}; - - -// -// ThruPOA Proxy Impl. Declaration -/////////////////////////////////////////////////////////////////////// - - -#if defined (ACE_HAS_USING_KEYWORD) -// TIE class: Refer to CORBA v2.2, Section 20.34.4 -template -class HomeDef_tie : public HomeDef -{ -public: - HomeDef_tie (T &t); - // the T& ctor - HomeDef_tie (T &t, PortableServer::POA_ptr poa); - // ctor taking a POA - HomeDef_tie (T *tp, CORBA::Boolean release=1); - // ctor taking pointer and an ownership flag - HomeDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1); - // ctor with T*, ownership flag and a POA - ~HomeDef_tie (void); - // dtor - - // TIE specific functions - T *_tied_object (void); - // return the underlying object - void _tied_object (T &obj); - // set the underlying object - void _tied_object (T *obj, CORBA::Boolean release=1); - // set the underlying object and the ownership flag - CORBA::Boolean _is_owner (void); - // do we own it - void _is_owner (CORBA::Boolean b); - // set the ownership - - // overridden ServantBase operations - PortableServer::POA_ptr _default_POA ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); - IR::HomeDef_ptr base_home ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - IR::ComponentDef_ptr managed_component ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - IR::PrimaryKeyDef_ptr primary_key ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - IR::FactoryDefSeq * factories ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - IR::FinderDefSeq * finders ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - CORBA::Boolean is_basic ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - IR::PrimaryKeyDef_ptr create_primary_key ( - const char * id, - const char * name, - const char * version, - IR::ValueDef_ptr primary_key, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - IR::FactoryDef_ptr create_factory ( - const char * id, - const char * name, - const char * version, - const IR::ParDescriptionSeq & params, - const IR::ExceptionDefSeq & exceptions, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - IR::FinderDef_ptr create_finder ( - const char * id, - const char * name, - const char * version, - const IR::ParDescriptionSeq & params, - const IR::ExceptionDefSeq & exceptions, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - IR::InterfaceDefSeq * base_interfaces ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - void base_interfaces ( - const IR::InterfaceDefSeq & base_interfaces, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - CORBA::Boolean is_abstract ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - void is_abstract ( - CORBA::Boolean is_abstract, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - CORBA::Boolean is_local ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - void is_local ( - CORBA::Boolean is_local, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - CORBA::Boolean is_a ( - const char * interface_id, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - IR::AttributeDef_ptr create_attribute ( - const char * id, - const char * name, - const char * version, - IR::IDLType_ptr type, - IR::AttributeMode mode, - const IR::ExceptionDefSeq & get_exceptions, - const IR::ExceptionDefSeq & put_exceptions, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); - - IR::OperationDef_ptr create_operation ( - const char * id, - const char * name, - const char * version, - IR::IDLType_ptr result, - IR::OperationMode mode, - const IR::ParDescriptionSeq & params, - const IR::ExceptionDefSeq & exceptions, - const IR::ContextIdSeq & contexts, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); +/////////////////////////////////////////////////////////////////////// +// ThruPOA Impl. Declaration +// - IR::Contained_ptr lookup ( - const char * search_name, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () +class _TAO_HomeDef_ThruPOA_Proxy_Impl : + public virtual _TAO_HomeDef_Proxy_Impl, + public virtual TAO_ThruPOA_Object_Proxy_Impl, + public virtual ::POA_IR::_TAO_InterfaceDef_ThruPOA_Proxy_Impl + +{ +public: + _TAO_HomeDef_ThruPOA_Proxy_Impl (void); + + virtual ~_TAO_HomeDef_ThruPOA_Proxy_Impl (void); + + virtual IR_HomeDef_ptr base_home ( + CORBA_Object *_collocated_tao_target_, + CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException )); - IR::ContainedSeq * contents ( - IR::DefinitionKind limit_type, - CORBA::Boolean exclude_inherited, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () + virtual IR_ComponentDef_ptr managed_component ( + CORBA_Object *_collocated_tao_target_, + CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException )); - IR::ContainedSeq * lookup_name ( - const char * search_name, - CORBA::Long levels_to_search, - IR::DefinitionKind limit_type, - CORBA::Boolean exclude_inherited, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () + virtual IR_PrimaryKeyDef_ptr primary_key ( + CORBA_Object *_collocated_tao_target_, + CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException )); - IR::Container::DescriptionSeq * describe_contents ( - IR::DefinitionKind limit_type, - CORBA::Boolean exclude_inherited, - CORBA::Long max_returned_objs, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () + virtual IR_FactoryDefSeq * factories ( + CORBA_Object *_collocated_tao_target_, + CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException )); - IR::ModuleDef_ptr create_module ( - const char * id, - const char * name, - const char * version, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () + virtual IR_FinderDefSeq * finders ( + CORBA_Object *_collocated_tao_target_, + CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException )); - IR::ConstantDef_ptr create_constant ( - const char * id, - const char * name, - const char * version, - IR::IDLType_ptr type, - const CORBA::Any & value, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () + virtual CORBA::Boolean is_basic ( + CORBA_Object *_collocated_tao_target_, + CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException )); - IR::StructDef_ptr create_struct ( + virtual IR_PrimaryKeyDef_ptr create_primary_key ( + CORBA_Object *_collocated_tao_target_, const char * id, const char * name, const char * version, - const IR::StructMemberSeq & members, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () + IR_ValueDef_ptr primary_key, + CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException )); - IR::UnionDef_ptr create_union ( + virtual IR_FactoryDef_ptr create_factory ( + CORBA_Object *_collocated_tao_target_, const char * id, const char * name, const char * version, - IR::IDLType_ptr discriminator_type, - const IR::UnionMemberSeq & members, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () + const IR_ParDescriptionSeq & params, + const IR_ExceptionDefSeq & exceptions, + CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException )); - IR::EnumDef_ptr create_enum ( + virtual IR_FinderDef_ptr create_finder ( + CORBA_Object *_collocated_tao_target_, const char * id, const char * name, const char * version, - const IR::EnumMemberSeq & members, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () + const IR_ParDescriptionSeq & params, + const IR_ExceptionDefSeq & exceptions, + CORBA::Environment &ACE_TRY_ENV ) ACE_THROW_SPEC (( CORBA::SystemException )); - IR::AliasDef_ptr create_alias ( - const char * id, - const char * name, - const char * version, - IR::IDLType_ptr original_type, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); +}; + + +// +// ThruPOA Proxy Impl. Declaration +/////////////////////////////////////////////////////////////////////// + +#if defined (ACE_HAS_USING_KEYWORD) + // TIE class: Refer to CORBA v2.2, Section 20.34.4 + template + class HomeDef_tie : public HomeDef + { + public: + HomeDef_tie (T &t); + // the T& ctor + HomeDef_tie (T &t, PortableServer::POA_ptr poa); + // ctor taking a POA + HomeDef_tie (T *tp, CORBA::Boolean release=1); + // ctor taking pointer and an ownership flag + HomeDef_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1); + // ctor with T*, ownership flag and a POA + ~HomeDef_tie (void); + // dtor + + // TIE specific functions + T *_tied_object (void); + // return the underlying object + void _tied_object (T &obj); + // set the underlying object + void _tied_object (T *obj, CORBA::Boolean release=1); + // set the underlying object and the ownership flag + CORBA::Boolean _is_owner (void); + // do we own it + void _is_owner (CORBA::Boolean b); + // set the ownership + + // overridden ServantBase operations + PortableServer::POA_ptr _default_POA ( + CORBA::Environment &env = + TAO_default_environment () + ); + IR_HomeDef_ptr base_home ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); + + IR_ComponentDef_ptr managed_component ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); + + IR_PrimaryKeyDef_ptr primary_key ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); + + IR_FactoryDefSeq * factories ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); + + IR_FinderDefSeq * finders ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); + + CORBA::Boolean is_basic ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); + + IR_PrimaryKeyDef_ptr create_primary_key ( + const char * id, + const char * name, + const char * version, + IR_ValueDef_ptr primary_key, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); + + IR_FactoryDef_ptr create_factory ( + const char * id, + const char * name, + const char * version, + const IR_ParDescriptionSeq & params, + const IR_ExceptionDefSeq & exceptions, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); + + IR_FinderDef_ptr create_finder ( + const char * id, + const char * name, + const char * version, + const IR_ParDescriptionSeq & params, + const IR_ExceptionDefSeq & exceptions, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); + + IR_InterfaceDefSeq * base_interfaces ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); + + void base_interfaces ( + const IR_InterfaceDefSeq & base_interfaces, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); + + CORBA::Boolean is_abstract ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); + + void is_abstract ( + CORBA::Boolean is_abstract, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); + + CORBA::Boolean is_local ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); + + void is_local ( + CORBA::Boolean is_local, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); + + CORBA::Boolean is_a ( + const char * interface_id, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); + + IR_AttributeDef_ptr create_attribute ( + const char * id, + const char * name, + const char * version, + IR_IDLType_ptr type, + IR_AttributeMode mode, + const IR_ExceptionDefSeq & get_exceptions, + const IR_ExceptionDefSeq & put_exceptions, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); + + IR_OperationDef_ptr create_operation ( + const char * id, + const char * name, + const char * version, + IR_IDLType_ptr result, + IR_OperationMode mode, + const IR_ParDescriptionSeq & params, + const IR_ExceptionDefSeq & exceptions, + const IR_ContextIdSeq & contexts, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); + + IR_Contained_ptr lookup ( + const char * search_name, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); + + IR_ContainedSeq * contents ( + IR_DefinitionKind limit_type, + CORBA::Boolean exclude_inherited, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); + + IR_ContainedSeq * lookup_name ( + const char * search_name, + CORBA::Long levels_to_search, + IR_DefinitionKind limit_type, + CORBA::Boolean exclude_inherited, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); + + IR_Container::DescriptionSeq * describe_contents ( + IR_DefinitionKind limit_type, + CORBA::Boolean exclude_inherited, + CORBA::Long max_returned_objs, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); + + IR_ModuleDef_ptr create_module ( + const char * id, + const char * name, + const char * version, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); + + IR_ConstantDef_ptr create_constant ( + const char * id, + const char * name, + const char * version, + IR_IDLType_ptr type, + const CORBA::Any & value, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); + + IR_StructDef_ptr create_struct ( + const char * id, + const char * name, + const char * version, + const IR_StructMemberSeq & members, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); + + IR_UnionDef_ptr create_union ( + const char * id, + const char * name, + const char * version, + IR_IDLType_ptr discriminator_type, + const IR_UnionMemberSeq & members, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); + + IR_EnumDef_ptr create_enum ( + const char * id, + const char * name, + const char * version, + const IR_EnumMemberSeq & members, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); + + IR_AliasDef_ptr create_alias ( + const char * id, + const char * name, + const char * version, + IR_IDLType_ptr original_type, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::InterfaceDef_ptr create_interface ( - const char * id, - const char * name, - const char * version, - const IR::InterfaceDefSeq & base_interfaces, - CORBA::Boolean is_abstract, - CORBA::Boolean is_local, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_InterfaceDef_ptr create_interface ( + const char * id, + const char * name, + const char * version, + const IR_InterfaceDefSeq & base_interfaces, + CORBA::Boolean is_abstract, + CORBA::Boolean is_local, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::ValueDef_ptr create_value ( - const char * id, - const char * name, - const char * version, - CORBA::Boolean is_custom, - CORBA::Boolean is_abstract, - IR::ValueDef_ptr base_value, - CORBA::Boolean is_truncatable, - const IR::ValueDefSeq & abstract_base_values, - const IR::InterfaceDefSeq & supported_interfaces, - const IR::InitializerSeq & initializers, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_ValueDef_ptr create_value ( + const char * id, + const char * name, + const char * version, + CORBA::Boolean is_custom, + CORBA::Boolean is_abstract, + IR_ValueDef_ptr base_value, + CORBA::Boolean is_truncatable, + const IR_ValueDefSeq & abstract_base_values, + const IR_InterfaceDefSeq & supported_interfaces, + const IR_InitializerSeq & initializers, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::ValueBoxDef_ptr create_value_box ( - const char * id, - const char * name, - const char * version, - IR::IDLType_ptr original_type_def, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_ValueBoxDef_ptr create_value_box ( + const char * id, + const char * name, + const char * version, + IR_IDLType_ptr original_type_def, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::ExceptionDef_ptr create_exception ( - const char * id, - const char * name, - const char * version, - const IR::StructMemberSeq & members, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_ExceptionDef_ptr create_exception ( + const char * id, + const char * name, + const char * version, + const IR_StructMemberSeq & members, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::NativeDef_ptr create_native ( - const char * id, - const char * name, - const char * version, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_NativeDef_ptr create_native ( + const char * id, + const char * name, + const char * version, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - char * id ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + char * id ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - void id ( - const char * id, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + void id ( + const char * id, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - char * name ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + char * name ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - void name ( - const char * name, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + void name ( + const char * name, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - char * version ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + char * version ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - void version ( - const char * version, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + void version ( + const char * version, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::Container_ptr defined_in ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_Container_ptr defined_in ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - char * absolute_name ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + char * absolute_name ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::Repository_ptr containing_repository ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_Repository_ptr containing_repository ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::Contained::Description * describe ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_Contained::Description * describe ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - void move ( - IR::Container_ptr new_container, - const char * new_name, - const char * new_version, - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + void move ( + IR_Container_ptr new_container, + const char * new_name, + const char * new_version, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - CORBA::TypeCode_ptr type ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + CORBA::TypeCode_ptr type ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - IR::DefinitionKind def_kind ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + IR_DefinitionKind def_kind ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); - void destroy ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ) - ACE_THROW_SPEC (( - CORBA::SystemException - )); + void destroy ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); private: - T *ptr_; - PortableServer::POA_var poa_; - CORBA::Boolean rel_; - - // copy and assignment are not allowed - HomeDef_tie (const HomeDef_tie &); - void operator= (const HomeDef_tie &); -}; + T *ptr_; + PortableServer::POA_var poa_; + CORBA::Boolean rel_; + + // copy and assignment are not allowed + HomeDef_tie (const HomeDef_tie &); + void operator= (const HomeDef_tie &); + }; #endif /* ACE_HAS_USING_KEYWORD */ @@ -31121,4 +22312,4 @@ #endif /* __BORLANDC__ */ #include "ace/post.h" -#endif /* ifndef */ +#endif /* ifndef TAO_IDL_INTERFACES_H */