summaryrefslogtreecommitdiff
path: root/TAO/tao/PortableServer/ImplRepoS.h
diff options
context:
space:
mode:
authorcoryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2001-04-02 00:58:58 +0000
committercoryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2001-04-02 00:58:58 +0000
commit25a0b7a7b6efc5797e4704aa8b61642c24aa3223 (patch)
treeafd6ba7d534a0413c9f9c5f5bcd99b8d5ba06111 /TAO/tao/PortableServer/ImplRepoS.h
parent441b2bc277f0219a7b699193834a9a7a937d875e (diff)
downloadATCD-25a0b7a7b6efc5797e4704aa8b61642c24aa3223.tar.gz
ChangeLogTag:Sun Apr 1 17:44:30 2001 Carlos O'Ryan <coryan@uci.edu>
Diffstat (limited to 'TAO/tao/PortableServer/ImplRepoS.h')
-rw-r--r--TAO/tao/PortableServer/ImplRepoS.h2237
1 files changed, 1647 insertions, 590 deletions
diff --git a/TAO/tao/PortableServer/ImplRepoS.h b/TAO/tao/PortableServer/ImplRepoS.h
index b90e32dea43..86c5de08e92 100644
--- a/TAO/tao/PortableServer/ImplRepoS.h
+++ b/TAO/tao/PortableServer/ImplRepoS.h
@@ -1,24 +1,42 @@
-/* -*- C++ -*- $Id$ */
-
-// ****** Code generated by the The ACE ORB (TAO) IDL Compiler *******
-// TAO and the TAO IDL Compiler have been developed by the Center for
-// Distributed Object Computing at Washington University, St. Louis.
+// -*- 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
+// http://www.cs.wustl.edu/~schmidt/TAO.html
-#ifndef _TAO_IDL_IMPLREPOS_H_
-#define _TAO_IDL_IMPLREPOS_H_
-#include "ace/pre.h"
+#ifndef _TAO_IDL_ORIG_IMPLREPOS_H_
+#define _TAO_IDL_ORIG_IMPLREPOS_H_
+#include "ace/pre.h"
#include "ImplRepoC.h"
-#include "Servant_Base.h"
-#include "PortableServerC.h"
+
#if !defined (ACE_LACKS_PRAGMA_ONCE)
# pragma once
#endif /* ACE_LACKS_PRAGMA_ONCE */
+#include "tao/PortableServer/PortableServer.h"
+#include "tao/PortableServer/Servant_Base.h"
+#include "tao/PortableServer/Collocated_Object.h"
+#include "tao/PortableServer/ThruPOA_Object_Proxy_Impl.h"
+#include "tao/PortableServer/Direct_Object_Proxy_Impl.h"
+#include "tao/PortableServer/ServerRequestInfo.h"
+
#if defined(_MSC_VER)
#if (_MSC_VER >= 1200)
#pragma warning(push)
@@ -26,10 +44,19 @@
#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_ImplementationRepository
{
class ServerObject;
typedef ServerObject *ServerObject_ptr;
+ // Forward Classes Declaration
+ class _TAO_ServerObject_ThruPOA_Proxy_Impl;
+ class _TAO_ServerObject_Direct_Proxy_Impl;
+ class _TAO_ServerObject_Strategized_Proxy_Broker;
+
class TAO_PortableServer_Export ServerObject : public virtual PortableServer::ServantBase
{
protected:
@@ -66,6 +93,14 @@ TAO_NAMESPACE POA_ImplementationRepository
TAO_default_environment ()
);
+ static void _interface_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,
@@ -113,792 +148,1810 @@ TAO_NAMESPACE POA_ImplementationRepository
);
- };
+#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_ImplementationRepository_ServerObject_ping : public TAO_ServerRequestInfo
+ {
+ public:
+ friend class POA_ImplementationRepository::ServerObject;
+ TAO_ServerRequestInfo_ImplementationRepository_ServerObject_ping (
+ TAO_ServerRequest &_tao_server_request,
+ POA_ImplementationRepository::ServerObject *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));
-#if !defined (_IMPLEMENTATIONREPOSITORY_SERVEROBJECT___THRU_POA_COLLOCATED_SH_)
-#define _IMPLEMENTATIONREPOSITORY_SERVEROBJECT___THRU_POA_COLLOCATED_SH_
+ virtual Dynamic::ExceptionList * exceptions (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
- class TAO_PortableServer_Export _tao_thru_poa_collocated_ServerObject : public virtual ::ImplementationRepository::ServerObject
- {
- public:
- _tao_thru_poa_collocated_ServerObject (
- TAO_Stub *stub
- );
- virtual CORBA::Boolean _is_a(
- const CORBA::Char *logical_type_id,
- CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()
- );
+ virtual CORBA::Any * result (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
- virtual CORBA::Boolean _non_existent(
- CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()
- );
+ virtual char * target_most_derived_interface (
+ CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ())
+ ACE_THROW_SPEC ((CORBA::SystemException));
- virtual void ping (
- 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));
- virtual void shutdown (
+ private:
+ TAO_ServerRequestInfo_ImplementationRepository_ServerObject_ping (const TAO_ServerRequestInfo_ImplementationRepository_ServerObject_ping &);
+ void operator= (const TAO_ServerRequestInfo_ImplementationRepository_ServerObject_ping &);
+
+ private:
+ POA_ImplementationRepository::ServerObject *_tao_impl;
+
+ };
+
+ class TAO_ServerRequestInfo_ImplementationRepository_ServerObject_shutdown : public TAO_ServerRequestInfo
+ {
+ public:
+ friend class POA_ImplementationRepository::ServerObject;
+ TAO_ServerRequestInfo_ImplementationRepository_ServerObject_shutdown (
+ TAO_ServerRequest &_tao_server_request,
+ POA_ImplementationRepository::ServerObject *tao_impl,
CORBA::Environment &ACE_TRY_ENV =
TAO_default_environment ()
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
+ );
- };
+ virtual Dynamic::ParameterList * arguments (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ virtual Dynamic::ExceptionList * exceptions (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
-#endif /* end #if !defined */
+ 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));
-#if defined (ACE_HAS_USING_KEYWORD)
- // TIE class: Refer to CORBA v2.2, Section 20.34.4
- template <class T>
- class TAO_PortableServer_Export ServerObject_tie : public ServerObject
- {
- public:
- ServerObject_tie (T &t);
- // the T& ctor
- ServerObject_tie (T &t, PortableServer::POA_ptr poa);
- // ctor taking a POA
- ServerObject_tie (T *tp, CORBA::Boolean release=1);
- // ctor taking pointer and an ownership flag
- ServerObject_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1);
- // ctor with T*, ownership flag and a POA
- ~ServerObject_tie (void);
- // dtor
-
- // TIE specific functions
- T *_tied_object (void);
- // return the underlying object
- void _tied_object (T &obj);
- // set the underlying object
- void _tied_object (T *obj, CORBA::Boolean release=1);
- // set the underlying object and the ownership flag
- CORBA::Boolean _is_owner (void);
- // do we own it
- void _is_owner (CORBA::Boolean b);
- // set the ownership
-
- // overridden ServantBase operations
- PortableServer::POA_ptr _default_POA (
- CORBA::Environment &env =
- TAO_default_environment ()
- );
- void ping (
- 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));
- void shutdown (
- CORBA::Environment &ACE_TRY_ENV =
- TAO_default_environment ()
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
+ private:
+ TAO_ServerRequestInfo_ImplementationRepository_ServerObject_shutdown (const TAO_ServerRequestInfo_ImplementationRepository_ServerObject_shutdown &);
+ void operator= (const TAO_ServerRequestInfo_ImplementationRepository_ServerObject_shutdown &);
-private:
- T *ptr_;
- PortableServer::POA_var poa_;
- CORBA::Boolean rel_;
+ private:
+ POA_ImplementationRepository::ServerObject *_tao_impl;
+
+ };
+
+ #endif /* TAO_HAS_INTERCEPTORS */
- // copy and assignment are not allowed
- ServerObject_tie (const ServerObject_tie &);
- void operator= (const ServerObject_tie &);
};
-#endif /* ACE_HAS_USING_KEYWORD */
- class Administration;
- typedef Administration *Administration_ptr;
- class TAO_PortableServer_Export Administration : public virtual PortableServer::ServantBase
+ ///////////////////////////////////////////////////////////////////////
+ // Strategized Proxy Broker Declaration
+ //
+
+ class TAO_PortableServer_Export _TAO_ServerObject_Strategized_Proxy_Broker : public virtual ::ImplementationRepository::_TAO_ServerObject_Proxy_Broker
{
- protected:
- Administration (void);
+ public:
+ _TAO_ServerObject_Strategized_Proxy_Broker (void);
+
+ virtual ~_TAO_ServerObject_Strategized_Proxy_Broker (void);
+
+ virtual ::ImplementationRepository::_TAO_ServerObject_Proxy_Impl &select_proxy (
+ ::ImplementationRepository::ServerObject *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 collocation_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.
+ ::ImplementationRepository::_TAO_ServerObject_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:
- Administration (const Administration& rhs);
- virtual ~Administration (void);
+ static _TAO_ServerObject_Strategized_Proxy_Broker *the_TAO_ServerObject_Strategized_Proxy_Broker (void);
+ };
- virtual CORBA::Boolean _is_a (
- const char* logical_type_id,
- CORBA::Environment &ACE_TRY_ENV =
- TAO_default_environment ()
- );
+ //
+ // End Strategized Proxy Broker Declaration
+ ///////////////////////////////////////////////////////////////////////
- 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 ()
- );
+///////////////////////////////////////////////////////////////////////
+// ThruPOA Impl. Declaration
+//
- static void _non_existent_skel (
- TAO_ServerRequest &req,
- void *obj,
- void *context,
- CORBA::Environment &ACE_TRY_ENV =
- TAO_default_environment ()
- );
+class TAO_PortableServer_Export _TAO_ServerObject_ThruPOA_Proxy_Impl :
+ public virtual ::ImplementationRepository::_TAO_ServerObject_Proxy_Impl,
+ public virtual TAO_ThruPOA_Object_Proxy_Impl
+{
+public:
+ _TAO_ServerObject_ThruPOA_Proxy_Impl (void);
- virtual void _dispatch (
- TAO_ServerRequest &_tao_req,
- void *_tao_context,
- CORBA::Environment &ACE_TRY_ENV =
- TAO_default_environment ()
- );
+ virtual ~_TAO_ServerObject_ThruPOA_Proxy_Impl (void) { }
- ::ImplementationRepository::Administration *_this (
- CORBA::Environment &ACE_TRY_ENV =
- TAO_default_environment ()
- );
+ virtual void ping (
+ CORBA_Object *_collocated_tao_target_,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
- virtual const char* _interface_repository_id (void) const;
+ virtual void shutdown (
+ CORBA_Object *_collocated_tao_target_,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
- virtual void activate_server (
- const char * server,
+};
+
+
+//
+// ThruPOA Proxy Impl. Declaration
+///////////////////////////////////////////////////////////////////////
+
+
+///////////////////////////////////////////////////////////////////////
+// Direct Impl. Declaration
+//
+
+class TAO_PortableServer_Export _TAO_ServerObject_Direct_Proxy_Impl :
+ public virtual ImplementationRepository::_TAO_ServerObject_Proxy_Impl,
+ public virtual TAO_Direct_Object_Proxy_Impl
+{
+public:
+ _TAO_ServerObject_Direct_Proxy_Impl (void);
+
+ virtual ~_TAO_ServerObject_Direct_Proxy_Impl (void) { }
+
+ virtual void ping (
+ CORBA_Object *_collocated_tao_target_,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual void shutdown (
+ CORBA_Object *_collocated_tao_target_,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+};
+
+
+//
+// Direct Proxy Impl. Declaration
+///////////////////////////////////////////////////////////////////////
+
+
+#if defined (ACE_HAS_USING_KEYWORD)
+// TIE class: Refer to CORBA v2.2, Section 20.34.4
+template <class T>
+class TAO_PortableServer_Export ServerObject_tie : public ServerObject
+{
+public:
+ ServerObject_tie (T &t);
+ // the T& ctor
+ ServerObject_tie (T &t, PortableServer::POA_ptr poa);
+ // ctor taking a POA
+ ServerObject_tie (T *tp, CORBA::Boolean release=1);
+ // ctor taking pointer and an ownership flag
+ ServerObject_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1);
+ // ctor with T*, ownership flag and a POA
+ ~ServerObject_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 ()
+ );
+ void ping (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void shutdown (
+ 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
+ ServerObject_tie (const ServerObject_tie &);
+ void operator= (const ServerObject_tie &);
+};
+
+#endif /* ACE_HAS_USING_KEYWORD */
+
+class Administration;
+typedef Administration *Administration_ptr;
+// Forward Classes Declaration
+class _TAO_Administration_ThruPOA_Proxy_Impl;
+class _TAO_Administration_Direct_Proxy_Impl;
+class _TAO_Administration_Strategized_Proxy_Broker;
+
+class TAO_PortableServer_Export Administration : public virtual PortableServer::ServantBase
+{
+protected:
+ Administration (void);
+
+public:
+ Administration (const Administration& rhs);
+ virtual ~Administration (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 ()
+ );
+
+ static void _interface_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 ()
+ );
+
+ ::ImplementationRepository::Administration *_this (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual const char* _interface_repository_id (void) const;
+
+ virtual void activate_server (
+ const char * server,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ ImplementationRepository::Administration::NotFound,
+ ImplementationRepository::Administration::CannotActivate
+ )) = 0;
+
+ static void activate_server_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void register_server (
+ const char * server,
+ const ImplementationRepository::StartupOptions & options,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ ImplementationRepository::Administration::AlreadyRegistered
+ )) = 0;
+
+ static void register_server_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void reregister_server (
+ const char * server,
+ const ImplementationRepository::StartupOptions & options,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void reregister_server_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void remove_server (
+ const char * server,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ ImplementationRepository::Administration::NotFound
+ )) = 0;
+
+ static void remove_server_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void shutdown_server (
+ const char * server,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ ImplementationRepository::Administration::NotFound
+ )) = 0;
+
+ static void shutdown_server_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual char * server_is_running (
+ const char * server,
+ const char * addr,
+ ImplementationRepository::ServerObject_ptr server_object,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ ImplementationRepository::Administration::NotFound
+ )) = 0;
+
+ static void server_is_running_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void server_is_shutting_down (
+ const char * server,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ ImplementationRepository::Administration::NotFound
+ )) = 0;
+
+ static void server_is_shutting_down_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void find (
+ const char * server,
+ ImplementationRepository::ServerInformation_out info,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ ImplementationRepository::Administration::NotFound
+ )) = 0;
+
+ static void find_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void list (
+ CORBA::ULong how_many,
+ ImplementationRepository::ServerInformationList_out server_list,
+ ImplementationRepository::ServerInformationIterator_out server_iterator,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void list_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+
+#if (TAO_HAS_INTERCEPTORS == 1)
+ // Generation of interceptors related RequestInfo classes per operation.
+ // This needed to be able to store the arguments, exceptions, contexts
+ // and build the lists dynamically on demand so that unnecessary time overhead
+ // of building these lists when they arent used is avoided.
+ class TAO_ServerRequestInfo_ImplementationRepository_Administration_activate_server : public TAO_ServerRequestInfo
+ {
+ public:
+ friend class POA_ImplementationRepository::Administration;
+ TAO_ServerRequestInfo_ImplementationRepository_Administration_activate_server (
+ TAO_ServerRequest &_tao_server_request,
+ POA_ImplementationRepository::Administration *tao_impl,
+ const char * server,
+ 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,
- ImplementationRepository::Administration::NotFound,
- ImplementationRepository::Administration::CannotActivate
- )) = 0;
+ ACE_THROW_SPEC ((CORBA::SystemException));
- static void activate_server_skel (
- TAO_ServerRequest &_tao_req,
- void *_tao_obj,
- void *_tao_context,
+ virtual Dynamic::ExceptionList * exceptions (
CORBA::Environment &ACE_TRY_ENV =
TAO_default_environment ()
- );
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
- virtual void register_server (
- const char * server,
- const ImplementationRepository::StartupOptions & options,
+ virtual CORBA::Any * result (
CORBA::Environment &ACE_TRY_ENV =
TAO_default_environment ()
)
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ImplementationRepository::Administration::AlreadyRegistered
- )) = 0;
+ ACE_THROW_SPEC ((CORBA::SystemException));
- static void register_server_skel (
- TAO_ServerRequest &_tao_req,
- void *_tao_obj,
- void *_tao_context,
- CORBA::Environment &ACE_TRY_ENV =
- TAO_default_environment ()
- );
+ 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_ImplementationRepository_Administration_activate_server (const TAO_ServerRequestInfo_ImplementationRepository_Administration_activate_server &);
+ void operator= (const TAO_ServerRequestInfo_ImplementationRepository_Administration_activate_server &);
+
+ private:
+ POA_ImplementationRepository::Administration *_tao_impl;
+ const char * server_;
+
+ };
- virtual void reregister_server (
- const char * server,
- const ImplementationRepository::StartupOptions & options,
+ class TAO_ServerRequestInfo_ImplementationRepository_Administration_register_server : public TAO_ServerRequestInfo
+ {
+ public:
+ friend class POA_ImplementationRepository::Administration;
+ TAO_ServerRequestInfo_ImplementationRepository_Administration_register_server (
+ TAO_ServerRequest &_tao_server_request,
+ POA_ImplementationRepository::Administration *tao_impl,
+ const char * server,
+ const ImplementationRepository::StartupOptions & options,
+ 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
- )) = 0;
+ ACE_THROW_SPEC ((CORBA::SystemException));
- static void reregister_server_skel (
- TAO_ServerRequest &_tao_req,
- void *_tao_obj,
- void *_tao_context,
+ virtual Dynamic::ExceptionList * exceptions (
CORBA::Environment &ACE_TRY_ENV =
TAO_default_environment ()
- );
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
- virtual void remove_server (
- const char * server,
+ virtual CORBA::Any * result (
CORBA::Environment &ACE_TRY_ENV =
TAO_default_environment ()
)
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ImplementationRepository::Administration::NotFound
- )) = 0;
+ ACE_THROW_SPEC ((CORBA::SystemException));
- static void remove_server_skel (
- TAO_ServerRequest &_tao_req,
- void *_tao_obj,
- void *_tao_context,
- CORBA::Environment &ACE_TRY_ENV =
- TAO_default_environment ()
- );
+ 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_ImplementationRepository_Administration_register_server (const TAO_ServerRequestInfo_ImplementationRepository_Administration_register_server &);
+ void operator= (const TAO_ServerRequestInfo_ImplementationRepository_Administration_register_server &);
- virtual void shutdown_server (
- const char * server,
+ private:
+ POA_ImplementationRepository::Administration *_tao_impl;
+ const char * server_;
+ const ImplementationRepository::StartupOptions & options_;
+
+ };
+
+ class TAO_ServerRequestInfo_ImplementationRepository_Administration_reregister_server : public TAO_ServerRequestInfo
+ {
+ public:
+ friend class POA_ImplementationRepository::Administration;
+ TAO_ServerRequestInfo_ImplementationRepository_Administration_reregister_server (
+ TAO_ServerRequest &_tao_server_request,
+ POA_ImplementationRepository::Administration *tao_impl,
+ const char * server,
+ const ImplementationRepository::StartupOptions & options,
+ 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,
- ImplementationRepository::Administration::NotFound
- )) = 0;
+ ACE_THROW_SPEC ((CORBA::SystemException));
- static void shutdown_server_skel (
- TAO_ServerRequest &_tao_req,
- void *_tao_obj,
- void *_tao_context,
+ virtual Dynamic::ExceptionList * exceptions (
CORBA::Environment &ACE_TRY_ENV =
TAO_default_environment ()
- );
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
- virtual char * server_is_running (
- const char * server,
- const char * addr,
- ImplementationRepository::ServerObject_ptr server_object,
+ virtual CORBA::Any * result (
CORBA::Environment &ACE_TRY_ENV =
TAO_default_environment ()
)
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ImplementationRepository::Administration::NotFound
- )) = 0;
+ ACE_THROW_SPEC ((CORBA::SystemException));
- static void server_is_running_skel (
- TAO_ServerRequest &_tao_req,
- void *_tao_obj,
- void *_tao_context,
- CORBA::Environment &ACE_TRY_ENV =
- TAO_default_environment ()
- );
+ 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_ImplementationRepository_Administration_reregister_server (const TAO_ServerRequestInfo_ImplementationRepository_Administration_reregister_server &);
+ void operator= (const TAO_ServerRequestInfo_ImplementationRepository_Administration_reregister_server &);
+
+ private:
+ POA_ImplementationRepository::Administration *_tao_impl;
+ const char * server_;
+ const ImplementationRepository::StartupOptions & options_;
+
+ };
+
+ class TAO_ServerRequestInfo_ImplementationRepository_Administration_remove_server : public TAO_ServerRequestInfo
+ {
+ public:
+ friend class POA_ImplementationRepository::Administration;
+ TAO_ServerRequestInfo_ImplementationRepository_Administration_remove_server (
+ TAO_ServerRequest &_tao_server_request,
+ POA_ImplementationRepository::Administration *tao_impl,
+ const char * server,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
- virtual void server_is_shutting_down (
- const char * server,
+ virtual Dynamic::ParameterList * arguments (
CORBA::Environment &ACE_TRY_ENV =
TAO_default_environment ()
)
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ImplementationRepository::Administration::NotFound
- )) = 0;
+ ACE_THROW_SPEC ((CORBA::SystemException));
- static void server_is_shutting_down_skel (
- TAO_ServerRequest &_tao_req,
- void *_tao_obj,
- void *_tao_context,
+ virtual Dynamic::ExceptionList * exceptions (
CORBA::Environment &ACE_TRY_ENV =
TAO_default_environment ()
- );
+ )
+ ACE_THROW_SPEC ((CORBA::SystemException));
- virtual void find (
- const char * server,
- ImplementationRepository::ServerInformation_out info,
+ virtual CORBA::Any * result (
CORBA::Environment &ACE_TRY_ENV =
TAO_default_environment ()
)
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ImplementationRepository::Administration::NotFound
- )) = 0;
+ ACE_THROW_SPEC ((CORBA::SystemException));
- static void find_skel (
- TAO_ServerRequest &_tao_req,
- void *_tao_obj,
- void *_tao_context,
+ 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_ImplementationRepository_Administration_remove_server (const TAO_ServerRequestInfo_ImplementationRepository_Administration_remove_server &);
+ void operator= (const TAO_ServerRequestInfo_ImplementationRepository_Administration_remove_server &);
+
+ private:
+ POA_ImplementationRepository::Administration *_tao_impl;
+ const char * server_;
+
+ };
+
+ class TAO_ServerRequestInfo_ImplementationRepository_Administration_shutdown_server : public TAO_ServerRequestInfo
+ {
+ public:
+ friend class POA_ImplementationRepository::Administration;
+ TAO_ServerRequestInfo_ImplementationRepository_Administration_shutdown_server (
+ TAO_ServerRequest &_tao_server_request,
+ POA_ImplementationRepository::Administration *tao_impl,
+ const char * server,
+ 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 void list (
- CORBA::ULong how_many,
- ImplementationRepository::ServerInformationList_out server_list,
- ImplementationRepository::ServerInformationIterator_out server_iterator,
+ virtual Dynamic::ExceptionList * exceptions (
CORBA::Environment &ACE_TRY_ENV =
TAO_default_environment ()
)
- ACE_THROW_SPEC ((
- CORBA::SystemException
- )) = 0;
+ ACE_THROW_SPEC ((CORBA::SystemException));
- static void list_skel (
- TAO_ServerRequest &_tao_req,
- void *_tao_obj,
- void *_tao_context,
+ 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_ImplementationRepository_Administration_shutdown_server (const TAO_ServerRequestInfo_ImplementationRepository_Administration_shutdown_server &);
+ void operator= (const TAO_ServerRequestInfo_ImplementationRepository_Administration_shutdown_server &);
+ private:
+ POA_ImplementationRepository::Administration *_tao_impl;
+ const char * server_;
-#if !defined (_IMPLEMENTATIONREPOSITORY_ADMINISTRATION___THRU_POA_COLLOCATED_SH_)
-#define _IMPLEMENTATIONREPOSITORY_ADMINISTRATION___THRU_POA_COLLOCATED_SH_
+ };
- class TAO_PortableServer_Export _tao_thru_poa_collocated_Administration
- : public virtual ::ImplementationRepository::Administration
+ class TAO_ServerRequestInfo_ImplementationRepository_Administration_server_is_running : public TAO_ServerRequestInfo
{
public:
- _tao_thru_poa_collocated_Administration (
- TAO_Stub *stub
- );
- virtual CORBA::Boolean _is_a(
- const CORBA::Char *logical_type_id,
- CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()
- );
+ friend class POA_ImplementationRepository::Administration;
+ TAO_ServerRequestInfo_ImplementationRepository_Administration_server_is_running (
+ TAO_ServerRequest &_tao_server_request,
+ POA_ImplementationRepository::Administration *tao_impl,
+ const char * server,
+ const char * addr,
+ ImplementationRepository::ServerObject_ptr server_object,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
- virtual CORBA::Boolean _non_existent(
- CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()
- );
-
- virtual void activate_server (
- const char * server,
+ virtual Dynamic::ParameterList * arguments (
CORBA::Environment &ACE_TRY_ENV =
TAO_default_environment ()
)
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ImplementationRepository::Administration::NotFound,
- ImplementationRepository::Administration::CannotActivate
- ));
+ ACE_THROW_SPEC ((CORBA::SystemException));
- virtual void register_server (
- const char * server,
- const ImplementationRepository::StartupOptions & options,
+ virtual Dynamic::ExceptionList * exceptions (
CORBA::Environment &ACE_TRY_ENV =
TAO_default_environment ()
)
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ImplementationRepository::Administration::AlreadyRegistered
- ));
+ ACE_THROW_SPEC ((CORBA::SystemException));
- virtual void reregister_server (
- const char * server,
- const ImplementationRepository::StartupOptions & options,
+ virtual CORBA::Any * result (
CORBA::Environment &ACE_TRY_ENV =
TAO_default_environment ()
)
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
+ 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_ImplementationRepository_Administration_server_is_running (const TAO_ServerRequestInfo_ImplementationRepository_Administration_server_is_running &);
+ void operator= (const TAO_ServerRequestInfo_ImplementationRepository_Administration_server_is_running &);
+
+ private:
+ POA_ImplementationRepository::Administration *_tao_impl;
+ const char * server_;
+ const char * addr_;
+ ImplementationRepository::ServerObject_ptr server_object_;
+ void result (char * result);
+ // update the result
+ char * _result;
+ };
+
+ class TAO_ServerRequestInfo_ImplementationRepository_Administration_server_is_shutting_down : public TAO_ServerRequestInfo
+ {
+ public:
+ friend class POA_ImplementationRepository::Administration;
+ TAO_ServerRequestInfo_ImplementationRepository_Administration_server_is_shutting_down (
+ TAO_ServerRequest &_tao_server_request,
+ POA_ImplementationRepository::Administration *tao_impl,
+ const char * server,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
- virtual void remove_server (
- const char * server,
+ virtual Dynamic::ParameterList * arguments (
CORBA::Environment &ACE_TRY_ENV =
TAO_default_environment ()
)
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ImplementationRepository::Administration::NotFound
- ));
+ ACE_THROW_SPEC ((CORBA::SystemException));
- virtual void shutdown_server (
- const char * server,
+ virtual Dynamic::ExceptionList * exceptions (
CORBA::Environment &ACE_TRY_ENV =
TAO_default_environment ()
)
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ImplementationRepository::Administration::NotFound
- ));
+ ACE_THROW_SPEC ((CORBA::SystemException));
- virtual char * server_is_running (
- const char * server,
- const char * addr,
- ImplementationRepository::ServerObject_ptr server_object,
+ virtual CORBA::Any * result (
CORBA::Environment &ACE_TRY_ENV =
TAO_default_environment ()
)
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ImplementationRepository::Administration::NotFound
- ));
+ 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_ImplementationRepository_Administration_server_is_shutting_down (const TAO_ServerRequestInfo_ImplementationRepository_Administration_server_is_shutting_down &);
+ void operator= (const TAO_ServerRequestInfo_ImplementationRepository_Administration_server_is_shutting_down &);
- virtual void server_is_shutting_down (
- const char * server,
+ private:
+ POA_ImplementationRepository::Administration *_tao_impl;
+ const char * server_;
+
+ };
+
+ class TAO_ServerRequestInfo_ImplementationRepository_Administration_find : public TAO_ServerRequestInfo
+ {
+ public:
+ friend class POA_ImplementationRepository::Administration;
+ TAO_ServerRequestInfo_ImplementationRepository_Administration_find (
+ TAO_ServerRequest &_tao_server_request,
+ POA_ImplementationRepository::Administration *tao_impl,
+ const char * server,
+ 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,
- ImplementationRepository::Administration::NotFound
- ));
+ ACE_THROW_SPEC ((CORBA::SystemException));
- virtual void find (
- const char * server,
- ImplementationRepository::ServerInformation_out info,
+ virtual Dynamic::ExceptionList * exceptions (
CORBA::Environment &ACE_TRY_ENV =
TAO_default_environment ()
)
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ImplementationRepository::Administration::NotFound
- ));
+ ACE_THROW_SPEC ((CORBA::SystemException));
- virtual void list (
- CORBA::ULong how_many,
- ImplementationRepository::ServerInformationList_out server_list,
- ImplementationRepository::ServerInformationIterator_out server_iterator,
+ virtual CORBA::Any * result (
CORBA::Environment &ACE_TRY_ENV =
TAO_default_environment ()
)
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
+ 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));
-#endif /* end #if !defined */
+ private:
+ TAO_ServerRequestInfo_ImplementationRepository_Administration_find (const TAO_ServerRequestInfo_ImplementationRepository_Administration_find &);
+ void operator= (const TAO_ServerRequestInfo_ImplementationRepository_Administration_find &);
+ private:
+ POA_ImplementationRepository::Administration *_tao_impl;
+ const char * server_;
-#if defined (ACE_HAS_USING_KEYWORD)
- // TIE class: Refer to CORBA v2.2, Section 20.34.4
- template <class T>
- class TAO_PortableServer_Export Administration_tie : public Administration
+ };
+
+ class TAO_ServerRequestInfo_ImplementationRepository_Administration_list : public TAO_ServerRequestInfo
{
public:
- Administration_tie (T &t);
- // the T& ctor
- Administration_tie (T &t, PortableServer::POA_ptr poa);
- // ctor taking a POA
- Administration_tie (T *tp, CORBA::Boolean release=1);
- // ctor taking pointer and an ownership flag
- Administration_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1);
- // ctor with T*, ownership flag and a POA
- ~Administration_tie (void);
- // dtor
-
- // TIE specific functions
- T *_tied_object (void);
- // return the underlying object
- void _tied_object (T &obj);
- // set the underlying object
- void _tied_object (T *obj, CORBA::Boolean release=1);
- // set the underlying object and the ownership flag
- CORBA::Boolean _is_owner (void);
- // do we own it
- void _is_owner (CORBA::Boolean b);
- // set the ownership
-
- // overridden ServantBase operations
- PortableServer::POA_ptr _default_POA (
- CORBA::Environment &env =
- TAO_default_environment ()
- );
- void activate_server (
- const char * server,
+ friend class POA_ImplementationRepository::Administration;
+ TAO_ServerRequestInfo_ImplementationRepository_Administration_list (
+ TAO_ServerRequest &_tao_server_request,
+ POA_ImplementationRepository::Administration *tao_impl,
+ const CORBA::ULong & how_many
+,
+ 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,
- ImplementationRepository::Administration::NotFound,
- ImplementationRepository::Administration::CannotActivate
- ));
+ ACE_THROW_SPEC ((CORBA::SystemException));
- void register_server (
- const char * server,
- const ImplementationRepository::StartupOptions & options,
+ virtual Dynamic::ExceptionList * exceptions (
CORBA::Environment &ACE_TRY_ENV =
TAO_default_environment ()
)
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ImplementationRepository::Administration::AlreadyRegistered
- ));
+ ACE_THROW_SPEC ((CORBA::SystemException));
- void reregister_server (
- const char * server,
- const ImplementationRepository::StartupOptions & options,
+ virtual CORBA::Any * result (
CORBA::Environment &ACE_TRY_ENV =
TAO_default_environment ()
)
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
+ 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_ImplementationRepository_Administration_list (const TAO_ServerRequestInfo_ImplementationRepository_Administration_list &);
+ void operator= (const TAO_ServerRequestInfo_ImplementationRepository_Administration_list &);
+
+ private:
+ POA_ImplementationRepository::Administration *_tao_impl;
+ const CORBA::ULong & how_many_;
+
+
+ };
+
+ #endif /* TAO_HAS_INTERCEPTORS */
+
+};
+
+
+///////////////////////////////////////////////////////////////////////
+// Strategized Proxy Broker Declaration
+//
+
+class TAO_PortableServer_Export _TAO_Administration_Strategized_Proxy_Broker : public virtual ::ImplementationRepository::_TAO_Administration_Proxy_Broker
+{
+public:
+ _TAO_Administration_Strategized_Proxy_Broker (void);
+
+ virtual ~_TAO_Administration_Strategized_Proxy_Broker (void);
- void remove_server (
- const char * server,
+ virtual ::ImplementationRepository::_TAO_Administration_Proxy_Impl &select_proxy (
+ ::ImplementationRepository::Administration *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 collocation_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.
+ ::ImplementationRepository::_TAO_Administration_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_Administration_Strategized_Proxy_Broker *the_TAO_Administration_Strategized_Proxy_Broker (void);
+};
+
+
+//
+// End Strategized Proxy Broker Declaration
+///////////////////////////////////////////////////////////////////////
+
+
+///////////////////////////////////////////////////////////////////////
+// ThruPOA Impl. Declaration
+//
+
+class TAO_PortableServer_Export _TAO_Administration_ThruPOA_Proxy_Impl :
+ public virtual ::ImplementationRepository::_TAO_Administration_Proxy_Impl,
+ public virtual TAO_ThruPOA_Object_Proxy_Impl
+{
+public:
+ _TAO_Administration_ThruPOA_Proxy_Impl (void);
+
+ virtual ~_TAO_Administration_ThruPOA_Proxy_Impl (void) { }
+
+ virtual void activate_server (
+ CORBA_Object *_collocated_tao_target_,
+ const char * server,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ ImplementationRepository::Administration::NotFound,
+ ImplementationRepository::Administration::CannotActivate
+ ));
+
+ virtual void register_server (
+ CORBA_Object *_collocated_tao_target_,
+ const char * server,
+ const ImplementationRepository::StartupOptions & options,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ ImplementationRepository::Administration::AlreadyRegistered
+ ));
+
+ virtual void reregister_server (
+ CORBA_Object *_collocated_tao_target_,
+ const char * server,
+ const ImplementationRepository::StartupOptions & options,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual void remove_server (
+ CORBA_Object *_collocated_tao_target_,
+ const char * server,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ ImplementationRepository::Administration::NotFound
+ ));
+
+ virtual void shutdown_server (
+ CORBA_Object *_collocated_tao_target_,
+ const char * server,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ ImplementationRepository::Administration::NotFound
+ ));
+
+ virtual char * server_is_running (
+ CORBA_Object *_collocated_tao_target_,
+ const char * server,
+ const char * addr,
+ ImplementationRepository::ServerObject_ptr server_object,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ ImplementationRepository::Administration::NotFound
+ ));
+
+ virtual void server_is_shutting_down (
+ CORBA_Object *_collocated_tao_target_,
+ const char * server,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ ImplementationRepository::Administration::NotFound
+ ));
+
+ virtual void find (
+ CORBA_Object *_collocated_tao_target_,
+ const char * server,
+ ImplementationRepository::ServerInformation_out info,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ ImplementationRepository::Administration::NotFound
+ ));
+
+ virtual void list (
+ CORBA_Object *_collocated_tao_target_,
+ CORBA::ULong how_many,
+ ImplementationRepository::ServerInformationList_out server_list,
+ ImplementationRepository::ServerInformationIterator_out server_iterator,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+};
+
+
+//
+// ThruPOA Proxy Impl. Declaration
+///////////////////////////////////////////////////////////////////////
+
+
+///////////////////////////////////////////////////////////////////////
+// Direct Impl. Declaration
+//
+
+class TAO_PortableServer_Export _TAO_Administration_Direct_Proxy_Impl :
+ public virtual ImplementationRepository::_TAO_Administration_Proxy_Impl,
+ public virtual TAO_Direct_Object_Proxy_Impl
+{
+public:
+ _TAO_Administration_Direct_Proxy_Impl (void);
+
+ virtual ~_TAO_Administration_Direct_Proxy_Impl (void) { }
+
+ virtual void activate_server (
+ CORBA_Object *_collocated_tao_target_,
+ const char * server,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ ImplementationRepository::Administration::NotFound,
+ ImplementationRepository::Administration::CannotActivate
+ ));
+
+ virtual void register_server (
+ CORBA_Object *_collocated_tao_target_,
+ const char * server,
+ const ImplementationRepository::StartupOptions & options,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ ImplementationRepository::Administration::AlreadyRegistered
+ ));
+
+ virtual void reregister_server (
+ CORBA_Object *_collocated_tao_target_,
+ const char * server,
+ const ImplementationRepository::StartupOptions & options,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual void remove_server (
+ CORBA_Object *_collocated_tao_target_,
+ const char * server,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ ImplementationRepository::Administration::NotFound
+ ));
+
+ virtual void shutdown_server (
+ CORBA_Object *_collocated_tao_target_,
+ const char * server,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ ImplementationRepository::Administration::NotFound
+ ));
+
+ virtual char * server_is_running (
+ CORBA_Object *_collocated_tao_target_,
+ const char * server,
+ const char * addr,
+ ImplementationRepository::ServerObject_ptr server_object,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ ImplementationRepository::Administration::NotFound
+ ));
+
+ virtual void server_is_shutting_down (
+ CORBA_Object *_collocated_tao_target_,
+ const char * server,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ ImplementationRepository::Administration::NotFound
+ ));
+
+ virtual void find (
+ CORBA_Object *_collocated_tao_target_,
+ const char * server,
+ ImplementationRepository::ServerInformation_out info,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ ImplementationRepository::Administration::NotFound
+ ));
+
+ virtual void list (
+ CORBA_Object *_collocated_tao_target_,
+ CORBA::ULong how_many,
+ ImplementationRepository::ServerInformationList_out server_list,
+ ImplementationRepository::ServerInformationIterator_out server_iterator,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+};
+
+
+//
+// Direct Proxy Impl. Declaration
+///////////////////////////////////////////////////////////////////////
+
+
+#if defined (ACE_HAS_USING_KEYWORD)
+// TIE class: Refer to CORBA v2.2, Section 20.34.4
+template <class T>
+class TAO_PortableServer_Export Administration_tie : public Administration
+{
+public:
+ Administration_tie (T &t);
+ // the T& ctor
+ Administration_tie (T &t, PortableServer::POA_ptr poa);
+ // ctor taking a POA
+ Administration_tie (T *tp, CORBA::Boolean release=1);
+ // ctor taking pointer and an ownership flag
+ Administration_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1);
+ // ctor with T*, ownership flag and a POA
+ ~Administration_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 ()
+ );
+ void activate_server (
+ const char * server,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ ImplementationRepository::Administration::NotFound,
+ ImplementationRepository::Administration::CannotActivate
+ ));
+
+ void register_server (
+ const char * server,
+ const ImplementationRepository::StartupOptions & options,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ ImplementationRepository::Administration::AlreadyRegistered
+ ));
+
+ void reregister_server (
+ const char * server,
+ const ImplementationRepository::StartupOptions & options,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ void remove_server (
+ const char * server,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ ImplementationRepository::Administration::NotFound
+ ));
+
+ void shutdown_server (
+ const char * server,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ ImplementationRepository::Administration::NotFound
+ ));
+
+ char * server_is_running (
+ const char * server,
+ const char * addr,
+ ImplementationRepository::ServerObject_ptr server_object,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ ImplementationRepository::Administration::NotFound
+ ));
+
+ void server_is_shutting_down (
+ const char * server,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ ImplementationRepository::Administration::NotFound
+ ));
+
+ void find (
+ const char * server,
+ ImplementationRepository::ServerInformation_out info,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException,
+ ImplementationRepository::Administration::NotFound
+ ));
+
+ void list (
+ CORBA::ULong how_many,
+ ImplementationRepository::ServerInformationList_out server_list,
+ ImplementationRepository::ServerInformationIterator_out server_iterator,
+ 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
+ Administration_tie (const Administration_tie &);
+ void operator= (const Administration_tie &);
+};
+
+#endif /* ACE_HAS_USING_KEYWORD */
+
+class ServerInformationIterator;
+typedef ServerInformationIterator *ServerInformationIterator_ptr;
+// Forward Classes Declaration
+class _TAO_ServerInformationIterator_ThruPOA_Proxy_Impl;
+class _TAO_ServerInformationIterator_Direct_Proxy_Impl;
+class _TAO_ServerInformationIterator_Strategized_Proxy_Broker;
+
+class TAO_PortableServer_Export ServerInformationIterator : public virtual PortableServer::ServantBase
+{
+protected:
+ ServerInformationIterator (void);
+
+public:
+ ServerInformationIterator (const ServerInformationIterator& rhs);
+ virtual ~ServerInformationIterator (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 ()
+ );
+
+ static void _interface_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 ()
+ );
+
+ ::ImplementationRepository::ServerInformationIterator *_this (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual const char* _interface_repository_id (void) const;
+
+ virtual CORBA::Boolean next_n (
+ CORBA::ULong how_many,
+ ImplementationRepository::ServerInformationList_out server_list,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void next_n_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+ virtual void destroy (
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ )) = 0;
+
+ static void destroy_skel (
+ TAO_ServerRequest &_tao_req,
+ void *_tao_obj,
+ void *_tao_context,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
+
+
+#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_ImplementationRepository_ServerInformationIterator_next_n : public TAO_ServerRequestInfo
+ {
+ public:
+ friend class POA_ImplementationRepository::ServerInformationIterator;
+ TAO_ServerRequestInfo_ImplementationRepository_ServerInformationIterator_next_n (
+ TAO_ServerRequest &_tao_server_request,
+ POA_ImplementationRepository::ServerInformationIterator *tao_impl,
+ const CORBA::ULong & how_many,
+ 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,
- ImplementationRepository::Administration::NotFound
- ));
+ ACE_THROW_SPEC ((CORBA::SystemException));
- void shutdown_server (
- const char * server,
+ virtual Dynamic::ExceptionList * exceptions (
CORBA::Environment &ACE_TRY_ENV =
TAO_default_environment ()
)
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ImplementationRepository::Administration::NotFound
- ));
+ ACE_THROW_SPEC ((CORBA::SystemException));
- char * server_is_running (
- const char * server,
- const char * addr,
- ImplementationRepository::ServerObject_ptr server_object,
+ virtual CORBA::Any * result (
CORBA::Environment &ACE_TRY_ENV =
TAO_default_environment ()
)
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ImplementationRepository::Administration::NotFound
- ));
+ 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_ImplementationRepository_ServerInformationIterator_next_n (const TAO_ServerRequestInfo_ImplementationRepository_ServerInformationIterator_next_n &);
+ void operator= (const TAO_ServerRequestInfo_ImplementationRepository_ServerInformationIterator_next_n &);
+
+ private:
+ POA_ImplementationRepository::ServerInformationIterator *_tao_impl;
+ const CORBA::ULong & how_many_;
+ void result (CORBA::Boolean result);
+ // update the result
+ CORBA::Boolean _result;
+ };
+
+ class TAO_ServerRequestInfo_ImplementationRepository_ServerInformationIterator_destroy : public TAO_ServerRequestInfo
+ {
+ public:
+ friend class POA_ImplementationRepository::ServerInformationIterator;
+ TAO_ServerRequestInfo_ImplementationRepository_ServerInformationIterator_destroy (
+ TAO_ServerRequest &_tao_server_request,
+ POA_ImplementationRepository::ServerInformationIterator *tao_impl,
+ CORBA::Environment &ACE_TRY_ENV =
+ TAO_default_environment ()
+ );
- void server_is_shutting_down (
- const char * server,
+ virtual Dynamic::ParameterList * arguments (
CORBA::Environment &ACE_TRY_ENV =
TAO_default_environment ()
)
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ImplementationRepository::Administration::NotFound
- ));
+ ACE_THROW_SPEC ((CORBA::SystemException));
- void find (
- const char * server,
- ImplementationRepository::ServerInformation_out info,
+ virtual Dynamic::ExceptionList * exceptions (
CORBA::Environment &ACE_TRY_ENV =
TAO_default_environment ()
)
- ACE_THROW_SPEC ((
- CORBA::SystemException,
- ImplementationRepository::Administration::NotFound
- ));
+ ACE_THROW_SPEC ((CORBA::SystemException));
- void list (
- CORBA::ULong how_many,
- ImplementationRepository::ServerInformationList_out server_list,
- ImplementationRepository::ServerInformationIterator_out server_iterator,
+ virtual CORBA::Any * result (
CORBA::Environment &ACE_TRY_ENV =
TAO_default_environment ()
)
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
+ ACE_THROW_SPEC ((CORBA::SystemException));
-private:
- T *ptr_;
- PortableServer::POA_var poa_;
- CORBA::Boolean rel_;
+ 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_ImplementationRepository_ServerInformationIterator_destroy (const TAO_ServerRequestInfo_ImplementationRepository_ServerInformationIterator_destroy &);
+ void operator= (const TAO_ServerRequestInfo_ImplementationRepository_ServerInformationIterator_destroy &);
+
+ private:
+ POA_ImplementationRepository::ServerInformationIterator *_tao_impl;
- // copy and assignment are not allowed
- Administration_tie (const Administration_tie &);
- void operator= (const Administration_tie &);
};
-#endif /* ACE_HAS_USING_KEYWORD */
+ #endif /* TAO_HAS_INTERCEPTORS */
- class ServerInformationIterator;
- typedef ServerInformationIterator *ServerInformationIterator_ptr;
- class TAO_PortableServer_Export ServerInformationIterator : public virtual PortableServer::ServantBase
- {
- protected:
- ServerInformationIterator (void);
+};
- public:
- ServerInformationIterator (const ServerInformationIterator& rhs);
- virtual ~ServerInformationIterator (void);
+///////////////////////////////////////////////////////////////////////
+// Strategized Proxy Broker Declaration
+//
- virtual CORBA::Boolean _is_a (
- const char* logical_type_id,
- CORBA::Environment &ACE_TRY_ENV =
- TAO_default_environment ()
- );
+class TAO_PortableServer_Export _TAO_ServerInformationIterator_Strategized_Proxy_Broker : public virtual ::ImplementationRepository::_TAO_ServerInformationIterator_Proxy_Broker
+{
+public:
+ _TAO_ServerInformationIterator_Strategized_Proxy_Broker (void);
- virtual void* _downcast (
- const char* logical_type_id
- );
+ virtual ~_TAO_ServerInformationIterator_Strategized_Proxy_Broker (void);
- static void _is_a_skel (
- TAO_ServerRequest &req,
- void *obj,
- void *context,
- CORBA::Environment &ACE_TRY_ENV =
- TAO_default_environment ()
- );
+ virtual ::ImplementationRepository::_TAO_ServerInformationIterator_Proxy_Impl &select_proxy (
+ ::ImplementationRepository::ServerInformationIterator *object,
+ 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 ()
- );
+private:
- virtual void _dispatch (
- TAO_ServerRequest &_tao_req,
- void *_tao_context,
- CORBA::Environment &ACE_TRY_ENV =
- TAO_default_environment ()
- );
+// Helper methods that takes care to create the proxy
+// as soon as their use is necessary.
+ void create_proxy (
+ int collocation_strategy,
+ CORBA::Environment &ACE_TRY_ENV
+ );
- ::ImplementationRepository::ServerInformationIterator *_this (
- CORBA::Environment &ACE_TRY_ENV =
- TAO_default_environment ()
- );
+private:
- virtual const char* _interface_repository_id (void) const;
+ // 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.
+ ::ImplementationRepository::_TAO_ServerInformationIterator_Proxy_Impl
+ *proxy_cache_[TAO_Collocation_Strategies::CS_LAST];
- virtual CORBA::Boolean next_n (
- CORBA::ULong how_many,
- ImplementationRepository::ServerInformationList_out server_list,
- CORBA::Environment &ACE_TRY_ENV =
- TAO_default_environment ()
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- )) = 0;
+ TAO_SYNCH_MUTEX mutex_;
+// This funxtion is used to get an handle to the unique instance
+// of the Strategized Proxy Broker that is available for a given
+// interface.
- static void next_n_skel (
- TAO_ServerRequest &_tao_req,
- void *_tao_obj,
- void *_tao_context,
- CORBA::Environment &ACE_TRY_ENV =
- TAO_default_environment ()
- );
+public:
+ static _TAO_ServerInformationIterator_Strategized_Proxy_Broker *the_TAO_ServerInformationIterator_Strategized_Proxy_Broker (void);
+};
- virtual void destroy (
- CORBA::Environment &ACE_TRY_ENV =
- TAO_default_environment ()
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- )) = 0;
- static void destroy_skel (
- TAO_ServerRequest &_tao_req,
- void *_tao_obj,
- void *_tao_context,
- CORBA::Environment &ACE_TRY_ENV =
- TAO_default_environment ()
- );
+//
+// End Strategized Proxy Broker Declaration
+///////////////////////////////////////////////////////////////////////
- };
+///////////////////////////////////////////////////////////////////////
+// ThruPOA Impl. Declaration
+//
+class TAO_PortableServer_Export _TAO_ServerInformationIterator_ThruPOA_Proxy_Impl :
+ public virtual ::ImplementationRepository::_TAO_ServerInformationIterator_Proxy_Impl,
+ public virtual TAO_ThruPOA_Object_Proxy_Impl
+{
+public:
+ _TAO_ServerInformationIterator_ThruPOA_Proxy_Impl (void);
-#if !defined (_IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONITERATOR___THRU_POA_COLLOCATED_SH_)
-#define _IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONITERATOR___THRU_POA_COLLOCATED_SH_
+ virtual ~_TAO_ServerInformationIterator_ThruPOA_Proxy_Impl (void) { }
- class TAO_PortableServer_Export _tao_thru_poa_collocated_ServerInformationIterator
- : public virtual ::ImplementationRepository::ServerInformationIterator
- {
- public:
- _tao_thru_poa_collocated_ServerInformationIterator (
- TAO_Stub *stub
- );
- virtual CORBA::Boolean _is_a(
- const CORBA::Char *logical_type_id,
- CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()
- );
+ virtual CORBA::Boolean next_n (
+ CORBA_Object *_collocated_tao_target_,
+ CORBA::ULong how_many,
+ ImplementationRepository::ServerInformationList_out server_list,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual void destroy (
+ CORBA_Object *_collocated_tao_target_,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+};
- virtual CORBA::Boolean _non_existent(
- CORBA_Environment &ACE_TRY_ENV = TAO_default_environment ()
- );
- virtual CORBA::Boolean next_n (
- CORBA::ULong how_many,
- ImplementationRepository::ServerInformationList_out server_list,
- CORBA::Environment &ACE_TRY_ENV =
- TAO_default_environment ()
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
+//
+// ThruPOA Proxy Impl. Declaration
+///////////////////////////////////////////////////////////////////////
- virtual void destroy (
- CORBA::Environment &ACE_TRY_ENV =
- TAO_default_environment ()
- )
- ACE_THROW_SPEC ((
- CORBA::SystemException
- ));
- };
+///////////////////////////////////////////////////////////////////////
+// Direct Impl. Declaration
+//
+class TAO_PortableServer_Export _TAO_ServerInformationIterator_Direct_Proxy_Impl :
+ public virtual ImplementationRepository::_TAO_ServerInformationIterator_Proxy_Impl,
+ public virtual TAO_Direct_Object_Proxy_Impl
+{
+public:
+ _TAO_ServerInformationIterator_Direct_Proxy_Impl (void);
-#endif /* end #if !defined */
+ virtual ~_TAO_ServerInformationIterator_Direct_Proxy_Impl (void) { }
+ virtual CORBA::Boolean next_n (
+ CORBA_Object *_collocated_tao_target_,
+ CORBA::ULong how_many,
+ ImplementationRepository::ServerInformationList_out server_list,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+ virtual void destroy (
+ CORBA_Object *_collocated_tao_target_,
+ CORBA::Environment &ACE_TRY_ENV
+ )
+ ACE_THROW_SPEC ((
+ CORBA::SystemException
+ ));
+
+};
-#if defined (ACE_HAS_USING_KEYWORD)
- // TIE class: Refer to CORBA v2.2, Section 20.34.4
- template <class T>
- class TAO_PortableServer_Export ServerInformationIterator_tie : public ServerInformationIterator
- {
- public:
- ServerInformationIterator_tie (T &t);
- // the T& ctor
- ServerInformationIterator_tie (T &t, PortableServer::POA_ptr poa);
- // ctor taking a POA
- ServerInformationIterator_tie (T *tp, CORBA::Boolean release=1);
- // ctor taking pointer and an ownership flag
- ServerInformationIterator_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1);
- // ctor with T*, ownership flag and a POA
- ~ServerInformationIterator_tie (void);
- // dtor
-
- // TIE specific functions
- T *_tied_object (void);
- // return the underlying object
- void _tied_object (T &obj);
- // set the underlying object
- void _tied_object (T *obj, CORBA::Boolean release=1);
- // set the underlying object and the ownership flag
- CORBA::Boolean _is_owner (void);
- // do we own it
- void _is_owner (CORBA::Boolean b);
- // set the ownership
-
- // overridden ServantBase operations
- PortableServer::POA_ptr _default_POA (
- CORBA::Environment &env =
- TAO_default_environment ()
- );
- CORBA::Boolean next_n (
- CORBA::ULong how_many,
- ImplementationRepository::ServerInformationList_out server_list,
- 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
- ));
+//
+// Direct Proxy Impl. Declaration
+///////////////////////////////////////////////////////////////////////
+
+
+#if defined (ACE_HAS_USING_KEYWORD)
+// TIE class: Refer to CORBA v2.2, Section 20.34.4
+template <class T>
+class TAO_PortableServer_Export ServerInformationIterator_tie : public ServerInformationIterator
+{
+public:
+ ServerInformationIterator_tie (T &t);
+ // the T& ctor
+ ServerInformationIterator_tie (T &t, PortableServer::POA_ptr poa);
+ // ctor taking a POA
+ ServerInformationIterator_tie (T *tp, CORBA::Boolean release=1);
+ // ctor taking pointer and an ownership flag
+ ServerInformationIterator_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release=1);
+ // ctor with T*, ownership flag and a POA
+ ~ServerInformationIterator_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 next_n (
+ CORBA::ULong how_many,
+ ImplementationRepository::ServerInformationList_out server_list,
+ 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_;
+ T *ptr_;
+ PortableServer::POA_var poa_;
+ CORBA::Boolean rel_;
- // copy and assignment are not allowed
- ServerInformationIterator_tie (const ServerInformationIterator_tie &);
- void operator= (const ServerInformationIterator_tie &);
- };
+ // copy and assignment are not allowed
+ ServerInformationIterator_tie (const ServerInformationIterator_tie &);
+ void operator= (const ServerInformationIterator_tie &);
+};
#endif /* ACE_HAS_USING_KEYWORD */
@@ -915,5 +1968,9 @@ TAO_NAMESPACE_CLOSE
#pragma warning(pop)
#endif /* _MSC_VER */
+#if defined (__BORLANDC__)
+#pragma option pop
+#endif /* __BORLANDC__ */
+
#include "ace/post.h"
#endif /* ifndef */