summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/IFR_Service/IFR_ComponentsS.h
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/orbsvcs/IFR_Service/IFR_ComponentsS.h')
-rw-r--r--TAO/orbsvcs/IFR_Service/IFR_ComponentsS.h9368
1 files changed, 9368 insertions, 0 deletions
diff --git a/TAO/orbsvcs/IFR_Service/IFR_ComponentsS.h b/TAO/orbsvcs/IFR_Service/IFR_ComponentsS.h
new file mode 100644
index 00000000000..9faabd4fd95
--- /dev/null
+++ b/TAO/orbsvcs/IFR_Service/IFR_ComponentsS.h
@@ -0,0 +1,9368 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+#ifndef TAO_IDL_IFR_COMPONENTSS_H
+#define TAO_IDL_IFR_COMPONENTSS_H
+
+#include "ace/pre.h"
+#include "tao/IFR_Client/IFR_ComponentsC.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "IFR_ExtendedS.h"
+
+#if defined(_MSC_VER)
+#if (_MSC_VER >= 1200)
+#pragma warning(push)
+#endif /* _MSC_VER >= 1200 */
+#pragma warning(disable:4250)
+#endif /* _MSC_VER */
+
+#if defined (__BORLANDC__)
+#pragma option push -w-rvl -w-rch -w-ccc -w-inl
+#endif /* __BORLANDC__ */
+
+TAO_NAMESPACE POA_IR
+{
+ class ComponentRepository;
+ typedef ComponentRepository *ComponentRepository_ptr;
+ // Forward Classes Declaration
+ class _TAO_ComponentRepository_ThruPOA_Proxy_Impl;
+ class _TAO_ComponentRepository_Strategized_Proxy_Broker;
+
+ class ComponentRepository : public virtual POA_CORBA::Repository
+ {
+ protected:
+ ComponentRepository (void);
+
+ public:
+ ComponentRepository (const ComponentRepository& rhs);
+ virtual ~ComponentRepository (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::ComponentRepository *_this (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ 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 CORBA::InterfaceDefSeq & supports_interfaces,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void create_component_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ 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,
+ CORBA::ValueDef_ptr primary_key,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ 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 &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 ()
+ );
+
+ static void get_primitive_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ static void create_string_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &ACE_TRY_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 create_sequence_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &ACE_TRY_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 create_fixed_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 create_abstract_interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ static void create_local_interface_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_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 CORBA::InterfaceDefSeq & supports_interfaces,
+ 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_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 CORBA::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,
+ CORBA::ValueDef_ptr primary_key,
+ 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_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_;
+ CORBA::ValueDef_ptr primary_key_;
+ void result (IR::HomeDef_ptr result);
+ // update the result
+ IR::HomeDef_ptr _result;
+ };
+
+ #endif /* TAO_HAS_INTERCEPTORS */
+
+ };
+
+
+ ///////////////////////////////////////////////////////////////////////
+ // Strategized Proxy Broker Declaration
+ //
+
+ class _TAO_ComponentRepository_Strategized_Proxy_Broker : public virtual ::IR::_TAO_ComponentRepository_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,
+ 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 (
+ int 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_ComponentRepository_Proxy_Impl
+ *proxy_cache_[TAO_Collocation_Strategies::CS_LAST];
+
+ 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
+ ///////////////////////////////////////////////////////////////////////
+
+
+///////////////////////////////////////////////////////////////////////
+// ThruPOA Impl. Declaration
+//
+
+class _TAO_ComponentRepository_ThruPOA_Proxy_Impl :
+ public virtual ::IR::_TAO_ComponentRepository_Proxy_Impl,
+ public virtual TAO_ThruPOA_Object_Proxy_Impl,
+ public virtual ::POA_CORBA::_TAO_Repository_ThruPOA_Proxy_Impl
+
+{
+public:
+ _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 CORBA::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,
+ CORBA::ValueDef_ptr primary_key,
+ 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 T>
+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 CORBA::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,
+ CORBA::ValueDef_ptr primary_key,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::Contained_ptr lookup_id (
+ const char * search_id,
+ 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
+ ));
+
+ CORBA::PrimitiveDef_ptr get_primitive (
+ CORBA::PrimitiveKind kind,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::StringDef_ptr create_string (
+ CORBA::ULong bound,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::WstringDef_ptr create_wstring (
+ CORBA::ULong bound,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::SequenceDef_ptr create_sequence (
+ CORBA::ULong bound,
+ CORBA::IDLType_ptr element_type,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::ArrayDef_ptr create_array (
+ CORBA::ULong length,
+ CORBA::IDLType_ptr element_type,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::FixedDef_ptr create_fixed (
+ CORBA::UShort digits,
+ CORBA::Short scale,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::Contained_ptr lookup (
+ const char * search_name,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::ContainedSeq * contents (
+ CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::ContainedSeq * lookup_name (
+ const char * search_name,
+ CORBA::Long levels_to_search,
+ CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::Container::DescriptionSeq * describe_contents (
+ CORBA::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::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
+ ));
+
+ CORBA::ConstantDef_ptr create_constant (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::IDLType_ptr type,
+ const CORBA::Any & value,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::StructDef_ptr create_struct (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA::StructMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::UnionDef_ptr create_union (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::IDLType_ptr discriminator_type,
+ const CORBA::UnionMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::EnumDef_ptr create_enum (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA::EnumMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::AliasDef_ptr create_alias (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::IDLType_ptr original_type,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::InterfaceDef_ptr create_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA::InterfaceDefSeq & base_interfaces,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::ValueDef_ptr create_value (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Boolean is_custom,
+ CORBA::Boolean is_abstract,
+ CORBA::ValueDef_ptr base_value,
+ CORBA::Boolean is_truncatable,
+ const CORBA::ValueDefSeq & abstract_base_values,
+ const CORBA::InterfaceDefSeq & supported_interfaces,
+ const CORBA::InitializerSeq & initializers,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::ValueBoxDef_ptr create_value_box (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::IDLType_ptr original_type_def,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::ExceptionDef_ptr create_exception (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA::StructMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::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::AbstractInterfaceDef_ptr create_abstract_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA::AbstractInterfaceDefSeq & base_interfaces,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::LocalInterfaceDef_ptr create_local_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA::InterfaceDefSeq & base_interfaces,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::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
+ ComponentRepository_tie (const ComponentRepository_tie &);
+ void operator= (const ComponentRepository_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 ProvidesDef : public virtual POA_CORBA::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
+ );
+
+ 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 CORBA::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 _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_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 ()
+ );
+
+ 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_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 (CORBA::InterfaceDef_ptr result);
+ // update the result
+ CORBA::InterfaceDef_ptr _result;
+ };
+
+ #endif /* TAO_HAS_INTERCEPTORS */
+
+};
+
+
+///////////////////////////////////////////////////////////////////////
+// Strategized Proxy Broker Declaration
+//
+
+class _TAO_ProvidesDef_Strategized_Proxy_Broker : public virtual ::IR::_TAO_ProvidesDef_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,
+ 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 (
+ int 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_ProvidesDef_Proxy_Impl
+ *proxy_cache_[TAO_Collocation_Strategies::CS_LAST];
+
+ 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_ProvidesDef_Strategized_Proxy_Broker *the_TAO_ProvidesDef_Strategized_Proxy_Broker (void);
+};
+
+
+//
+// End Strategized Proxy Broker Declaration
+///////////////////////////////////////////////////////////////////////
+
+
+///////////////////////////////////////////////////////////////////////
+// ThruPOA Impl. Declaration
+//
+
+class _TAO_ProvidesDef_ThruPOA_Proxy_Impl :
+ public virtual ::IR::_TAO_ProvidesDef_Proxy_Impl,
+ public virtual TAO_ThruPOA_Object_Proxy_Impl,
+ public virtual ::POA_CORBA::_TAO_Contained_ThruPOA_Proxy_Impl
+
+{
+public:
+ _TAO_ProvidesDef_ThruPOA_Proxy_Impl (void);
+
+ virtual ~_TAO_ProvidesDef_ThruPOA_Proxy_Impl (void) { }
+
+ virtual CORBA::InterfaceDef_ptr interface_type (
+ 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 T>
+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 ()
+ );
+ CORBA::InterfaceDef_ptr interface_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
+ ));
+
+ 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
+ ));
+
+ CORBA::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
+ ));
+
+ CORBA::Repository_ptr containing_repository (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::Contained::Description * describe (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void move (
+ CORBA::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::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 &);
+};
+
+#endif /* ACE_HAS_USING_KEYWORD */
+
+class UsesDef;
+typedef UsesDef *UsesDef_ptr;
+// Forward Classes Declaration
+class _TAO_UsesDef_ThruPOA_Proxy_Impl;
+class _TAO_UsesDef_Strategized_Proxy_Broker;
+
+class UsesDef : public virtual POA_CORBA::Contained
+{
+protected:
+ UsesDef (void);
+
+public:
+ UsesDef (const UsesDef& rhs);
+ virtual ~UsesDef (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::UsesDef *_this (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual const char* _interface_repository_id (void) const;
+
+ virtual CORBA::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 ()
+ );
+
+ virtual CORBA::Boolean is_multiple (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ 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 ()
+ );
+
+ 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_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 ()
+ );
+
+ 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_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 (CORBA::InterfaceDef_ptr result);
+ // update the result
+ CORBA::InterfaceDef_ptr _result;
+ };
+
+ 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 ()
+ );
+
+ 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;
+ };
+
+ #endif /* TAO_HAS_INTERCEPTORS */
+
+};
+
+
+///////////////////////////////////////////////////////////////////////
+// Strategized Proxy Broker Declaration
+//
+
+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 ()
+ );
+
+private:
+
+// Helper methods that takes care to create the proxy
+// as soon as their use is necessary.
+ void create_proxy (
+ int 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_UsesDef_Proxy_Impl
+ *proxy_cache_[TAO_Collocation_Strategies::CS_LAST];
+
+ 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);
+};
+
+
+//
+// End Strategized Proxy Broker Declaration
+///////////////////////////////////////////////////////////////////////
+
+
+///////////////////////////////////////////////////////////////////////
+// ThruPOA Impl. Declaration
+//
+
+class _TAO_UsesDef_ThruPOA_Proxy_Impl :
+ public virtual ::IR::_TAO_UsesDef_Proxy_Impl,
+ public virtual TAO_ThruPOA_Object_Proxy_Impl,
+ public virtual ::POA_CORBA::_TAO_Contained_ThruPOA_Proxy_Impl
+
+{
+public:
+ _TAO_UsesDef_ThruPOA_Proxy_Impl (void);
+
+ virtual ~_TAO_UsesDef_ThruPOA_Proxy_Impl (void) { }
+
+ virtual CORBA::InterfaceDef_ptr interface_type (
+ CORBA_Object *_collocated_tao_target_,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ 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
+ ));
+
+};
+
+
+//
+// ThruPOA Proxy Impl. Declaration
+///////////////////////////////////////////////////////////////////////
+
+
+#if defined (ACE_HAS_USING_KEYWORD)
+// TIE class: Refer to CORBA v2.2, Section 20.34.4
+template <class T>
+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 ()
+ );
+ CORBA::InterfaceDef_ptr interface_type (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::Boolean is_multiple (
+ 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
+ ));
+
+ CORBA::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
+ ));
+
+ CORBA::Repository_ptr containing_repository (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::Contained::Description * describe (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void move (
+ CORBA::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::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
+ UsesDef_tie (const UsesDef_tie &);
+ void operator= (const UsesDef_tie &);
+};
+
+#endif /* ACE_HAS_USING_KEYWORD */
+
+class EventDef;
+typedef EventDef *EventDef_ptr;
+// Forward Classes Declaration
+class _TAO_EventDef_ThruPOA_Proxy_Impl;
+class _TAO_EventDef_Strategized_Proxy_Broker;
+
+class EventDef : public virtual POA_CORBA::Contained
+{
+protected:
+ EventDef (void);
+
+public:
+ EventDef (const EventDef& rhs);
+ virtual ~EventDef (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::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 CORBA::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 &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_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 (CORBA::ValueDef_ptr result);
+ // update the result
+ CORBA::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 (
+ int 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_Collocation_Strategies::CS_LAST];
+
+ 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_CORBA::_TAO_Contained_ThruPOA_Proxy_Impl
+
+{
+public:
+ _TAO_EventDef_ThruPOA_Proxy_Impl (void);
+
+ virtual ~_TAO_EventDef_ThruPOA_Proxy_Impl (void) { }
+
+ virtual CORBA::Boolean is_a (
+ CORBA_Object *_collocated_tao_target_,
+ const char * event_id,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual CORBA::ValueDef_ptr event (
+ 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 T>
+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
+ ));
+
+ CORBA::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 (
+ 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
+ ));
+
+ CORBA::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
+ ));
+
+ CORBA::Repository_ptr containing_repository (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::Contained::Description * describe (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void move (
+ CORBA::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::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
+ EventDef_tie (const EventDef_tie &);
+ void operator= (const EventDef_tie &);
+};
+
+#endif /* ACE_HAS_USING_KEYWORD */
+
+class EmitsDef;
+typedef EmitsDef *EmitsDef_ptr;
+// Forward Classes Declaration
+class _TAO_EmitsDef_ThruPOA_Proxy_Impl;
+class _TAO_EmitsDef_Strategized_Proxy_Broker;
+
+class EmitsDef : public virtual EventDef
+{
+protected:
+ EmitsDef (void);
+
+public:
+ EmitsDef (const EmitsDef& rhs);
+ virtual ~EmitsDef (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::EmitsDef *_this (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ 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 ()
+ );
+
+ static void _get_event_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_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 ()
+ );
+
+private:
+
+// Helper methods that takes care to create the proxy
+// as soon as their use is necessary.
+ void create_proxy (
+ int 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_EmitsDef_Proxy_Impl
+ *proxy_cache_[TAO_Collocation_Strategies::CS_LAST];
+
+ 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_EmitsDef_Strategized_Proxy_Broker *the_TAO_EmitsDef_Strategized_Proxy_Broker (void);
+};
+
+
+//
+// End Strategized Proxy Broker Declaration
+///////////////////////////////////////////////////////////////////////
+
+
+///////////////////////////////////////////////////////////////////////
+// ThruPOA Impl. Declaration
+//
+
+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) { }
+
+ };
+
+
+//
+// ThruPOA Proxy Impl. Declaration
+///////////////////////////////////////////////////////////////////////
+
+
+#if defined (ACE_HAS_USING_KEYWORD)
+// TIE class: Refer to CORBA v2.2, Section 20.34.4
+template <class T>
+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
+ ));
+
+ CORBA::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 (
+ 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
+ ));
+
+ CORBA::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
+ ));
+
+ CORBA::Repository_ptr containing_repository (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::Contained::Description * describe (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void move (
+ CORBA::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::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
+ EmitsDef_tie (const EmitsDef_tie &);
+ void operator= (const EmitsDef_tie &);
+};
+
+#endif /* ACE_HAS_USING_KEYWORD */
+
+class PublishesDef;
+typedef PublishesDef *PublishesDef_ptr;
+// Forward Classes Declaration
+class _TAO_PublishesDef_ThruPOA_Proxy_Impl;
+class _TAO_PublishesDef_Strategized_Proxy_Broker;
+
+class PublishesDef : public virtual EventDef
+{
+protected:
+ PublishesDef (void);
+
+public:
+ PublishesDef (const PublishesDef& rhs);
+ virtual ~PublishesDef (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::PublishesDef *_this (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ 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 ()
+ );
+
+ static void _get_event_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_PublishesDef_Strategized_Proxy_Broker : public virtual ::IR::_TAO_PublishesDef_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,
+ 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 (
+ int 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_PublishesDef_Proxy_Impl
+ *proxy_cache_[TAO_Collocation_Strategies::CS_LAST];
+
+ 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_PublishesDef_Strategized_Proxy_Broker *the_TAO_PublishesDef_Strategized_Proxy_Broker (void);
+};
+
+
+//
+// End Strategized Proxy Broker Declaration
+///////////////////////////////////////////////////////////////////////
+
+
+///////////////////////////////////////////////////////////////////////
+// ThruPOA Impl. Declaration
+//
+
+class _TAO_PublishesDef_ThruPOA_Proxy_Impl :
+ public virtual ::IR::_TAO_PublishesDef_Proxy_Impl,
+ public virtual TAO_ThruPOA_Object_Proxy_Impl,
+ public virtual ::POA_IR::_TAO_EventDef_ThruPOA_Proxy_Impl
+
+{
+public:
+ _TAO_PublishesDef_ThruPOA_Proxy_Impl (void);
+
+ virtual ~_TAO_PublishesDef_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 T>
+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 ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::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 (
+ 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
+ ));
+
+ CORBA::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
+ ));
+
+ CORBA::Repository_ptr containing_repository (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::Contained::Description * describe (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void move (
+ CORBA::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::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
+ PublishesDef_tie (const PublishesDef_tie &);
+ void operator= (const PublishesDef_tie &);
+};
+
+#endif /* ACE_HAS_USING_KEYWORD */
+
+class ConsumesDef;
+typedef ConsumesDef *ConsumesDef_ptr;
+// Forward Classes Declaration
+class _TAO_ConsumesDef_ThruPOA_Proxy_Impl;
+class _TAO_ConsumesDef_Strategized_Proxy_Broker;
+
+class ConsumesDef : public virtual EventDef
+{
+protected:
+ ConsumesDef (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 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::ConsumesDef *_this (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ 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 ()
+ );
+
+ static void _get_event_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_ConsumesDef_Strategized_Proxy_Broker : public virtual ::IR::_TAO_ConsumesDef_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,
+ 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 (
+ int 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_ConsumesDef_Proxy_Impl
+ *proxy_cache_[TAO_Collocation_Strategies::CS_LAST];
+
+ 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_ConsumesDef_Strategized_Proxy_Broker *the_TAO_ConsumesDef_Strategized_Proxy_Broker (void);
+};
+
+
+//
+// End Strategized Proxy Broker Declaration
+///////////////////////////////////////////////////////////////////////
+
+
+///////////////////////////////////////////////////////////////////////
+// ThruPOA Impl. Declaration
+//
+
+class _TAO_ConsumesDef_ThruPOA_Proxy_Impl :
+ public virtual ::IR::_TAO_ConsumesDef_Proxy_Impl,
+ public virtual TAO_ThruPOA_Object_Proxy_Impl,
+ public virtual ::POA_IR::_TAO_EventDef_ThruPOA_Proxy_Impl
+
+{
+public:
+ _TAO_ConsumesDef_ThruPOA_Proxy_Impl (void);
+
+ virtual ~_TAO_ConsumesDef_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 T>
+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
+ ));
+
+ CORBA::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 (
+ 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
+ ));
+
+ CORBA::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
+ ));
+
+ CORBA::Repository_ptr containing_repository (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::Contained::Description * describe (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void move (
+ CORBA::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::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
+ ConsumesDef_tie (const ConsumesDef_tie &);
+ void operator= (const ConsumesDef_tie &);
+};
+
+#endif /* ACE_HAS_USING_KEYWORD */
+
+class ComponentDef;
+typedef ComponentDef *ComponentDef_ptr;
+// Forward Classes Declaration
+class _TAO_ComponentDef_ThruPOA_Proxy_Impl;
+class _TAO_ComponentDef_Strategized_Proxy_Broker;
+
+class ComponentDef : public virtual POA_CORBA::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
+ );
+
+ 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::ComponentDef *_this (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual const char* _interface_repository_id (void) const;
+
+ virtual CORBA::InterfaceDefSeq * supported_interfaces (
+ 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 ()
+ );
+
+ virtual void supported_interfaces (
+ const CORBA::InterfaceDefSeq & supported_interfaces,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ 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;
+
+ 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 IR::ProvidesDefSeq * provides_interfaces (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void _get_provides_interfaces_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_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_uses_interfaces_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_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 _get_emits_events_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_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_publishes_events_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_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;
+
+ 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 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::ProvidesDef_ptr create_provides (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::InterfaceDef_ptr interface_type,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void create_provides_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual IR::UsesDef_ptr create_uses (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::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 ()
+ );
+
+ virtual IR::EmitsDef_ptr create_emits (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::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 ()
+ );
+
+ virtual IR::PublishesDef_ptr create_publishes (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::ValueDef_ptr value,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void create_publishes_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual IR::ConsumesDef_ptr create_consumes (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::ValueDef_ptr value,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ 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_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 is_a_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ static void describe_interface_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 create_abstract_interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ static void create_local_interface_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_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 ()
+ );
+
+ 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_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 (CORBA::InterfaceDefSeq * result);
+ // update the result
+ CORBA::InterfaceDefSeq * _result;
+ };
+
+ 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 CORBA::InterfaceDefSeq & supported_interfaces,
+ 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_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 CORBA::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 ()
+ );
+
+ 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;
+ };
+
+ 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 ()
+ );
+
+ 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;
+ };
+
+ 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 ()
+ );
+
+ 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;
+ };
+
+ 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 ()
+ );
+
+ 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 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 ()
+ );
+
+ 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 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;
+ };
+
+ 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 ()
+ );
+
+ 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;
+ };
+
+ 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,
+ CORBA::InterfaceDef_ptr interface_type,
+ 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_;
+ CORBA::InterfaceDef_ptr interface_type_;
+ void result (IR::ProvidesDef_ptr result);
+ // update the result
+ IR::ProvidesDef_ptr _result;
+ };
+
+ 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,
+ CORBA::InterfaceDef_ptr interface_type,
+ const CORBA::Boolean & is_multiple,
+ 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_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_;
+ CORBA::InterfaceDef_ptr interface_type_;
+ const CORBA::Boolean & is_multiple_;
+ void result (IR::UsesDef_ptr result);
+ // update the result
+ IR::UsesDef_ptr _result;
+ };
+
+ 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,
+ CORBA::ValueDef_ptr 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_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_;
+ CORBA::ValueDef_ptr value_;
+ void result (IR::EmitsDef_ptr result);
+ // update the result
+ IR::EmitsDef_ptr _result;
+ };
+
+ 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,
+ CORBA::ValueDef_ptr 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_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_;
+ CORBA::ValueDef_ptr value_;
+ void result (IR::PublishesDef_ptr result);
+ // update the result
+ IR::PublishesDef_ptr _result;
+ };
+
+ 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,
+ CORBA::ValueDef_ptr 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_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_;
+ CORBA::ValueDef_ptr value_;
+ void result (IR::ConsumesDef_ptr result);
+ // update the result
+ IR::ConsumesDef_ptr _result;
+ };
+
+ #endif /* TAO_HAS_INTERCEPTORS */
+
+};
+
+
+///////////////////////////////////////////////////////////////////////
+// Strategized Proxy Broker Declaration
+//
+
+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 ()
+ );
+
+private:
+
+// Helper methods that takes care to create the proxy
+// as soon as their use is necessary.
+ void create_proxy (
+ int 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_ComponentDef_Proxy_Impl
+ *proxy_cache_[TAO_Collocation_Strategies::CS_LAST];
+
+ 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_ComponentDef_Strategized_Proxy_Broker *the_TAO_ComponentDef_Strategized_Proxy_Broker (void);
+};
+
+
+//
+// End Strategized Proxy Broker Declaration
+///////////////////////////////////////////////////////////////////////
+
+
+///////////////////////////////////////////////////////////////////////
+// ThruPOA Impl. Declaration
+//
+
+class _TAO_ComponentDef_ThruPOA_Proxy_Impl :
+ public virtual ::IR::_TAO_ComponentDef_Proxy_Impl,
+ public virtual TAO_ThruPOA_Object_Proxy_Impl,
+ public virtual ::POA_CORBA::_TAO_InterfaceDef_ThruPOA_Proxy_Impl
+
+{
+public:
+ _TAO_ComponentDef_ThruPOA_Proxy_Impl (void);
+
+ virtual ~_TAO_ComponentDef_ThruPOA_Proxy_Impl (void) { }
+
+ virtual CORBA::InterfaceDefSeq * supported_interfaces (
+ CORBA_Object *_collocated_tao_target_,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual void supported_interfaces (
+ CORBA_Object *_collocated_tao_target_,
+ const CORBA::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
+ ));
+
+ virtual IR::ProvidesDefSeq * provides_interfaces (
+ CORBA_Object *_collocated_tao_target_,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual IR::UsesDefSeq * uses_interfaces (
+ CORBA_Object *_collocated_tao_target_,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual IR::EmitsDefSeq * emits_events (
+ CORBA_Object *_collocated_tao_target_,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual IR::PublishesDefSeq * publishes_events (
+ CORBA_Object *_collocated_tao_target_,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual IR::ConsumesDefSeq * consumes_events (
+ 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::ProvidesDef_ptr create_provides (
+ CORBA_Object *_collocated_tao_target_,
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::InterfaceDef_ptr interface_type,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual IR::UsesDef_ptr create_uses (
+ CORBA_Object *_collocated_tao_target_,
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::InterfaceDef_ptr interface_type,
+ CORBA::Boolean is_multiple,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual IR::EmitsDef_ptr create_emits (
+ CORBA_Object *_collocated_tao_target_,
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::ValueDef_ptr value,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual IR::PublishesDef_ptr create_publishes (
+ CORBA_Object *_collocated_tao_target_,
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::ValueDef_ptr value,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual IR::ConsumesDef_ptr create_consumes (
+ CORBA_Object *_collocated_tao_target_,
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::ValueDef_ptr value,
+ 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 T>
+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 ()
+ );
+ CORBA::InterfaceDefSeq * supported_interfaces (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void supported_interfaces (
+ const CORBA::InterfaceDefSeq & supported_interfaces,
+ 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
+ ));
+
+ IR::ProvidesDefSeq * provides_interfaces (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::UsesDefSeq * uses_interfaces (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::EmitsDefSeq * emits_events (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ IR::PublishesDefSeq * publishes_events (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ 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,
+ CORBA::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,
+ CORBA::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,
+ CORBA::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,
+ CORBA::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,
+ CORBA::ValueDef_ptr value,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::InterfaceDefSeq * base_interfaces (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void base_interfaces (
+ const CORBA::InterfaceDefSeq & base_interfaces,
+ 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
+ ));
+
+ CORBA::InterfaceDef::FullInterfaceDescription * describe_interface (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::AttributeDef_ptr create_attribute (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::IDLType_ptr type,
+ CORBA::AttributeMode mode,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::OperationDef_ptr create_operation (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::IDLType_ptr result,
+ CORBA::OperationMode mode,
+ const CORBA::ParDescriptionSeq & params,
+ const CORBA::ExceptionDefSeq & exceptions,
+ const CORBA::ContextIdSeq & contexts,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::Contained_ptr lookup (
+ const char * search_name,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::ContainedSeq * contents (
+ CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::ContainedSeq * lookup_name (
+ const char * search_name,
+ CORBA::Long levels_to_search,
+ CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::Container::DescriptionSeq * describe_contents (
+ CORBA::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::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
+ ));
+
+ CORBA::ConstantDef_ptr create_constant (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::IDLType_ptr type,
+ const CORBA::Any & value,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::StructDef_ptr create_struct (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA::StructMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::UnionDef_ptr create_union (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::IDLType_ptr discriminator_type,
+ const CORBA::UnionMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::EnumDef_ptr create_enum (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA::EnumMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::AliasDef_ptr create_alias (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::IDLType_ptr original_type,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::InterfaceDef_ptr create_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA::InterfaceDefSeq & base_interfaces,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::ValueDef_ptr create_value (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Boolean is_custom,
+ CORBA::Boolean is_abstract,
+ CORBA::ValueDef_ptr base_value,
+ CORBA::Boolean is_truncatable,
+ const CORBA::ValueDefSeq & abstract_base_values,
+ const CORBA::InterfaceDefSeq & supported_interfaces,
+ const CORBA::InitializerSeq & initializers,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::ValueBoxDef_ptr create_value_box (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::IDLType_ptr original_type_def,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::ExceptionDef_ptr create_exception (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA::StructMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::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::AbstractInterfaceDef_ptr create_abstract_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA::AbstractInterfaceDefSeq & base_interfaces,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::LocalInterfaceDef_ptr create_local_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA::InterfaceDefSeq & base_interfaces,
+ 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
+ ));
+
+ CORBA::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
+ ));
+
+ CORBA::Repository_ptr containing_repository (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::Contained::Description * describe (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void move (
+ CORBA::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::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 POA_CORBA::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 CORBA::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 (CORBA::ValueDef_ptr result);
+ // update the result
+ CORBA::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 (
+ int 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_Collocation_Strategies::CS_LAST];
+
+ 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_CORBA::_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 CORBA::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 T>
+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
+ ));
+
+ CORBA::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
+ ));
+
+ CORBA::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
+ ));
+
+ CORBA::Repository_ptr containing_repository (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::Contained::Description * describe (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void move (
+ CORBA::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::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 POA_CORBA::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 (
+ int 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_Collocation_Strategies::CS_LAST];
+
+ 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_CORBA::_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 T>
+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
+ ));
+
+ CORBA::IDLType_ptr result_def (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void result_def (
+ CORBA::IDLType_ptr result_def,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::ParDescriptionSeq * params (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void params (
+ const CORBA::ParDescriptionSeq & params,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::OperationMode mode (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void mode (
+ CORBA::OperationMode mode,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::ContextIdSeq * contexts (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void contexts (
+ const CORBA::ContextIdSeq & contexts,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::ExceptionDefSeq * exceptions (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void exceptions (
+ const CORBA::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
+ ));
+
+ CORBA::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
+ ));
+
+ CORBA::Repository_ptr containing_repository (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::Contained::Description * describe (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void move (
+ CORBA::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::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 POA_CORBA::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 (
+ int 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_Collocation_Strategies::CS_LAST];
+
+ 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_CORBA::_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 T>
+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
+ ));
+
+ CORBA::IDLType_ptr result_def (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void result_def (
+ CORBA::IDLType_ptr result_def,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::ParDescriptionSeq * params (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void params (
+ const CORBA::ParDescriptionSeq & params,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::OperationMode mode (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void mode (
+ CORBA::OperationMode mode,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::ContextIdSeq * contexts (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void contexts (
+ const CORBA::ContextIdSeq & contexts,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::ExceptionDefSeq * exceptions (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void exceptions (
+ const CORBA::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
+ ));
+
+ CORBA::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
+ ));
+
+ CORBA::Repository_ptr containing_repository (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::Contained::Description * describe (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void move (
+ CORBA::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::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 POA_CORBA::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,
+ CORBA::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 CORBA::ParDescriptionSeq & params,
+ const CORBA::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 CORBA::ParDescriptionSeq & params,
+ const CORBA::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 is_a_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ static void describe_interface_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 create_abstract_interface_skel (
+ TAO_ServerRequest &req,
+ void *obj,
+ void *context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ static void create_local_interface_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 =
+ 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,
+ CORBA::ValueDef_ptr primary_key,
+ 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_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_;
+ CORBA::ValueDef_ptr primary_key_;
+ void result (IR::PrimaryKeyDef_ptr result);
+ // update the result
+ IR::PrimaryKeyDef_ptr _result;
+ };
+
+ 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 CORBA::ParDescriptionSeq & params,
+ const CORBA::ExceptionDefSeq & 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_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 CORBA::ParDescriptionSeq & params_;
+ const CORBA::ExceptionDefSeq & exceptions_;
+ void result (IR::FactoryDef_ptr result);
+ // update the result
+ IR::FactoryDef_ptr _result;
+ };
+
+ 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 CORBA::ParDescriptionSeq & params,
+ const CORBA::ExceptionDefSeq & 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_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 CORBA::ParDescriptionSeq & params_;
+ const CORBA::ExceptionDefSeq & exceptions_;
+ void result (IR::FinderDef_ptr result);
+ // update the result
+ IR::FinderDef_ptr _result;
+ };
+
+ #endif /* TAO_HAS_INTERCEPTORS */
+
+};
+
+
+///////////////////////////////////////////////////////////////////////
+// Strategized Proxy Broker Declaration
+//
+
+class _TAO_HomeDef_Strategized_Proxy_Broker : public virtual ::IR::_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,
+ 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 (
+ int 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_HomeDef_Proxy_Impl
+ *proxy_cache_[TAO_Collocation_Strategies::CS_LAST];
+
+ 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_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_CORBA::_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,
+ CORBA::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 CORBA::ParDescriptionSeq & params,
+ const CORBA::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 CORBA::ParDescriptionSeq & params,
+ const CORBA::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 T>
+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,
+ CORBA::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 CORBA::ParDescriptionSeq & params,
+ const CORBA::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 CORBA::ParDescriptionSeq & params,
+ const CORBA::ExceptionDefSeq & exceptions,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::InterfaceDefSeq * base_interfaces (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void base_interfaces (
+ const CORBA::InterfaceDefSeq & base_interfaces,
+ 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
+ ));
+
+ CORBA::InterfaceDef::FullInterfaceDescription * describe_interface (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::AttributeDef_ptr create_attribute (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::IDLType_ptr type,
+ CORBA::AttributeMode mode,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::OperationDef_ptr create_operation (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::IDLType_ptr result,
+ CORBA::OperationMode mode,
+ const CORBA::ParDescriptionSeq & params,
+ const CORBA::ExceptionDefSeq & exceptions,
+ const CORBA::ContextIdSeq & contexts,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::Contained_ptr lookup (
+ const char * search_name,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::ContainedSeq * contents (
+ CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::ContainedSeq * lookup_name (
+ const char * search_name,
+ CORBA::Long levels_to_search,
+ CORBA::DefinitionKind limit_type,
+ CORBA::Boolean exclude_inherited,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::Container::DescriptionSeq * describe_contents (
+ CORBA::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::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
+ ));
+
+ CORBA::ConstantDef_ptr create_constant (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::IDLType_ptr type,
+ const CORBA::Any & value,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::StructDef_ptr create_struct (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA::StructMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::UnionDef_ptr create_union (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::IDLType_ptr discriminator_type,
+ const CORBA::UnionMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::EnumDef_ptr create_enum (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA::EnumMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::AliasDef_ptr create_alias (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::IDLType_ptr original_type,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::InterfaceDef_ptr create_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA::InterfaceDefSeq & base_interfaces,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::ValueDef_ptr create_value (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::Boolean is_custom,
+ CORBA::Boolean is_abstract,
+ CORBA::ValueDef_ptr base_value,
+ CORBA::Boolean is_truncatable,
+ const CORBA::ValueDefSeq & abstract_base_values,
+ const CORBA::InterfaceDefSeq & supported_interfaces,
+ const CORBA::InitializerSeq & initializers,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::ValueBoxDef_ptr create_value_box (
+ const char * id,
+ const char * name,
+ const char * version,
+ CORBA::IDLType_ptr original_type_def,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::ExceptionDef_ptr create_exception (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA::StructMemberSeq & members,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::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::AbstractInterfaceDef_ptr create_abstract_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA::AbstractInterfaceDefSeq & base_interfaces,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::LocalInterfaceDef_ptr create_local_interface (
+ const char * id,
+ const char * name,
+ const char * version,
+ const CORBA::InterfaceDefSeq & base_interfaces,
+ 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
+ ));
+
+ CORBA::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
+ ));
+
+ CORBA::Repository_ptr containing_repository (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ CORBA::Contained::Description * describe (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void move (
+ CORBA::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::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
+ HomeDef_tie (const HomeDef_tie &);
+ void operator= (const HomeDef_tie &);
+};
+
+#endif /* ACE_HAS_USING_KEYWORD */
+
+}
+TAO_NAMESPACE_CLOSE
+
+#include "IFR_ComponentsS_T.h"
+
+#if defined (__ACE_INLINE__)
+#include "IFR_ComponentsS.i"
+#endif /* defined INLINE */
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)
+#pragma warning(pop)
+#endif /* _MSC_VER */
+
+#if defined (__BORLANDC__)
+#pragma option pop
+#endif /* __BORLANDC__ */
+
+#include "ace/post.h"
+#endif /* ifndef */