diff options
author | nobody <nobody@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2000-01-12 00:48:25 +0000 |
---|---|---|
committer | nobody <nobody@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2000-01-12 00:48:25 +0000 |
commit | 47c786a375983793a8ce4cfa035733d175c12f30 (patch) | |
tree | f802dc33a3732a7d897651a36d8c472e99f31ad9 | |
parent | 440890527bd72f2644cf4d023c429f038560e0b1 (diff) | |
download | ATCD-47c786a375983793a8ce4cfa035733d175c12f30.tar.gz |
This commit was manufactured by cvs2svn to create branch
'pluggable_messaging'.
-rw-r--r-- | TAO/tao/Connector_Registry.i | 14 | ||||
-rw-r--r-- | TAO/tao/ImplRepoC.cpp | 3789 | ||||
-rw-r--r-- | TAO/tao/ImplRepoC.h | 1688 | ||||
-rw-r--r-- | TAO/tao/ImplRepoC.i | 2239 | ||||
-rw-r--r-- | TAO/tao/ImplRepoS.cpp | 2586 | ||||
-rw-r--r-- | TAO/tao/ImplRepoS.h | 914 | ||||
-rw-r--r-- | TAO/tao/ImplRepoS.i | 9 | ||||
-rw-r--r-- | TAO/tao/ImplRepoS_T.cpp | 20 | ||||
-rw-r--r-- | TAO/tao/ImplRepoS_T.h | 39 | ||||
-rw-r--r-- | TAO/tao/ImplRepoS_T.i | 462 |
10 files changed, 11760 insertions, 0 deletions
diff --git a/TAO/tao/Connector_Registry.i b/TAO/tao/Connector_Registry.i new file mode 100644 index 00000000000..f2f5cfd2047 --- /dev/null +++ b/TAO/tao/Connector_Registry.i @@ -0,0 +1,14 @@ +// -*- C++ -*- +// $Id$ + +ACE_INLINE TAO_ConnectorSetIterator +TAO_Connector_Registry::begin (void) +{ + return this->connectors_; +} + +ACE_INLINE TAO_ConnectorSetIterator +TAO_Connector_Registry::end (void) +{ + return this->connectors_ + this->size_; +} diff --git a/TAO/tao/ImplRepoC.cpp b/TAO/tao/ImplRepoC.cpp new file mode 100644 index 00000000000..3d122d0ff96 --- /dev/null +++ b/TAO/tao/ImplRepoC.cpp @@ -0,0 +1,3789 @@ +/* -*- 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. +// +// Information about TAO is available at: +// http://www.cs.wustl.edu/~schmidt/TAO.html + +#include "ImplRepoC.h" + +#if !defined (__ACE_INLINE__) +#include "ImplRepoC.i" +#endif /* !defined INLINE */ + +ImplementationRepository::ServerObject_ptr ImplementationRepository::ServerObject::_narrow ( + CORBA::Object_ptr obj, + CORBA::Environment &ACE_TRY_ENV + ) +{ + if (CORBA::is_nil (obj)) + return ImplementationRepository::ServerObject::_nil (); + CORBA::Boolean is_a = obj->_is_a ("IDL:ImplementationRepository/ServerObject:1.0", ACE_TRY_ENV); + ACE_CHECK_RETURN (ImplementationRepository::ServerObject::_nil ()); + if (is_a == 0) + return ImplementationRepository::ServerObject::_nil (); + return ImplementationRepository::ServerObject::_unchecked_narrow (obj, ACE_TRY_ENV); +} + +ImplementationRepository::ServerObject_ptr ImplementationRepository::ServerObject::_unchecked_narrow ( + CORBA::Object_ptr obj, + CORBA::Environment & + ) +{ + if (CORBA::is_nil (obj)) + return ImplementationRepository::ServerObject::_nil (); + TAO_Stub* stub = obj->_stubobj (); + stub->_incr_refcnt (); + ImplementationRepository::ServerObject_ptr default_proxy = ImplementationRepository::ServerObject::_nil (); + if (obj->_is_collocated () && _TAO_collocation_ImplementationRepository_ServerObject_Stub_Factory_function_pointer != 0) + { + default_proxy = _TAO_collocation_ImplementationRepository_ServerObject_Stub_Factory_function_pointer (obj); + } + if (CORBA::is_nil (default_proxy)) + ACE_NEW_RETURN (default_proxy, ImplementationRepository::ServerObject (stub), ImplementationRepository::ServerObject::_nil ()); + return TAO_ImplementationRepository_ServerObject_PROXY_FACTORY_ADAPTER::instance ()->create_proxy (default_proxy); +} + +ImplementationRepository::ServerObject_ptr +ImplementationRepository::ServerObject::_duplicate (ImplementationRepository::ServerObject_ptr obj) +{ + if (!CORBA::is_nil (obj)) + obj->_incr_refcnt (); + return obj; +} + +void ImplementationRepository::ServerObject::ping ( + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + + + + + TAO_Stub *istub = this->_stubobj (); + if (istub == 0) + ACE_THROW (CORBA::INTERNAL ()); + + + TAO_GIOP_Twoway_Invocation _tao_call ( + istub, + "ping", + istub->orb_core () + ); + +#if defined (TAO_HAS_INTERCEPTORS) + TAO_ClientRequestInterceptor_Adapter + _tao_vfr (istub->orb_core ()->orb ()->_get_client_interceptor (ACE_TRY_ENV)); + ACE_CHECK; + PortableInterceptor::Cookies _tao_cookies; + CORBA::NVList_var _tao_interceptor_args; + if (_tao_vfr.valid ()) + { + istub->orb_core ()->orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV); + ACE_CHECK; + } + + ACE_TRY + { +#endif /* TAO_HAS_INTERCEPTORS */ + + for (;;) + { + _tao_call.start (ACE_TRY_ENV); + TAO_INTERCEPTOR_CHECK; + + TAO_INTERCEPTOR ( + _tao_vfr.preinvoke ( + _tao_call.request_id (), + 1, + this, + "ping", + _tao_call.service_info (), + _tao_interceptor_args.inout (), + _tao_cookies, + ACE_TRY_ENV + ) + ); + TAO_INTERCEPTOR_CHECK; + CORBA::Short flag = TAO::SYNC_WITH_TARGET; + _tao_call.prepare_header (ACE_static_cast (CORBA::Octet, flag), ACE_TRY_ENV); + TAO_INTERCEPTOR_CHECK; + + int _invoke_status = + _tao_call.invoke (0, 0, ACE_TRY_ENV); + TAO_INTERCEPTOR_CHECK; + + if (_invoke_status == TAO_INVOKE_RESTART) + continue; + if (_invoke_status != TAO_INVOKE_OK) + { + TAO_INTERCEPTOR_THROW (CORBA::UNKNOWN (TAO_DEFAULT_MINOR_CODE, CORBA::COMPLETED_YES)); + } + + TAO_INTERCEPTOR ( + _tao_vfr.postinvoke ( + _tao_call.request_id (), + 1, + this, + "ping", + _tao_call.service_info (), + _tao_interceptor_args.inout (), + _tao_cookies, + ACE_TRY_ENV + ) + ); + TAO_INTERCEPTOR_CHECK; + break; + + } +#if defined (TAO_HAS_INTERCEPTORS) + + } + ACE_CATCHANY + { + _tao_vfr.exception_occurred ( + _tao_call.request_id (), + 1, + this, + "ping", + _tao_cookies, + ACE_TRY_ENV + ); + ACE_RETHROW; + } + ACE_ENDTRY; + ACE_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + +} + +void ImplementationRepository::ServerObject::shutdown ( + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + + + + + TAO_Stub *istub = this->_stubobj (); + if (istub == 0) + ACE_THROW (CORBA::INTERNAL ()); + + + TAO_GIOP_Twoway_Invocation _tao_call ( + istub, + "shutdown", + istub->orb_core () + ); + +#if defined (TAO_HAS_INTERCEPTORS) + TAO_ClientRequestInterceptor_Adapter + _tao_vfr (istub->orb_core ()->orb ()->_get_client_interceptor (ACE_TRY_ENV)); + ACE_CHECK; + PortableInterceptor::Cookies _tao_cookies; + CORBA::NVList_var _tao_interceptor_args; + if (_tao_vfr.valid ()) + { + istub->orb_core ()->orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV); + ACE_CHECK; + } + + ACE_TRY + { +#endif /* TAO_HAS_INTERCEPTORS */ + + for (;;) + { + _tao_call.start (ACE_TRY_ENV); + TAO_INTERCEPTOR_CHECK; + + TAO_INTERCEPTOR ( + _tao_vfr.preinvoke ( + _tao_call.request_id (), + 1, + this, + "shutdown", + _tao_call.service_info (), + _tao_interceptor_args.inout (), + _tao_cookies, + ACE_TRY_ENV + ) + ); + TAO_INTERCEPTOR_CHECK; + CORBA::Short flag = TAO::SYNC_WITH_TARGET; + _tao_call.prepare_header (ACE_static_cast (CORBA::Octet, flag), ACE_TRY_ENV); + TAO_INTERCEPTOR_CHECK; + + int _invoke_status = + _tao_call.invoke (0, 0, ACE_TRY_ENV); + TAO_INTERCEPTOR_CHECK; + + if (_invoke_status == TAO_INVOKE_RESTART) + continue; + if (_invoke_status != TAO_INVOKE_OK) + { + TAO_INTERCEPTOR_THROW (CORBA::UNKNOWN (TAO_DEFAULT_MINOR_CODE, CORBA::COMPLETED_YES)); + } + + TAO_INTERCEPTOR ( + _tao_vfr.postinvoke ( + _tao_call.request_id (), + 1, + this, + "shutdown", + _tao_call.service_info (), + _tao_interceptor_args.inout (), + _tao_cookies, + ACE_TRY_ENV + ) + ); + TAO_INTERCEPTOR_CHECK; + break; + + } +#if defined (TAO_HAS_INTERCEPTORS) + + } + ACE_CATCHANY + { + _tao_vfr.exception_occurred ( + _tao_call.request_id (), + 1, + this, + "shutdown", + _tao_cookies, + ACE_TRY_ENV + ); + ACE_RETHROW; + } + ACE_ENDTRY; + ACE_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + +} + +CORBA::Boolean ImplementationRepository::ServerObject::_is_a (const CORBA::Char *value, CORBA::Environment &ACE_TRY_ENV) +{ + if ( + (!ACE_OS::strcmp ((char *)value, "IDL:ImplementationRepository/ServerObject:1.0")) || + (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/Object:1.0"))) + return 1; // success using local knowledge + else + return this->CORBA_Object::_is_a (value, ACE_TRY_ENV); +} + +const char* ImplementationRepository::ServerObject::_interface_repository_id (void) const +{ + return "IDL:ImplementationRepository/ServerObject:1.0"; +} + +ImplementationRepository::TAO_ImplementationRepository_ServerObject_Default_Proxy_Factory::TAO_ImplementationRepository_ServerObject_Default_Proxy_Factory (int register_proxy_factory) +{ + if (register_proxy_factory) + { + TAO_ImplementationRepository_ServerObject_PROXY_FACTORY_ADAPTER::instance ()->register_proxy_factory (this); + } +} + +ImplementationRepository::TAO_ImplementationRepository_ServerObject_Default_Proxy_Factory::~TAO_ImplementationRepository_ServerObject_Default_Proxy_Factory (void) +{ +} + +ImplementationRepository::ServerObject_ptr +ImplementationRepository::TAO_ImplementationRepository_ServerObject_Default_Proxy_Factory::create_proxy ( + ImplementationRepository::ServerObject_ptr proxy, + CORBA::Environment & + ) +{ + return proxy; +} + +ImplementationRepository::TAO_ImplementationRepository_ServerObject_Proxy_Factory_Adapter::TAO_ImplementationRepository_ServerObject_Proxy_Factory_Adapter (void) + : proxy_factory_ (0), + delete_proxy_factory_ (0) +{ +} + +ImplementationRepository::TAO_ImplementationRepository_ServerObject_Proxy_Factory_Adapter::~TAO_ImplementationRepository_ServerObject_Proxy_Factory_Adapter (void) +{ + // Making sure the factory which the adapter has is destroyed with it. + if (this->proxy_factory_ != 0) + delete this->proxy_factory_; +} + +int +ImplementationRepository::TAO_ImplementationRepository_ServerObject_Proxy_Factory_Adapter::register_proxy_factory ( + TAO_ImplementationRepository_ServerObject_Default_Proxy_Factory *df, + CORBA::Environment &ACE_TRY_ENV + ) +{ + ACE_MT (ACE_GUARD_RETURN (ACE_Recursive_Thread_Mutex, ace_mon, + this->lock_, 0)); + // Remove any existing <proxy_factory_> and replace with the new one. + this->unregister_proxy_factory (ACE_TRY_ENV); + this->proxy_factory_ = df; + this->delete_proxy_factory_ = 0; +return 0; +} + +int +ImplementationRepository::TAO_ImplementationRepository_ServerObject_Proxy_Factory_Adapter::unregister_proxy_factory ( + CORBA::Environment & + ) +{ + ACE_MT (ACE_GUARD_RETURN (ACE_Recursive_Thread_Mutex, ace_mon, + this->lock_, 0)); + if (this->delete_proxy_factory_ == 0 && this->proxy_factory_ != 0) + { + // Its necessary to set <delete_proxy_factory_> to 1 to make sure that it + // doesnt get into an infinite loop in <unregister_proxy_factory> as it is + // invoked in the destructor of the class too. + this->delete_proxy_factory_ = 1; + delete this->proxy_factory_; + this->proxy_factory_ = 0; + } +return 0; +} + +ImplementationRepository::ServerObject_ptr +ImplementationRepository::TAO_ImplementationRepository_ServerObject_Proxy_Factory_Adapter::create_proxy ( + ImplementationRepository::ServerObject_ptr proxy, + CORBA::Environment & + ) +{ + ACE_MT (ACE_GUARD_RETURN (ACE_Recursive_Thread_Mutex, ace_mon, + this->lock_, 0)); + // Verify that an <proxy_factory_> is available else make one. + if (this->proxy_factory_ == 0) + ACE_NEW_RETURN (this->proxy_factory_, + TAO_ImplementationRepository_ServerObject_Default_Proxy_Factory (1), + 0); + + + return this->proxy_factory_->create_proxy (proxy); +} + +ImplementationRepository::TAO_ImplementationRepository_ServerObject_Smart_Proxy_Base::TAO_ImplementationRepository_ServerObject_Smart_Proxy_Base (ImplementationRepository::ServerObject_ptr proxy) +: base_proxy_ (proxy) +{ +} + +ImplementationRepository::TAO_ImplementationRepository_ServerObject_Smart_Proxy_Base::~TAO_ImplementationRepository_ServerObject_Smart_Proxy_Base (void) +{ +} + +void ImplementationRepository::TAO_ImplementationRepository_ServerObject_Smart_Proxy_Base::ping ( + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->base_proxy_->ping ( + ACE_TRY_ENV + ); + +} + +void ImplementationRepository::TAO_ImplementationRepository_ServerObject_Smart_Proxy_Base::shutdown ( + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->base_proxy_->shutdown ( + ACE_TRY_ENV + ); + +} + +#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION) || \ + defined (ACE_HAS_GNU_REPO) +template class ACE_Singleton<ImplementationRepository::TAO_ImplementationRepository_ServerObject_Proxy_Factory_Adapter, ACE_SYNCH_RECURSIVE_MUTEX >; +#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA) +#pragma instantiate ACE_Singleton<ImplementationRepository::TAO_ImplementationRepository_ServerObject_Proxy_Factory_Adapter, ACE_SYNCH_RECURSIVE_MUTEX> +#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */ + +static const CORBA::Long _oc_ImplementationRepository_ServerObject[] = +{ + TAO_ENCAP_BYTE_ORDER, // byte order + 46, ACE_NTOHL (0x49444c3a), ACE_NTOHL (0x496d706c), ACE_NTOHL (0x656d656e), ACE_NTOHL (0x74617469), ACE_NTOHL (0x6f6e5265), ACE_NTOHL (0x706f7369), ACE_NTOHL (0x746f7279), ACE_NTOHL (0x2f536572), ACE_NTOHL (0x7665724f), ACE_NTOHL (0x626a6563), ACE_NTOHL (0x743a312e), ACE_NTOHL (0x30000000), // repository ID = IDL:ImplementationRepository/ServerObject:1.0 + 13, ACE_NTOHL (0x53657276), ACE_NTOHL (0x65724f62), ACE_NTOHL (0x6a656374), ACE_NTOHL (0x0), // name = ServerObject +}; +static CORBA::TypeCode _tc_TAO_tc_ImplementationRepository_ServerObject (CORBA::tk_objref, sizeof (_oc_ImplementationRepository_ServerObject), (char *) &_oc_ImplementationRepository_ServerObject, 0, sizeof (ImplementationRepository::ServerObject)); +TAO_NAMESPACE_TYPE (CORBA::TypeCode_ptr) +TAO_NAMESPACE_BEGIN (ImplementationRepository) +TAO_NAMESPACE_DEFINE (CORBA::TypeCode_ptr, _tc_ServerObject, &_tc_TAO_tc_ImplementationRepository_ServerObject) +TAO_NAMESPACE_END +static const CORBA::Long _oc_ImplementationRepository_EnvironmentVariable[] = +{ + TAO_ENCAP_BYTE_ORDER, // byte order + 53, ACE_NTOHL (0x49444c3a), ACE_NTOHL (0x496d706c), ACE_NTOHL (0x656d656e), ACE_NTOHL (0x74617469), ACE_NTOHL (0x6f6e5265), ACE_NTOHL (0x706f7369), ACE_NTOHL (0x746f7279), ACE_NTOHL (0x2f456e76), ACE_NTOHL (0x69726f6e), ACE_NTOHL (0x6d656e74), ACE_NTOHL (0x56617269), ACE_NTOHL (0x61626c65), ACE_NTOHL (0x3a312e30), ACE_NTOHL (0x0), // repository ID = IDL:ImplementationRepository/EnvironmentVariable:1.0 + 20, ACE_NTOHL (0x456e7669), ACE_NTOHL (0x726f6e6d), ACE_NTOHL (0x656e7456), ACE_NTOHL (0x61726961), ACE_NTOHL (0x626c6500), // name = EnvironmentVariable + 2, // member count + 5, ACE_NTOHL (0x6e616d65), ACE_NTOHL (0x0), // name = name + CORBA::tk_string, + 0U, // string length + 6, ACE_NTOHL (0x76616c75), ACE_NTOHL (0x65000000), // name = value + CORBA::tk_string, + 0U, // string length +}; +static CORBA::TypeCode _tc_TAO_tc_ImplementationRepository_EnvironmentVariable (CORBA::tk_struct, sizeof (_oc_ImplementationRepository_EnvironmentVariable), (char *) &_oc_ImplementationRepository_EnvironmentVariable, 0, sizeof (ImplementationRepository::EnvironmentVariable)); +TAO_NAMESPACE_TYPE (CORBA::TypeCode_ptr) +TAO_NAMESPACE_BEGIN (ImplementationRepository) +TAO_NAMESPACE_DEFINE (CORBA::TypeCode_ptr, _tc_EnvironmentVariable, &_tc_TAO_tc_ImplementationRepository_EnvironmentVariable) +TAO_NAMESPACE_END +static const CORBA::Long _oc_ImplementationRepository_Address[] = +{ + TAO_ENCAP_BYTE_ORDER, // byte order + 41, ACE_NTOHL (0x49444c3a), ACE_NTOHL (0x496d706c), ACE_NTOHL (0x656d656e), ACE_NTOHL (0x74617469), ACE_NTOHL (0x6f6e5265), ACE_NTOHL (0x706f7369), ACE_NTOHL (0x746f7279), ACE_NTOHL (0x2f416464), ACE_NTOHL (0x72657373), ACE_NTOHL (0x3a312e30), ACE_NTOHL (0x0), // repository ID = IDL:ImplementationRepository/Address:1.0 + 8, ACE_NTOHL (0x41646472), ACE_NTOHL (0x65737300), // name = Address + CORBA::tk_string, + 0U, // string length +}; +static CORBA::TypeCode _tc_TAO_tc_ImplementationRepository_Address (CORBA::tk_alias, sizeof (_oc_ImplementationRepository_Address), (char *) &_oc_ImplementationRepository_Address, 0, sizeof (ImplementationRepository::Address)); +TAO_NAMESPACE_TYPE (CORBA::TypeCode_ptr) +TAO_NAMESPACE_BEGIN (ImplementationRepository) +TAO_NAMESPACE_DEFINE (CORBA::TypeCode_ptr, _tc_Address, &_tc_TAO_tc_ImplementationRepository_Address) +TAO_NAMESPACE_END + +#if !defined (TAO_USE_SEQUENCE_TEMPLATES) + +#if !defined (__TAO_UNBOUNDED_SEQUENCE_IMPLEMENTATIONREPOSITORY_ENVIRONMENTLIST_CS_) +#define __TAO_UNBOUNDED_SEQUENCE_IMPLEMENTATIONREPOSITORY_ENVIRONMENTLIST_CS_ + + void + ImplementationRepository::_TAO_Unbounded_Sequence_ImplementationRepository_EnvironmentList::_allocate_buffer (CORBA::ULong length) + { + ImplementationRepository::EnvironmentVariable* tmp = 0; + tmp = ImplementationRepository::_TAO_Unbounded_Sequence_ImplementationRepository_EnvironmentList::allocbuf (length); + + if (this->buffer_ != 0) + { + ImplementationRepository::EnvironmentVariable *old = ACE_reinterpret_cast (ImplementationRepository::EnvironmentVariable *,this->buffer_); + + for (CORBA::ULong i = 0; i < this->length_; ++i) + tmp[i] = old[i]; + + if (this->release_) + ImplementationRepository::_TAO_Unbounded_Sequence_ImplementationRepository_EnvironmentList::freebuf (old); + + } + this->buffer_ = tmp; + } + + void + ImplementationRepository::_TAO_Unbounded_Sequence_ImplementationRepository_EnvironmentList::_deallocate_buffer (void) + { + if (this->buffer_ == 0 || this->release_ == 0) + return; + + ImplementationRepository::EnvironmentVariable *tmp = ACE_reinterpret_cast (ImplementationRepository::EnvironmentVariable *,this->buffer_); + + ImplementationRepository::_TAO_Unbounded_Sequence_ImplementationRepository_EnvironmentList::freebuf (tmp); + this->buffer_ = 0; + } + + ImplementationRepository::_TAO_Unbounded_Sequence_ImplementationRepository_EnvironmentList::~_TAO_Unbounded_Sequence_ImplementationRepository_EnvironmentList (void) // Dtor. + { + this->_deallocate_buffer (); + } + + +#endif /* end #if !defined */ + + +#endif /* !TAO_USE_SEQUENCE_TEMPLATES */ + +#if !defined (_IMPLEMENTATIONREPOSITORY_ENVIRONMENTLIST_CS_) +#define _IMPLEMENTATIONREPOSITORY_ENVIRONMENTLIST_CS_ + +// ************************************************************* +// ImplementationRepository::EnvironmentList +// ************************************************************* + +ImplementationRepository::EnvironmentList::EnvironmentList (void) +{} +ImplementationRepository::EnvironmentList::EnvironmentList (CORBA::ULong max) // uses max size + : +#if !defined (TAO_USE_SEQUENCE_TEMPLATES) + _TAO_Unbounded_Sequence_ImplementationRepository_EnvironmentList +#else /* TAO_USE_SEQUENCE_TEMPLATES */ + TAO_Unbounded_Sequence<ImplementationRepository::EnvironmentVariable> +#endif /* !TAO_USE_SEQUENCE_TEMPLATES */ + (max) +{} +ImplementationRepository::EnvironmentList::EnvironmentList (CORBA::ULong max, CORBA::ULong length, ImplementationRepository::EnvironmentVariable *buffer, CORBA::Boolean release) + : +#if !defined (TAO_USE_SEQUENCE_TEMPLATES) + _TAO_Unbounded_Sequence_ImplementationRepository_EnvironmentList +#else /* TAO_USE_SEQUENCE_TEMPLATES */ + TAO_Unbounded_Sequence<ImplementationRepository::EnvironmentVariable> +#endif /* !TAO_USE_SEQUENCE_TEMPLATES */ + (max, length, buffer, release) +{} +ImplementationRepository::EnvironmentList::EnvironmentList (const EnvironmentList &seq) // copy ctor + : +#if !defined (TAO_USE_SEQUENCE_TEMPLATES) + _TAO_Unbounded_Sequence_ImplementationRepository_EnvironmentList +#else /* TAO_USE_SEQUENCE_TEMPLATES */ + TAO_Unbounded_Sequence<ImplementationRepository::EnvironmentVariable> +#endif /* !TAO_USE_SEQUENCE_TEMPLATES */ + (seq) +{} +ImplementationRepository::EnvironmentList::~EnvironmentList (void) // dtor +{} + + +#endif /* end #if !defined */ + +static const CORBA::Long _oc_ImplementationRepository_EnvironmentList[] = +{ + TAO_ENCAP_BYTE_ORDER, // byte order + 49, ACE_NTOHL (0x49444c3a), ACE_NTOHL (0x496d706c), ACE_NTOHL (0x656d656e), ACE_NTOHL (0x74617469), ACE_NTOHL (0x6f6e5265), ACE_NTOHL (0x706f7369), ACE_NTOHL (0x746f7279), ACE_NTOHL (0x2f456e76), ACE_NTOHL (0x69726f6e), ACE_NTOHL (0x6d656e74), ACE_NTOHL (0x4c697374), ACE_NTOHL (0x3a312e30), ACE_NTOHL (0x0), // repository ID = IDL:ImplementationRepository/EnvironmentList:1.0 + 16, ACE_NTOHL (0x456e7669), ACE_NTOHL (0x726f6e6d), ACE_NTOHL (0x656e744c), ACE_NTOHL (0x69737400), // name = EnvironmentList + CORBA::tk_sequence, // typecode kind + 148, // encapsulation length + TAO_ENCAP_BYTE_ORDER, // byte order + CORBA::tk_struct, // typecode kind + 132, // encapsulation length + TAO_ENCAP_BYTE_ORDER, // byte order + 53, ACE_NTOHL (0x49444c3a), ACE_NTOHL (0x496d706c), ACE_NTOHL (0x656d656e), ACE_NTOHL (0x74617469), ACE_NTOHL (0x6f6e5265), ACE_NTOHL (0x706f7369), ACE_NTOHL (0x746f7279), ACE_NTOHL (0x2f456e76), ACE_NTOHL (0x69726f6e), ACE_NTOHL (0x6d656e74), ACE_NTOHL (0x56617269), ACE_NTOHL (0x61626c65), ACE_NTOHL (0x3a312e30), ACE_NTOHL (0x0), // repository ID = IDL:ImplementationRepository/EnvironmentVariable:1.0 + 20, ACE_NTOHL (0x456e7669), ACE_NTOHL (0x726f6e6d), ACE_NTOHL (0x656e7456), ACE_NTOHL (0x61726961), ACE_NTOHL (0x626c6500), // name = EnvironmentVariable + 2, // member count + 5, ACE_NTOHL (0x6e616d65), ACE_NTOHL (0x0), // name = name + CORBA::tk_string, + 0U, // string length + 6, ACE_NTOHL (0x76616c75), ACE_NTOHL (0x65000000), // name = value + CORBA::tk_string, + 0U, // string length + + 0U, + +}; +static CORBA::TypeCode _tc_TAO_tc_ImplementationRepository_EnvironmentList (CORBA::tk_alias, sizeof (_oc_ImplementationRepository_EnvironmentList), (char *) &_oc_ImplementationRepository_EnvironmentList, 0, sizeof (ImplementationRepository::EnvironmentList)); +TAO_NAMESPACE_TYPE (CORBA::TypeCode_ptr) +TAO_NAMESPACE_BEGIN (ImplementationRepository) +TAO_NAMESPACE_DEFINE (CORBA::TypeCode_ptr, _tc_EnvironmentList, &_tc_TAO_tc_ImplementationRepository_EnvironmentList) +TAO_NAMESPACE_END +static const CORBA::Long _oc_ImplementationRepository_ActivationMode[] = +{ + TAO_ENCAP_BYTE_ORDER, // byte order + 48, ACE_NTOHL (0x49444c3a), ACE_NTOHL (0x496d706c), ACE_NTOHL (0x656d656e), ACE_NTOHL (0x74617469), ACE_NTOHL (0x6f6e5265), ACE_NTOHL (0x706f7369), ACE_NTOHL (0x746f7279), ACE_NTOHL (0x2f416374), ACE_NTOHL (0x69766174), ACE_NTOHL (0x696f6e4d), ACE_NTOHL (0x6f64653a), ACE_NTOHL (0x312e3000), // repository ID = IDL:ImplementationRepository/ActivationMode:1.0 + 15, ACE_NTOHL (0x41637469), ACE_NTOHL (0x76617469), ACE_NTOHL (0x6f6e4d6f), ACE_NTOHL (0x64650000), // name = ActivationMode + 4, // member count + 7, ACE_NTOHL (0x4e4f524d), ACE_NTOHL (0x414c0000), // name = NORMAL + 7, ACE_NTOHL (0x4d414e55), ACE_NTOHL (0x414c0000), // name = MANUAL + 11, ACE_NTOHL (0x5045525f), ACE_NTOHL (0x434c4945), ACE_NTOHL (0x4e540000), // name = PER_CLIENT + 11, ACE_NTOHL (0x4155544f), ACE_NTOHL (0x5f535441), ACE_NTOHL (0x52540000), // name = AUTO_START +}; +static CORBA::TypeCode _tc_TAO_tc_ImplementationRepository_ActivationMode (CORBA::tk_enum, sizeof (_oc_ImplementationRepository_ActivationMode), (char *) &_oc_ImplementationRepository_ActivationMode, 0, sizeof (ImplementationRepository::ActivationMode)); +TAO_NAMESPACE_TYPE (CORBA::TypeCode_ptr) +TAO_NAMESPACE_BEGIN (ImplementationRepository) +TAO_NAMESPACE_DEFINE (CORBA::TypeCode_ptr, _tc_ActivationMode, &_tc_TAO_tc_ImplementationRepository_ActivationMode) +TAO_NAMESPACE_END +static const CORBA::Long _oc_ImplementationRepository_StartupOptions[] = +{ + TAO_ENCAP_BYTE_ORDER, // byte order + 48, ACE_NTOHL (0x49444c3a), ACE_NTOHL (0x496d706c), ACE_NTOHL (0x656d656e), ACE_NTOHL (0x74617469), ACE_NTOHL (0x6f6e5265), ACE_NTOHL (0x706f7369), ACE_NTOHL (0x746f7279), ACE_NTOHL (0x2f537461), ACE_NTOHL (0x72747570), ACE_NTOHL (0x4f707469), ACE_NTOHL (0x6f6e733a), ACE_NTOHL (0x312e3000), // repository ID = IDL:ImplementationRepository/StartupOptions:1.0 + 15, ACE_NTOHL (0x53746172), ACE_NTOHL (0x7475704f), ACE_NTOHL (0x7074696f), ACE_NTOHL (0x6e730000), // name = StartupOptions + 4, // member count + 13, ACE_NTOHL (0x636f6d6d), ACE_NTOHL (0x616e645f), ACE_NTOHL (0x6c696e65), ACE_NTOHL (0x0), // name = command_line + CORBA::tk_string, + 0U, // string length + 12, ACE_NTOHL (0x656e7669), ACE_NTOHL (0x726f6e6d), ACE_NTOHL (0x656e7400), // name = environment + CORBA::tk_alias, // typecode kind for typedefs + 236, // encapsulation length + TAO_ENCAP_BYTE_ORDER, // byte order + 49, ACE_NTOHL (0x49444c3a), ACE_NTOHL (0x496d706c), ACE_NTOHL (0x656d656e), ACE_NTOHL (0x74617469), ACE_NTOHL (0x6f6e5265), ACE_NTOHL (0x706f7369), ACE_NTOHL (0x746f7279), ACE_NTOHL (0x2f456e76), ACE_NTOHL (0x69726f6e), ACE_NTOHL (0x6d656e74), ACE_NTOHL (0x4c697374), ACE_NTOHL (0x3a312e30), ACE_NTOHL (0x0), // repository ID = IDL:ImplementationRepository/EnvironmentList:1.0 + 16, ACE_NTOHL (0x456e7669), ACE_NTOHL (0x726f6e6d), ACE_NTOHL (0x656e744c), ACE_NTOHL (0x69737400), // name = EnvironmentList + CORBA::tk_sequence, // typecode kind + 148, // encapsulation length + TAO_ENCAP_BYTE_ORDER, // byte order + CORBA::tk_struct, // typecode kind + 132, // encapsulation length + TAO_ENCAP_BYTE_ORDER, // byte order + 53, ACE_NTOHL (0x49444c3a), ACE_NTOHL (0x496d706c), ACE_NTOHL (0x656d656e), ACE_NTOHL (0x74617469), ACE_NTOHL (0x6f6e5265), ACE_NTOHL (0x706f7369), ACE_NTOHL (0x746f7279), ACE_NTOHL (0x2f456e76), ACE_NTOHL (0x69726f6e), ACE_NTOHL (0x6d656e74), ACE_NTOHL (0x56617269), ACE_NTOHL (0x61626c65), ACE_NTOHL (0x3a312e30), ACE_NTOHL (0x0), // repository ID = IDL:ImplementationRepository/EnvironmentVariable:1.0 + 20, ACE_NTOHL (0x456e7669), ACE_NTOHL (0x726f6e6d), ACE_NTOHL (0x656e7456), ACE_NTOHL (0x61726961), ACE_NTOHL (0x626c6500), // name = EnvironmentVariable + 2, // member count + 5, ACE_NTOHL (0x6e616d65), ACE_NTOHL (0x0), // name = name + CORBA::tk_string, + 0U, // string length + 6, ACE_NTOHL (0x76616c75), ACE_NTOHL (0x65000000), // name = value + CORBA::tk_string, + 0U, // string length + + 0U, + + + 18, ACE_NTOHL (0x776f726b), ACE_NTOHL (0x696e675f), ACE_NTOHL (0x64697265), ACE_NTOHL (0x63746f72), ACE_NTOHL (0x79000000), // name = working_directory + CORBA::tk_string, + 0U, // string length + 11, ACE_NTOHL (0x61637469), ACE_NTOHL (0x76617469), ACE_NTOHL (0x6f6e0000), // name = activation + CORBA::tk_enum, // typecode kind + 136, // encapsulation length + TAO_ENCAP_BYTE_ORDER, // byte order + 48, ACE_NTOHL (0x49444c3a), ACE_NTOHL (0x496d706c), ACE_NTOHL (0x656d656e), ACE_NTOHL (0x74617469), ACE_NTOHL (0x6f6e5265), ACE_NTOHL (0x706f7369), ACE_NTOHL (0x746f7279), ACE_NTOHL (0x2f416374), ACE_NTOHL (0x69766174), ACE_NTOHL (0x696f6e4d), ACE_NTOHL (0x6f64653a), ACE_NTOHL (0x312e3000), // repository ID = IDL:ImplementationRepository/ActivationMode:1.0 + 15, ACE_NTOHL (0x41637469), ACE_NTOHL (0x76617469), ACE_NTOHL (0x6f6e4d6f), ACE_NTOHL (0x64650000), // name = ActivationMode + 4, // member count + 7, ACE_NTOHL (0x4e4f524d), ACE_NTOHL (0x414c0000), // name = NORMAL + 7, ACE_NTOHL (0x4d414e55), ACE_NTOHL (0x414c0000), // name = MANUAL + 11, ACE_NTOHL (0x5045525f), ACE_NTOHL (0x434c4945), ACE_NTOHL (0x4e540000), // name = PER_CLIENT + 11, ACE_NTOHL (0x4155544f), ACE_NTOHL (0x5f535441), ACE_NTOHL (0x52540000), // name = AUTO_START + +}; +static CORBA::TypeCode _tc_TAO_tc_ImplementationRepository_StartupOptions (CORBA::tk_struct, sizeof (_oc_ImplementationRepository_StartupOptions), (char *) &_oc_ImplementationRepository_StartupOptions, 0, sizeof (ImplementationRepository::StartupOptions)); +TAO_NAMESPACE_TYPE (CORBA::TypeCode_ptr) +TAO_NAMESPACE_BEGIN (ImplementationRepository) +TAO_NAMESPACE_DEFINE (CORBA::TypeCode_ptr, _tc_StartupOptions, &_tc_TAO_tc_ImplementationRepository_StartupOptions) +TAO_NAMESPACE_END +static const CORBA::Long _oc_ImplementationRepository_ServerInformation[] = +{ + TAO_ENCAP_BYTE_ORDER, // byte order + 51, ACE_NTOHL (0x49444c3a), ACE_NTOHL (0x496d706c), ACE_NTOHL (0x656d656e), ACE_NTOHL (0x74617469), ACE_NTOHL (0x6f6e5265), ACE_NTOHL (0x706f7369), ACE_NTOHL (0x746f7279), ACE_NTOHL (0x2f536572), ACE_NTOHL (0x76657249), ACE_NTOHL (0x6e666f72), ACE_NTOHL (0x6d617469), ACE_NTOHL (0x6f6e3a31), ACE_NTOHL (0x2e300000), // repository ID = IDL:ImplementationRepository/ServerInformation:1.0 + 18, ACE_NTOHL (0x53657276), ACE_NTOHL (0x6572496e), ACE_NTOHL (0x666f726d), ACE_NTOHL (0x6174696f), ACE_NTOHL (0x6e000000), // name = ServerInformation + 4, // member count + 15, ACE_NTOHL (0x6c6f6769), ACE_NTOHL (0x63616c5f), ACE_NTOHL (0x73657276), ACE_NTOHL (0x65720000), // name = logical_server + CORBA::tk_string, + 0U, // string length + 7, ACE_NTOHL (0x73657276), ACE_NTOHL (0x65720000), // name = server + CORBA::tk_string, + 0U, // string length + 8, ACE_NTOHL (0x73746172), ACE_NTOHL (0x74757000), // name = startup + CORBA::tk_struct, // typecode kind + 560, // encapsulation length + TAO_ENCAP_BYTE_ORDER, // byte order + 48, ACE_NTOHL (0x49444c3a), ACE_NTOHL (0x496d706c), ACE_NTOHL (0x656d656e), ACE_NTOHL (0x74617469), ACE_NTOHL (0x6f6e5265), ACE_NTOHL (0x706f7369), ACE_NTOHL (0x746f7279), ACE_NTOHL (0x2f537461), ACE_NTOHL (0x72747570), ACE_NTOHL (0x4f707469), ACE_NTOHL (0x6f6e733a), ACE_NTOHL (0x312e3000), // repository ID = IDL:ImplementationRepository/StartupOptions:1.0 + 15, ACE_NTOHL (0x53746172), ACE_NTOHL (0x7475704f), ACE_NTOHL (0x7074696f), ACE_NTOHL (0x6e730000), // name = StartupOptions + 4, // member count + 13, ACE_NTOHL (0x636f6d6d), ACE_NTOHL (0x616e645f), ACE_NTOHL (0x6c696e65), ACE_NTOHL (0x0), // name = command_line + CORBA::tk_string, + 0U, // string length + 12, ACE_NTOHL (0x656e7669), ACE_NTOHL (0x726f6e6d), ACE_NTOHL (0x656e7400), // name = environment + CORBA::tk_alias, // typecode kind for typedefs + 236, // encapsulation length + TAO_ENCAP_BYTE_ORDER, // byte order + 49, ACE_NTOHL (0x49444c3a), ACE_NTOHL (0x496d706c), ACE_NTOHL (0x656d656e), ACE_NTOHL (0x74617469), ACE_NTOHL (0x6f6e5265), ACE_NTOHL (0x706f7369), ACE_NTOHL (0x746f7279), ACE_NTOHL (0x2f456e76), ACE_NTOHL (0x69726f6e), ACE_NTOHL (0x6d656e74), ACE_NTOHL (0x4c697374), ACE_NTOHL (0x3a312e30), ACE_NTOHL (0x0), // repository ID = IDL:ImplementationRepository/EnvironmentList:1.0 + 16, ACE_NTOHL (0x456e7669), ACE_NTOHL (0x726f6e6d), ACE_NTOHL (0x656e744c), ACE_NTOHL (0x69737400), // name = EnvironmentList + CORBA::tk_sequence, // typecode kind + 148, // encapsulation length + TAO_ENCAP_BYTE_ORDER, // byte order + CORBA::tk_struct, // typecode kind + 132, // encapsulation length + TAO_ENCAP_BYTE_ORDER, // byte order + 53, ACE_NTOHL (0x49444c3a), ACE_NTOHL (0x496d706c), ACE_NTOHL (0x656d656e), ACE_NTOHL (0x74617469), ACE_NTOHL (0x6f6e5265), ACE_NTOHL (0x706f7369), ACE_NTOHL (0x746f7279), ACE_NTOHL (0x2f456e76), ACE_NTOHL (0x69726f6e), ACE_NTOHL (0x6d656e74), ACE_NTOHL (0x56617269), ACE_NTOHL (0x61626c65), ACE_NTOHL (0x3a312e30), ACE_NTOHL (0x0), // repository ID = IDL:ImplementationRepository/EnvironmentVariable:1.0 + 20, ACE_NTOHL (0x456e7669), ACE_NTOHL (0x726f6e6d), ACE_NTOHL (0x656e7456), ACE_NTOHL (0x61726961), ACE_NTOHL (0x626c6500), // name = EnvironmentVariable + 2, // member count + 5, ACE_NTOHL (0x6e616d65), ACE_NTOHL (0x0), // name = name + CORBA::tk_string, + 0U, // string length + 6, ACE_NTOHL (0x76616c75), ACE_NTOHL (0x65000000), // name = value + CORBA::tk_string, + 0U, // string length + + 0U, + + + 18, ACE_NTOHL (0x776f726b), ACE_NTOHL (0x696e675f), ACE_NTOHL (0x64697265), ACE_NTOHL (0x63746f72), ACE_NTOHL (0x79000000), // name = working_directory + CORBA::tk_string, + 0U, // string length + 11, ACE_NTOHL (0x61637469), ACE_NTOHL (0x76617469), ACE_NTOHL (0x6f6e0000), // name = activation + CORBA::tk_enum, // typecode kind + 136, // encapsulation length + TAO_ENCAP_BYTE_ORDER, // byte order + 48, ACE_NTOHL (0x49444c3a), ACE_NTOHL (0x496d706c), ACE_NTOHL (0x656d656e), ACE_NTOHL (0x74617469), ACE_NTOHL (0x6f6e5265), ACE_NTOHL (0x706f7369), ACE_NTOHL (0x746f7279), ACE_NTOHL (0x2f416374), ACE_NTOHL (0x69766174), ACE_NTOHL (0x696f6e4d), ACE_NTOHL (0x6f64653a), ACE_NTOHL (0x312e3000), // repository ID = IDL:ImplementationRepository/ActivationMode:1.0 + 15, ACE_NTOHL (0x41637469), ACE_NTOHL (0x76617469), ACE_NTOHL (0x6f6e4d6f), ACE_NTOHL (0x64650000), // name = ActivationMode + 4, // member count + 7, ACE_NTOHL (0x4e4f524d), ACE_NTOHL (0x414c0000), // name = NORMAL + 7, ACE_NTOHL (0x4d414e55), ACE_NTOHL (0x414c0000), // name = MANUAL + 11, ACE_NTOHL (0x5045525f), ACE_NTOHL (0x434c4945), ACE_NTOHL (0x4e540000), // name = PER_CLIENT + 11, ACE_NTOHL (0x4155544f), ACE_NTOHL (0x5f535441), ACE_NTOHL (0x52540000), // name = AUTO_START + + + 9, ACE_NTOHL (0x6c6f6361), ACE_NTOHL (0x74696f6e), ACE_NTOHL (0x0), // name = location + CORBA::tk_alias, // typecode kind for typedefs + 72, // encapsulation length + TAO_ENCAP_BYTE_ORDER, // byte order + 41, ACE_NTOHL (0x49444c3a), ACE_NTOHL (0x496d706c), ACE_NTOHL (0x656d656e), ACE_NTOHL (0x74617469), ACE_NTOHL (0x6f6e5265), ACE_NTOHL (0x706f7369), ACE_NTOHL (0x746f7279), ACE_NTOHL (0x2f416464), ACE_NTOHL (0x72657373), ACE_NTOHL (0x3a312e30), ACE_NTOHL (0x0), // repository ID = IDL:ImplementationRepository/Address:1.0 + 8, ACE_NTOHL (0x41646472), ACE_NTOHL (0x65737300), // name = Address + CORBA::tk_string, + 0U, // string length + +}; +static CORBA::TypeCode _tc_TAO_tc_ImplementationRepository_ServerInformation (CORBA::tk_struct, sizeof (_oc_ImplementationRepository_ServerInformation), (char *) &_oc_ImplementationRepository_ServerInformation, 0, sizeof (ImplementationRepository::ServerInformation)); +TAO_NAMESPACE_TYPE (CORBA::TypeCode_ptr) +TAO_NAMESPACE_BEGIN (ImplementationRepository) +TAO_NAMESPACE_DEFINE (CORBA::TypeCode_ptr, _tc_ServerInformation, &_tc_TAO_tc_ImplementationRepository_ServerInformation) +TAO_NAMESPACE_END + +#if !defined (TAO_USE_SEQUENCE_TEMPLATES) + +#if !defined (__TAO_UNBOUNDED_SEQUENCE_IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONLIST_CS_) +#define __TAO_UNBOUNDED_SEQUENCE_IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONLIST_CS_ + + void + ImplementationRepository::_TAO_Unbounded_Sequence_ImplementationRepository_ServerInformationList::_allocate_buffer (CORBA::ULong length) + { + ImplementationRepository::ServerInformation* tmp = 0; + tmp = ImplementationRepository::_TAO_Unbounded_Sequence_ImplementationRepository_ServerInformationList::allocbuf (length); + + if (this->buffer_ != 0) + { + ImplementationRepository::ServerInformation *old = ACE_reinterpret_cast (ImplementationRepository::ServerInformation *,this->buffer_); + + for (CORBA::ULong i = 0; i < this->length_; ++i) + tmp[i] = old[i]; + + if (this->release_) + ImplementationRepository::_TAO_Unbounded_Sequence_ImplementationRepository_ServerInformationList::freebuf (old); + + } + this->buffer_ = tmp; + } + + void + ImplementationRepository::_TAO_Unbounded_Sequence_ImplementationRepository_ServerInformationList::_deallocate_buffer (void) + { + if (this->buffer_ == 0 || this->release_ == 0) + return; + + ImplementationRepository::ServerInformation *tmp = ACE_reinterpret_cast (ImplementationRepository::ServerInformation *,this->buffer_); + + ImplementationRepository::_TAO_Unbounded_Sequence_ImplementationRepository_ServerInformationList::freebuf (tmp); + this->buffer_ = 0; + } + + ImplementationRepository::_TAO_Unbounded_Sequence_ImplementationRepository_ServerInformationList::~_TAO_Unbounded_Sequence_ImplementationRepository_ServerInformationList (void) // Dtor. + { + this->_deallocate_buffer (); + } + + +#endif /* end #if !defined */ + + +#endif /* !TAO_USE_SEQUENCE_TEMPLATES */ + +#if !defined (_IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONLIST_CS_) +#define _IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONLIST_CS_ + +// ************************************************************* +// ImplementationRepository::ServerInformationList +// ************************************************************* + +ImplementationRepository::ServerInformationList::ServerInformationList (void) +{} +ImplementationRepository::ServerInformationList::ServerInformationList (CORBA::ULong max) // uses max size + : +#if !defined (TAO_USE_SEQUENCE_TEMPLATES) + _TAO_Unbounded_Sequence_ImplementationRepository_ServerInformationList +#else /* TAO_USE_SEQUENCE_TEMPLATES */ + TAO_Unbounded_Sequence<ImplementationRepository::ServerInformation> +#endif /* !TAO_USE_SEQUENCE_TEMPLATES */ + (max) +{} +ImplementationRepository::ServerInformationList::ServerInformationList (CORBA::ULong max, CORBA::ULong length, ImplementationRepository::ServerInformation *buffer, CORBA::Boolean release) + : +#if !defined (TAO_USE_SEQUENCE_TEMPLATES) + _TAO_Unbounded_Sequence_ImplementationRepository_ServerInformationList +#else /* TAO_USE_SEQUENCE_TEMPLATES */ + TAO_Unbounded_Sequence<ImplementationRepository::ServerInformation> +#endif /* !TAO_USE_SEQUENCE_TEMPLATES */ + (max, length, buffer, release) +{} +ImplementationRepository::ServerInformationList::ServerInformationList (const ServerInformationList &seq) // copy ctor + : +#if !defined (TAO_USE_SEQUENCE_TEMPLATES) + _TAO_Unbounded_Sequence_ImplementationRepository_ServerInformationList +#else /* TAO_USE_SEQUENCE_TEMPLATES */ + TAO_Unbounded_Sequence<ImplementationRepository::ServerInformation> +#endif /* !TAO_USE_SEQUENCE_TEMPLATES */ + (seq) +{} +ImplementationRepository::ServerInformationList::~ServerInformationList (void) // dtor +{} + + +#endif /* end #if !defined */ + +static const CORBA::Long _oc_ImplementationRepository_ServerInformationList[] = +{ + TAO_ENCAP_BYTE_ORDER, // byte order + 55, ACE_NTOHL (0x49444c3a), ACE_NTOHL (0x496d706c), ACE_NTOHL (0x656d656e), ACE_NTOHL (0x74617469), ACE_NTOHL (0x6f6e5265), ACE_NTOHL (0x706f7369), ACE_NTOHL (0x746f7279), ACE_NTOHL (0x2f536572), ACE_NTOHL (0x76657249), ACE_NTOHL (0x6e666f72), ACE_NTOHL (0x6d617469), ACE_NTOHL (0x6f6e4c69), ACE_NTOHL (0x73743a31), ACE_NTOHL (0x2e300000), // repository ID = IDL:ImplementationRepository/ServerInformationList:1.0 + 22, ACE_NTOHL (0x53657276), ACE_NTOHL (0x6572496e), ACE_NTOHL (0x666f726d), ACE_NTOHL (0x6174696f), ACE_NTOHL (0x6e4c6973), ACE_NTOHL (0x74000000), // name = ServerInformationList + CORBA::tk_sequence, // typecode kind + 828, // encapsulation length + TAO_ENCAP_BYTE_ORDER, // byte order + CORBA::tk_struct, // typecode kind + 812, // encapsulation length + TAO_ENCAP_BYTE_ORDER, // byte order + 51, ACE_NTOHL (0x49444c3a), ACE_NTOHL (0x496d706c), ACE_NTOHL (0x656d656e), ACE_NTOHL (0x74617469), ACE_NTOHL (0x6f6e5265), ACE_NTOHL (0x706f7369), ACE_NTOHL (0x746f7279), ACE_NTOHL (0x2f536572), ACE_NTOHL (0x76657249), ACE_NTOHL (0x6e666f72), ACE_NTOHL (0x6d617469), ACE_NTOHL (0x6f6e3a31), ACE_NTOHL (0x2e300000), // repository ID = IDL:ImplementationRepository/ServerInformation:1.0 + 18, ACE_NTOHL (0x53657276), ACE_NTOHL (0x6572496e), ACE_NTOHL (0x666f726d), ACE_NTOHL (0x6174696f), ACE_NTOHL (0x6e000000), // name = ServerInformation + 4, // member count + 15, ACE_NTOHL (0x6c6f6769), ACE_NTOHL (0x63616c5f), ACE_NTOHL (0x73657276), ACE_NTOHL (0x65720000), // name = logical_server + CORBA::tk_string, + 0U, // string length + 7, ACE_NTOHL (0x73657276), ACE_NTOHL (0x65720000), // name = server + CORBA::tk_string, + 0U, // string length + 8, ACE_NTOHL (0x73746172), ACE_NTOHL (0x74757000), // name = startup + CORBA::tk_struct, // typecode kind + 560, // encapsulation length + TAO_ENCAP_BYTE_ORDER, // byte order + 48, ACE_NTOHL (0x49444c3a), ACE_NTOHL (0x496d706c), ACE_NTOHL (0x656d656e), ACE_NTOHL (0x74617469), ACE_NTOHL (0x6f6e5265), ACE_NTOHL (0x706f7369), ACE_NTOHL (0x746f7279), ACE_NTOHL (0x2f537461), ACE_NTOHL (0x72747570), ACE_NTOHL (0x4f707469), ACE_NTOHL (0x6f6e733a), ACE_NTOHL (0x312e3000), // repository ID = IDL:ImplementationRepository/StartupOptions:1.0 + 15, ACE_NTOHL (0x53746172), ACE_NTOHL (0x7475704f), ACE_NTOHL (0x7074696f), ACE_NTOHL (0x6e730000), // name = StartupOptions + 4, // member count + 13, ACE_NTOHL (0x636f6d6d), ACE_NTOHL (0x616e645f), ACE_NTOHL (0x6c696e65), ACE_NTOHL (0x0), // name = command_line + CORBA::tk_string, + 0U, // string length + 12, ACE_NTOHL (0x656e7669), ACE_NTOHL (0x726f6e6d), ACE_NTOHL (0x656e7400), // name = environment + CORBA::tk_alias, // typecode kind for typedefs + 236, // encapsulation length + TAO_ENCAP_BYTE_ORDER, // byte order + 49, ACE_NTOHL (0x49444c3a), ACE_NTOHL (0x496d706c), ACE_NTOHL (0x656d656e), ACE_NTOHL (0x74617469), ACE_NTOHL (0x6f6e5265), ACE_NTOHL (0x706f7369), ACE_NTOHL (0x746f7279), ACE_NTOHL (0x2f456e76), ACE_NTOHL (0x69726f6e), ACE_NTOHL (0x6d656e74), ACE_NTOHL (0x4c697374), ACE_NTOHL (0x3a312e30), ACE_NTOHL (0x0), // repository ID = IDL:ImplementationRepository/EnvironmentList:1.0 + 16, ACE_NTOHL (0x456e7669), ACE_NTOHL (0x726f6e6d), ACE_NTOHL (0x656e744c), ACE_NTOHL (0x69737400), // name = EnvironmentList + CORBA::tk_sequence, // typecode kind + 148, // encapsulation length + TAO_ENCAP_BYTE_ORDER, // byte order + CORBA::tk_struct, // typecode kind + 132, // encapsulation length + TAO_ENCAP_BYTE_ORDER, // byte order + 53, ACE_NTOHL (0x49444c3a), ACE_NTOHL (0x496d706c), ACE_NTOHL (0x656d656e), ACE_NTOHL (0x74617469), ACE_NTOHL (0x6f6e5265), ACE_NTOHL (0x706f7369), ACE_NTOHL (0x746f7279), ACE_NTOHL (0x2f456e76), ACE_NTOHL (0x69726f6e), ACE_NTOHL (0x6d656e74), ACE_NTOHL (0x56617269), ACE_NTOHL (0x61626c65), ACE_NTOHL (0x3a312e30), ACE_NTOHL (0x0), // repository ID = IDL:ImplementationRepository/EnvironmentVariable:1.0 + 20, ACE_NTOHL (0x456e7669), ACE_NTOHL (0x726f6e6d), ACE_NTOHL (0x656e7456), ACE_NTOHL (0x61726961), ACE_NTOHL (0x626c6500), // name = EnvironmentVariable + 2, // member count + 5, ACE_NTOHL (0x6e616d65), ACE_NTOHL (0x0), // name = name + CORBA::tk_string, + 0U, // string length + 6, ACE_NTOHL (0x76616c75), ACE_NTOHL (0x65000000), // name = value + CORBA::tk_string, + 0U, // string length + + 0U, + + + 18, ACE_NTOHL (0x776f726b), ACE_NTOHL (0x696e675f), ACE_NTOHL (0x64697265), ACE_NTOHL (0x63746f72), ACE_NTOHL (0x79000000), // name = working_directory + CORBA::tk_string, + 0U, // string length + 11, ACE_NTOHL (0x61637469), ACE_NTOHL (0x76617469), ACE_NTOHL (0x6f6e0000), // name = activation + CORBA::tk_enum, // typecode kind + 136, // encapsulation length + TAO_ENCAP_BYTE_ORDER, // byte order + 48, ACE_NTOHL (0x49444c3a), ACE_NTOHL (0x496d706c), ACE_NTOHL (0x656d656e), ACE_NTOHL (0x74617469), ACE_NTOHL (0x6f6e5265), ACE_NTOHL (0x706f7369), ACE_NTOHL (0x746f7279), ACE_NTOHL (0x2f416374), ACE_NTOHL (0x69766174), ACE_NTOHL (0x696f6e4d), ACE_NTOHL (0x6f64653a), ACE_NTOHL (0x312e3000), // repository ID = IDL:ImplementationRepository/ActivationMode:1.0 + 15, ACE_NTOHL (0x41637469), ACE_NTOHL (0x76617469), ACE_NTOHL (0x6f6e4d6f), ACE_NTOHL (0x64650000), // name = ActivationMode + 4, // member count + 7, ACE_NTOHL (0x4e4f524d), ACE_NTOHL (0x414c0000), // name = NORMAL + 7, ACE_NTOHL (0x4d414e55), ACE_NTOHL (0x414c0000), // name = MANUAL + 11, ACE_NTOHL (0x5045525f), ACE_NTOHL (0x434c4945), ACE_NTOHL (0x4e540000), // name = PER_CLIENT + 11, ACE_NTOHL (0x4155544f), ACE_NTOHL (0x5f535441), ACE_NTOHL (0x52540000), // name = AUTO_START + + + 9, ACE_NTOHL (0x6c6f6361), ACE_NTOHL (0x74696f6e), ACE_NTOHL (0x0), // name = location + CORBA::tk_alias, // typecode kind for typedefs + 72, // encapsulation length + TAO_ENCAP_BYTE_ORDER, // byte order + 41, ACE_NTOHL (0x49444c3a), ACE_NTOHL (0x496d706c), ACE_NTOHL (0x656d656e), ACE_NTOHL (0x74617469), ACE_NTOHL (0x6f6e5265), ACE_NTOHL (0x706f7369), ACE_NTOHL (0x746f7279), ACE_NTOHL (0x2f416464), ACE_NTOHL (0x72657373), ACE_NTOHL (0x3a312e30), ACE_NTOHL (0x0), // repository ID = IDL:ImplementationRepository/Address:1.0 + 8, ACE_NTOHL (0x41646472), ACE_NTOHL (0x65737300), // name = Address + CORBA::tk_string, + 0U, // string length + + + 0U, + +}; +static CORBA::TypeCode _tc_TAO_tc_ImplementationRepository_ServerInformationList (CORBA::tk_alias, sizeof (_oc_ImplementationRepository_ServerInformationList), (char *) &_oc_ImplementationRepository_ServerInformationList, 0, sizeof (ImplementationRepository::ServerInformationList)); +TAO_NAMESPACE_TYPE (CORBA::TypeCode_ptr) +TAO_NAMESPACE_BEGIN (ImplementationRepository) +TAO_NAMESPACE_DEFINE (CORBA::TypeCode_ptr, _tc_ServerInformationList, &_tc_TAO_tc_ImplementationRepository_ServerInformationList) +TAO_NAMESPACE_END +ImplementationRepository::Administration_ptr ImplementationRepository::Administration::_narrow ( + CORBA::Object_ptr obj, + CORBA::Environment &ACE_TRY_ENV + ) +{ + if (CORBA::is_nil (obj)) + return ImplementationRepository::Administration::_nil (); + CORBA::Boolean is_a = obj->_is_a ("IDL:ImplementationRepository/Administration:1.0", ACE_TRY_ENV); + ACE_CHECK_RETURN (ImplementationRepository::Administration::_nil ()); + if (is_a == 0) + return ImplementationRepository::Administration::_nil (); + return ImplementationRepository::Administration::_unchecked_narrow (obj, ACE_TRY_ENV); +} + +ImplementationRepository::Administration_ptr ImplementationRepository::Administration::_unchecked_narrow ( + CORBA::Object_ptr obj, + CORBA::Environment & + ) +{ + if (CORBA::is_nil (obj)) + return ImplementationRepository::Administration::_nil (); + TAO_Stub* stub = obj->_stubobj (); + stub->_incr_refcnt (); + ImplementationRepository::Administration_ptr default_proxy = ImplementationRepository::Administration::_nil (); + if (obj->_is_collocated () && _TAO_collocation_ImplementationRepository_Administration_Stub_Factory_function_pointer != 0) + { + default_proxy = _TAO_collocation_ImplementationRepository_Administration_Stub_Factory_function_pointer (obj); + } + if (CORBA::is_nil (default_proxy)) + ACE_NEW_RETURN (default_proxy, ImplementationRepository::Administration (stub), ImplementationRepository::Administration::_nil ()); + return TAO_ImplementationRepository_Administration_PROXY_FACTORY_ADAPTER::instance ()->create_proxy (default_proxy); +} + +ImplementationRepository::Administration_ptr +ImplementationRepository::Administration::_duplicate (ImplementationRepository::Administration_ptr obj) +{ + if (!CORBA::is_nil (obj)) + obj->_incr_refcnt (); + return obj; +} + +// default constructor +ImplementationRepository::Administration::AlreadyRegistered::AlreadyRegistered (void) + : CORBA_UserException (ImplementationRepository::Administration::_tc_AlreadyRegistered) +{ +} + +// destructor - all members are of self managing types +ImplementationRepository::Administration::AlreadyRegistered::~AlreadyRegistered (void) +{ +} + +// copy constructor +ImplementationRepository::Administration::AlreadyRegistered::AlreadyRegistered (const ImplementationRepository::Administration::AlreadyRegistered &_tao_excp) + : CORBA_UserException (_tao_excp._type ()) +{ + } + +// assignment operator +ImplementationRepository::Administration::AlreadyRegistered& +ImplementationRepository::Administration::AlreadyRegistered::operator= (const ImplementationRepository::Administration::AlreadyRegistered &_tao_excp) +{ + + this->CORBA_UserException::operator= (_tao_excp); + return *this; +} + +// narrow +ImplementationRepository::Administration::AlreadyRegistered_ptr +ImplementationRepository::Administration::AlreadyRegistered::_narrow (CORBA::Exception *exc) +{ + if (!ACE_OS::strcmp ("IDL:ImplementationRepository/Administration/AlreadyRegistered:1.0", exc->_id ())) // same type + return ACE_dynamic_cast (ImplementationRepository::Administration::AlreadyRegistered_ptr, exc); + else + return 0; +} + + +void ImplementationRepository::Administration::AlreadyRegistered::_raise () +{ + TAO_RAISE(*this); +} + +// TAO extension - the _alloc method +CORBA::Exception *ImplementationRepository::Administration::AlreadyRegistered::_alloc (void) +{ + CORBA::Exception *retval = 0; + ACE_NEW_RETURN (retval, ImplementationRepository::Administration::AlreadyRegistered, 0); + return retval; +} + +static const CORBA::Long _oc_ImplementationRepository_Administration_AlreadyRegistered[] = +{ + TAO_ENCAP_BYTE_ORDER, // byte order + 66, ACE_NTOHL (0x49444c3a), ACE_NTOHL (0x496d706c), ACE_NTOHL (0x656d656e), ACE_NTOHL (0x74617469), ACE_NTOHL (0x6f6e5265), ACE_NTOHL (0x706f7369), ACE_NTOHL (0x746f7279), ACE_NTOHL (0x2f41646d), ACE_NTOHL (0x696e6973), ACE_NTOHL (0x74726174), ACE_NTOHL (0x696f6e2f), ACE_NTOHL (0x416c7265), ACE_NTOHL (0x61647952), ACE_NTOHL (0x65676973), ACE_NTOHL (0x74657265), ACE_NTOHL (0x643a312e), ACE_NTOHL (0x30000000), // repository ID = IDL:ImplementationRepository/Administration/AlreadyRegistered:1.0 + 18, ACE_NTOHL (0x416c7265), ACE_NTOHL (0x61647952), ACE_NTOHL (0x65676973), ACE_NTOHL (0x74657265), ACE_NTOHL (0x64000000), // name = AlreadyRegistered + 0, // member count +}; +static CORBA::TypeCode _tc_TAO_tc_ImplementationRepository_Administration_AlreadyRegistered (CORBA::tk_except, sizeof (_oc_ImplementationRepository_Administration_AlreadyRegistered), (char *) &_oc_ImplementationRepository_Administration_AlreadyRegistered, 0, sizeof (ImplementationRepository::Administration::AlreadyRegistered)); +CORBA::TypeCode_ptr ImplementationRepository::Administration::_tc_AlreadyRegistered = &_tc_TAO_tc_ImplementationRepository_Administration_AlreadyRegistered; + +// default constructor +ImplementationRepository::Administration::CannotActivate::CannotActivate (void) + : CORBA_UserException (ImplementationRepository::Administration::_tc_CannotActivate) +{ +} + +// destructor - all members are of self managing types +ImplementationRepository::Administration::CannotActivate::~CannotActivate (void) +{ +} + +// copy constructor +ImplementationRepository::Administration::CannotActivate::CannotActivate (const ImplementationRepository::Administration::CannotActivate &_tao_excp) + : CORBA_UserException (_tao_excp._type ()) +{ + this->reason = CORBA::string_dup (_tao_excp.reason.in ()); +} + +// assignment operator +ImplementationRepository::Administration::CannotActivate& +ImplementationRepository::Administration::CannotActivate::operator= (const ImplementationRepository::Administration::CannotActivate &_tao_excp) +{ + + this->CORBA_UserException::operator= (_tao_excp); + this->reason = CORBA::string_dup (_tao_excp.reason.in ()); + return *this; +} + +// narrow +ImplementationRepository::Administration::CannotActivate_ptr +ImplementationRepository::Administration::CannotActivate::_narrow (CORBA::Exception *exc) +{ + if (!ACE_OS::strcmp ("IDL:ImplementationRepository/Administration/CannotActivate:1.0", exc->_id ())) // same type + return ACE_dynamic_cast (ImplementationRepository::Administration::CannotActivate_ptr, exc); + else + return 0; +} + + +void ImplementationRepository::Administration::CannotActivate::_raise () +{ + TAO_RAISE(*this); +} + +// TAO extension - the _alloc method +CORBA::Exception *ImplementationRepository::Administration::CannotActivate::_alloc (void) +{ + CORBA::Exception *retval = 0; + ACE_NEW_RETURN (retval, ImplementationRepository::Administration::CannotActivate, 0); + return retval; +} + +ImplementationRepository::Administration::CannotActivate::CannotActivate ( + const char * _tao_reason +) + : CORBA_UserException (CORBA::TypeCode::_duplicate (ImplementationRepository::Administration::_tc_CannotActivate)) +{ + this->reason = CORBA::string_dup (_tao_reason); +} + +static const CORBA::Long _oc_ImplementationRepository_Administration_CannotActivate[] = +{ + TAO_ENCAP_BYTE_ORDER, // byte order + 63, ACE_NTOHL (0x49444c3a), ACE_NTOHL (0x496d706c), ACE_NTOHL (0x656d656e), ACE_NTOHL (0x74617469), ACE_NTOHL (0x6f6e5265), ACE_NTOHL (0x706f7369), ACE_NTOHL (0x746f7279), ACE_NTOHL (0x2f41646d), ACE_NTOHL (0x696e6973), ACE_NTOHL (0x74726174), ACE_NTOHL (0x696f6e2f), ACE_NTOHL (0x43616e6e), ACE_NTOHL (0x6f744163), ACE_NTOHL (0x74697661), ACE_NTOHL (0x74653a31), ACE_NTOHL (0x2e300000), // repository ID = IDL:ImplementationRepository/Administration/CannotActivate:1.0 + 15, ACE_NTOHL (0x43616e6e), ACE_NTOHL (0x6f744163), ACE_NTOHL (0x74697661), ACE_NTOHL (0x74650000), // name = CannotActivate + 1, // member count + 7, ACE_NTOHL (0x72656173), ACE_NTOHL (0x6f6e0000), // name = reason + CORBA::tk_string, + 0U, // string length +}; +static CORBA::TypeCode _tc_TAO_tc_ImplementationRepository_Administration_CannotActivate (CORBA::tk_except, sizeof (_oc_ImplementationRepository_Administration_CannotActivate), (char *) &_oc_ImplementationRepository_Administration_CannotActivate, 0, sizeof (ImplementationRepository::Administration::CannotActivate)); +CORBA::TypeCode_ptr ImplementationRepository::Administration::_tc_CannotActivate = &_tc_TAO_tc_ImplementationRepository_Administration_CannotActivate; + +// default constructor +ImplementationRepository::Administration::NotFound::NotFound (void) + : CORBA_UserException (ImplementationRepository::Administration::_tc_NotFound) +{ +} + +// destructor - all members are of self managing types +ImplementationRepository::Administration::NotFound::~NotFound (void) +{ +} + +// copy constructor +ImplementationRepository::Administration::NotFound::NotFound (const ImplementationRepository::Administration::NotFound &_tao_excp) + : CORBA_UserException (_tao_excp._type ()) +{ + } + +// assignment operator +ImplementationRepository::Administration::NotFound& +ImplementationRepository::Administration::NotFound::operator= (const ImplementationRepository::Administration::NotFound &_tao_excp) +{ + + this->CORBA_UserException::operator= (_tao_excp); + return *this; +} + +// narrow +ImplementationRepository::Administration::NotFound_ptr +ImplementationRepository::Administration::NotFound::_narrow (CORBA::Exception *exc) +{ + if (!ACE_OS::strcmp ("IDL:ImplementationRepository/Administration/NotFound:1.0", exc->_id ())) // same type + return ACE_dynamic_cast (ImplementationRepository::Administration::NotFound_ptr, exc); + else + return 0; +} + + +void ImplementationRepository::Administration::NotFound::_raise () +{ + TAO_RAISE(*this); +} + +// TAO extension - the _alloc method +CORBA::Exception *ImplementationRepository::Administration::NotFound::_alloc (void) +{ + CORBA::Exception *retval = 0; + ACE_NEW_RETURN (retval, ImplementationRepository::Administration::NotFound, 0); + return retval; +} + +static const CORBA::Long _oc_ImplementationRepository_Administration_NotFound[] = +{ + TAO_ENCAP_BYTE_ORDER, // byte order + 57, ACE_NTOHL (0x49444c3a), ACE_NTOHL (0x496d706c), ACE_NTOHL (0x656d656e), ACE_NTOHL (0x74617469), ACE_NTOHL (0x6f6e5265), ACE_NTOHL (0x706f7369), ACE_NTOHL (0x746f7279), ACE_NTOHL (0x2f41646d), ACE_NTOHL (0x696e6973), ACE_NTOHL (0x74726174), ACE_NTOHL (0x696f6e2f), ACE_NTOHL (0x4e6f7446), ACE_NTOHL (0x6f756e64), ACE_NTOHL (0x3a312e30), ACE_NTOHL (0x0), // repository ID = IDL:ImplementationRepository/Administration/NotFound:1.0 + 9, ACE_NTOHL (0x4e6f7446), ACE_NTOHL (0x6f756e64), ACE_NTOHL (0x0), // name = NotFound + 0, // member count +}; +static CORBA::TypeCode _tc_TAO_tc_ImplementationRepository_Administration_NotFound (CORBA::tk_except, sizeof (_oc_ImplementationRepository_Administration_NotFound), (char *) &_oc_ImplementationRepository_Administration_NotFound, 0, sizeof (ImplementationRepository::Administration::NotFound)); +CORBA::TypeCode_ptr ImplementationRepository::Administration::_tc_NotFound = &_tc_TAO_tc_ImplementationRepository_Administration_NotFound; + +void ImplementationRepository::Administration::activate_server ( + const char * server, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException, + ImplementationRepository::Administration::NotFound, + ImplementationRepository::Administration::CannotActivate + )) +{ + + static TAO_Exception_Data _tao_ImplementationRepository_Administration_activate_server_exceptiondata [] = + { + {ImplementationRepository::Administration::_tc_NotFound, ImplementationRepository::Administration::NotFound::_alloc}, + {ImplementationRepository::Administration::_tc_CannotActivate, ImplementationRepository::Administration::CannotActivate::_alloc} + }; + + + + + TAO_Stub *istub = this->_stubobj (); + if (istub == 0) + ACE_THROW (CORBA::INTERNAL ()); + + + TAO_GIOP_Twoway_Invocation _tao_call ( + istub, + "activate_server", + istub->orb_core () + ); + +#if defined (TAO_HAS_INTERCEPTORS) + TAO_ClientRequestInterceptor_Adapter + _tao_vfr (istub->orb_core ()->orb ()->_get_client_interceptor (ACE_TRY_ENV)); + ACE_CHECK; + PortableInterceptor::Cookies _tao_cookies; + CORBA::NVList_var _tao_interceptor_args; + if (_tao_vfr.valid ()) + { + istub->orb_core ()->orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV); + ACE_CHECK; + } + + ACE_TRY + { +#endif /* TAO_HAS_INTERCEPTORS */ + + for (;;) + { + _tao_call.start (ACE_TRY_ENV); + TAO_INTERCEPTOR_CHECK; + + TAO_INTERCEPTOR ( + _tao_vfr.preinvoke ( + _tao_call.request_id (), + 1, + this, + "activate_server", + _tao_call.service_info (), + _tao_interceptor_args.inout (), + _tao_cookies, + ACE_TRY_ENV + ) + ); + TAO_INTERCEPTOR_CHECK; + CORBA::Short flag = TAO::SYNC_WITH_TARGET; + _tao_call.prepare_header (ACE_static_cast (CORBA::Octet, flag), ACE_TRY_ENV); + TAO_INTERCEPTOR_CHECK; + + TAO_OutputCDR &_tao_out = _tao_call.out_stream (); + if (!( + (_tao_out << server) + )) + TAO_INTERCEPTOR_THROW (CORBA::MARSHAL ()); + int _invoke_status = + _tao_call.invoke (_tao_ImplementationRepository_Administration_activate_server_exceptiondata, 2, ACE_TRY_ENV); + TAO_INTERCEPTOR_CHECK; + + if (_invoke_status == TAO_INVOKE_RESTART) + continue; + if (_invoke_status != TAO_INVOKE_OK) + { + TAO_INTERCEPTOR_THROW (CORBA::UNKNOWN (TAO_DEFAULT_MINOR_CODE, CORBA::COMPLETED_YES)); + } + + TAO_INTERCEPTOR ( + _tao_vfr.postinvoke ( + _tao_call.request_id (), + 1, + this, + "activate_server", + _tao_call.service_info (), + _tao_interceptor_args.inout (), + _tao_cookies, + ACE_TRY_ENV + ) + ); + TAO_INTERCEPTOR_CHECK; + break; + + } +#if defined (TAO_HAS_INTERCEPTORS) + + } + ACE_CATCHANY + { + _tao_vfr.exception_occurred ( + _tao_call.request_id (), + 1, + this, + "activate_server", + _tao_cookies, + ACE_TRY_ENV + ); + ACE_RETHROW; + } + ACE_ENDTRY; + ACE_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + +} + +void ImplementationRepository::Administration::register_server ( + const char * server, + const ImplementationRepository::StartupOptions & options, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException, + ImplementationRepository::Administration::AlreadyRegistered + )) +{ + + static TAO_Exception_Data _tao_ImplementationRepository_Administration_register_server_exceptiondata [] = + { + {ImplementationRepository::Administration::_tc_AlreadyRegistered, ImplementationRepository::Administration::AlreadyRegistered::_alloc} + }; + + + + + TAO_Stub *istub = this->_stubobj (); + if (istub == 0) + ACE_THROW (CORBA::INTERNAL ()); + + + TAO_GIOP_Twoway_Invocation _tao_call ( + istub, + "register_server", + istub->orb_core () + ); + +#if defined (TAO_HAS_INTERCEPTORS) + TAO_ClientRequestInterceptor_Adapter + _tao_vfr (istub->orb_core ()->orb ()->_get_client_interceptor (ACE_TRY_ENV)); + ACE_CHECK; + PortableInterceptor::Cookies _tao_cookies; + CORBA::NVList_var _tao_interceptor_args; + if (_tao_vfr.valid ()) + { + istub->orb_core ()->orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV); + ACE_CHECK; + } + + ACE_TRY + { +#endif /* TAO_HAS_INTERCEPTORS */ + + for (;;) + { + _tao_call.start (ACE_TRY_ENV); + TAO_INTERCEPTOR_CHECK; + + TAO_INTERCEPTOR ( + _tao_vfr.preinvoke ( + _tao_call.request_id (), + 1, + this, + "register_server", + _tao_call.service_info (), + _tao_interceptor_args.inout (), + _tao_cookies, + ACE_TRY_ENV + ) + ); + TAO_INTERCEPTOR_CHECK; + CORBA::Short flag = TAO::SYNC_WITH_TARGET; + _tao_call.prepare_header (ACE_static_cast (CORBA::Octet, flag), ACE_TRY_ENV); + TAO_INTERCEPTOR_CHECK; + + TAO_OutputCDR &_tao_out = _tao_call.out_stream (); + if (!( + (_tao_out << server) && + (_tao_out << options) + )) + TAO_INTERCEPTOR_THROW (CORBA::MARSHAL ()); + int _invoke_status = + _tao_call.invoke (_tao_ImplementationRepository_Administration_register_server_exceptiondata, 1, ACE_TRY_ENV); + TAO_INTERCEPTOR_CHECK; + + if (_invoke_status == TAO_INVOKE_RESTART) + continue; + if (_invoke_status != TAO_INVOKE_OK) + { + TAO_INTERCEPTOR_THROW (CORBA::UNKNOWN (TAO_DEFAULT_MINOR_CODE, CORBA::COMPLETED_YES)); + } + + TAO_INTERCEPTOR ( + _tao_vfr.postinvoke ( + _tao_call.request_id (), + 1, + this, + "register_server", + _tao_call.service_info (), + _tao_interceptor_args.inout (), + _tao_cookies, + ACE_TRY_ENV + ) + ); + TAO_INTERCEPTOR_CHECK; + break; + + } +#if defined (TAO_HAS_INTERCEPTORS) + + } + ACE_CATCHANY + { + _tao_vfr.exception_occurred ( + _tao_call.request_id (), + 1, + this, + "register_server", + _tao_cookies, + ACE_TRY_ENV + ); + ACE_RETHROW; + } + ACE_ENDTRY; + ACE_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + +} + +void ImplementationRepository::Administration::reregister_server ( + const char * server, + const ImplementationRepository::StartupOptions & options, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + + + + + TAO_Stub *istub = this->_stubobj (); + if (istub == 0) + ACE_THROW (CORBA::INTERNAL ()); + + + TAO_GIOP_Twoway_Invocation _tao_call ( + istub, + "reregister_server", + istub->orb_core () + ); + +#if defined (TAO_HAS_INTERCEPTORS) + TAO_ClientRequestInterceptor_Adapter + _tao_vfr (istub->orb_core ()->orb ()->_get_client_interceptor (ACE_TRY_ENV)); + ACE_CHECK; + PortableInterceptor::Cookies _tao_cookies; + CORBA::NVList_var _tao_interceptor_args; + if (_tao_vfr.valid ()) + { + istub->orb_core ()->orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV); + ACE_CHECK; + } + + ACE_TRY + { +#endif /* TAO_HAS_INTERCEPTORS */ + + for (;;) + { + _tao_call.start (ACE_TRY_ENV); + TAO_INTERCEPTOR_CHECK; + + TAO_INTERCEPTOR ( + _tao_vfr.preinvoke ( + _tao_call.request_id (), + 1, + this, + "reregister_server", + _tao_call.service_info (), + _tao_interceptor_args.inout (), + _tao_cookies, + ACE_TRY_ENV + ) + ); + TAO_INTERCEPTOR_CHECK; + CORBA::Short flag = TAO::SYNC_WITH_TARGET; + _tao_call.prepare_header (ACE_static_cast (CORBA::Octet, flag), ACE_TRY_ENV); + TAO_INTERCEPTOR_CHECK; + + TAO_OutputCDR &_tao_out = _tao_call.out_stream (); + if (!( + (_tao_out << server) && + (_tao_out << options) + )) + TAO_INTERCEPTOR_THROW (CORBA::MARSHAL ()); + int _invoke_status = + _tao_call.invoke (0, 0, ACE_TRY_ENV); + TAO_INTERCEPTOR_CHECK; + + if (_invoke_status == TAO_INVOKE_RESTART) + continue; + if (_invoke_status != TAO_INVOKE_OK) + { + TAO_INTERCEPTOR_THROW (CORBA::UNKNOWN (TAO_DEFAULT_MINOR_CODE, CORBA::COMPLETED_YES)); + } + + TAO_INTERCEPTOR ( + _tao_vfr.postinvoke ( + _tao_call.request_id (), + 1, + this, + "reregister_server", + _tao_call.service_info (), + _tao_interceptor_args.inout (), + _tao_cookies, + ACE_TRY_ENV + ) + ); + TAO_INTERCEPTOR_CHECK; + break; + + } +#if defined (TAO_HAS_INTERCEPTORS) + + } + ACE_CATCHANY + { + _tao_vfr.exception_occurred ( + _tao_call.request_id (), + 1, + this, + "reregister_server", + _tao_cookies, + ACE_TRY_ENV + ); + ACE_RETHROW; + } + ACE_ENDTRY; + ACE_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + +} + +void ImplementationRepository::Administration::remove_server ( + const char * server, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException, + ImplementationRepository::Administration::NotFound + )) +{ + + static TAO_Exception_Data _tao_ImplementationRepository_Administration_remove_server_exceptiondata [] = + { + {ImplementationRepository::Administration::_tc_NotFound, ImplementationRepository::Administration::NotFound::_alloc} + }; + + + + + TAO_Stub *istub = this->_stubobj (); + if (istub == 0) + ACE_THROW (CORBA::INTERNAL ()); + + + TAO_GIOP_Twoway_Invocation _tao_call ( + istub, + "remove_server", + istub->orb_core () + ); + +#if defined (TAO_HAS_INTERCEPTORS) + TAO_ClientRequestInterceptor_Adapter + _tao_vfr (istub->orb_core ()->orb ()->_get_client_interceptor (ACE_TRY_ENV)); + ACE_CHECK; + PortableInterceptor::Cookies _tao_cookies; + CORBA::NVList_var _tao_interceptor_args; + if (_tao_vfr.valid ()) + { + istub->orb_core ()->orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV); + ACE_CHECK; + } + + ACE_TRY + { +#endif /* TAO_HAS_INTERCEPTORS */ + + for (;;) + { + _tao_call.start (ACE_TRY_ENV); + TAO_INTERCEPTOR_CHECK; + + TAO_INTERCEPTOR ( + _tao_vfr.preinvoke ( + _tao_call.request_id (), + 1, + this, + "remove_server", + _tao_call.service_info (), + _tao_interceptor_args.inout (), + _tao_cookies, + ACE_TRY_ENV + ) + ); + TAO_INTERCEPTOR_CHECK; + CORBA::Short flag = TAO::SYNC_WITH_TARGET; + _tao_call.prepare_header (ACE_static_cast (CORBA::Octet, flag), ACE_TRY_ENV); + TAO_INTERCEPTOR_CHECK; + + TAO_OutputCDR &_tao_out = _tao_call.out_stream (); + if (!( + (_tao_out << server) + )) + TAO_INTERCEPTOR_THROW (CORBA::MARSHAL ()); + int _invoke_status = + _tao_call.invoke (_tao_ImplementationRepository_Administration_remove_server_exceptiondata, 1, ACE_TRY_ENV); + TAO_INTERCEPTOR_CHECK; + + if (_invoke_status == TAO_INVOKE_RESTART) + continue; + if (_invoke_status != TAO_INVOKE_OK) + { + TAO_INTERCEPTOR_THROW (CORBA::UNKNOWN (TAO_DEFAULT_MINOR_CODE, CORBA::COMPLETED_YES)); + } + + TAO_INTERCEPTOR ( + _tao_vfr.postinvoke ( + _tao_call.request_id (), + 1, + this, + "remove_server", + _tao_call.service_info (), + _tao_interceptor_args.inout (), + _tao_cookies, + ACE_TRY_ENV + ) + ); + TAO_INTERCEPTOR_CHECK; + break; + + } +#if defined (TAO_HAS_INTERCEPTORS) + + } + ACE_CATCHANY + { + _tao_vfr.exception_occurred ( + _tao_call.request_id (), + 1, + this, + "remove_server", + _tao_cookies, + ACE_TRY_ENV + ); + ACE_RETHROW; + } + ACE_ENDTRY; + ACE_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + +} + +void ImplementationRepository::Administration::shutdown_server ( + const char * server, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException, + ImplementationRepository::Administration::NotFound + )) +{ + + static TAO_Exception_Data _tao_ImplementationRepository_Administration_shutdown_server_exceptiondata [] = + { + {ImplementationRepository::Administration::_tc_NotFound, ImplementationRepository::Administration::NotFound::_alloc} + }; + + + + + TAO_Stub *istub = this->_stubobj (); + if (istub == 0) + ACE_THROW (CORBA::INTERNAL ()); + + + TAO_GIOP_Twoway_Invocation _tao_call ( + istub, + "shutdown_server", + istub->orb_core () + ); + +#if defined (TAO_HAS_INTERCEPTORS) + TAO_ClientRequestInterceptor_Adapter + _tao_vfr (istub->orb_core ()->orb ()->_get_client_interceptor (ACE_TRY_ENV)); + ACE_CHECK; + PortableInterceptor::Cookies _tao_cookies; + CORBA::NVList_var _tao_interceptor_args; + if (_tao_vfr.valid ()) + { + istub->orb_core ()->orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV); + ACE_CHECK; + } + + ACE_TRY + { +#endif /* TAO_HAS_INTERCEPTORS */ + + for (;;) + { + _tao_call.start (ACE_TRY_ENV); + TAO_INTERCEPTOR_CHECK; + + TAO_INTERCEPTOR ( + _tao_vfr.preinvoke ( + _tao_call.request_id (), + 1, + this, + "shutdown_server", + _tao_call.service_info (), + _tao_interceptor_args.inout (), + _tao_cookies, + ACE_TRY_ENV + ) + ); + TAO_INTERCEPTOR_CHECK; + CORBA::Short flag = TAO::SYNC_WITH_TARGET; + _tao_call.prepare_header (ACE_static_cast (CORBA::Octet, flag), ACE_TRY_ENV); + TAO_INTERCEPTOR_CHECK; + + TAO_OutputCDR &_tao_out = _tao_call.out_stream (); + if (!( + (_tao_out << server) + )) + TAO_INTERCEPTOR_THROW (CORBA::MARSHAL ()); + int _invoke_status = + _tao_call.invoke (_tao_ImplementationRepository_Administration_shutdown_server_exceptiondata, 1, ACE_TRY_ENV); + TAO_INTERCEPTOR_CHECK; + + if (_invoke_status == TAO_INVOKE_RESTART) + continue; + if (_invoke_status != TAO_INVOKE_OK) + { + TAO_INTERCEPTOR_THROW (CORBA::UNKNOWN (TAO_DEFAULT_MINOR_CODE, CORBA::COMPLETED_YES)); + } + + TAO_INTERCEPTOR ( + _tao_vfr.postinvoke ( + _tao_call.request_id (), + 1, + this, + "shutdown_server", + _tao_call.service_info (), + _tao_interceptor_args.inout (), + _tao_cookies, + ACE_TRY_ENV + ) + ); + TAO_INTERCEPTOR_CHECK; + break; + + } +#if defined (TAO_HAS_INTERCEPTORS) + + } + ACE_CATCHANY + { + _tao_vfr.exception_occurred ( + _tao_call.request_id (), + 1, + this, + "shutdown_server", + _tao_cookies, + ACE_TRY_ENV + ); + ACE_RETHROW; + } + ACE_ENDTRY; + ACE_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + +} + +char * ImplementationRepository::Administration::server_is_running ( + const char * server, + const char * addr, + ImplementationRepository::ServerObject_ptr server_object, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException, + ImplementationRepository::Administration::NotFound + )) +{ + + static TAO_Exception_Data _tao_ImplementationRepository_Administration_server_is_running_exceptiondata [] = + { + {ImplementationRepository::Administration::_tc_NotFound, ImplementationRepository::Administration::NotFound::_alloc} + }; + + CORBA::String_var _tao_safe_retval; + + + TAO_Stub *istub = this->_stubobj (); + if (istub == 0) + ACE_THROW_RETURN (CORBA::INTERNAL (), 0); + + + TAO_GIOP_Twoway_Invocation _tao_call ( + istub, + "server_is_running", + istub->orb_core () + ); + +#if defined (TAO_HAS_INTERCEPTORS) + TAO_ClientRequestInterceptor_Adapter + _tao_vfr (istub->orb_core ()->orb ()->_get_client_interceptor (ACE_TRY_ENV)); + ACE_CHECK_RETURN (0); + PortableInterceptor::Cookies _tao_cookies; + CORBA::NVList_var _tao_interceptor_args; + if (_tao_vfr.valid ()) + { + istub->orb_core ()->orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + } + + ACE_TRY + { +#endif /* TAO_HAS_INTERCEPTORS */ + + for (;;) + { + _tao_call.start (ACE_TRY_ENV); + TAO_INTERCEPTOR_CHECK_RETURN (0); + + TAO_INTERCEPTOR ( + _tao_vfr.preinvoke ( + _tao_call.request_id (), + 1, + this, + "server_is_running", + _tao_call.service_info (), + _tao_interceptor_args.inout (), + _tao_cookies, + ACE_TRY_ENV + ) + ); + TAO_INTERCEPTOR_CHECK_RETURN (0); + CORBA::Short flag = TAO::SYNC_WITH_TARGET; + _tao_call.prepare_header (ACE_static_cast (CORBA::Octet, flag), ACE_TRY_ENV); + TAO_INTERCEPTOR_CHECK_RETURN (0); + + TAO_OutputCDR &_tao_out = _tao_call.out_stream (); + if (!( + (_tao_out << server) && + (_tao_out << addr) && + (_tao_out << server_object) + )) + TAO_INTERCEPTOR_THROW_RETURN (CORBA::MARSHAL (), 0); + + int _invoke_status = + _tao_call.invoke (_tao_ImplementationRepository_Administration_server_is_running_exceptiondata, 1, ACE_TRY_ENV); + TAO_INTERCEPTOR_CHECK_RETURN (0); + + if (_invoke_status == TAO_INVOKE_RESTART) + continue; + if (_invoke_status != TAO_INVOKE_OK) + { + TAO_INTERCEPTOR_THROW_RETURN (CORBA::UNKNOWN (TAO_DEFAULT_MINOR_CODE, CORBA::COMPLETED_YES), 0); + + } + TAO_InputCDR &_tao_in = _tao_call.inp_stream (); + if (!( + (_tao_in >> _tao_safe_retval.inout ()) + )) + TAO_INTERCEPTOR_THROW_RETURN (CORBA::MARSHAL (TAO_DEFAULT_MINOR_CODE, CORBA::COMPLETED_YES), 0); + + TAO_INTERCEPTOR ( + _tao_vfr.postinvoke ( + _tao_call.request_id (), + 1, + this, + "server_is_running", + _tao_call.service_info (), + _tao_interceptor_args.inout (), + _tao_cookies, + ACE_TRY_ENV + ) + ); + TAO_INTERCEPTOR_CHECK_RETURN (0); + break; + + } +#if defined (TAO_HAS_INTERCEPTORS) + + } + ACE_CATCHANY + { + _tao_vfr.exception_occurred ( + _tao_call.request_id (), + 1, + this, + "server_is_running", + _tao_cookies, + ACE_TRY_ENV + ); + ACE_RETHROW; + } + ACE_ENDTRY; + ACE_CHECK_RETURN (0); +#endif /* TAO_HAS_INTERCEPTORS */ + return _tao_safe_retval._retn (); +} + +void ImplementationRepository::Administration::server_is_shutting_down ( + const char * server, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException, + ImplementationRepository::Administration::NotFound + )) +{ + + static TAO_Exception_Data _tao_ImplementationRepository_Administration_server_is_shutting_down_exceptiondata [] = + { + {ImplementationRepository::Administration::_tc_NotFound, ImplementationRepository::Administration::NotFound::_alloc} + }; + + + + + TAO_Stub *istub = this->_stubobj (); + if (istub == 0) + ACE_THROW (CORBA::INTERNAL ()); + + + TAO_GIOP_Twoway_Invocation _tao_call ( + istub, + "server_is_shutting_down", + istub->orb_core () + ); + +#if defined (TAO_HAS_INTERCEPTORS) + TAO_ClientRequestInterceptor_Adapter + _tao_vfr (istub->orb_core ()->orb ()->_get_client_interceptor (ACE_TRY_ENV)); + ACE_CHECK; + PortableInterceptor::Cookies _tao_cookies; + CORBA::NVList_var _tao_interceptor_args; + if (_tao_vfr.valid ()) + { + istub->orb_core ()->orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV); + ACE_CHECK; + } + + ACE_TRY + { +#endif /* TAO_HAS_INTERCEPTORS */ + + for (;;) + { + _tao_call.start (ACE_TRY_ENV); + TAO_INTERCEPTOR_CHECK; + + TAO_INTERCEPTOR ( + _tao_vfr.preinvoke ( + _tao_call.request_id (), + 1, + this, + "server_is_shutting_down", + _tao_call.service_info (), + _tao_interceptor_args.inout (), + _tao_cookies, + ACE_TRY_ENV + ) + ); + TAO_INTERCEPTOR_CHECK; + CORBA::Short flag = TAO::SYNC_WITH_TARGET; + _tao_call.prepare_header (ACE_static_cast (CORBA::Octet, flag), ACE_TRY_ENV); + TAO_INTERCEPTOR_CHECK; + + TAO_OutputCDR &_tao_out = _tao_call.out_stream (); + if (!( + (_tao_out << server) + )) + TAO_INTERCEPTOR_THROW (CORBA::MARSHAL ()); + int _invoke_status = + _tao_call.invoke (_tao_ImplementationRepository_Administration_server_is_shutting_down_exceptiondata, 1, ACE_TRY_ENV); + TAO_INTERCEPTOR_CHECK; + + if (_invoke_status == TAO_INVOKE_RESTART) + continue; + if (_invoke_status != TAO_INVOKE_OK) + { + TAO_INTERCEPTOR_THROW (CORBA::UNKNOWN (TAO_DEFAULT_MINOR_CODE, CORBA::COMPLETED_YES)); + } + + TAO_INTERCEPTOR ( + _tao_vfr.postinvoke ( + _tao_call.request_id (), + 1, + this, + "server_is_shutting_down", + _tao_call.service_info (), + _tao_interceptor_args.inout (), + _tao_cookies, + ACE_TRY_ENV + ) + ); + TAO_INTERCEPTOR_CHECK; + break; + + } +#if defined (TAO_HAS_INTERCEPTORS) + + } + ACE_CATCHANY + { + _tao_vfr.exception_occurred ( + _tao_call.request_id (), + 1, + this, + "server_is_shutting_down", + _tao_cookies, + ACE_TRY_ENV + ); + ACE_RETHROW; + } + ACE_ENDTRY; + ACE_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + +} + +void ImplementationRepository::Administration::find ( + const char * server, + ImplementationRepository::ServerInformation_out info, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException, + ImplementationRepository::Administration::NotFound + )) +{ + + static TAO_Exception_Data _tao_ImplementationRepository_Administration_find_exceptiondata [] = + { + {ImplementationRepository::Administration::_tc_NotFound, ImplementationRepository::Administration::NotFound::_alloc} + }; + + + + + TAO_Stub *istub = this->_stubobj (); + if (istub == 0) + ACE_THROW (CORBA::INTERNAL ()); + + + ACE_NEW (info.ptr (), ImplementationRepository::ServerInformation); + TAO_GIOP_Twoway_Invocation _tao_call ( + istub, + "find", + istub->orb_core () + ); + +#if defined (TAO_HAS_INTERCEPTORS) + TAO_ClientRequestInterceptor_Adapter + _tao_vfr (istub->orb_core ()->orb ()->_get_client_interceptor (ACE_TRY_ENV)); + ACE_CHECK; + PortableInterceptor::Cookies _tao_cookies; + CORBA::NVList_var _tao_interceptor_args; + if (_tao_vfr.valid ()) + { + istub->orb_core ()->orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV); + ACE_CHECK; + } + + ACE_TRY + { +#endif /* TAO_HAS_INTERCEPTORS */ + + for (;;) + { + _tao_call.start (ACE_TRY_ENV); + TAO_INTERCEPTOR_CHECK; + + TAO_INTERCEPTOR ( + _tao_vfr.preinvoke ( + _tao_call.request_id (), + 1, + this, + "find", + _tao_call.service_info (), + _tao_interceptor_args.inout (), + _tao_cookies, + ACE_TRY_ENV + ) + ); + TAO_INTERCEPTOR_CHECK; + CORBA::Short flag = TAO::SYNC_WITH_TARGET; + _tao_call.prepare_header (ACE_static_cast (CORBA::Octet, flag), ACE_TRY_ENV); + TAO_INTERCEPTOR_CHECK; + + TAO_OutputCDR &_tao_out = _tao_call.out_stream (); + if (!( + (_tao_out << server) + )) + TAO_INTERCEPTOR_THROW (CORBA::MARSHAL ()); + int _invoke_status = + _tao_call.invoke (_tao_ImplementationRepository_Administration_find_exceptiondata, 1, ACE_TRY_ENV); + TAO_INTERCEPTOR_CHECK; + + if (_invoke_status == TAO_INVOKE_RESTART) + continue; + if (_invoke_status != TAO_INVOKE_OK) + { + TAO_INTERCEPTOR_THROW (CORBA::UNKNOWN (TAO_DEFAULT_MINOR_CODE, CORBA::COMPLETED_YES)); + } + TAO_InputCDR &_tao_in = _tao_call.inp_stream (); + if (!( + (_tao_in >> *info.ptr ()) + )) + TAO_INTERCEPTOR_THROW (CORBA::MARSHAL (TAO_DEFAULT_MINOR_CODE, CORBA::COMPLETED_YES)); + TAO_INTERCEPTOR ( + _tao_vfr.postinvoke ( + _tao_call.request_id (), + 1, + this, + "find", + _tao_call.service_info (), + _tao_interceptor_args.inout (), + _tao_cookies, + ACE_TRY_ENV + ) + ); + TAO_INTERCEPTOR_CHECK; + break; + + } +#if defined (TAO_HAS_INTERCEPTORS) + + } + ACE_CATCHANY + { + _tao_vfr.exception_occurred ( + _tao_call.request_id (), + 1, + this, + "find", + _tao_cookies, + ACE_TRY_ENV + ); + ACE_RETHROW; + } + ACE_ENDTRY; + ACE_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + +} + +void ImplementationRepository::Administration::list ( + CORBA::ULong how_many, + ImplementationRepository::ServerInformationList_out server_list, + ImplementationRepository::ServerInformationIterator_out server_iterator, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + + + + + TAO_Stub *istub = this->_stubobj (); + if (istub == 0) + ACE_THROW (CORBA::INTERNAL ()); + + + ACE_NEW (server_list.ptr (), ImplementationRepository::ServerInformationList); + TAO_GIOP_Twoway_Invocation _tao_call ( + istub, + "list", + istub->orb_core () + ); + +#if defined (TAO_HAS_INTERCEPTORS) + TAO_ClientRequestInterceptor_Adapter + _tao_vfr (istub->orb_core ()->orb ()->_get_client_interceptor (ACE_TRY_ENV)); + ACE_CHECK; + PortableInterceptor::Cookies _tao_cookies; + CORBA::NVList_var _tao_interceptor_args; + if (_tao_vfr.valid ()) + { + istub->orb_core ()->orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV); + ACE_CHECK; + } + + ACE_TRY + { +#endif /* TAO_HAS_INTERCEPTORS */ + + for (;;) + { + _tao_call.start (ACE_TRY_ENV); + TAO_INTERCEPTOR_CHECK; + + TAO_INTERCEPTOR ( + _tao_vfr.preinvoke ( + _tao_call.request_id (), + 1, + this, + "list", + _tao_call.service_info (), + _tao_interceptor_args.inout (), + _tao_cookies, + ACE_TRY_ENV + ) + ); + TAO_INTERCEPTOR_CHECK; + CORBA::Short flag = TAO::SYNC_WITH_TARGET; + _tao_call.prepare_header (ACE_static_cast (CORBA::Octet, flag), ACE_TRY_ENV); + TAO_INTERCEPTOR_CHECK; + + TAO_OutputCDR &_tao_out = _tao_call.out_stream (); + if (!( + (_tao_out << how_many) + )) + TAO_INTERCEPTOR_THROW (CORBA::MARSHAL ()); + int _invoke_status = + _tao_call.invoke (0, 0, ACE_TRY_ENV); + TAO_INTERCEPTOR_CHECK; + + if (_invoke_status == TAO_INVOKE_RESTART) + continue; + if (_invoke_status != TAO_INVOKE_OK) + { + TAO_INTERCEPTOR_THROW (CORBA::UNKNOWN (TAO_DEFAULT_MINOR_CODE, CORBA::COMPLETED_YES)); + } + TAO_InputCDR &_tao_in = _tao_call.inp_stream (); + if (!( + (_tao_in >> *server_list.ptr ()) && + (_tao_in >> server_iterator.ptr ()) + )) + TAO_INTERCEPTOR_THROW (CORBA::MARSHAL (TAO_DEFAULT_MINOR_CODE, CORBA::COMPLETED_YES)); + TAO_INTERCEPTOR ( + _tao_vfr.postinvoke ( + _tao_call.request_id (), + 1, + this, + "list", + _tao_call.service_info (), + _tao_interceptor_args.inout (), + _tao_cookies, + ACE_TRY_ENV + ) + ); + TAO_INTERCEPTOR_CHECK; + break; + + } +#if defined (TAO_HAS_INTERCEPTORS) + + } + ACE_CATCHANY + { + _tao_vfr.exception_occurred ( + _tao_call.request_id (), + 1, + this, + "list", + _tao_cookies, + ACE_TRY_ENV + ); + ACE_RETHROW; + } + ACE_ENDTRY; + ACE_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + +} + +CORBA::Boolean ImplementationRepository::Administration::_is_a (const CORBA::Char *value, CORBA::Environment &ACE_TRY_ENV) +{ + if ( + (!ACE_OS::strcmp ((char *)value, "IDL:ImplementationRepository/Administration:1.0")) || + (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/Object:1.0"))) + return 1; // success using local knowledge + else + return this->CORBA_Object::_is_a (value, ACE_TRY_ENV); +} + +const char* ImplementationRepository::Administration::_interface_repository_id (void) const +{ + return "IDL:ImplementationRepository/Administration:1.0"; +} + +ImplementationRepository::TAO_ImplementationRepository_Administration_Default_Proxy_Factory::TAO_ImplementationRepository_Administration_Default_Proxy_Factory (int register_proxy_factory) +{ + if (register_proxy_factory) + { + TAO_ImplementationRepository_Administration_PROXY_FACTORY_ADAPTER::instance ()->register_proxy_factory (this); + } +} + +ImplementationRepository::TAO_ImplementationRepository_Administration_Default_Proxy_Factory::~TAO_ImplementationRepository_Administration_Default_Proxy_Factory (void) +{ +} + +ImplementationRepository::Administration_ptr +ImplementationRepository::TAO_ImplementationRepository_Administration_Default_Proxy_Factory::create_proxy ( + ImplementationRepository::Administration_ptr proxy, + CORBA::Environment & + ) +{ + return proxy; +} + +ImplementationRepository::TAO_ImplementationRepository_Administration_Proxy_Factory_Adapter::TAO_ImplementationRepository_Administration_Proxy_Factory_Adapter (void) + : proxy_factory_ (0), + delete_proxy_factory_ (0) +{ +} + +ImplementationRepository::TAO_ImplementationRepository_Administration_Proxy_Factory_Adapter::~TAO_ImplementationRepository_Administration_Proxy_Factory_Adapter (void) +{ + // Making sure the factory which the adapter has is destroyed with it. + if (this->proxy_factory_ != 0) + delete this->proxy_factory_; +} + +int +ImplementationRepository::TAO_ImplementationRepository_Administration_Proxy_Factory_Adapter::register_proxy_factory ( + TAO_ImplementationRepository_Administration_Default_Proxy_Factory *df, + CORBA::Environment &ACE_TRY_ENV + ) +{ + ACE_MT (ACE_GUARD_RETURN (ACE_Recursive_Thread_Mutex, ace_mon, + this->lock_, 0)); + // Remove any existing <proxy_factory_> and replace with the new one. + this->unregister_proxy_factory (ACE_TRY_ENV); + this->proxy_factory_ = df; + this->delete_proxy_factory_ = 0; +return 0; +} + +int +ImplementationRepository::TAO_ImplementationRepository_Administration_Proxy_Factory_Adapter::unregister_proxy_factory ( + CORBA::Environment & + ) +{ + ACE_MT (ACE_GUARD_RETURN (ACE_Recursive_Thread_Mutex, ace_mon, + this->lock_, 0)); + if (this->delete_proxy_factory_ == 0 && this->proxy_factory_ != 0) + { + // Its necessary to set <delete_proxy_factory_> to 1 to make sure that it + // doesnt get into an infinite loop in <unregister_proxy_factory> as it is + // invoked in the destructor of the class too. + this->delete_proxy_factory_ = 1; + delete this->proxy_factory_; + this->proxy_factory_ = 0; + } +return 0; +} + +ImplementationRepository::Administration_ptr +ImplementationRepository::TAO_ImplementationRepository_Administration_Proxy_Factory_Adapter::create_proxy ( + ImplementationRepository::Administration_ptr proxy, + CORBA::Environment & + ) +{ + ACE_MT (ACE_GUARD_RETURN (ACE_Recursive_Thread_Mutex, ace_mon, + this->lock_, 0)); + // Verify that an <proxy_factory_> is available else make one. + if (this->proxy_factory_ == 0) + ACE_NEW_RETURN (this->proxy_factory_, + TAO_ImplementationRepository_Administration_Default_Proxy_Factory (1), + 0); + + + return this->proxy_factory_->create_proxy (proxy); +} + +ImplementationRepository::TAO_ImplementationRepository_Administration_Smart_Proxy_Base::TAO_ImplementationRepository_Administration_Smart_Proxy_Base (ImplementationRepository::Administration_ptr proxy) +: base_proxy_ (proxy) +{ +} + +ImplementationRepository::TAO_ImplementationRepository_Administration_Smart_Proxy_Base::~TAO_ImplementationRepository_Administration_Smart_Proxy_Base (void) +{ +} + +void ImplementationRepository::TAO_ImplementationRepository_Administration_Smart_Proxy_Base::activate_server ( + const char * server, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException, + ImplementationRepository::Administration::NotFound, + ImplementationRepository::Administration::CannotActivate + )) +{ + this->base_proxy_->activate_server ( + server, + ACE_TRY_ENV + ); + +} + +void ImplementationRepository::TAO_ImplementationRepository_Administration_Smart_Proxy_Base::register_server ( + const char * server, + const ImplementationRepository::StartupOptions & options, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException, + ImplementationRepository::Administration::AlreadyRegistered + )) +{ + this->base_proxy_->register_server ( + server, + options, + ACE_TRY_ENV + ); + +} + +void ImplementationRepository::TAO_ImplementationRepository_Administration_Smart_Proxy_Base::reregister_server ( + const char * server, + const ImplementationRepository::StartupOptions & options, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->base_proxy_->reregister_server ( + server, + options, + ACE_TRY_ENV + ); + +} + +void ImplementationRepository::TAO_ImplementationRepository_Administration_Smart_Proxy_Base::remove_server ( + const char * server, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException, + ImplementationRepository::Administration::NotFound + )) +{ + this->base_proxy_->remove_server ( + server, + ACE_TRY_ENV + ); + +} + +void ImplementationRepository::TAO_ImplementationRepository_Administration_Smart_Proxy_Base::shutdown_server ( + const char * server, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException, + ImplementationRepository::Administration::NotFound + )) +{ + this->base_proxy_->shutdown_server ( + server, + ACE_TRY_ENV + ); + +} + +char * ImplementationRepository::TAO_ImplementationRepository_Administration_Smart_Proxy_Base::server_is_running ( + const char * server, + const char * addr, + ImplementationRepository::ServerObject_ptr server_object, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException, + ImplementationRepository::Administration::NotFound + )) +{ + return this->base_proxy_->server_is_running ( + server, + addr, + server_object, + ACE_TRY_ENV + ); + +} + +void ImplementationRepository::TAO_ImplementationRepository_Administration_Smart_Proxy_Base::server_is_shutting_down ( + const char * server, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException, + ImplementationRepository::Administration::NotFound + )) +{ + this->base_proxy_->server_is_shutting_down ( + server, + ACE_TRY_ENV + ); + +} + +void ImplementationRepository::TAO_ImplementationRepository_Administration_Smart_Proxy_Base::find ( + const char * server, + ImplementationRepository::ServerInformation_out info, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException, + ImplementationRepository::Administration::NotFound + )) +{ + this->base_proxy_->find ( + server, + info, + ACE_TRY_ENV + ); + +} + +void ImplementationRepository::TAO_ImplementationRepository_Administration_Smart_Proxy_Base::list ( + CORBA::ULong how_many, + ImplementationRepository::ServerInformationList_out server_list, + ImplementationRepository::ServerInformationIterator_out server_iterator, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->base_proxy_->list ( + how_many, + server_list, + server_iterator, + ACE_TRY_ENV + ); + +} + +#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION) || \ + defined (ACE_HAS_GNU_REPO) +template class ACE_Singleton<ImplementationRepository::TAO_ImplementationRepository_Administration_Proxy_Factory_Adapter, ACE_SYNCH_RECURSIVE_MUTEX >; +#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA) +#pragma instantiate ACE_Singleton<ImplementationRepository::TAO_ImplementationRepository_Administration_Proxy_Factory_Adapter, ACE_SYNCH_RECURSIVE_MUTEX> +#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */ + +static const CORBA::Long _oc_ImplementationRepository_Administration[] = +{ + TAO_ENCAP_BYTE_ORDER, // byte order + 48, ACE_NTOHL (0x49444c3a), ACE_NTOHL (0x496d706c), ACE_NTOHL (0x656d656e), ACE_NTOHL (0x74617469), ACE_NTOHL (0x6f6e5265), ACE_NTOHL (0x706f7369), ACE_NTOHL (0x746f7279), ACE_NTOHL (0x2f41646d), ACE_NTOHL (0x696e6973), ACE_NTOHL (0x74726174), ACE_NTOHL (0x696f6e3a), ACE_NTOHL (0x312e3000), // repository ID = IDL:ImplementationRepository/Administration:1.0 + 15, ACE_NTOHL (0x41646d69), ACE_NTOHL (0x6e697374), ACE_NTOHL (0x72617469), ACE_NTOHL (0x6f6e0000), // name = Administration +}; +static CORBA::TypeCode _tc_TAO_tc_ImplementationRepository_Administration (CORBA::tk_objref, sizeof (_oc_ImplementationRepository_Administration), (char *) &_oc_ImplementationRepository_Administration, 0, sizeof (ImplementationRepository::Administration)); +TAO_NAMESPACE_TYPE (CORBA::TypeCode_ptr) +TAO_NAMESPACE_BEGIN (ImplementationRepository) +TAO_NAMESPACE_DEFINE (CORBA::TypeCode_ptr, _tc_Administration, &_tc_TAO_tc_ImplementationRepository_Administration) +TAO_NAMESPACE_END +ImplementationRepository::ServerInformationIterator_ptr ImplementationRepository::ServerInformationIterator::_narrow ( + CORBA::Object_ptr obj, + CORBA::Environment &ACE_TRY_ENV + ) +{ + if (CORBA::is_nil (obj)) + return ImplementationRepository::ServerInformationIterator::_nil (); + CORBA::Boolean is_a = obj->_is_a ("IDL:ImplementationRepository/ServerInformationIterator:1.0", ACE_TRY_ENV); + ACE_CHECK_RETURN (ImplementationRepository::ServerInformationIterator::_nil ()); + if (is_a == 0) + return ImplementationRepository::ServerInformationIterator::_nil (); + return ImplementationRepository::ServerInformationIterator::_unchecked_narrow (obj, ACE_TRY_ENV); +} + +ImplementationRepository::ServerInformationIterator_ptr ImplementationRepository::ServerInformationIterator::_unchecked_narrow ( + CORBA::Object_ptr obj, + CORBA::Environment & + ) +{ + if (CORBA::is_nil (obj)) + return ImplementationRepository::ServerInformationIterator::_nil (); + TAO_Stub* stub = obj->_stubobj (); + stub->_incr_refcnt (); + ImplementationRepository::ServerInformationIterator_ptr default_proxy = ImplementationRepository::ServerInformationIterator::_nil (); + if (obj->_is_collocated () && _TAO_collocation_ImplementationRepository_ServerInformationIterator_Stub_Factory_function_pointer != 0) + { + default_proxy = _TAO_collocation_ImplementationRepository_ServerInformationIterator_Stub_Factory_function_pointer (obj); + } + if (CORBA::is_nil (default_proxy)) + ACE_NEW_RETURN (default_proxy, ImplementationRepository::ServerInformationIterator (stub), ImplementationRepository::ServerInformationIterator::_nil ()); + return TAO_ImplementationRepository_ServerInformationIterator_PROXY_FACTORY_ADAPTER::instance ()->create_proxy (default_proxy); +} + +ImplementationRepository::ServerInformationIterator_ptr +ImplementationRepository::ServerInformationIterator::_duplicate (ImplementationRepository::ServerInformationIterator_ptr obj) +{ + if (!CORBA::is_nil (obj)) + obj->_incr_refcnt (); + return obj; +} + +CORBA::Boolean ImplementationRepository::ServerInformationIterator::next_n ( + CORBA::ULong how_many, + ImplementationRepository::ServerInformationList_out server_list, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + + CORBA::Boolean _tao_retval = 0; + + + TAO_Stub *istub = this->_stubobj (); + if (istub == 0) + ACE_THROW_RETURN (CORBA::INTERNAL (), _tao_retval); + + + ACE_NEW_RETURN (server_list.ptr (), ImplementationRepository::ServerInformationList, _tao_retval); + TAO_GIOP_Twoway_Invocation _tao_call ( + istub, + "next_n", + istub->orb_core () + ); + +#if defined (TAO_HAS_INTERCEPTORS) + TAO_ClientRequestInterceptor_Adapter + _tao_vfr (istub->orb_core ()->orb ()->_get_client_interceptor (ACE_TRY_ENV)); + ACE_CHECK_RETURN (_tao_retval); + PortableInterceptor::Cookies _tao_cookies; + CORBA::NVList_var _tao_interceptor_args; + if (_tao_vfr.valid ()) + { + istub->orb_core ()->orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV); + ACE_CHECK_RETURN (_tao_retval); + } + + ACE_TRY + { +#endif /* TAO_HAS_INTERCEPTORS */ + + for (;;) + { + _tao_call.start (ACE_TRY_ENV); + TAO_INTERCEPTOR_CHECK_RETURN (_tao_retval); + + TAO_INTERCEPTOR ( + _tao_vfr.preinvoke ( + _tao_call.request_id (), + 1, + this, + "next_n", + _tao_call.service_info (), + _tao_interceptor_args.inout (), + _tao_cookies, + ACE_TRY_ENV + ) + ); + TAO_INTERCEPTOR_CHECK_RETURN (_tao_retval); + CORBA::Short flag = TAO::SYNC_WITH_TARGET; + _tao_call.prepare_header (ACE_static_cast (CORBA::Octet, flag), ACE_TRY_ENV); + TAO_INTERCEPTOR_CHECK_RETURN (_tao_retval); + + TAO_OutputCDR &_tao_out = _tao_call.out_stream (); + if (!( + (_tao_out << how_many) + )) + TAO_INTERCEPTOR_THROW_RETURN (CORBA::MARSHAL (), _tao_retval); + + int _invoke_status = + _tao_call.invoke (0, 0, ACE_TRY_ENV); + TAO_INTERCEPTOR_CHECK_RETURN (_tao_retval); + + if (_invoke_status == TAO_INVOKE_RESTART) + continue; + if (_invoke_status != TAO_INVOKE_OK) + { + TAO_INTERCEPTOR_THROW_RETURN (CORBA::UNKNOWN (TAO_DEFAULT_MINOR_CODE, CORBA::COMPLETED_YES), _tao_retval); + + } + TAO_InputCDR &_tao_in = _tao_call.inp_stream (); + if (!( + (_tao_in >> CORBA::Any::to_boolean (_tao_retval)) && + (_tao_in >> *server_list.ptr ()) + )) + TAO_INTERCEPTOR_THROW_RETURN (CORBA::MARSHAL (TAO_DEFAULT_MINOR_CODE, CORBA::COMPLETED_YES), _tao_retval); + + TAO_INTERCEPTOR ( + _tao_vfr.postinvoke ( + _tao_call.request_id (), + 1, + this, + "next_n", + _tao_call.service_info (), + _tao_interceptor_args.inout (), + _tao_cookies, + ACE_TRY_ENV + ) + ); + TAO_INTERCEPTOR_CHECK_RETURN (_tao_retval); + break; + + } +#if defined (TAO_HAS_INTERCEPTORS) + + } + ACE_CATCHANY + { + _tao_vfr.exception_occurred ( + _tao_call.request_id (), + 1, + this, + "next_n", + _tao_cookies, + ACE_TRY_ENV + ); + ACE_RETHROW; + } + ACE_ENDTRY; + ACE_CHECK_RETURN (_tao_retval); +#endif /* TAO_HAS_INTERCEPTORS */ + return _tao_retval; +} + +void ImplementationRepository::ServerInformationIterator::destroy ( + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + + + + + TAO_Stub *istub = this->_stubobj (); + if (istub == 0) + ACE_THROW (CORBA::INTERNAL ()); + + + TAO_GIOP_Twoway_Invocation _tao_call ( + istub, + "destroy", + istub->orb_core () + ); + +#if defined (TAO_HAS_INTERCEPTORS) + TAO_ClientRequestInterceptor_Adapter + _tao_vfr (istub->orb_core ()->orb ()->_get_client_interceptor (ACE_TRY_ENV)); + ACE_CHECK; + PortableInterceptor::Cookies _tao_cookies; + CORBA::NVList_var _tao_interceptor_args; + if (_tao_vfr.valid ()) + { + istub->orb_core ()->orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV); + ACE_CHECK; + } + + ACE_TRY + { +#endif /* TAO_HAS_INTERCEPTORS */ + + for (;;) + { + _tao_call.start (ACE_TRY_ENV); + TAO_INTERCEPTOR_CHECK; + + TAO_INTERCEPTOR ( + _tao_vfr.preinvoke ( + _tao_call.request_id (), + 1, + this, + "destroy", + _tao_call.service_info (), + _tao_interceptor_args.inout (), + _tao_cookies, + ACE_TRY_ENV + ) + ); + TAO_INTERCEPTOR_CHECK; + CORBA::Short flag = TAO::SYNC_WITH_TARGET; + _tao_call.prepare_header (ACE_static_cast (CORBA::Octet, flag), ACE_TRY_ENV); + TAO_INTERCEPTOR_CHECK; + + int _invoke_status = + _tao_call.invoke (0, 0, ACE_TRY_ENV); + TAO_INTERCEPTOR_CHECK; + + if (_invoke_status == TAO_INVOKE_RESTART) + continue; + if (_invoke_status != TAO_INVOKE_OK) + { + TAO_INTERCEPTOR_THROW (CORBA::UNKNOWN (TAO_DEFAULT_MINOR_CODE, CORBA::COMPLETED_YES)); + } + + TAO_INTERCEPTOR ( + _tao_vfr.postinvoke ( + _tao_call.request_id (), + 1, + this, + "destroy", + _tao_call.service_info (), + _tao_interceptor_args.inout (), + _tao_cookies, + ACE_TRY_ENV + ) + ); + TAO_INTERCEPTOR_CHECK; + break; + + } +#if defined (TAO_HAS_INTERCEPTORS) + + } + ACE_CATCHANY + { + _tao_vfr.exception_occurred ( + _tao_call.request_id (), + 1, + this, + "destroy", + _tao_cookies, + ACE_TRY_ENV + ); + ACE_RETHROW; + } + ACE_ENDTRY; + ACE_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + +} + +CORBA::Boolean ImplementationRepository::ServerInformationIterator::_is_a (const CORBA::Char *value, CORBA::Environment &ACE_TRY_ENV) +{ + if ( + (!ACE_OS::strcmp ((char *)value, "IDL:ImplementationRepository/ServerInformationIterator:1.0")) || + (!ACE_OS::strcmp ((char *)value, "IDL:omg.org/CORBA/Object:1.0"))) + return 1; // success using local knowledge + else + return this->CORBA_Object::_is_a (value, ACE_TRY_ENV); +} + +const char* ImplementationRepository::ServerInformationIterator::_interface_repository_id (void) const +{ + return "IDL:ImplementationRepository/ServerInformationIterator:1.0"; +} + +ImplementationRepository::TAO_ImplementationRepository_ServerInformationIterator_Default_Proxy_Factory::TAO_ImplementationRepository_ServerInformationIterator_Default_Proxy_Factory (int register_proxy_factory) +{ + if (register_proxy_factory) + { + TAO_ImplementationRepository_ServerInformationIterator_PROXY_FACTORY_ADAPTER::instance ()->register_proxy_factory (this); + } +} + +ImplementationRepository::TAO_ImplementationRepository_ServerInformationIterator_Default_Proxy_Factory::~TAO_ImplementationRepository_ServerInformationIterator_Default_Proxy_Factory (void) +{ +} + +ImplementationRepository::ServerInformationIterator_ptr +ImplementationRepository::TAO_ImplementationRepository_ServerInformationIterator_Default_Proxy_Factory::create_proxy ( + ImplementationRepository::ServerInformationIterator_ptr proxy, + CORBA::Environment & + ) +{ + return proxy; +} + +ImplementationRepository::TAO_ImplementationRepository_ServerInformationIterator_Proxy_Factory_Adapter::TAO_ImplementationRepository_ServerInformationIterator_Proxy_Factory_Adapter (void) + : proxy_factory_ (0), + delete_proxy_factory_ (0) +{ +} + +ImplementationRepository::TAO_ImplementationRepository_ServerInformationIterator_Proxy_Factory_Adapter::~TAO_ImplementationRepository_ServerInformationIterator_Proxy_Factory_Adapter (void) +{ + // Making sure the factory which the adapter has is destroyed with it. + if (this->proxy_factory_ != 0) + delete this->proxy_factory_; +} + +int +ImplementationRepository::TAO_ImplementationRepository_ServerInformationIterator_Proxy_Factory_Adapter::register_proxy_factory ( + TAO_ImplementationRepository_ServerInformationIterator_Default_Proxy_Factory *df, + CORBA::Environment &ACE_TRY_ENV + ) +{ + ACE_MT (ACE_GUARD_RETURN (ACE_Recursive_Thread_Mutex, ace_mon, + this->lock_, 0)); + // Remove any existing <proxy_factory_> and replace with the new one. + this->unregister_proxy_factory (ACE_TRY_ENV); + this->proxy_factory_ = df; + this->delete_proxy_factory_ = 0; +return 0; +} + +int +ImplementationRepository::TAO_ImplementationRepository_ServerInformationIterator_Proxy_Factory_Adapter::unregister_proxy_factory ( + CORBA::Environment & + ) +{ + ACE_MT (ACE_GUARD_RETURN (ACE_Recursive_Thread_Mutex, ace_mon, + this->lock_, 0)); + if (this->delete_proxy_factory_ == 0 && this->proxy_factory_ != 0) + { + // Its necessary to set <delete_proxy_factory_> to 1 to make sure that it + // doesnt get into an infinite loop in <unregister_proxy_factory> as it is + // invoked in the destructor of the class too. + this->delete_proxy_factory_ = 1; + delete this->proxy_factory_; + this->proxy_factory_ = 0; + } +return 0; +} + +ImplementationRepository::ServerInformationIterator_ptr +ImplementationRepository::TAO_ImplementationRepository_ServerInformationIterator_Proxy_Factory_Adapter::create_proxy ( + ImplementationRepository::ServerInformationIterator_ptr proxy, + CORBA::Environment & + ) +{ + ACE_MT (ACE_GUARD_RETURN (ACE_Recursive_Thread_Mutex, ace_mon, + this->lock_, 0)); + // Verify that an <proxy_factory_> is available else make one. + if (this->proxy_factory_ == 0) + ACE_NEW_RETURN (this->proxy_factory_, + TAO_ImplementationRepository_ServerInformationIterator_Default_Proxy_Factory (1), + 0); + + + return this->proxy_factory_->create_proxy (proxy); +} + +ImplementationRepository::TAO_ImplementationRepository_ServerInformationIterator_Smart_Proxy_Base::TAO_ImplementationRepository_ServerInformationIterator_Smart_Proxy_Base (ImplementationRepository::ServerInformationIterator_ptr proxy) +: base_proxy_ (proxy) +{ +} + +ImplementationRepository::TAO_ImplementationRepository_ServerInformationIterator_Smart_Proxy_Base::~TAO_ImplementationRepository_ServerInformationIterator_Smart_Proxy_Base (void) +{ +} + +CORBA::Boolean ImplementationRepository::TAO_ImplementationRepository_ServerInformationIterator_Smart_Proxy_Base::next_n ( + CORBA::ULong how_many, + ImplementationRepository::ServerInformationList_out server_list, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->base_proxy_->next_n ( + how_many, + server_list, + ACE_TRY_ENV + ); + +} + +void ImplementationRepository::TAO_ImplementationRepository_ServerInformationIterator_Smart_Proxy_Base::destroy ( + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->base_proxy_->destroy ( + ACE_TRY_ENV + ); + +} + +#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION) || \ + defined (ACE_HAS_GNU_REPO) +template class ACE_Singleton<ImplementationRepository::TAO_ImplementationRepository_ServerInformationIterator_Proxy_Factory_Adapter, ACE_SYNCH_RECURSIVE_MUTEX >; +#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA) +#pragma instantiate ACE_Singleton<ImplementationRepository::TAO_ImplementationRepository_ServerInformationIterator_Proxy_Factory_Adapter, ACE_SYNCH_RECURSIVE_MUTEX> +#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */ + +static const CORBA::Long _oc_ImplementationRepository_ServerInformationIterator[] = +{ + TAO_ENCAP_BYTE_ORDER, // byte order + 59, ACE_NTOHL (0x49444c3a), ACE_NTOHL (0x496d706c), ACE_NTOHL (0x656d656e), ACE_NTOHL (0x74617469), ACE_NTOHL (0x6f6e5265), ACE_NTOHL (0x706f7369), ACE_NTOHL (0x746f7279), ACE_NTOHL (0x2f536572), ACE_NTOHL (0x76657249), ACE_NTOHL (0x6e666f72), ACE_NTOHL (0x6d617469), ACE_NTOHL (0x6f6e4974), ACE_NTOHL (0x65726174), ACE_NTOHL (0x6f723a31), ACE_NTOHL (0x2e300000), // repository ID = IDL:ImplementationRepository/ServerInformationIterator:1.0 + 26, ACE_NTOHL (0x53657276), ACE_NTOHL (0x6572496e), ACE_NTOHL (0x666f726d), ACE_NTOHL (0x6174696f), ACE_NTOHL (0x6e497465), ACE_NTOHL (0x7261746f), ACE_NTOHL (0x72000000), // name = ServerInformationIterator +}; +static CORBA::TypeCode _tc_TAO_tc_ImplementationRepository_ServerInformationIterator (CORBA::tk_objref, sizeof (_oc_ImplementationRepository_ServerInformationIterator), (char *) &_oc_ImplementationRepository_ServerInformationIterator, 0, sizeof (ImplementationRepository::ServerInformationIterator)); +TAO_NAMESPACE_TYPE (CORBA::TypeCode_ptr) +TAO_NAMESPACE_BEGIN (ImplementationRepository) +TAO_NAMESPACE_DEFINE (CORBA::TypeCode_ptr, _tc_ServerInformationIterator, &_tc_TAO_tc_ImplementationRepository_ServerInformationIterator) +TAO_NAMESPACE_END +ImplementationRepository::ServerObject_ptr (*_TAO_collocation_ImplementationRepository_ServerObject_Stub_Factory_function_pointer) ( + CORBA::Object_ptr obj + ) = 0; +void operator<<= (CORBA::Any &_tao_any, ImplementationRepository::ServerObject_ptr _tao_elem) +{ + CORBA::Object_ptr *_tao_obj_ptr = 0; + ACE_TRY_NEW_ENV + { + ACE_NEW (_tao_obj_ptr, CORBA::Object_ptr); + *_tao_obj_ptr = ImplementationRepository::ServerObject::_duplicate (_tao_elem); + _tao_any.replace (ImplementationRepository::_tc_ServerObject, _tao_obj_ptr, 1, ACE_TRY_ENV); + ACE_TRY_CHECK; + } + ACE_CATCHANY + { + delete _tao_obj_ptr; + } + ACE_ENDTRY; +} + +CORBA::Boolean operator>>= (const CORBA::Any &_tao_any, ImplementationRepository::ServerObject_ptr &_tao_elem) +{ + CORBA::Object_ptr *tmp = 0; + ACE_TRY_NEW_ENV + { + _tao_elem = ImplementationRepository::ServerObject::_nil (); + CORBA::TypeCode_var type = _tao_any.type (); + if (!type->equivalent (ImplementationRepository::_tc_ServerObject, ACE_TRY_ENV)) return 0; // not equal + ACE_TRY_CHECK; + TAO_InputCDR stream (_tao_any._tao_get_cdr ()); + CORBA::Object_var _tao_obj_var; + ACE_NEW_RETURN (tmp, CORBA::Object_ptr, 0); + if (stream.decode (ImplementationRepository::_tc_ServerObject, &_tao_obj_var.out (), 0, ACE_TRY_ENV) + == CORBA::TypeCode::TRAVERSE_CONTINUE) + { + _tao_elem = ImplementationRepository::ServerObject::_narrow (_tao_obj_var.in (), ACE_TRY_ENV); + ACE_TRY_CHECK; + *tmp = (CORBA::Object_ptr) _tao_elem; // any owns the object + ((CORBA::Any *)&_tao_any)->replace (ImplementationRepository::_tc_ServerObject, tmp, 1, ACE_TRY_ENV); + ACE_TRY_CHECK; + return 1; + } + // failure + } + ACE_CATCHANY + { + delete tmp; + return 0; + } + ACE_ENDTRY; + return 0; +} + +#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION) || \ + defined (ACE_HAS_GNU_REPO) + template class TAO_Object_Field_T<ImplementationRepository::ServerObject,ImplementationRepository::ServerObject_var>; + template class TAO_Object_Manager<ImplementationRepository::ServerObject,ImplementationRepository::ServerObject_var>; +#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA) +# pragma instantiate TAO_Object_Field_T<ImplementationRepository::ServerObject,ImplementationRepository::ServerObject_var> +# pragma instantiate TAO_Object_Manager<ImplementationRepository::ServerObject,ImplementationRepository::ServerObject_var> +#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */ + +void operator<<= (CORBA::Any &_tao_any, const ImplementationRepository::EnvironmentVariable &_tao_elem) // copying +{ + ImplementationRepository::EnvironmentVariable *_any_val; + ACE_NEW (_any_val, ImplementationRepository::EnvironmentVariable (_tao_elem)); + if (!_any_val) return; + ACE_TRY_NEW_ENV + { + _tao_any.replace (ImplementationRepository::_tc_EnvironmentVariable, _any_val, 1, ACE_TRY_ENV); // copy the value + ACE_TRY_CHECK; + } + ACE_CATCHANY + { + delete _any_val; + } + ACE_ENDTRY; +} + +void operator<<= (CORBA::Any &_tao_any, ImplementationRepository::EnvironmentVariable *_tao_elem) // non copying +{ + ACE_TRY_NEW_ENV + { + _tao_any.replace (ImplementationRepository::_tc_EnvironmentVariable, _tao_elem, 1, ACE_TRY_ENV); // consume it + ACE_TRY_CHECK; + } + ACE_CATCHANY {} + ACE_ENDTRY; +} + +CORBA::Boolean operator>>= (const CORBA::Any &_tao_any, ImplementationRepository::EnvironmentVariable *&_tao_elem) +{ + ACE_TRY_NEW_ENV + { + CORBA::TypeCode_var type = _tao_any.type (); + if (!type->equivalent (ImplementationRepository::_tc_EnvironmentVariable, ACE_TRY_ENV)) return 0; // not equal + ACE_TRY_CHECK; + if (_tao_any.any_owns_data ()) + { + _tao_elem = (ImplementationRepository::EnvironmentVariable *)_tao_any.value (); + return 1; + } + else + { + ACE_NEW_RETURN (_tao_elem, ImplementationRepository::EnvironmentVariable, 0); + TAO_InputCDR stream (_tao_any._tao_get_cdr ()); + if (stream.decode (ImplementationRepository::_tc_EnvironmentVariable, _tao_elem, 0, ACE_TRY_ENV) + == CORBA::TypeCode::TRAVERSE_CONTINUE) + { + ((CORBA::Any *)&_tao_any)->replace (ImplementationRepository::_tc_EnvironmentVariable, _tao_elem, 1, ACE_TRY_ENV); + ACE_TRY_CHECK; + return 1; + } + else + { + delete _tao_elem; + } + } + } + ACE_CATCHANY + { + delete _tao_elem; + return 0; + } + ACE_ENDTRY; + return 0; +} + +void operator<<= ( + CORBA::Any &_tao_any, + const ImplementationRepository::EnvironmentList &_tao_elem + ) // copying +{ + ImplementationRepository::EnvironmentList *_tao_any_val; + ACE_NEW (_tao_any_val, ImplementationRepository::EnvironmentList (_tao_elem)); + if (!_tao_any_val) return; + ACE_TRY_NEW_ENV + { + _tao_any.replace (ImplementationRepository::_tc_EnvironmentList, _tao_any_val, 1, ACE_TRY_ENV); // copy the value + ACE_TRY_CHECK; + } + ACE_CATCHANY + { + delete _tao_any_val; + } + ACE_ENDTRY; +} + +void operator<<= (CORBA::Any &_tao_any, ImplementationRepository::EnvironmentList *_tao_elem) // non copying +{ + ACE_TRY_NEW_ENV + { + _tao_any.replace (ImplementationRepository::_tc_EnvironmentList, _tao_elem, 0, ACE_TRY_ENV); + ACE_TRY_CHECK; + } + ACE_CATCHANY {} + ACE_ENDTRY; +} + +CORBA::Boolean operator>>= (const CORBA::Any &_tao_any, ImplementationRepository::EnvironmentList *&_tao_elem) +{ + ACE_TRY_NEW_ENV + { + CORBA::TypeCode_var type = _tao_any.type (); + if (!type->equivalent (ImplementationRepository::_tc_EnvironmentList, ACE_TRY_ENV)) return 0; // not equal + ACE_TRY_CHECK; + if (_tao_any.any_owns_data ()) + { + _tao_elem = (ImplementationRepository::EnvironmentList *)_tao_any.value (); + return 1; + } + else + { + ACE_NEW_RETURN (_tao_elem, ImplementationRepository::EnvironmentList, 0); + TAO_InputCDR stream (_tao_any._tao_get_cdr ()); + if (stream.decode (ImplementationRepository::_tc_EnvironmentList, _tao_elem, 0, ACE_TRY_ENV) + == CORBA::TypeCode::TRAVERSE_CONTINUE) + { + ((CORBA::Any *)&_tao_any)->replace (ImplementationRepository::_tc_EnvironmentList, _tao_elem, 1, ACE_TRY_ENV); + ACE_TRY_CHECK; + return 1; + } + else + { + delete _tao_elem; + } + } + } + ACE_CATCHANY + { + delete _tao_elem; + return 0; + } + ACE_ENDTRY; + return 0; +} + +void operator<<= (CORBA::Any &_tao_any, ImplementationRepository::ActivationMode _tao_elem) +{ + ImplementationRepository::ActivationMode *_any_val; + ACE_NEW (_any_val, ImplementationRepository::ActivationMode (_tao_elem)); + if (!_any_val) return; + ACE_TRY_NEW_ENV + { + _tao_any.replace (ImplementationRepository::_tc_ActivationMode, _any_val, 1, ACE_TRY_ENV); + ACE_TRY_CHECK; + } + ACE_CATCHANY + { + // free allocated storage + delete _any_val; + } + ACE_ENDTRY; +} + +CORBA::Boolean operator>>= (const CORBA::Any &_tao_any, ImplementationRepository::ActivationMode &_tao_elem) +{ + ACE_TRY_NEW_ENV + { + CORBA::TypeCode_var type = _tao_any.type (); + if (!type->equivalent (ImplementationRepository::_tc_ActivationMode, ACE_TRY_ENV)) return 0; // not equal + ACE_TRY_CHECK; + TAO_InputCDR stream (_tao_any._tao_get_cdr ()); + if (stream.decode (ImplementationRepository::_tc_ActivationMode, &_tao_elem, 0, ACE_TRY_ENV) + == CORBA::TypeCode::TRAVERSE_CONTINUE) + return 1; + ACE_TRY_CHECK; + } + ACE_CATCHANY + { + return 0; + } + ACE_ENDTRY; + return 0; +} + +void operator<<= (CORBA::Any &_tao_any, const ImplementationRepository::StartupOptions &_tao_elem) // copying +{ + ImplementationRepository::StartupOptions *_any_val; + ACE_NEW (_any_val, ImplementationRepository::StartupOptions (_tao_elem)); + if (!_any_val) return; + ACE_TRY_NEW_ENV + { + _tao_any.replace (ImplementationRepository::_tc_StartupOptions, _any_val, 1, ACE_TRY_ENV); // copy the value + ACE_TRY_CHECK; + } + ACE_CATCHANY + { + delete _any_val; + } + ACE_ENDTRY; +} + +void operator<<= (CORBA::Any &_tao_any, ImplementationRepository::StartupOptions *_tao_elem) // non copying +{ + ACE_TRY_NEW_ENV + { + _tao_any.replace (ImplementationRepository::_tc_StartupOptions, _tao_elem, 1, ACE_TRY_ENV); // consume it + ACE_TRY_CHECK; + } + ACE_CATCHANY {} + ACE_ENDTRY; +} + +CORBA::Boolean operator>>= (const CORBA::Any &_tao_any, ImplementationRepository::StartupOptions *&_tao_elem) +{ + ACE_TRY_NEW_ENV + { + CORBA::TypeCode_var type = _tao_any.type (); + if (!type->equivalent (ImplementationRepository::_tc_StartupOptions, ACE_TRY_ENV)) return 0; // not equal + ACE_TRY_CHECK; + if (_tao_any.any_owns_data ()) + { + _tao_elem = (ImplementationRepository::StartupOptions *)_tao_any.value (); + return 1; + } + else + { + ACE_NEW_RETURN (_tao_elem, ImplementationRepository::StartupOptions, 0); + TAO_InputCDR stream (_tao_any._tao_get_cdr ()); + if (stream.decode (ImplementationRepository::_tc_StartupOptions, _tao_elem, 0, ACE_TRY_ENV) + == CORBA::TypeCode::TRAVERSE_CONTINUE) + { + ((CORBA::Any *)&_tao_any)->replace (ImplementationRepository::_tc_StartupOptions, _tao_elem, 1, ACE_TRY_ENV); + ACE_TRY_CHECK; + return 1; + } + else + { + delete _tao_elem; + } + } + } + ACE_CATCHANY + { + delete _tao_elem; + return 0; + } + ACE_ENDTRY; + return 0; +} + +void operator<<= (CORBA::Any &_tao_any, const ImplementationRepository::ServerInformation &_tao_elem) // copying +{ + ImplementationRepository::ServerInformation *_any_val; + ACE_NEW (_any_val, ImplementationRepository::ServerInformation (_tao_elem)); + if (!_any_val) return; + ACE_TRY_NEW_ENV + { + _tao_any.replace (ImplementationRepository::_tc_ServerInformation, _any_val, 1, ACE_TRY_ENV); // copy the value + ACE_TRY_CHECK; + } + ACE_CATCHANY + { + delete _any_val; + } + ACE_ENDTRY; +} + +void operator<<= (CORBA::Any &_tao_any, ImplementationRepository::ServerInformation *_tao_elem) // non copying +{ + ACE_TRY_NEW_ENV + { + _tao_any.replace (ImplementationRepository::_tc_ServerInformation, _tao_elem, 1, ACE_TRY_ENV); // consume it + ACE_TRY_CHECK; + } + ACE_CATCHANY {} + ACE_ENDTRY; +} + +CORBA::Boolean operator>>= (const CORBA::Any &_tao_any, ImplementationRepository::ServerInformation *&_tao_elem) +{ + ACE_TRY_NEW_ENV + { + CORBA::TypeCode_var type = _tao_any.type (); + if (!type->equivalent (ImplementationRepository::_tc_ServerInformation, ACE_TRY_ENV)) return 0; // not equal + ACE_TRY_CHECK; + if (_tao_any.any_owns_data ()) + { + _tao_elem = (ImplementationRepository::ServerInformation *)_tao_any.value (); + return 1; + } + else + { + ACE_NEW_RETURN (_tao_elem, ImplementationRepository::ServerInformation, 0); + TAO_InputCDR stream (_tao_any._tao_get_cdr ()); + if (stream.decode (ImplementationRepository::_tc_ServerInformation, _tao_elem, 0, ACE_TRY_ENV) + == CORBA::TypeCode::TRAVERSE_CONTINUE) + { + ((CORBA::Any *)&_tao_any)->replace (ImplementationRepository::_tc_ServerInformation, _tao_elem, 1, ACE_TRY_ENV); + ACE_TRY_CHECK; + return 1; + } + else + { + delete _tao_elem; + } + } + } + ACE_CATCHANY + { + delete _tao_elem; + return 0; + } + ACE_ENDTRY; + return 0; +} + +void operator<<= ( + CORBA::Any &_tao_any, + const ImplementationRepository::ServerInformationList &_tao_elem + ) // copying +{ + ImplementationRepository::ServerInformationList *_tao_any_val; + ACE_NEW (_tao_any_val, ImplementationRepository::ServerInformationList (_tao_elem)); + if (!_tao_any_val) return; + ACE_TRY_NEW_ENV + { + _tao_any.replace (ImplementationRepository::_tc_ServerInformationList, _tao_any_val, 1, ACE_TRY_ENV); // copy the value + ACE_TRY_CHECK; + } + ACE_CATCHANY + { + delete _tao_any_val; + } + ACE_ENDTRY; +} + +void operator<<= (CORBA::Any &_tao_any, ImplementationRepository::ServerInformationList *_tao_elem) // non copying +{ + ACE_TRY_NEW_ENV + { + _tao_any.replace (ImplementationRepository::_tc_ServerInformationList, _tao_elem, 0, ACE_TRY_ENV); + ACE_TRY_CHECK; + } + ACE_CATCHANY {} + ACE_ENDTRY; +} + +CORBA::Boolean operator>>= (const CORBA::Any &_tao_any, ImplementationRepository::ServerInformationList *&_tao_elem) +{ + ACE_TRY_NEW_ENV + { + CORBA::TypeCode_var type = _tao_any.type (); + if (!type->equivalent (ImplementationRepository::_tc_ServerInformationList, ACE_TRY_ENV)) return 0; // not equal + ACE_TRY_CHECK; + if (_tao_any.any_owns_data ()) + { + _tao_elem = (ImplementationRepository::ServerInformationList *)_tao_any.value (); + return 1; + } + else + { + ACE_NEW_RETURN (_tao_elem, ImplementationRepository::ServerInformationList, 0); + TAO_InputCDR stream (_tao_any._tao_get_cdr ()); + if (stream.decode (ImplementationRepository::_tc_ServerInformationList, _tao_elem, 0, ACE_TRY_ENV) + == CORBA::TypeCode::TRAVERSE_CONTINUE) + { + ((CORBA::Any *)&_tao_any)->replace (ImplementationRepository::_tc_ServerInformationList, _tao_elem, 1, ACE_TRY_ENV); + ACE_TRY_CHECK; + return 1; + } + else + { + delete _tao_elem; + } + } + } + ACE_CATCHANY + { + delete _tao_elem; + return 0; + } + ACE_ENDTRY; + return 0; +} + +ImplementationRepository::Administration_ptr (*_TAO_collocation_ImplementationRepository_Administration_Stub_Factory_function_pointer) ( + CORBA::Object_ptr obj + ) = 0; +void operator<<= (CORBA::Any &_tao_any, ImplementationRepository::Administration_ptr _tao_elem) +{ + CORBA::Object_ptr *_tao_obj_ptr = 0; + ACE_TRY_NEW_ENV + { + ACE_NEW (_tao_obj_ptr, CORBA::Object_ptr); + *_tao_obj_ptr = ImplementationRepository::Administration::_duplicate (_tao_elem); + _tao_any.replace (ImplementationRepository::_tc_Administration, _tao_obj_ptr, 1, ACE_TRY_ENV); + ACE_TRY_CHECK; + } + ACE_CATCHANY + { + delete _tao_obj_ptr; + } + ACE_ENDTRY; +} + +CORBA::Boolean operator>>= (const CORBA::Any &_tao_any, ImplementationRepository::Administration_ptr &_tao_elem) +{ + CORBA::Object_ptr *tmp = 0; + ACE_TRY_NEW_ENV + { + _tao_elem = ImplementationRepository::Administration::_nil (); + CORBA::TypeCode_var type = _tao_any.type (); + if (!type->equivalent (ImplementationRepository::_tc_Administration, ACE_TRY_ENV)) return 0; // not equal + ACE_TRY_CHECK; + TAO_InputCDR stream (_tao_any._tao_get_cdr ()); + CORBA::Object_var _tao_obj_var; + ACE_NEW_RETURN (tmp, CORBA::Object_ptr, 0); + if (stream.decode (ImplementationRepository::_tc_Administration, &_tao_obj_var.out (), 0, ACE_TRY_ENV) + == CORBA::TypeCode::TRAVERSE_CONTINUE) + { + _tao_elem = ImplementationRepository::Administration::_narrow (_tao_obj_var.in (), ACE_TRY_ENV); + ACE_TRY_CHECK; + *tmp = (CORBA::Object_ptr) _tao_elem; // any owns the object + ((CORBA::Any *)&_tao_any)->replace (ImplementationRepository::_tc_Administration, tmp, 1, ACE_TRY_ENV); + ACE_TRY_CHECK; + return 1; + } + // failure + } + ACE_CATCHANY + { + delete tmp; + return 0; + } + ACE_ENDTRY; + return 0; +} + +#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION) || \ + defined (ACE_HAS_GNU_REPO) + template class TAO_Object_Field_T<ImplementationRepository::Administration,ImplementationRepository::Administration_var>; + template class TAO_Object_Manager<ImplementationRepository::Administration,ImplementationRepository::Administration_var>; +#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA) +# pragma instantiate TAO_Object_Field_T<ImplementationRepository::Administration,ImplementationRepository::Administration_var> +# pragma instantiate TAO_Object_Manager<ImplementationRepository::Administration,ImplementationRepository::Administration_var> +#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */ + +void operator<<= (CORBA::Any &_tao_any, const ImplementationRepository::Administration::AlreadyRegistered &_tao_elem) // copying +{ + ImplementationRepository::Administration::AlreadyRegistered *_tao_any_val = 0; + ACE_NEW (_tao_any_val, ImplementationRepository::Administration::AlreadyRegistered (_tao_elem)); + ACE_TRY_NEW_ENV + { + _tao_any.replace (ImplementationRepository::Administration::_tc_AlreadyRegistered, _tao_any_val, 1, ACE_TRY_ENV); + ACE_TRY_CHECK; + } + ACE_CATCHANY + { + delete _tao_any_val; + } + ACE_ENDTRY; +} + +void operator<<= (CORBA::Any &_tao_any, ImplementationRepository::Administration::AlreadyRegistered *_tao_elem) // non copying +{ + ACE_TRY_NEW_ENV + { + _tao_any.replace (ImplementationRepository::Administration::_tc_AlreadyRegistered, _tao_elem, 1, ACE_TRY_ENV); // consume it + ACE_TRY_CHECK; + } + ACE_CATCHANY {} + ACE_ENDTRY; +} + +CORBA::Boolean operator>>= (const CORBA::Any &_tao_any, ImplementationRepository::Administration::AlreadyRegistered *&_tao_elem) +{ + ACE_TRY_NEW_ENV + { + CORBA::TypeCode_var type = _tao_any.type (); + if (!type->equivalent (ImplementationRepository::Administration::_tc_AlreadyRegistered, ACE_TRY_ENV)) return 0; // not equal + ACE_TRY_CHECK; + if (_tao_any.any_owns_data ()) + { + _tao_elem = (ImplementationRepository::Administration::AlreadyRegistered *)_tao_any.value (); + return 1; + } + else + { + ACE_NEW_RETURN (_tao_elem, ImplementationRepository::Administration::AlreadyRegistered, 0); + TAO_InputCDR stream (_tao_any._tao_get_cdr ()); + if (stream.decode (ImplementationRepository::Administration::_tc_AlreadyRegistered, _tao_elem, 0, ACE_TRY_ENV) + == CORBA::TypeCode::TRAVERSE_CONTINUE) + { + ((CORBA::Any *)&_tao_any)->replace (ImplementationRepository::Administration::_tc_AlreadyRegistered, _tao_elem, 1, ACE_TRY_ENV); + ACE_TRY_CHECK; + return 1; + } + else + { + delete _tao_elem; + } + } + } + ACE_CATCHANY + { + delete _tao_elem; + return 0; + } + ACE_ENDTRY; + return 0; +} + +void operator<<= (CORBA::Any &_tao_any, const ImplementationRepository::Administration::CannotActivate &_tao_elem) // copying +{ + ImplementationRepository::Administration::CannotActivate *_tao_any_val = 0; + ACE_NEW (_tao_any_val, ImplementationRepository::Administration::CannotActivate (_tao_elem)); + ACE_TRY_NEW_ENV + { + _tao_any.replace (ImplementationRepository::Administration::_tc_CannotActivate, _tao_any_val, 1, ACE_TRY_ENV); + ACE_TRY_CHECK; + } + ACE_CATCHANY + { + delete _tao_any_val; + } + ACE_ENDTRY; +} + +void operator<<= (CORBA::Any &_tao_any, ImplementationRepository::Administration::CannotActivate *_tao_elem) // non copying +{ + ACE_TRY_NEW_ENV + { + _tao_any.replace (ImplementationRepository::Administration::_tc_CannotActivate, _tao_elem, 1, ACE_TRY_ENV); // consume it + ACE_TRY_CHECK; + } + ACE_CATCHANY {} + ACE_ENDTRY; +} + +CORBA::Boolean operator>>= (const CORBA::Any &_tao_any, ImplementationRepository::Administration::CannotActivate *&_tao_elem) +{ + ACE_TRY_NEW_ENV + { + CORBA::TypeCode_var type = _tao_any.type (); + if (!type->equivalent (ImplementationRepository::Administration::_tc_CannotActivate, ACE_TRY_ENV)) return 0; // not equal + ACE_TRY_CHECK; + if (_tao_any.any_owns_data ()) + { + _tao_elem = (ImplementationRepository::Administration::CannotActivate *)_tao_any.value (); + return 1; + } + else + { + ACE_NEW_RETURN (_tao_elem, ImplementationRepository::Administration::CannotActivate, 0); + TAO_InputCDR stream (_tao_any._tao_get_cdr ()); + if (stream.decode (ImplementationRepository::Administration::_tc_CannotActivate, _tao_elem, 0, ACE_TRY_ENV) + == CORBA::TypeCode::TRAVERSE_CONTINUE) + { + ((CORBA::Any *)&_tao_any)->replace (ImplementationRepository::Administration::_tc_CannotActivate, _tao_elem, 1, ACE_TRY_ENV); + ACE_TRY_CHECK; + return 1; + } + else + { + delete _tao_elem; + } + } + } + ACE_CATCHANY + { + delete _tao_elem; + return 0; + } + ACE_ENDTRY; + return 0; +} + +void operator<<= (CORBA::Any &_tao_any, const ImplementationRepository::Administration::NotFound &_tao_elem) // copying +{ + ImplementationRepository::Administration::NotFound *_tao_any_val = 0; + ACE_NEW (_tao_any_val, ImplementationRepository::Administration::NotFound (_tao_elem)); + ACE_TRY_NEW_ENV + { + _tao_any.replace (ImplementationRepository::Administration::_tc_NotFound, _tao_any_val, 1, ACE_TRY_ENV); + ACE_TRY_CHECK; + } + ACE_CATCHANY + { + delete _tao_any_val; + } + ACE_ENDTRY; +} + +void operator<<= (CORBA::Any &_tao_any, ImplementationRepository::Administration::NotFound *_tao_elem) // non copying +{ + ACE_TRY_NEW_ENV + { + _tao_any.replace (ImplementationRepository::Administration::_tc_NotFound, _tao_elem, 1, ACE_TRY_ENV); // consume it + ACE_TRY_CHECK; + } + ACE_CATCHANY {} + ACE_ENDTRY; +} + +CORBA::Boolean operator>>= (const CORBA::Any &_tao_any, ImplementationRepository::Administration::NotFound *&_tao_elem) +{ + ACE_TRY_NEW_ENV + { + CORBA::TypeCode_var type = _tao_any.type (); + if (!type->equivalent (ImplementationRepository::Administration::_tc_NotFound, ACE_TRY_ENV)) return 0; // not equal + ACE_TRY_CHECK; + if (_tao_any.any_owns_data ()) + { + _tao_elem = (ImplementationRepository::Administration::NotFound *)_tao_any.value (); + return 1; + } + else + { + ACE_NEW_RETURN (_tao_elem, ImplementationRepository::Administration::NotFound, 0); + TAO_InputCDR stream (_tao_any._tao_get_cdr ()); + if (stream.decode (ImplementationRepository::Administration::_tc_NotFound, _tao_elem, 0, ACE_TRY_ENV) + == CORBA::TypeCode::TRAVERSE_CONTINUE) + { + ((CORBA::Any *)&_tao_any)->replace (ImplementationRepository::Administration::_tc_NotFound, _tao_elem, 1, ACE_TRY_ENV); + ACE_TRY_CHECK; + return 1; + } + else + { + delete _tao_elem; + } + } + } + ACE_CATCHANY + { + delete _tao_elem; + return 0; + } + ACE_ENDTRY; + return 0; +} + +ImplementationRepository::ServerInformationIterator_ptr (*_TAO_collocation_ImplementationRepository_ServerInformationIterator_Stub_Factory_function_pointer) ( + CORBA::Object_ptr obj + ) = 0; +void operator<<= (CORBA::Any &_tao_any, ImplementationRepository::ServerInformationIterator_ptr _tao_elem) +{ + CORBA::Object_ptr *_tao_obj_ptr = 0; + ACE_TRY_NEW_ENV + { + ACE_NEW (_tao_obj_ptr, CORBA::Object_ptr); + *_tao_obj_ptr = ImplementationRepository::ServerInformationIterator::_duplicate (_tao_elem); + _tao_any.replace (ImplementationRepository::_tc_ServerInformationIterator, _tao_obj_ptr, 1, ACE_TRY_ENV); + ACE_TRY_CHECK; + } + ACE_CATCHANY + { + delete _tao_obj_ptr; + } + ACE_ENDTRY; +} + +CORBA::Boolean operator>>= (const CORBA::Any &_tao_any, ImplementationRepository::ServerInformationIterator_ptr &_tao_elem) +{ + CORBA::Object_ptr *tmp = 0; + ACE_TRY_NEW_ENV + { + _tao_elem = ImplementationRepository::ServerInformationIterator::_nil (); + CORBA::TypeCode_var type = _tao_any.type (); + if (!type->equivalent (ImplementationRepository::_tc_ServerInformationIterator, ACE_TRY_ENV)) return 0; // not equal + ACE_TRY_CHECK; + TAO_InputCDR stream (_tao_any._tao_get_cdr ()); + CORBA::Object_var _tao_obj_var; + ACE_NEW_RETURN (tmp, CORBA::Object_ptr, 0); + if (stream.decode (ImplementationRepository::_tc_ServerInformationIterator, &_tao_obj_var.out (), 0, ACE_TRY_ENV) + == CORBA::TypeCode::TRAVERSE_CONTINUE) + { + _tao_elem = ImplementationRepository::ServerInformationIterator::_narrow (_tao_obj_var.in (), ACE_TRY_ENV); + ACE_TRY_CHECK; + *tmp = (CORBA::Object_ptr) _tao_elem; // any owns the object + ((CORBA::Any *)&_tao_any)->replace (ImplementationRepository::_tc_ServerInformationIterator, tmp, 1, ACE_TRY_ENV); + ACE_TRY_CHECK; + return 1; + } + // failure + } + ACE_CATCHANY + { + delete tmp; + return 0; + } + ACE_ENDTRY; + return 0; +} + +#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION) || \ + defined (ACE_HAS_GNU_REPO) + template class TAO_Object_Field_T<ImplementationRepository::ServerInformationIterator,ImplementationRepository::ServerInformationIterator_var>; + template class TAO_Object_Manager<ImplementationRepository::ServerInformationIterator,ImplementationRepository::ServerInformationIterator_var>; +#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA) +# pragma instantiate TAO_Object_Field_T<ImplementationRepository::ServerInformationIterator,ImplementationRepository::ServerInformationIterator_var> +# pragma instantiate TAO_Object_Manager<ImplementationRepository::ServerInformationIterator,ImplementationRepository::ServerInformationIterator_var> +#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */ + +CORBA::Boolean operator<< ( + TAO_OutputCDR &strm, + const ImplementationRepository::EnvironmentList &_tao_sequence + ) +{ + if (strm << _tao_sequence.length ()) + { + // encode all elements + CORBA::Boolean _tao_marshal_flag = 1; + for (CORBA::ULong i = 0; i < _tao_sequence.length () && _tao_marshal_flag; i++) + { + _tao_marshal_flag = (strm << _tao_sequence[i]); + } + return _tao_marshal_flag; + } + return 0; // error +} + +CORBA::Boolean operator>> ( + TAO_InputCDR &strm, + ImplementationRepository::EnvironmentList &_tao_sequence + ) +{ + CORBA::ULong _tao_seq_len; + if (strm >> _tao_seq_len) + { + // set the length of the sequence + _tao_sequence.length (_tao_seq_len); + // retrieve all the elements + CORBA::Boolean _tao_marshal_flag = 1; + for (CORBA::ULong i = 0; i < _tao_sequence.length () && _tao_marshal_flag; i++) + { + _tao_marshal_flag = (strm >> _tao_sequence[i]); + } + return _tao_marshal_flag; + } + return 0; // error +} + +CORBA::Boolean operator<< ( + TAO_OutputCDR &strm, + const ImplementationRepository::ServerInformationList &_tao_sequence + ) +{ + if (strm << _tao_sequence.length ()) + { + // encode all elements + CORBA::Boolean _tao_marshal_flag = 1; + for (CORBA::ULong i = 0; i < _tao_sequence.length () && _tao_marshal_flag; i++) + { + _tao_marshal_flag = (strm << _tao_sequence[i]); + } + return _tao_marshal_flag; + } + return 0; // error +} + +CORBA::Boolean operator>> ( + TAO_InputCDR &strm, + ImplementationRepository::ServerInformationList &_tao_sequence + ) +{ + CORBA::ULong _tao_seq_len; + if (strm >> _tao_seq_len) + { + // set the length of the sequence + _tao_sequence.length (_tao_seq_len); + // retrieve all the elements + CORBA::Boolean _tao_marshal_flag = 1; + for (CORBA::ULong i = 0; i < _tao_sequence.length () && _tao_marshal_flag; i++) + { + _tao_marshal_flag = (strm >> _tao_sequence[i]); + } + return _tao_marshal_flag; + } + return 0; // error +} + diff --git a/TAO/tao/ImplRepoC.h b/TAO/tao/ImplRepoC.h new file mode 100644 index 00000000000..ea715c172c5 --- /dev/null +++ b/TAO/tao/ImplRepoC.h @@ -0,0 +1,1688 @@ +/* -*- 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. +// +// Information about TAO is available at: +// http://www.cs.wustl.edu/~schmidt/TAO.html + +#ifndef _TAO_IDL_IMPLREPOC_H_ +#define _TAO_IDL_IMPLREPOC_H_ + +#include "tao/Object.h" +#include "tao/Managed_Types.h" +#include "tao/POAC.h" +#include "tao/Servant_Base.h" +#include "tao/Operation_Table.h" +#include "tao/Stub.h" +#include "tao/ORB_Core.h" +#include "tao/Server_Request.h" +#include "tao/NVList.h" +#include "tao/Object_Adapter.h" +#include "tao/Invocation.h" + +#if !defined (ACE_LACKS_PRAGMA_ONCE) +# pragma once +#endif /* ACE_LACKS_PRAGMA_ONCE */ + +#if defined (ACE_HAS_MINIMUM_IOSTREAMH_INCLUSION) +#include "ace/streams.h" +#endif /* ACE_HAS_MINIMUM_IOSTREAMH_INCLUSION */ + + +#if defined (TAO_EXPORT_MACRO) +#undef TAO_EXPORT_MACRO +#endif +#define TAO_EXPORT_MACRO TAO_Export + +#if defined (TAO_EXPORT_NESTED_CLASSES) +# if defined (TAO_EXPORT_NESTED_MACRO) +# undef TAO_EXPORT_NESTED_MACRO +# endif /* defined (TAO_EXPORT_NESTED_MACRO) */ +# define TAO_EXPORT_NESTED_MACRO TAO_Export +#endif /* TAO_EXPORT_NESTED_CLASSES */ + +#if defined(_MSC_VER) +#if (_MSC_VER >= 1200) +#pragma warning(push) +#endif /* _MSC_VER >= 1200 */ +#pragma warning(disable:4250) +#endif /* _MSC_VER */ + +TAO_NAMESPACE ImplementationRepository +{ + +#if !defined (_IMPLEMENTATIONREPOSITORY_SERVEROBJECT___PTR_CH_) +#define _IMPLEMENTATIONREPOSITORY_SERVEROBJECT___PTR_CH_ + + class ServerObject; + typedef ServerObject *ServerObject_ptr; + +#endif /* end #if !defined */ + + +#if !defined (_IMPLEMENTATIONREPOSITORY_SERVEROBJECT___VAR_CH_) +#define _IMPLEMENTATIONREPOSITORY_SERVEROBJECT___VAR_CH_ + + class TAO_Export ServerObject_var + { + public: + ServerObject_var (void); // default constructor + ServerObject_var (ServerObject_ptr); + ServerObject_var (const ServerObject_var &); // copy constructor + ~ServerObject_var (void); // destructor + + ServerObject_var &operator= (ServerObject_ptr); + ServerObject_var &operator= (const ServerObject_var &); + ServerObject_ptr operator-> (void) const; + + operator const ServerObject_ptr &() const; + operator ServerObject_ptr &(); + // in, inout, out, _retn + ServerObject_ptr in (void) const; + ServerObject_ptr &inout (void); + ServerObject_ptr &out (void); + ServerObject_ptr _retn (void); + ServerObject_ptr ptr (void) const; + + private: + ServerObject_ptr ptr_; + }; + + +#endif /* end #if !defined */ + + +#if !defined (_IMPLEMENTATIONREPOSITORY_SERVEROBJECT___OUT_CH_) +#define _IMPLEMENTATIONREPOSITORY_SERVEROBJECT___OUT_CH_ + + class TAO_Export ServerObject_out + { + public: + ServerObject_out (ServerObject_ptr &); + ServerObject_out (ServerObject_var &); + ServerObject_out (const ServerObject_out &); + ServerObject_out &operator= (const ServerObject_out &); + ServerObject_out &operator= (const ServerObject_var &); + ServerObject_out &operator= (ServerObject_ptr); + operator ServerObject_ptr &(); + ServerObject_ptr &ptr (void); + ServerObject_ptr operator-> (void); + + private: + ServerObject_ptr &ptr_; + }; + + +#endif /* end #if !defined */ + + +#if !defined (_IMPLEMENTATIONREPOSITORY_SERVEROBJECT_CH_) +#define _IMPLEMENTATIONREPOSITORY_SERVEROBJECT_CH_ + +class TAO_Export ServerObject : public virtual ACE_CORBA_1 (Object) + { + public: + #if !defined(__GNUC__) || !defined (ACE_HAS_GNUG_PRE_2_8) + typedef ServerObject_ptr _ptr_type; + typedef ServerObject_var _var_type; + #endif /* ! __GNUC__ || g++ >= 2.8 */ + + // the static operations + static ServerObject_ptr _duplicate (ServerObject_ptr obj); + static ServerObject_ptr _narrow ( + CORBA::Object_ptr obj, + CORBA::Environment &env = + TAO_default_environment () + ); + static ServerObject_ptr _unchecked_narrow ( + CORBA::Object_ptr obj, + CORBA::Environment &env = + TAO_default_environment () + ); + static ServerObject_ptr _nil (void) + { + return (ImplementationRepository::ServerObject_ptr)0; + } + + virtual void ping ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); + + virtual void shutdown ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); + + virtual CORBA::Boolean _is_a ( + const CORBA::Char *type_id, + CORBA::Environment &env = + TAO_default_environment () + ); + virtual const char* _interface_repository_id (void) const; + + protected: + ServerObject (void); + ServerObject (TAO_Stub *objref, + TAO_ServantBase *_tao_servant = 0, + CORBA::Boolean _tao_collocated = 0 + ); + virtual ~ServerObject (void); + private: + ServerObject (const ServerObject &); + void operator= (const ServerObject &); +}; + +class TAO_ImplementationRepository_ServerObject_Default_Proxy_Factory +{ +public: + + TAO_ImplementationRepository_ServerObject_Default_Proxy_Factory (int register_proxy_factory = 1); + + virtual ~TAO_ImplementationRepository_ServerObject_Default_Proxy_Factory (void); + + virtual ImplementationRepository::ServerObject_ptr create_proxy ( + ImplementationRepository::ServerObject_ptr proxy, + CORBA::Environment &env = + TAO_default_environment () + ); +}; + +class TAO_ImplementationRepository_ServerObject_Proxy_Factory_Adapter +{ +public: + + friend class ACE_Singleton<TAO_ImplementationRepository_ServerObject_Proxy_Factory_Adapter, ACE_SYNCH_RECURSIVE_MUTEX>; + + int register_proxy_factory ( + TAO_ImplementationRepository_ServerObject_Default_Proxy_Factory *df, + CORBA::Environment &env = + TAO_default_environment () + ); + + int unregister_proxy_factory ( + CORBA::Environment &env = + TAO_default_environment () + ); + + ImplementationRepository::ServerObject_ptr create_proxy ( + ImplementationRepository::ServerObject_ptr proxy, + CORBA::Environment &env = + TAO_default_environment () + ); + +protected: + TAO_ImplementationRepository_ServerObject_Proxy_Factory_Adapter (void); + ~TAO_ImplementationRepository_ServerObject_Proxy_Factory_Adapter (void); + TAO_ImplementationRepository_ServerObject_Proxy_Factory_Adapter &operator= ( + const TAO_ImplementationRepository_ServerObject_Proxy_Factory_Adapter & + ); + TAO_ImplementationRepository_ServerObject_Default_Proxy_Factory *proxy_factory_; + int delete_proxy_factory_; + ACE_SYNCH_RECURSIVE_MUTEX lock_; + }; + + typedef ACE_Singleton<TAO_ImplementationRepository_ServerObject_Proxy_Factory_Adapter, ACE_SYNCH_RECURSIVE_MUTEX> TAO_ImplementationRepository_ServerObject_PROXY_FACTORY_ADAPTER; + class TAO_ImplementationRepository_ServerObject_Smart_Proxy_Base : public virtual ImplementationRepository::ServerObject + { + public: + TAO_ImplementationRepository_ServerObject_Smart_Proxy_Base (ImplementationRepository::ServerObject_ptr proxy); + ~TAO_ImplementationRepository_ServerObject_Smart_Proxy_Base (void); + virtual void ping ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); + + virtual void shutdown ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); + +private: + ImplementationRepository::ServerObject_var base_proxy_; +}; + + +#endif /* end #if !defined */ + +TAO_NAMESPACE_STORAGE_CLASS CORBA::TypeCode_ptr _tc_ServerObject; + +struct EnvironmentVariable; +class EnvironmentVariable_var; +typedef EnvironmentVariable* EnvironmentVariable_ptr; + +struct TAO_Export EnvironmentVariable +{ + +#if !defined(__GNUC__) || !defined (ACE_HAS_GNUG_PRE_2_8) + typedef EnvironmentVariable_ptr _ptr_type; + typedef EnvironmentVariable_var _var_type; +#endif /* ! __GNUC__ || g++ >= 2.8 */ + + TAO_String_Manager name; + TAO_String_Manager value; +}; + +class TAO_Export EnvironmentVariable_var +{ +public: + EnvironmentVariable_var (void); // default constructor + EnvironmentVariable_var (EnvironmentVariable *); + EnvironmentVariable_var (const EnvironmentVariable_var &); // copy constructor + ~EnvironmentVariable_var (void); // destructor + + EnvironmentVariable_var &operator= (EnvironmentVariable *); + EnvironmentVariable_var &operator= (const EnvironmentVariable_var &); + EnvironmentVariable *operator-> (void); + const EnvironmentVariable *operator-> (void) const; + + operator const EnvironmentVariable &() const; + operator EnvironmentVariable &(); + operator EnvironmentVariable &() const; + // in, inout, out, _retn + const EnvironmentVariable &in (void) const; + EnvironmentVariable &inout (void); + EnvironmentVariable *&out (void); + EnvironmentVariable *_retn (void); + EnvironmentVariable *ptr (void) const; + +private: + EnvironmentVariable *ptr_; +}; + +class TAO_Export EnvironmentVariable_out +{ +public: + EnvironmentVariable_out (EnvironmentVariable *&); + EnvironmentVariable_out (EnvironmentVariable_var &); + EnvironmentVariable_out (const EnvironmentVariable_out &); + EnvironmentVariable_out &operator= (const EnvironmentVariable_out &); + EnvironmentVariable_out &operator= (EnvironmentVariable *); + operator EnvironmentVariable *&(); + EnvironmentVariable *&ptr (void); + EnvironmentVariable *operator-> (void); + +private: + EnvironmentVariable *&ptr_; + // assignment from T_var not allowed + void operator= (const EnvironmentVariable_var &); +}; + +TAO_NAMESPACE_STORAGE_CLASS CORBA::TypeCode_ptr _tc_EnvironmentVariable; + +typedef char * Address; +typedef CORBA::String_var Address_var; +typedef CORBA::String_out Address_out; +TAO_NAMESPACE_STORAGE_CLASS CORBA::TypeCode_ptr _tc_Address; + + +#if !defined (TAO_USE_SEQUENCE_TEMPLATES) + +#if !defined (__TAO_UNBOUNDED_SEQUENCE_IMPLEMENTATIONREPOSITORY_ENVIRONMENTLIST_CH_) +#define __TAO_UNBOUNDED_SEQUENCE_IMPLEMENTATIONREPOSITORY_ENVIRONMENTLIST_CH_ + + class TAO_EXPORT_NESTED_MACRO _TAO_Unbounded_Sequence_ImplementationRepository_EnvironmentList : public TAO_Unbounded_Base_Sequence + { + public: + // = Initialization and termination methods. + + _TAO_Unbounded_Sequence_ImplementationRepository_EnvironmentList (void); // Default constructor. + _TAO_Unbounded_Sequence_ImplementationRepository_EnvironmentList (CORBA::ULong maximum); + _TAO_Unbounded_Sequence_ImplementationRepository_EnvironmentList (CORBA::ULong maximum, + CORBA::ULong length, + EnvironmentVariable *data, + CORBA::Boolean release = 0); + _TAO_Unbounded_Sequence_ImplementationRepository_EnvironmentList (const _TAO_Unbounded_Sequence_ImplementationRepository_EnvironmentList &rhs); + _TAO_Unbounded_Sequence_ImplementationRepository_EnvironmentList &operator= (const _TAO_Unbounded_Sequence_ImplementationRepository_EnvironmentList &rhs); + virtual ~_TAO_Unbounded_Sequence_ImplementationRepository_EnvironmentList (void); // Dtor. + // = Accessors. + EnvironmentVariable &operator[] (CORBA::ULong i); + const EnvironmentVariable &operator[] (CORBA::ULong i) const; + // = Static operations. + static EnvironmentVariable *allocbuf (CORBA::ULong size); + static void freebuf (EnvironmentVariable *buffer); + virtual void _allocate_buffer (CORBA::ULong length); + virtual void _deallocate_buffer (void); + // Implement the TAO_Base_Sequence methods (see Sequence.h) + + EnvironmentVariable *get_buffer (CORBA::Boolean orphan = 0); + const EnvironmentVariable *get_buffer (void) const; + void replace (CORBA::ULong max, + CORBA::ULong length, + EnvironmentVariable *data, + CORBA::Boolean release); + }; + +#endif /* end #if !defined */ + + +#endif /* !TAO_USE_SEQUENCE_TEMPLATES */ + +#if !defined (_IMPLEMENTATIONREPOSITORY_ENVIRONMENTLIST_CH_) +#define _IMPLEMENTATIONREPOSITORY_ENVIRONMENTLIST_CH_ + +class EnvironmentList; +class EnvironmentList_var; +typedef EnvironmentList* EnvironmentList_ptr; + +// ************************************************************* +// EnvironmentList +// ************************************************************* + +class TAO_Export EnvironmentList : public +#if !defined (TAO_USE_SEQUENCE_TEMPLATES) + _TAO_Unbounded_Sequence_ImplementationRepository_EnvironmentList +#else /* TAO_USE_SEQUENCE_TEMPLATES */ + TAO_Unbounded_Sequence<EnvironmentVariable> +#endif /* !TAO_USE_SEQUENCE_TEMPLATES */ +{ +public: + EnvironmentList (void); // default ctor + EnvironmentList (CORBA::ULong max); // uses max size + EnvironmentList ( + CORBA::ULong max, + CORBA::ULong length, + EnvironmentVariable *buffer, + CORBA::Boolean release=0 + ); + EnvironmentList (const EnvironmentList &); // copy ctor + ~EnvironmentList (void); // dtor + +#if !defined(__GNUC__) || !defined (ACE_HAS_GNUG_PRE_2_8) + typedef EnvironmentList_ptr _ptr_type; + typedef EnvironmentList_var _var_type; +#endif /* ! __GNUC__ || g++ >= 2.8 */ + +}; + +#endif /* end #if !defined */ + + +#if !defined (_IMPLEMENTATIONREPOSITORY_ENVIRONMENTLIST___VAR_CH_) +#define _IMPLEMENTATIONREPOSITORY_ENVIRONMENTLIST___VAR_CH_ + +// ************************************************************* +// class ImplementationRepository::EnvironmentList_var +// ************************************************************* + +class TAO_Export EnvironmentList_var +{ +public: + EnvironmentList_var (void); // default constructor + EnvironmentList_var (EnvironmentList *); + EnvironmentList_var (const EnvironmentList_var &); // copy constructor + ~EnvironmentList_var (void); // destructor + + EnvironmentList_var &operator= (EnvironmentList *); + EnvironmentList_var &operator= (const EnvironmentList_var &); + EnvironmentList *operator-> (void); + const EnvironmentList *operator-> (void) const; + + operator const EnvironmentList &() const; + operator EnvironmentList &(); + operator EnvironmentList &() const; + EnvironmentVariable &operator[] (CORBA::ULong index); + // in, inout, out, _retn + const EnvironmentList &in (void) const; + EnvironmentList &inout (void); + EnvironmentList *&out (void); + EnvironmentList *_retn (void); + EnvironmentList *ptr (void) const; + +private: + EnvironmentList *ptr_; +}; + + +#endif /* end #if !defined */ + + +#if !defined (_IMPLEMENTATIONREPOSITORY_ENVIRONMENTLIST___OUT_CH_) +#define _IMPLEMENTATIONREPOSITORY_ENVIRONMENTLIST___OUT_CH_ + +class TAO_Export EnvironmentList_out +{ +public: + EnvironmentList_out (EnvironmentList *&); + EnvironmentList_out (EnvironmentList_var &); + EnvironmentList_out (const EnvironmentList_out &); + EnvironmentList_out &operator= (const EnvironmentList_out &); + EnvironmentList_out &operator= (EnvironmentList *); + operator EnvironmentList *&(); + EnvironmentList *&ptr (void); + EnvironmentList *operator-> (void); + EnvironmentVariable &operator[] (CORBA::ULong index); + +private: + EnvironmentList *&ptr_; + // assignment from T_var not allowed + void operator= (const EnvironmentList_var &); +}; + + +#endif /* end #if !defined */ + +TAO_NAMESPACE_STORAGE_CLASS CORBA::TypeCode_ptr _tc_EnvironmentList; + +enum ActivationMode +{ + NORMAL, + MANUAL, + PER_CLIENT, + AUTO_START, + ActivationMode_TAO_ENUM_32BIT_ENFORCER = 0x7FFFFFFF +}; +typedef ActivationMode &ActivationMode_out; +TAO_NAMESPACE_STORAGE_CLASS CORBA::TypeCode_ptr _tc_ActivationMode; + +struct StartupOptions; +class StartupOptions_var; +typedef StartupOptions* StartupOptions_ptr; + +struct TAO_Export StartupOptions +{ + +#if !defined(__GNUC__) || !defined (ACE_HAS_GNUG_PRE_2_8) + typedef StartupOptions_ptr _ptr_type; + typedef StartupOptions_var _var_type; +#endif /* ! __GNUC__ || g++ >= 2.8 */ + + TAO_String_Manager command_line; + ImplementationRepository::EnvironmentList environment; + TAO_String_Manager working_directory; + ImplementationRepository::ActivationMode activation; +}; + +class TAO_Export StartupOptions_var +{ +public: + StartupOptions_var (void); // default constructor + StartupOptions_var (StartupOptions *); + StartupOptions_var (const StartupOptions_var &); // copy constructor + ~StartupOptions_var (void); // destructor + + StartupOptions_var &operator= (StartupOptions *); + StartupOptions_var &operator= (const StartupOptions_var &); + StartupOptions *operator-> (void); + const StartupOptions *operator-> (void) const; + + operator const StartupOptions &() const; + operator StartupOptions &(); + operator StartupOptions &() const; + // in, inout, out, _retn + const StartupOptions &in (void) const; + StartupOptions &inout (void); + StartupOptions *&out (void); + StartupOptions *_retn (void); + StartupOptions *ptr (void) const; + +private: + StartupOptions *ptr_; +}; + +class TAO_Export StartupOptions_out +{ +public: + StartupOptions_out (StartupOptions *&); + StartupOptions_out (StartupOptions_var &); + StartupOptions_out (const StartupOptions_out &); + StartupOptions_out &operator= (const StartupOptions_out &); + StartupOptions_out &operator= (StartupOptions *); + operator StartupOptions *&(); + StartupOptions *&ptr (void); + StartupOptions *operator-> (void); + +private: + StartupOptions *&ptr_; + // assignment from T_var not allowed + void operator= (const StartupOptions_var &); +}; + +TAO_NAMESPACE_STORAGE_CLASS CORBA::TypeCode_ptr _tc_StartupOptions; + +struct ServerInformation; +class ServerInformation_var; +typedef ServerInformation* ServerInformation_ptr; + +struct TAO_Export ServerInformation +{ + +#if !defined(__GNUC__) || !defined (ACE_HAS_GNUG_PRE_2_8) + typedef ServerInformation_ptr _ptr_type; + typedef ServerInformation_var _var_type; +#endif /* ! __GNUC__ || g++ >= 2.8 */ + + TAO_String_Manager logical_server; + TAO_String_Manager server; + ImplementationRepository::StartupOptions startup; + TAO_String_Manager location; +}; + +class TAO_Export ServerInformation_var +{ +public: + ServerInformation_var (void); // default constructor + ServerInformation_var (ServerInformation *); + ServerInformation_var (const ServerInformation_var &); // copy constructor + ~ServerInformation_var (void); // destructor + + ServerInformation_var &operator= (ServerInformation *); + ServerInformation_var &operator= (const ServerInformation_var &); + ServerInformation *operator-> (void); + const ServerInformation *operator-> (void) const; + + operator const ServerInformation &() const; + operator ServerInformation &(); + operator ServerInformation &() const; + // in, inout, out, _retn + const ServerInformation &in (void) const; + ServerInformation &inout (void); + ServerInformation *&out (void); + ServerInformation *_retn (void); + ServerInformation *ptr (void) const; + +private: + ServerInformation *ptr_; +}; + +class TAO_Export ServerInformation_out +{ +public: + ServerInformation_out (ServerInformation *&); + ServerInformation_out (ServerInformation_var &); + ServerInformation_out (const ServerInformation_out &); + ServerInformation_out &operator= (const ServerInformation_out &); + ServerInformation_out &operator= (ServerInformation *); + operator ServerInformation *&(); + ServerInformation *&ptr (void); + ServerInformation *operator-> (void); + +private: + ServerInformation *&ptr_; + // assignment from T_var not allowed + void operator= (const ServerInformation_var &); +}; + +TAO_NAMESPACE_STORAGE_CLASS CORBA::TypeCode_ptr _tc_ServerInformation; + + +#if !defined (TAO_USE_SEQUENCE_TEMPLATES) + +#if !defined (__TAO_UNBOUNDED_SEQUENCE_IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONLIST_CH_) +#define __TAO_UNBOUNDED_SEQUENCE_IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONLIST_CH_ + + class TAO_EXPORT_NESTED_MACRO _TAO_Unbounded_Sequence_ImplementationRepository_ServerInformationList : public TAO_Unbounded_Base_Sequence + { + public: + // = Initialization and termination methods. + + _TAO_Unbounded_Sequence_ImplementationRepository_ServerInformationList (void); // Default constructor. + _TAO_Unbounded_Sequence_ImplementationRepository_ServerInformationList (CORBA::ULong maximum); + _TAO_Unbounded_Sequence_ImplementationRepository_ServerInformationList (CORBA::ULong maximum, + CORBA::ULong length, + ServerInformation *data, + CORBA::Boolean release = 0); + _TAO_Unbounded_Sequence_ImplementationRepository_ServerInformationList (const _TAO_Unbounded_Sequence_ImplementationRepository_ServerInformationList &rhs); + _TAO_Unbounded_Sequence_ImplementationRepository_ServerInformationList &operator= (const _TAO_Unbounded_Sequence_ImplementationRepository_ServerInformationList &rhs); + virtual ~_TAO_Unbounded_Sequence_ImplementationRepository_ServerInformationList (void); // Dtor. + // = Accessors. + ServerInformation &operator[] (CORBA::ULong i); + const ServerInformation &operator[] (CORBA::ULong i) const; + // = Static operations. + static ServerInformation *allocbuf (CORBA::ULong size); + static void freebuf (ServerInformation *buffer); + virtual void _allocate_buffer (CORBA::ULong length); + virtual void _deallocate_buffer (void); + // Implement the TAO_Base_Sequence methods (see Sequence.h) + + ServerInformation *get_buffer (CORBA::Boolean orphan = 0); + const ServerInformation *get_buffer (void) const; + void replace (CORBA::ULong max, + CORBA::ULong length, + ServerInformation *data, + CORBA::Boolean release); + }; + +#endif /* end #if !defined */ + + +#endif /* !TAO_USE_SEQUENCE_TEMPLATES */ + +#if !defined (_IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONLIST_CH_) +#define _IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONLIST_CH_ + +class ServerInformationList; +class ServerInformationList_var; +typedef ServerInformationList* ServerInformationList_ptr; + +// ************************************************************* +// ServerInformationList +// ************************************************************* + +class TAO_Export ServerInformationList : public +#if !defined (TAO_USE_SEQUENCE_TEMPLATES) + _TAO_Unbounded_Sequence_ImplementationRepository_ServerInformationList +#else /* TAO_USE_SEQUENCE_TEMPLATES */ + TAO_Unbounded_Sequence<ServerInformation> +#endif /* !TAO_USE_SEQUENCE_TEMPLATES */ +{ +public: + ServerInformationList (void); // default ctor + ServerInformationList (CORBA::ULong max); // uses max size + ServerInformationList ( + CORBA::ULong max, + CORBA::ULong length, + ServerInformation *buffer, + CORBA::Boolean release=0 + ); + ServerInformationList (const ServerInformationList &); // copy ctor + ~ServerInformationList (void); // dtor + +#if !defined(__GNUC__) || !defined (ACE_HAS_GNUG_PRE_2_8) + typedef ServerInformationList_ptr _ptr_type; + typedef ServerInformationList_var _var_type; +#endif /* ! __GNUC__ || g++ >= 2.8 */ + +}; + +#endif /* end #if !defined */ + + +#if !defined (_IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONLIST___VAR_CH_) +#define _IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONLIST___VAR_CH_ + +// ************************************************************* +// class ImplementationRepository::ServerInformationList_var +// ************************************************************* + +class TAO_Export ServerInformationList_var +{ +public: + ServerInformationList_var (void); // default constructor + ServerInformationList_var (ServerInformationList *); + ServerInformationList_var (const ServerInformationList_var &); // copy constructor + ~ServerInformationList_var (void); // destructor + + ServerInformationList_var &operator= (ServerInformationList *); + ServerInformationList_var &operator= (const ServerInformationList_var &); + ServerInformationList *operator-> (void); + const ServerInformationList *operator-> (void) const; + + operator const ServerInformationList &() const; + operator ServerInformationList &(); + operator ServerInformationList &() const; + ServerInformation &operator[] (CORBA::ULong index); + // in, inout, out, _retn + const ServerInformationList &in (void) const; + ServerInformationList &inout (void); + ServerInformationList *&out (void); + ServerInformationList *_retn (void); + ServerInformationList *ptr (void) const; + +private: + ServerInformationList *ptr_; +}; + + +#endif /* end #if !defined */ + + +#if !defined (_IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONLIST___OUT_CH_) +#define _IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONLIST___OUT_CH_ + +class TAO_Export ServerInformationList_out +{ +public: + ServerInformationList_out (ServerInformationList *&); + ServerInformationList_out (ServerInformationList_var &); + ServerInformationList_out (const ServerInformationList_out &); + ServerInformationList_out &operator= (const ServerInformationList_out &); + ServerInformationList_out &operator= (ServerInformationList *); + operator ServerInformationList *&(); + ServerInformationList *&ptr (void); + ServerInformationList *operator-> (void); + ServerInformation &operator[] (CORBA::ULong index); + +private: + ServerInformationList *&ptr_; + // assignment from T_var not allowed + void operator= (const ServerInformationList_var &); +}; + + +#endif /* end #if !defined */ + +TAO_NAMESPACE_STORAGE_CLASS CORBA::TypeCode_ptr _tc_ServerInformationList; + +class ServerInformationIterator; + +#if !defined (_IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONITERATOR___PTR_CH_) +#define _IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONITERATOR___PTR_CH_ + +typedef ServerInformationIterator *ServerInformationIterator_ptr; + +#endif /* end #if !defined */ + + +#if !defined (_IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONITERATOR___VAR_CH_) +#define _IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONITERATOR___VAR_CH_ + +class TAO_Export ServerInformationIterator_var +{ +public: + ServerInformationIterator_var (void); // default constructor + ServerInformationIterator_var (ServerInformationIterator_ptr); + ServerInformationIterator_var (const ServerInformationIterator_var &); // copy constructor + ~ServerInformationIterator_var (void); // destructor + + ServerInformationIterator_var &operator= (ServerInformationIterator_ptr); + ServerInformationIterator_var &operator= (const ServerInformationIterator_var &); + ServerInformationIterator_ptr operator-> (void) const; + + operator const ServerInformationIterator_ptr &() const; + operator ServerInformationIterator_ptr &(); + // in, inout, out, _retn + ServerInformationIterator_ptr in (void) const; + ServerInformationIterator_ptr &inout (void); + ServerInformationIterator_ptr &out (void); + ServerInformationIterator_ptr _retn (void); + ServerInformationIterator_ptr ptr (void) const; + +private: + ServerInformationIterator_ptr ptr_; +}; + + +#endif /* end #if !defined */ + + +#if !defined (_IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONITERATOR___OUT_CH_) +#define _IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONITERATOR___OUT_CH_ + +class TAO_Export ServerInformationIterator_out +{ +public: + ServerInformationIterator_out (ServerInformationIterator_ptr &); + ServerInformationIterator_out (ServerInformationIterator_var &); + ServerInformationIterator_out (const ServerInformationIterator_out &); + ServerInformationIterator_out &operator= (const ServerInformationIterator_out &); + ServerInformationIterator_out &operator= (const ServerInformationIterator_var &); + ServerInformationIterator_out &operator= (ServerInformationIterator_ptr); + operator ServerInformationIterator_ptr &(); + ServerInformationIterator_ptr &ptr (void); + ServerInformationIterator_ptr operator-> (void); + +private: + ServerInformationIterator_ptr &ptr_; +}; + + +#endif /* end #if !defined */ + + +#if !defined (_IMPLEMENTATIONREPOSITORY_ADMINISTRATION___PTR_CH_) +#define _IMPLEMENTATIONREPOSITORY_ADMINISTRATION___PTR_CH_ + +class Administration; +typedef Administration *Administration_ptr; + +#endif /* end #if !defined */ + + +#if !defined (_IMPLEMENTATIONREPOSITORY_ADMINISTRATION___VAR_CH_) +#define _IMPLEMENTATIONREPOSITORY_ADMINISTRATION___VAR_CH_ + +class TAO_Export Administration_var +{ +public: + Administration_var (void); // default constructor + Administration_var (Administration_ptr); + Administration_var (const Administration_var &); // copy constructor + ~Administration_var (void); // destructor + + Administration_var &operator= (Administration_ptr); + Administration_var &operator= (const Administration_var &); + Administration_ptr operator-> (void) const; + + operator const Administration_ptr &() const; + operator Administration_ptr &(); + // in, inout, out, _retn + Administration_ptr in (void) const; + Administration_ptr &inout (void); + Administration_ptr &out (void); + Administration_ptr _retn (void); + Administration_ptr ptr (void) const; + +private: + Administration_ptr ptr_; +}; + + +#endif /* end #if !defined */ + + +#if !defined (_IMPLEMENTATIONREPOSITORY_ADMINISTRATION___OUT_CH_) +#define _IMPLEMENTATIONREPOSITORY_ADMINISTRATION___OUT_CH_ + +class TAO_Export Administration_out +{ +public: + Administration_out (Administration_ptr &); + Administration_out (Administration_var &); + Administration_out (const Administration_out &); + Administration_out &operator= (const Administration_out &); + Administration_out &operator= (const Administration_var &); + Administration_out &operator= (Administration_ptr); + operator Administration_ptr &(); + Administration_ptr &ptr (void); + Administration_ptr operator-> (void); + +private: + Administration_ptr &ptr_; +}; + + +#endif /* end #if !defined */ + + +#if !defined (_IMPLEMENTATIONREPOSITORY_ADMINISTRATION_CH_) +#define _IMPLEMENTATIONREPOSITORY_ADMINISTRATION_CH_ + +class TAO_Export Administration : public virtual ACE_CORBA_1 (Object) +{ +public: +#if !defined(__GNUC__) || !defined (ACE_HAS_GNUG_PRE_2_8) + typedef Administration_ptr _ptr_type; + typedef Administration_var _var_type; +#endif /* ! __GNUC__ || g++ >= 2.8 */ + + // the static operations + static Administration_ptr _duplicate (Administration_ptr obj); + static Administration_ptr _narrow ( + CORBA::Object_ptr obj, + CORBA::Environment &env = + TAO_default_environment () + ); + static Administration_ptr _unchecked_narrow ( + CORBA::Object_ptr obj, + CORBA::Environment &env = + TAO_default_environment () + ); + static Administration_ptr _nil (void) + { + return (ImplementationRepository::Administration_ptr)0; + } + + +#if !defined (_IMPLEMENTATIONREPOSITORY_ADMINISTRATION_ALREADYREGISTERED___PTR_CH_) +#define _IMPLEMENTATIONREPOSITORY_ADMINISTRATION_ALREADYREGISTERED___PTR_CH_ + + class AlreadyRegistered; + typedef AlreadyRegistered *AlreadyRegistered_ptr; + +#endif /* end #if !defined */ + + +#if !defined (_IMPLEMENTATIONREPOSITORY_ADMINISTRATION_ALREADYREGISTERED_CH_) +#define _IMPLEMENTATIONREPOSITORY_ADMINISTRATION_ALREADYREGISTERED_CH_ + + class TAO_Export AlreadyRegistered : public CORBA::UserException + { + public: + +#if !defined(__GNUC__) || !defined (ACE_HAS_GNUG_PRE_2_8) + typedef AlreadyRegistered_ptr _ptr_type; +#endif /* ! __GNUC__ || g++ >= 2.8 */ + + + AlreadyRegistered (void); // default ctor + AlreadyRegistered (const AlreadyRegistered &); // copy ctor + ~AlreadyRegistered (void); // dtor + AlreadyRegistered &operator= (const AlreadyRegistered &); + + + virtual void _raise (void); + + static AlreadyRegistered *_narrow (CORBA::Exception *); + + + // = TAO extension + static CORBA::Exception *_alloc (void); + + }; // exception ImplementationRepository::Administration::AlreadyRegistered + + static CORBA::TypeCode_ptr _tc_AlreadyRegistered; + + +#endif /* end #if !defined */ + + +#if !defined (_IMPLEMENTATIONREPOSITORY_ADMINISTRATION_CANNOTACTIVATE___PTR_CH_) +#define _IMPLEMENTATIONREPOSITORY_ADMINISTRATION_CANNOTACTIVATE___PTR_CH_ + + class CannotActivate; + typedef CannotActivate *CannotActivate_ptr; + +#endif /* end #if !defined */ + + +#if !defined (_IMPLEMENTATIONREPOSITORY_ADMINISTRATION_CANNOTACTIVATE_CH_) +#define _IMPLEMENTATIONREPOSITORY_ADMINISTRATION_CANNOTACTIVATE_CH_ + + class TAO_Export CannotActivate : public CORBA::UserException + { + public: + +#if !defined(__GNUC__) || !defined (ACE_HAS_GNUG_PRE_2_8) + typedef CannotActivate_ptr _ptr_type; +#endif /* ! __GNUC__ || g++ >= 2.8 */ + + TAO_String_Manager reason; + + CannotActivate (void); // default ctor + CannotActivate (const CannotActivate &); // copy ctor + ~CannotActivate (void); // dtor + CannotActivate &operator= (const CannotActivate &); + + + virtual void _raise (void); + + static CannotActivate *_narrow (CORBA::Exception *); + + CannotActivate ( + const char * _tao_reason + ); + + // = TAO extension + static CORBA::Exception *_alloc (void); + + }; // exception ImplementationRepository::Administration::CannotActivate + + static CORBA::TypeCode_ptr _tc_CannotActivate; + + +#endif /* end #if !defined */ + + +#if !defined (_IMPLEMENTATIONREPOSITORY_ADMINISTRATION_NOTFOUND___PTR_CH_) +#define _IMPLEMENTATIONREPOSITORY_ADMINISTRATION_NOTFOUND___PTR_CH_ + + class NotFound; + typedef NotFound *NotFound_ptr; + +#endif /* end #if !defined */ + + +#if !defined (_IMPLEMENTATIONREPOSITORY_ADMINISTRATION_NOTFOUND_CH_) +#define _IMPLEMENTATIONREPOSITORY_ADMINISTRATION_NOTFOUND_CH_ + + class TAO_Export NotFound : public CORBA::UserException + { + public: + +#if !defined(__GNUC__) || !defined (ACE_HAS_GNUG_PRE_2_8) + typedef NotFound_ptr _ptr_type; +#endif /* ! __GNUC__ || g++ >= 2.8 */ + + + NotFound (void); // default ctor + NotFound (const NotFound &); // copy ctor + ~NotFound (void); // dtor + NotFound &operator= (const NotFound &); + + + virtual void _raise (void); + + static NotFound *_narrow (CORBA::Exception *); + + + // = TAO extension + static CORBA::Exception *_alloc (void); + + }; // exception ImplementationRepository::Administration::NotFound + + static CORBA::TypeCode_ptr _tc_NotFound; + + +#endif /* end #if !defined */ + + 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 + )); + + 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 + )); + + virtual void reregister_server ( + const char * server, + const ImplementationRepository::StartupOptions & options, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); + + virtual void remove_server ( + const char * server, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException, + ImplementationRepository::Administration::NotFound + )); + + virtual void shutdown_server ( + const char * server, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException, + ImplementationRepository::Administration::NotFound + )); + + 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 + )); + + 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 + )); + + 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 + )); + + 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 + )); + + virtual CORBA::Boolean _is_a ( + const CORBA::Char *type_id, + CORBA::Environment &env = + TAO_default_environment () + ); + virtual const char* _interface_repository_id (void) const; + +protected: + Administration (void); + Administration (TAO_Stub *objref, + TAO_ServantBase *_tao_servant = 0, + CORBA::Boolean _tao_collocated = 0 + ); + virtual ~Administration (void); +private: + Administration (const Administration &); + void operator= (const Administration &); +}; + +class TAO_ImplementationRepository_Administration_Default_Proxy_Factory +{ +public: + + TAO_ImplementationRepository_Administration_Default_Proxy_Factory (int register_proxy_factory = 1); + + virtual ~TAO_ImplementationRepository_Administration_Default_Proxy_Factory (void); + + virtual ImplementationRepository::Administration_ptr create_proxy ( + ImplementationRepository::Administration_ptr proxy, + CORBA::Environment &env = + TAO_default_environment () + ); +}; + +class TAO_ImplementationRepository_Administration_Proxy_Factory_Adapter +{ +public: + + friend class ACE_Singleton<TAO_ImplementationRepository_Administration_Proxy_Factory_Adapter, ACE_SYNCH_RECURSIVE_MUTEX>; + + int register_proxy_factory ( + TAO_ImplementationRepository_Administration_Default_Proxy_Factory *df, + CORBA::Environment &env = + TAO_default_environment () + ); + + int unregister_proxy_factory ( + CORBA::Environment &env = + TAO_default_environment () + ); + + ImplementationRepository::Administration_ptr create_proxy ( + ImplementationRepository::Administration_ptr proxy, + CORBA::Environment &env = + TAO_default_environment () + ); + +protected: + TAO_ImplementationRepository_Administration_Proxy_Factory_Adapter (void); + ~TAO_ImplementationRepository_Administration_Proxy_Factory_Adapter (void); + TAO_ImplementationRepository_Administration_Proxy_Factory_Adapter &operator= ( + const TAO_ImplementationRepository_Administration_Proxy_Factory_Adapter & + ); + TAO_ImplementationRepository_Administration_Default_Proxy_Factory *proxy_factory_; + int delete_proxy_factory_; + ACE_SYNCH_RECURSIVE_MUTEX lock_; + }; + + typedef ACE_Singleton<TAO_ImplementationRepository_Administration_Proxy_Factory_Adapter, ACE_SYNCH_RECURSIVE_MUTEX> TAO_ImplementationRepository_Administration_PROXY_FACTORY_ADAPTER; + class TAO_ImplementationRepository_Administration_Smart_Proxy_Base : public virtual ImplementationRepository::Administration + { + public: + TAO_ImplementationRepository_Administration_Smart_Proxy_Base (ImplementationRepository::Administration_ptr proxy); + ~TAO_ImplementationRepository_Administration_Smart_Proxy_Base (void); + 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 + )); + + 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 + )); + + virtual void reregister_server ( + const char * server, + const ImplementationRepository::StartupOptions & options, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); + + virtual void remove_server ( + const char * server, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException, + ImplementationRepository::Administration::NotFound + )); + + virtual void shutdown_server ( + const char * server, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException, + ImplementationRepository::Administration::NotFound + )); + + 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 + )); + + 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 + )); + + 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 + )); + + 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 + )); + +private: + ImplementationRepository::Administration_var base_proxy_; +}; + + +#endif /* end #if !defined */ + +TAO_NAMESPACE_STORAGE_CLASS CORBA::TypeCode_ptr _tc_Administration; + + +#if !defined (_IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONITERATOR___PTR_CH_) +#define _IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONITERATOR___PTR_CH_ + +class ServerInformationIterator; +typedef ServerInformationIterator *ServerInformationIterator_ptr; + +#endif /* end #if !defined */ + + +#if !defined (_IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONITERATOR___VAR_CH_) +#define _IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONITERATOR___VAR_CH_ + +class TAO_Export ServerInformationIterator_var +{ +public: + ServerInformationIterator_var (void); // default constructor + ServerInformationIterator_var (ServerInformationIterator_ptr); + ServerInformationIterator_var (const ServerInformationIterator_var &); // copy constructor + ~ServerInformationIterator_var (void); // destructor + + ServerInformationIterator_var &operator= (ServerInformationIterator_ptr); + ServerInformationIterator_var &operator= (const ServerInformationIterator_var &); + ServerInformationIterator_ptr operator-> (void) const; + + operator const ServerInformationIterator_ptr &() const; + operator ServerInformationIterator_ptr &(); + // in, inout, out, _retn + ServerInformationIterator_ptr in (void) const; + ServerInformationIterator_ptr &inout (void); + ServerInformationIterator_ptr &out (void); + ServerInformationIterator_ptr _retn (void); + ServerInformationIterator_ptr ptr (void) const; + +private: + ServerInformationIterator_ptr ptr_; +}; + + +#endif /* end #if !defined */ + + +#if !defined (_IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONITERATOR___OUT_CH_) +#define _IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONITERATOR___OUT_CH_ + +class TAO_Export ServerInformationIterator_out +{ +public: + ServerInformationIterator_out (ServerInformationIterator_ptr &); + ServerInformationIterator_out (ServerInformationIterator_var &); + ServerInformationIterator_out (const ServerInformationIterator_out &); + ServerInformationIterator_out &operator= (const ServerInformationIterator_out &); + ServerInformationIterator_out &operator= (const ServerInformationIterator_var &); + ServerInformationIterator_out &operator= (ServerInformationIterator_ptr); + operator ServerInformationIterator_ptr &(); + ServerInformationIterator_ptr &ptr (void); + ServerInformationIterator_ptr operator-> (void); + +private: + ServerInformationIterator_ptr &ptr_; +}; + + +#endif /* end #if !defined */ + + +#if !defined (_IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONITERATOR_CH_) +#define _IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONITERATOR_CH_ + +class TAO_Export ServerInformationIterator : public virtual ACE_CORBA_1 (Object) +{ +public: +#if !defined(__GNUC__) || !defined (ACE_HAS_GNUG_PRE_2_8) + typedef ServerInformationIterator_ptr _ptr_type; + typedef ServerInformationIterator_var _var_type; +#endif /* ! __GNUC__ || g++ >= 2.8 */ + + // the static operations + static ServerInformationIterator_ptr _duplicate (ServerInformationIterator_ptr obj); + static ServerInformationIterator_ptr _narrow ( + CORBA::Object_ptr obj, + CORBA::Environment &env = + TAO_default_environment () + ); + static ServerInformationIterator_ptr _unchecked_narrow ( + CORBA::Object_ptr obj, + CORBA::Environment &env = + TAO_default_environment () + ); + static ServerInformationIterator_ptr _nil (void) + { + return (ImplementationRepository::ServerInformationIterator_ptr)0; + } + + 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 + )); + + virtual void destroy ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); + + virtual CORBA::Boolean _is_a ( + const CORBA::Char *type_id, + CORBA::Environment &env = + TAO_default_environment () + ); + virtual const char* _interface_repository_id (void) const; + +protected: + ServerInformationIterator (void); + ServerInformationIterator (TAO_Stub *objref, + TAO_ServantBase *_tao_servant = 0, + CORBA::Boolean _tao_collocated = 0 + ); + virtual ~ServerInformationIterator (void); +private: + ServerInformationIterator (const ServerInformationIterator &); + void operator= (const ServerInformationIterator &); +}; + +class TAO_ImplementationRepository_ServerInformationIterator_Default_Proxy_Factory +{ +public: + + TAO_ImplementationRepository_ServerInformationIterator_Default_Proxy_Factory (int register_proxy_factory = 1); + + virtual ~TAO_ImplementationRepository_ServerInformationIterator_Default_Proxy_Factory (void); + + virtual ImplementationRepository::ServerInformationIterator_ptr create_proxy ( + ImplementationRepository::ServerInformationIterator_ptr proxy, + CORBA::Environment &env = + TAO_default_environment () + ); +}; + +class TAO_ImplementationRepository_ServerInformationIterator_Proxy_Factory_Adapter +{ +public: + + friend class ACE_Singleton<TAO_ImplementationRepository_ServerInformationIterator_Proxy_Factory_Adapter, ACE_SYNCH_RECURSIVE_MUTEX>; + + int register_proxy_factory ( + TAO_ImplementationRepository_ServerInformationIterator_Default_Proxy_Factory *df, + CORBA::Environment &env = + TAO_default_environment () + ); + + int unregister_proxy_factory ( + CORBA::Environment &env = + TAO_default_environment () + ); + + ImplementationRepository::ServerInformationIterator_ptr create_proxy ( + ImplementationRepository::ServerInformationIterator_ptr proxy, + CORBA::Environment &env = + TAO_default_environment () + ); + +protected: + TAO_ImplementationRepository_ServerInformationIterator_Proxy_Factory_Adapter (void); + ~TAO_ImplementationRepository_ServerInformationIterator_Proxy_Factory_Adapter (void); + TAO_ImplementationRepository_ServerInformationIterator_Proxy_Factory_Adapter &operator= ( + const TAO_ImplementationRepository_ServerInformationIterator_Proxy_Factory_Adapter & + ); + TAO_ImplementationRepository_ServerInformationIterator_Default_Proxy_Factory *proxy_factory_; + int delete_proxy_factory_; + ACE_SYNCH_RECURSIVE_MUTEX lock_; + }; + + typedef ACE_Singleton<TAO_ImplementationRepository_ServerInformationIterator_Proxy_Factory_Adapter, ACE_SYNCH_RECURSIVE_MUTEX> TAO_ImplementationRepository_ServerInformationIterator_PROXY_FACTORY_ADAPTER; + class TAO_ImplementationRepository_ServerInformationIterator_Smart_Proxy_Base : public virtual ImplementationRepository::ServerInformationIterator + { + public: + TAO_ImplementationRepository_ServerInformationIterator_Smart_Proxy_Base (ImplementationRepository::ServerInformationIterator_ptr proxy); + ~TAO_ImplementationRepository_ServerInformationIterator_Smart_Proxy_Base (void); + 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 + )); + + virtual void destroy ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); + +private: + ImplementationRepository::ServerInformationIterator_var base_proxy_; +}; + + +#endif /* end #if !defined */ + +TAO_NAMESPACE_STORAGE_CLASS CORBA::TypeCode_ptr _tc_ServerInformationIterator; + + +} +TAO_NAMESPACE_CLOSE // module ImplementationRepository + +extern TAO_Export ImplementationRepository::ServerObject_ptr (*_TAO_collocation_ImplementationRepository_ServerObject_Stub_Factory_function_pointer) ( + CORBA::Object_ptr obj + ); +// Any operators for interface ImplementationRepository::ServerObject +TAO_Export void operator<<= (CORBA::Any &, ImplementationRepository::ServerObject_ptr); +TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, ImplementationRepository::ServerObject *&); +TAO_Export void operator<<= (CORBA::Any &, const ImplementationRepository::EnvironmentVariable &); // copying version +TAO_Export void operator<<= (CORBA::Any &, ImplementationRepository::EnvironmentVariable*); // noncopying version +TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, ImplementationRepository::EnvironmentVariable *&); +TAO_Export void operator<<= (CORBA::Any &, const ImplementationRepository::EnvironmentList &); // copying version +TAO_Export void operator<<= (CORBA::Any &, ImplementationRepository::EnvironmentList*); // noncopying version +TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, ImplementationRepository::EnvironmentList *&); +TAO_Export void operator<<= (CORBA::Any &, ImplementationRepository::ActivationMode); +TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, ImplementationRepository::ActivationMode &); +TAO_Export void operator<<= (CORBA::Any &, const ImplementationRepository::StartupOptions &); // copying version +TAO_Export void operator<<= (CORBA::Any &, ImplementationRepository::StartupOptions*); // noncopying version +TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, ImplementationRepository::StartupOptions *&); +TAO_Export void operator<<= (CORBA::Any &, const ImplementationRepository::ServerInformation &); // copying version +TAO_Export void operator<<= (CORBA::Any &, ImplementationRepository::ServerInformation*); // noncopying version +TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, ImplementationRepository::ServerInformation *&); +TAO_Export void operator<<= (CORBA::Any &, const ImplementationRepository::ServerInformationList &); // copying version +TAO_Export void operator<<= (CORBA::Any &, ImplementationRepository::ServerInformationList*); // noncopying version +TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, ImplementationRepository::ServerInformationList *&); +extern TAO_Export ImplementationRepository::Administration_ptr (*_TAO_collocation_ImplementationRepository_Administration_Stub_Factory_function_pointer) ( + CORBA::Object_ptr obj + ); +// Any operators for interface ImplementationRepository::Administration +TAO_Export void operator<<= (CORBA::Any &, ImplementationRepository::Administration_ptr); +TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, ImplementationRepository::Administration *&); +TAO_Export void operator<<= (CORBA::Any &, const ImplementationRepository::Administration::AlreadyRegistered &); // copying version +TAO_Export void operator<<= (CORBA::Any &, ImplementationRepository::Administration::AlreadyRegistered*); // noncopying version +TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, ImplementationRepository::Administration::AlreadyRegistered *&); +TAO_Export void operator<<= (CORBA::Any &, const ImplementationRepository::Administration::CannotActivate &); // copying version +TAO_Export void operator<<= (CORBA::Any &, ImplementationRepository::Administration::CannotActivate*); // noncopying version +TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, ImplementationRepository::Administration::CannotActivate *&); +TAO_Export void operator<<= (CORBA::Any &, const ImplementationRepository::Administration::NotFound &); // copying version +TAO_Export void operator<<= (CORBA::Any &, ImplementationRepository::Administration::NotFound*); // noncopying version +TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, ImplementationRepository::Administration::NotFound *&); +extern TAO_Export ImplementationRepository::ServerInformationIterator_ptr (*_TAO_collocation_ImplementationRepository_ServerInformationIterator_Stub_Factory_function_pointer) ( + CORBA::Object_ptr obj + ); +// Any operators for interface ImplementationRepository::ServerInformationIterator +TAO_Export void operator<<= (CORBA::Any &, ImplementationRepository::ServerInformationIterator_ptr); +TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, ImplementationRepository::ServerInformationIterator *&); + +#ifndef __ACE_INLINE__ + +TAO_Export CORBA::Boolean +operator<< (TAO_OutputCDR &, const ImplementationRepository::ServerObject_ptr ); +TAO_Export CORBA::Boolean +operator>> (TAO_InputCDR &, ImplementationRepository::ServerObject_ptr &); +TAO_Export CORBA::Boolean operator<< (TAO_OutputCDR &, const ImplementationRepository::EnvironmentVariable &); +TAO_Export CORBA::Boolean operator>> (TAO_InputCDR &, ImplementationRepository::EnvironmentVariable &); + +#if !defined _TAO_CDR_OP_ImplementationRepository_EnvironmentList_H_ +#define _TAO_CDR_OP_ImplementationRepository_EnvironmentList_H_ + +TAO_Export CORBA::Boolean operator<< ( + TAO_OutputCDR &, + const ImplementationRepository::EnvironmentList & + ); +TAO_Export CORBA::Boolean operator>> ( + TAO_InputCDR &, + ImplementationRepository::EnvironmentList & + ); + +#endif /* _TAO_CDR_OP_ImplementationRepository_EnvironmentList_H_ */ + +TAO_Export CORBA::Boolean operator<< (TAO_OutputCDR &, const ImplementationRepository::ActivationMode &); // +TAO_Export CORBA::Boolean operator>> (TAO_InputCDR &, ImplementationRepository::ActivationMode &); +TAO_Export CORBA::Boolean operator<< (TAO_OutputCDR &, const ImplementationRepository::StartupOptions &); +TAO_Export CORBA::Boolean operator>> (TAO_InputCDR &, ImplementationRepository::StartupOptions &); +TAO_Export CORBA::Boolean operator<< (TAO_OutputCDR &, const ImplementationRepository::ServerInformation &); +TAO_Export CORBA::Boolean operator>> (TAO_InputCDR &, ImplementationRepository::ServerInformation &); + +#if !defined _TAO_CDR_OP_ImplementationRepository_ServerInformationList_H_ +#define _TAO_CDR_OP_ImplementationRepository_ServerInformationList_H_ + +TAO_Export CORBA::Boolean operator<< ( + TAO_OutputCDR &, + const ImplementationRepository::ServerInformationList & + ); +TAO_Export CORBA::Boolean operator>> ( + TAO_InputCDR &, + ImplementationRepository::ServerInformationList & + ); + +#endif /* _TAO_CDR_OP_ImplementationRepository_ServerInformationList_H_ */ + +TAO_Export CORBA::Boolean +operator<< (TAO_OutputCDR &, const ImplementationRepository::Administration_ptr ); +TAO_Export CORBA::Boolean +operator>> (TAO_InputCDR &, ImplementationRepository::Administration_ptr &); +TAO_Export CORBA::Boolean operator<< (TAO_OutputCDR &, const ImplementationRepository::Administration::AlreadyRegistered &); +TAO_Export CORBA::Boolean operator>> (TAO_InputCDR &, ImplementationRepository::Administration::AlreadyRegistered &); + +# if !defined (ACE_LACKS_IOSTREAM_TOTALLY) + +TAO_Export ostream& operator<< (ostream &, const ImplementationRepository::Administration::AlreadyRegistered &); + +# endif /* ACE_LACKS_IOSTREAM_TOTALLY */ +TAO_Export CORBA::Boolean operator<< (TAO_OutputCDR &, const ImplementationRepository::Administration::CannotActivate &); +TAO_Export CORBA::Boolean operator>> (TAO_InputCDR &, ImplementationRepository::Administration::CannotActivate &); + +# if !defined (ACE_LACKS_IOSTREAM_TOTALLY) + +TAO_Export ostream& operator<< (ostream &, const ImplementationRepository::Administration::CannotActivate &); + +# endif /* ACE_LACKS_IOSTREAM_TOTALLY */ +TAO_Export CORBA::Boolean operator<< (TAO_OutputCDR &, const ImplementationRepository::Administration::NotFound &); +TAO_Export CORBA::Boolean operator>> (TAO_InputCDR &, ImplementationRepository::Administration::NotFound &); + +# if !defined (ACE_LACKS_IOSTREAM_TOTALLY) + +TAO_Export ostream& operator<< (ostream &, const ImplementationRepository::Administration::NotFound &); + +# endif /* ACE_LACKS_IOSTREAM_TOTALLY */ +TAO_Export CORBA::Boolean +operator<< (TAO_OutputCDR &, const ImplementationRepository::ServerInformationIterator_ptr ); +TAO_Export CORBA::Boolean +operator>> (TAO_InputCDR &, ImplementationRepository::ServerInformationIterator_ptr &); + +#endif /* __ACE_INLINE__ */ + + +#if defined (__ACE_INLINE__) +#include "ImplRepoC.i" +#endif /* defined INLINE */ + +#if defined(_MSC_VER) && (_MSC_VER >= 1200) +#pragma warning(pop) +#endif /* _MSC_VER */ + +#endif /* ifndef */ diff --git a/TAO/tao/ImplRepoC.i b/TAO/tao/ImplRepoC.i new file mode 100644 index 00000000000..00d48a0cee4 --- /dev/null +++ b/TAO/tao/ImplRepoC.i @@ -0,0 +1,2239 @@ +/* -*- 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. +// +// Information about TAO is available at: +// http://www.cs.wustl.edu/~schmidt/TAO.html + +ACE_INLINE +ImplementationRepository::ServerObject::ServerObject (void) // default constructor +{} + +ACE_INLINE +ImplementationRepository::ServerObject::ServerObject (TAO_Stub *objref, TAO_ServantBase *_tao_servant, CORBA::Boolean _tao_collocated) // constructor + : CORBA_Object (objref, _tao_servant, _tao_collocated) +{} + +ACE_INLINE +ImplementationRepository::ServerObject::~ServerObject (void) // destructor +{} + + +#if !defined (_IMPLEMENTATIONREPOSITORY_SERVEROBJECT___VAR_CI_) +#define _IMPLEMENTATIONREPOSITORY_SERVEROBJECT___VAR_CI_ + +// ************************************************************* +// Inline operations for class ImplementationRepository::ServerObject_var +// ************************************************************* + +ACE_INLINE +ImplementationRepository::ServerObject_var::ServerObject_var (void) // default constructor + : ptr_ (ImplementationRepository::ServerObject::_nil ()) +{} + +ACE_INLINE +ImplementationRepository::ServerObject_var::ServerObject_var (ImplementationRepository::ServerObject_ptr p) + : ptr_ (p) +{} + +ACE_INLINE ImplementationRepository::ServerObject_ptr +ImplementationRepository::ServerObject_var::ptr (void) const +{ + return this->ptr_; +} + +ACE_INLINE +ImplementationRepository::ServerObject_var::ServerObject_var (const ImplementationRepository::ServerObject_var &p) // copy constructor + : ptr_ (ImplementationRepository::ServerObject::_duplicate (p.ptr ())) +{} + +ACE_INLINE +ImplementationRepository::ServerObject_var::~ServerObject_var (void) // destructor +{ + CORBA::release (this->ptr_); +} + +ACE_INLINE ImplementationRepository::ServerObject_var & +ImplementationRepository::ServerObject_var::operator= (ImplementationRepository::ServerObject_ptr p) +{ + CORBA::release (this->ptr_); + this->ptr_ = p; + return *this; +} + +ACE_INLINE ImplementationRepository::ServerObject_var & +ImplementationRepository::ServerObject_var::operator= (const ImplementationRepository::ServerObject_var &p) +{ + if (this != &p) + { + CORBA::release (this->ptr_); + this->ptr_ = ImplementationRepository::ServerObject::_duplicate (p.ptr ()); + } + return *this; +} + +ACE_INLINE +ImplementationRepository::ServerObject_var::operator const ImplementationRepository::ServerObject_ptr &() const // cast +{ + return this->ptr_; +} + +ACE_INLINE +ImplementationRepository::ServerObject_var::operator ImplementationRepository::ServerObject_ptr &() // cast +{ + return this->ptr_; +} + +ACE_INLINE ImplementationRepository::ServerObject_ptr +ImplementationRepository::ServerObject_var::operator-> (void) const +{ + return this->ptr_; +} + +ACE_INLINE ImplementationRepository::ServerObject_ptr +ImplementationRepository::ServerObject_var::in (void) const +{ + return this->ptr_; +} + +ACE_INLINE ImplementationRepository::ServerObject_ptr & +ImplementationRepository::ServerObject_var::inout (void) +{ + return this->ptr_; +} + +ACE_INLINE ImplementationRepository::ServerObject_ptr & +ImplementationRepository::ServerObject_var::out (void) +{ + CORBA::release (this->ptr_); + this->ptr_ = ImplementationRepository::ServerObject::_nil (); + return this->ptr_; +} + +ACE_INLINE ImplementationRepository::ServerObject_ptr +ImplementationRepository::ServerObject_var::_retn (void) +{ + // yield ownership of managed obj reference + ImplementationRepository::ServerObject_ptr val = this->ptr_; + this->ptr_ = ImplementationRepository::ServerObject::_nil (); + return val; +} + + +#endif /* end #if !defined */ + + +#if !defined (_IMPLEMENTATIONREPOSITORY_SERVEROBJECT___OUT_CI_) +#define _IMPLEMENTATIONREPOSITORY_SERVEROBJECT___OUT_CI_ + +// ************************************************************* +// Inline operations for class ImplementationRepository::ServerObject_out +// ************************************************************* + +ACE_INLINE +ImplementationRepository::ServerObject_out::ServerObject_out (ImplementationRepository::ServerObject_ptr &p) + : ptr_ (p) +{ + this->ptr_ = ImplementationRepository::ServerObject::_nil (); +} + +ACE_INLINE +ImplementationRepository::ServerObject_out::ServerObject_out (ImplementationRepository::ServerObject_var &p) // constructor from _var + : ptr_ (p.out ()) +{ + CORBA::release (this->ptr_); + this->ptr_ = ImplementationRepository::ServerObject::_nil (); +} + +ACE_INLINE +ImplementationRepository::ServerObject_out::ServerObject_out (const ImplementationRepository::ServerObject_out &p) // copy constructor + : ptr_ (ACE_const_cast (ImplementationRepository::ServerObject_out&,p).ptr_) +{} + +ACE_INLINE ImplementationRepository::ServerObject_out & +ImplementationRepository::ServerObject_out::operator= (const ImplementationRepository::ServerObject_out &p) +{ + this->ptr_ = ACE_const_cast (ImplementationRepository::ServerObject_out&,p).ptr_; + return *this; +} + +ACE_INLINE ImplementationRepository::ServerObject_out & +ImplementationRepository::ServerObject_out::operator= (const ImplementationRepository::ServerObject_var &p) +{ + this->ptr_ = ImplementationRepository::ServerObject::_duplicate (p.ptr ()); + return *this; +} + +ACE_INLINE ImplementationRepository::ServerObject_out & +ImplementationRepository::ServerObject_out::operator= (ImplementationRepository::ServerObject_ptr p) +{ + this->ptr_ = p; + return *this; +} + +ACE_INLINE +ImplementationRepository::ServerObject_out::operator ImplementationRepository::ServerObject_ptr &() // cast +{ + return this->ptr_; +} + +ACE_INLINE ImplementationRepository::ServerObject_ptr & +ImplementationRepository::ServerObject_out::ptr (void) // ptr +{ + return this->ptr_; +} + +ACE_INLINE ImplementationRepository::ServerObject_ptr +ImplementationRepository::ServerObject_out::operator-> (void) +{ + return this->ptr_; +} + + +#endif /* end #if !defined */ + +// ************************************************************* +// Inline operations for class ImplementationRepository::EnvironmentVariable_var +// ************************************************************* + +ACE_INLINE +ImplementationRepository::EnvironmentVariable_var::EnvironmentVariable_var (void) // default constructor + : ptr_ (0) +{} + +ACE_INLINE +ImplementationRepository::EnvironmentVariable_var::EnvironmentVariable_var (ImplementationRepository::EnvironmentVariable *p) + : ptr_ (p) +{} + +ACE_INLINE +ImplementationRepository::EnvironmentVariable_var::EnvironmentVariable_var (const ImplementationRepository::EnvironmentVariable_var &p) // copy constructor +{ + if (p.ptr_) + ACE_NEW (this->ptr_, ImplementationRepository::EnvironmentVariable (*p.ptr_)); + else + this->ptr_ = 0; +} + +ACE_INLINE +ImplementationRepository::EnvironmentVariable_var::~EnvironmentVariable_var (void) // destructor +{ + delete this->ptr_; +} + +ACE_INLINE ImplementationRepository::EnvironmentVariable_var & +ImplementationRepository::EnvironmentVariable_var::operator= (ImplementationRepository::EnvironmentVariable *p) +{ + delete this->ptr_; + this->ptr_ = p; + return *this; +} + +ACE_INLINE ImplementationRepository::EnvironmentVariable_var & +ImplementationRepository::EnvironmentVariable_var::operator= (const ImplementationRepository::EnvironmentVariable_var &p) +{ + if (this != &p) + { + delete this->ptr_; + ACE_NEW_RETURN (this->ptr_, ImplementationRepository::EnvironmentVariable (*p.ptr_), *this); + } + return *this; +} + +ACE_INLINE const ImplementationRepository::EnvironmentVariable * +ImplementationRepository::EnvironmentVariable_var::operator-> (void) const +{ + return this->ptr_; +} + +ACE_INLINE ImplementationRepository::EnvironmentVariable * +ImplementationRepository::EnvironmentVariable_var::operator-> (void) +{ + return this->ptr_; +} + +ACE_INLINE +ImplementationRepository::EnvironmentVariable_var::operator const ImplementationRepository::EnvironmentVariable &() const // cast +{ + return *this->ptr_; +} + +ACE_INLINE +ImplementationRepository::EnvironmentVariable_var::operator ImplementationRepository::EnvironmentVariable &() // cast +{ + return *this->ptr_; +} + +ACE_INLINE +ImplementationRepository::EnvironmentVariable_var::operator ImplementationRepository::EnvironmentVariable &() const// cast +{ + return *this->ptr_; +} + +ACE_INLINE const ImplementationRepository::EnvironmentVariable & +ImplementationRepository::EnvironmentVariable_var::in (void) const +{ + return *this->ptr_; +} + +ACE_INLINE ImplementationRepository::EnvironmentVariable & +ImplementationRepository::EnvironmentVariable_var::inout (void) +{ + return *this->ptr_; +} + +// mapping for variable size +ACE_INLINE ImplementationRepository::EnvironmentVariable *& +ImplementationRepository::EnvironmentVariable_var::out (void) +{ + delete this->ptr_; + this->ptr_ = 0; + return this->ptr_; +} + +ACE_INLINE ImplementationRepository::EnvironmentVariable * +ImplementationRepository::EnvironmentVariable_var::_retn (void) +{ + ImplementationRepository::EnvironmentVariable *tmp = this->ptr_; + this->ptr_ = 0; + return tmp; +} + +ACE_INLINE ImplementationRepository::EnvironmentVariable * +ImplementationRepository::EnvironmentVariable_var::ptr (void) const +{ + return this->ptr_; +} + +// ************************************************************* +// Inline operations for class ImplementationRepository::EnvironmentVariable_out +// ************************************************************* + +ACE_INLINE +ImplementationRepository::EnvironmentVariable_out::EnvironmentVariable_out (ImplementationRepository::EnvironmentVariable *&p) + : ptr_ (p) +{ + this->ptr_ = 0; +} + +ACE_INLINE +ImplementationRepository::EnvironmentVariable_out::EnvironmentVariable_out (ImplementationRepository::EnvironmentVariable_var &p) // constructor from _var + : ptr_ (p.out ()) +{ + delete this->ptr_; + this->ptr_ = 0; +} + +ACE_INLINE +ImplementationRepository::EnvironmentVariable_out::EnvironmentVariable_out (const ImplementationRepository::EnvironmentVariable_out &p) // copy constructor + : ptr_ (ACE_const_cast (ImplementationRepository::EnvironmentVariable_out&,p).ptr_) +{} + +ACE_INLINE ImplementationRepository::EnvironmentVariable_out & +ImplementationRepository::EnvironmentVariable_out::operator= (const ImplementationRepository::EnvironmentVariable_out &p) +{ + this->ptr_ = ACE_const_cast (ImplementationRepository::EnvironmentVariable_out&,p).ptr_; + return *this; +} + +ACE_INLINE ImplementationRepository::EnvironmentVariable_out & +ImplementationRepository::EnvironmentVariable_out::operator= (ImplementationRepository::EnvironmentVariable *p) +{ + this->ptr_ = p; + return *this; +} + +ACE_INLINE +ImplementationRepository::EnvironmentVariable_out::operator ImplementationRepository::EnvironmentVariable *&() // cast +{ + return this->ptr_; +} + +ACE_INLINE ImplementationRepository::EnvironmentVariable *& +ImplementationRepository::EnvironmentVariable_out::ptr (void) // ptr +{ + return this->ptr_; +} + +ACE_INLINE ImplementationRepository::EnvironmentVariable * +ImplementationRepository::EnvironmentVariable_out::operator-> (void) +{ + return this->ptr_; +} + + +#if !defined (TAO_USE_SEQUENCE_TEMPLATES) + +#if !defined (__TAO_UNBOUNDED_SEQUENCE_IMPLEMENTATIONREPOSITORY_ENVIRONMENTLIST_CI_) +#define __TAO_UNBOUNDED_SEQUENCE_IMPLEMENTATIONREPOSITORY_ENVIRONMENTLIST_CI_ + + // = Static operations. + ACE_INLINE ImplementationRepository::EnvironmentVariable * + ImplementationRepository::_TAO_Unbounded_Sequence_ImplementationRepository_EnvironmentList::allocbuf (CORBA::ULong size) + // Allocate storage for the sequence. + { + ImplementationRepository::EnvironmentVariable *retval = 0; + ACE_NEW_RETURN (retval, ImplementationRepository::EnvironmentVariable[size], 0); + return retval; + } + + ACE_INLINE void ImplementationRepository::_TAO_Unbounded_Sequence_ImplementationRepository_EnvironmentList::freebuf (ImplementationRepository::EnvironmentVariable *buffer) + // Free the sequence. + { + delete [] buffer; + } + + ACE_INLINE + ImplementationRepository::_TAO_Unbounded_Sequence_ImplementationRepository_EnvironmentList::_TAO_Unbounded_Sequence_ImplementationRepository_EnvironmentList (void) // Default constructor. + { + } + + ACE_INLINE + ImplementationRepository::_TAO_Unbounded_Sequence_ImplementationRepository_EnvironmentList::_TAO_Unbounded_Sequence_ImplementationRepository_EnvironmentList (CORBA::ULong maximum) // Constructor using a maximum length value. + : TAO_Unbounded_Base_Sequence (maximum, ImplementationRepository::_TAO_Unbounded_Sequence_ImplementationRepository_EnvironmentList::allocbuf (maximum)) + { + } + + ACE_INLINE + ImplementationRepository::_TAO_Unbounded_Sequence_ImplementationRepository_EnvironmentList::_TAO_Unbounded_Sequence_ImplementationRepository_EnvironmentList (CORBA::ULong maximum, + CORBA::ULong length, + ImplementationRepository::EnvironmentVariable *data, + CORBA::Boolean release) + : TAO_Unbounded_Base_Sequence (maximum, length, data, release) + { + } + + ACE_INLINE + ImplementationRepository::_TAO_Unbounded_Sequence_ImplementationRepository_EnvironmentList::_TAO_Unbounded_Sequence_ImplementationRepository_EnvironmentList (const ImplementationRepository::_TAO_Unbounded_Sequence_ImplementationRepository_EnvironmentList &rhs) + // Copy constructor. + : TAO_Unbounded_Base_Sequence (rhs) + { + if (rhs.buffer_ != 0) + { + ImplementationRepository::EnvironmentVariable *tmp1 = ImplementationRepository::_TAO_Unbounded_Sequence_ImplementationRepository_EnvironmentList::allocbuf (this->maximum_); + ImplementationRepository::EnvironmentVariable * const tmp2 = ACE_reinterpret_cast (ImplementationRepository::EnvironmentVariable * ACE_CAST_CONST, rhs.buffer_); + + for (CORBA::ULong i = 0; i < this->length_; ++i) + tmp1[i] = tmp2[i]; + + this->buffer_ = tmp1; + } + else + { + this->buffer_ = 0; + } + } + + ACE_INLINE ImplementationRepository::_TAO_Unbounded_Sequence_ImplementationRepository_EnvironmentList & + ImplementationRepository::_TAO_Unbounded_Sequence_ImplementationRepository_EnvironmentList::operator= (const ImplementationRepository::_TAO_Unbounded_Sequence_ImplementationRepository_EnvironmentList &rhs) + // Assignment operator. + { + if (this == &rhs) + return *this; + + if (this->release_) + { + if (this->maximum_ < rhs.maximum_) + { + // free the old buffer + ImplementationRepository::EnvironmentVariable *tmp = ACE_reinterpret_cast (ImplementationRepository::EnvironmentVariable *, this->buffer_); + ImplementationRepository::_TAO_Unbounded_Sequence_ImplementationRepository_EnvironmentList::freebuf (tmp); + this->buffer_ = ImplementationRepository::_TAO_Unbounded_Sequence_ImplementationRepository_EnvironmentList::allocbuf (rhs.maximum_); + } + } + else + this->buffer_ = ImplementationRepository::_TAO_Unbounded_Sequence_ImplementationRepository_EnvironmentList::allocbuf (rhs.maximum_); + + TAO_Unbounded_Base_Sequence::operator= (rhs); + + ImplementationRepository::EnvironmentVariable *tmp1 = ACE_reinterpret_cast (ImplementationRepository::EnvironmentVariable *, this->buffer_); + ImplementationRepository::EnvironmentVariable * const tmp2 = ACE_reinterpret_cast (ImplementationRepository::EnvironmentVariable * ACE_CAST_CONST, rhs.buffer_); + + for (CORBA::ULong i = 0; i < this->length_; ++i) + tmp1[i] = tmp2[i]; + + return *this; + } + + // = Accessors. + ACE_INLINE ImplementationRepository::EnvironmentVariable & + ImplementationRepository::_TAO_Unbounded_Sequence_ImplementationRepository_EnvironmentList::operator[] (CORBA::ULong i) + // operator [] + { + ACE_ASSERT (i < this->maximum_); + ImplementationRepository::EnvironmentVariable* tmp = ACE_reinterpret_cast(ImplementationRepository::EnvironmentVariable*,this->buffer_); + return tmp[i]; + } + + ACE_INLINE const ImplementationRepository::EnvironmentVariable & + ImplementationRepository::_TAO_Unbounded_Sequence_ImplementationRepository_EnvironmentList::operator[] (CORBA::ULong i) const + // operator [] + { + ACE_ASSERT (i < this->maximum_); + ImplementationRepository::EnvironmentVariable * const tmp = ACE_reinterpret_cast (ImplementationRepository::EnvironmentVariable* ACE_CAST_CONST, this->buffer_); + return tmp[i]; + } + + // Implement the TAO_Base_Sequence methods (see Sequence.h) + + ACE_INLINE ImplementationRepository::EnvironmentVariable * + ImplementationRepository::_TAO_Unbounded_Sequence_ImplementationRepository_EnvironmentList::get_buffer (CORBA::Boolean orphan) + { + ImplementationRepository::EnvironmentVariable *result = 0; + if (orphan == 0) + { + // We retain ownership. + if (this->buffer_ == 0) + { + result = ImplementationRepository::_TAO_Unbounded_Sequence_ImplementationRepository_EnvironmentList::allocbuf (this->length_); + this->buffer_ = result; + } + else + { + result = ACE_reinterpret_cast (ImplementationRepository::EnvironmentVariable*, this->buffer_); + } + } + else // if (orphan == 1) + { + if (this->release_ != 0) + { + // We set the state back to default and relinquish + // ownership. + result = ACE_reinterpret_cast(ImplementationRepository::EnvironmentVariable*,this->buffer_); + this->maximum_ = 0; + this->length_ = 0; + this->buffer_ = 0; + this->release_ = 0; + } + } + return result; + } + + ACE_INLINE const ImplementationRepository::EnvironmentVariable * + ImplementationRepository::_TAO_Unbounded_Sequence_ImplementationRepository_EnvironmentList::get_buffer (void) const + { + return ACE_reinterpret_cast(const ImplementationRepository::EnvironmentVariable * ACE_CAST_CONST, this->buffer_); + } + + ACE_INLINE void + ImplementationRepository::_TAO_Unbounded_Sequence_ImplementationRepository_EnvironmentList::replace (CORBA::ULong max, + CORBA::ULong length, + ImplementationRepository::EnvironmentVariable *data, + CORBA::Boolean release) + { + this->maximum_ = max; + this->length_ = length; + if (this->buffer_ && this->release_ == 1) + { + ImplementationRepository::EnvironmentVariable *tmp = ACE_reinterpret_cast(ImplementationRepository::EnvironmentVariable*,this->buffer_); + ImplementationRepository::_TAO_Unbounded_Sequence_ImplementationRepository_EnvironmentList::freebuf (tmp); + } + this->buffer_ = data; + this->release_ = release; + } + +#endif /* end #if !defined */ + + +#endif /* !TAO_USE_SEQUENCE_TEMPLATES */ + +#if !defined (_IMPLEMENTATIONREPOSITORY_ENVIRONMENTLIST_CI_) +#define _IMPLEMENTATIONREPOSITORY_ENVIRONMENTLIST_CI_ + +// ************************************************************* +// Inline operations for class ImplementationRepository::EnvironmentList_var +// ************************************************************* + +ACE_INLINE +ImplementationRepository::EnvironmentList_var::EnvironmentList_var (void) // default constructor + : ptr_ (0) +{} + +ACE_INLINE +ImplementationRepository::EnvironmentList_var::EnvironmentList_var (ImplementationRepository::EnvironmentList *p) + : ptr_ (p) +{} + +ACE_INLINE +ImplementationRepository::EnvironmentList_var::EnvironmentList_var (const ImplementationRepository::EnvironmentList_var &p) // copy constructor +{ + if (p.ptr_) + ACE_NEW (this->ptr_, ImplementationRepository::EnvironmentList (*p.ptr_)); + else + this->ptr_ = 0; +} + +ACE_INLINE +ImplementationRepository::EnvironmentList_var::~EnvironmentList_var (void) // destructor +{ + delete this->ptr_; +} + +ACE_INLINE ImplementationRepository::EnvironmentList_var & +ImplementationRepository::EnvironmentList_var::operator= (ImplementationRepository::EnvironmentList *p) +{ + delete this->ptr_; + this->ptr_ = p; + return *this; +} + +ACE_INLINE ImplementationRepository::EnvironmentList_var & +ImplementationRepository::EnvironmentList_var::operator= (const ImplementationRepository::EnvironmentList_var &p) // deep copy +{ + if (this != &p) + { + delete this->ptr_; + ACE_NEW_RETURN (this->ptr_, ImplementationRepository::EnvironmentList (*p.ptr_), *this); + } + return *this; +} + +ACE_INLINE const ImplementationRepository::EnvironmentList * +ImplementationRepository::EnvironmentList_var::operator-> (void) const +{ + return this->ptr_; +} + +ACE_INLINE ImplementationRepository::EnvironmentList * +ImplementationRepository::EnvironmentList_var::operator-> (void) +{ + return this->ptr_; +} + +ACE_INLINE +ImplementationRepository::EnvironmentList_var::operator const ImplementationRepository::EnvironmentList &() const // cast +{ + return *this->ptr_; +} + +ACE_INLINE +ImplementationRepository::EnvironmentList_var::operator ImplementationRepository::EnvironmentList &() // cast +{ + return *this->ptr_; +} + +ACE_INLINE +ImplementationRepository::EnvironmentList_var::operator ImplementationRepository::EnvironmentList &() const// cast +{ + return *this->ptr_; +} + +ACE_INLINE ImplementationRepository::EnvironmentVariable & +ImplementationRepository::EnvironmentList_var::operator[] (CORBA::ULong index) +{ + return this->ptr_->operator[] (index); +} + +ACE_INLINE const ImplementationRepository::EnvironmentList & +ImplementationRepository::EnvironmentList_var::in (void) const +{ + return *this->ptr_; +} + +ACE_INLINE ImplementationRepository::EnvironmentList & +ImplementationRepository::EnvironmentList_var::inout (void) +{ + return *this->ptr_; +} + +// mapping for variable size +ACE_INLINE ImplementationRepository::EnvironmentList *& +ImplementationRepository::EnvironmentList_var::out (void) +{ + delete this->ptr_; + this->ptr_ = 0; + return this->ptr_; +} + +ACE_INLINE ImplementationRepository::EnvironmentList * +ImplementationRepository::EnvironmentList_var::_retn (void) +{ + ImplementationRepository::EnvironmentList *tmp = this->ptr_; + this->ptr_ = 0; + return tmp; +} + +ACE_INLINE ImplementationRepository::EnvironmentList * +ImplementationRepository::EnvironmentList_var::ptr (void) const +{ + return this->ptr_; +} + +// ************************************************************* +// Inline operations for class ImplementationRepository::EnvironmentList_out +// ************************************************************* + +ACE_INLINE +ImplementationRepository::EnvironmentList_out::EnvironmentList_out (ImplementationRepository::EnvironmentList *&p) + : ptr_ (p) +{ + this->ptr_ = 0; +} + +ACE_INLINE +ImplementationRepository::EnvironmentList_out::EnvironmentList_out (ImplementationRepository::EnvironmentList_var &p) // constructor from _var + : ptr_ (p.out ()) +{ + delete this->ptr_; + this->ptr_ = 0; +} + +ACE_INLINE +ImplementationRepository::EnvironmentList_out::EnvironmentList_out (const ImplementationRepository::EnvironmentList_out &p) // copy constructor + : ptr_ (ACE_const_cast (ImplementationRepository::EnvironmentList_out&,p).ptr_) +{} + +ACE_INLINE ImplementationRepository::EnvironmentList_out & +ImplementationRepository::EnvironmentList_out::operator= (const ImplementationRepository::EnvironmentList_out &p) +{ + this->ptr_ = ACE_const_cast (ImplementationRepository::EnvironmentList_out&,p).ptr_; + return *this; +} + +ACE_INLINE ImplementationRepository::EnvironmentList_out & +ImplementationRepository::EnvironmentList_out::operator= (ImplementationRepository::EnvironmentList *p) +{ + this->ptr_ = p; + return *this; +} + +ACE_INLINE +ImplementationRepository::EnvironmentList_out::operator ImplementationRepository::EnvironmentList *&() // cast +{ + return this->ptr_; +} + +ACE_INLINE ImplementationRepository::EnvironmentList *& +ImplementationRepository::EnvironmentList_out::ptr (void) // ptr +{ + return this->ptr_; +} + +ACE_INLINE ImplementationRepository::EnvironmentList * +ImplementationRepository::EnvironmentList_out::operator-> (void) +{ + return this->ptr_; +} + +ACE_INLINE ImplementationRepository::EnvironmentVariable & +ImplementationRepository::EnvironmentList_out::operator[] (CORBA::ULong index) +{ + return this->ptr_->operator[] (index); +} + + +#endif /* end #if !defined */ + +// ************************************************************* +// Inline operations for class ImplementationRepository::StartupOptions_var +// ************************************************************* + +ACE_INLINE +ImplementationRepository::StartupOptions_var::StartupOptions_var (void) // default constructor + : ptr_ (0) +{} + +ACE_INLINE +ImplementationRepository::StartupOptions_var::StartupOptions_var (ImplementationRepository::StartupOptions *p) + : ptr_ (p) +{} + +ACE_INLINE +ImplementationRepository::StartupOptions_var::StartupOptions_var (const ImplementationRepository::StartupOptions_var &p) // copy constructor +{ + if (p.ptr_) + ACE_NEW (this->ptr_, ImplementationRepository::StartupOptions (*p.ptr_)); + else + this->ptr_ = 0; +} + +ACE_INLINE +ImplementationRepository::StartupOptions_var::~StartupOptions_var (void) // destructor +{ + delete this->ptr_; +} + +ACE_INLINE ImplementationRepository::StartupOptions_var & +ImplementationRepository::StartupOptions_var::operator= (ImplementationRepository::StartupOptions *p) +{ + delete this->ptr_; + this->ptr_ = p; + return *this; +} + +ACE_INLINE ImplementationRepository::StartupOptions_var & +ImplementationRepository::StartupOptions_var::operator= (const ImplementationRepository::StartupOptions_var &p) +{ + if (this != &p) + { + delete this->ptr_; + ACE_NEW_RETURN (this->ptr_, ImplementationRepository::StartupOptions (*p.ptr_), *this); + } + return *this; +} + +ACE_INLINE const ImplementationRepository::StartupOptions * +ImplementationRepository::StartupOptions_var::operator-> (void) const +{ + return this->ptr_; +} + +ACE_INLINE ImplementationRepository::StartupOptions * +ImplementationRepository::StartupOptions_var::operator-> (void) +{ + return this->ptr_; +} + +ACE_INLINE +ImplementationRepository::StartupOptions_var::operator const ImplementationRepository::StartupOptions &() const // cast +{ + return *this->ptr_; +} + +ACE_INLINE +ImplementationRepository::StartupOptions_var::operator ImplementationRepository::StartupOptions &() // cast +{ + return *this->ptr_; +} + +ACE_INLINE +ImplementationRepository::StartupOptions_var::operator ImplementationRepository::StartupOptions &() const// cast +{ + return *this->ptr_; +} + +ACE_INLINE const ImplementationRepository::StartupOptions & +ImplementationRepository::StartupOptions_var::in (void) const +{ + return *this->ptr_; +} + +ACE_INLINE ImplementationRepository::StartupOptions & +ImplementationRepository::StartupOptions_var::inout (void) +{ + return *this->ptr_; +} + +// mapping for variable size +ACE_INLINE ImplementationRepository::StartupOptions *& +ImplementationRepository::StartupOptions_var::out (void) +{ + delete this->ptr_; + this->ptr_ = 0; + return this->ptr_; +} + +ACE_INLINE ImplementationRepository::StartupOptions * +ImplementationRepository::StartupOptions_var::_retn (void) +{ + ImplementationRepository::StartupOptions *tmp = this->ptr_; + this->ptr_ = 0; + return tmp; +} + +ACE_INLINE ImplementationRepository::StartupOptions * +ImplementationRepository::StartupOptions_var::ptr (void) const +{ + return this->ptr_; +} + +// ************************************************************* +// Inline operations for class ImplementationRepository::StartupOptions_out +// ************************************************************* + +ACE_INLINE +ImplementationRepository::StartupOptions_out::StartupOptions_out (ImplementationRepository::StartupOptions *&p) + : ptr_ (p) +{ + this->ptr_ = 0; +} + +ACE_INLINE +ImplementationRepository::StartupOptions_out::StartupOptions_out (ImplementationRepository::StartupOptions_var &p) // constructor from _var + : ptr_ (p.out ()) +{ + delete this->ptr_; + this->ptr_ = 0; +} + +ACE_INLINE +ImplementationRepository::StartupOptions_out::StartupOptions_out (const ImplementationRepository::StartupOptions_out &p) // copy constructor + : ptr_ (ACE_const_cast (ImplementationRepository::StartupOptions_out&,p).ptr_) +{} + +ACE_INLINE ImplementationRepository::StartupOptions_out & +ImplementationRepository::StartupOptions_out::operator= (const ImplementationRepository::StartupOptions_out &p) +{ + this->ptr_ = ACE_const_cast (ImplementationRepository::StartupOptions_out&,p).ptr_; + return *this; +} + +ACE_INLINE ImplementationRepository::StartupOptions_out & +ImplementationRepository::StartupOptions_out::operator= (ImplementationRepository::StartupOptions *p) +{ + this->ptr_ = p; + return *this; +} + +ACE_INLINE +ImplementationRepository::StartupOptions_out::operator ImplementationRepository::StartupOptions *&() // cast +{ + return this->ptr_; +} + +ACE_INLINE ImplementationRepository::StartupOptions *& +ImplementationRepository::StartupOptions_out::ptr (void) // ptr +{ + return this->ptr_; +} + +ACE_INLINE ImplementationRepository::StartupOptions * +ImplementationRepository::StartupOptions_out::operator-> (void) +{ + return this->ptr_; +} + +// ************************************************************* +// Inline operations for class ImplementationRepository::ServerInformation_var +// ************************************************************* + +ACE_INLINE +ImplementationRepository::ServerInformation_var::ServerInformation_var (void) // default constructor + : ptr_ (0) +{} + +ACE_INLINE +ImplementationRepository::ServerInformation_var::ServerInformation_var (ImplementationRepository::ServerInformation *p) + : ptr_ (p) +{} + +ACE_INLINE +ImplementationRepository::ServerInformation_var::ServerInformation_var (const ImplementationRepository::ServerInformation_var &p) // copy constructor +{ + if (p.ptr_) + ACE_NEW (this->ptr_, ImplementationRepository::ServerInformation (*p.ptr_)); + else + this->ptr_ = 0; +} + +ACE_INLINE +ImplementationRepository::ServerInformation_var::~ServerInformation_var (void) // destructor +{ + delete this->ptr_; +} + +ACE_INLINE ImplementationRepository::ServerInformation_var & +ImplementationRepository::ServerInformation_var::operator= (ImplementationRepository::ServerInformation *p) +{ + delete this->ptr_; + this->ptr_ = p; + return *this; +} + +ACE_INLINE ImplementationRepository::ServerInformation_var & +ImplementationRepository::ServerInformation_var::operator= (const ImplementationRepository::ServerInformation_var &p) +{ + if (this != &p) + { + delete this->ptr_; + ACE_NEW_RETURN (this->ptr_, ImplementationRepository::ServerInformation (*p.ptr_), *this); + } + return *this; +} + +ACE_INLINE const ImplementationRepository::ServerInformation * +ImplementationRepository::ServerInformation_var::operator-> (void) const +{ + return this->ptr_; +} + +ACE_INLINE ImplementationRepository::ServerInformation * +ImplementationRepository::ServerInformation_var::operator-> (void) +{ + return this->ptr_; +} + +ACE_INLINE +ImplementationRepository::ServerInformation_var::operator const ImplementationRepository::ServerInformation &() const // cast +{ + return *this->ptr_; +} + +ACE_INLINE +ImplementationRepository::ServerInformation_var::operator ImplementationRepository::ServerInformation &() // cast +{ + return *this->ptr_; +} + +ACE_INLINE +ImplementationRepository::ServerInformation_var::operator ImplementationRepository::ServerInformation &() const// cast +{ + return *this->ptr_; +} + +ACE_INLINE const ImplementationRepository::ServerInformation & +ImplementationRepository::ServerInformation_var::in (void) const +{ + return *this->ptr_; +} + +ACE_INLINE ImplementationRepository::ServerInformation & +ImplementationRepository::ServerInformation_var::inout (void) +{ + return *this->ptr_; +} + +// mapping for variable size +ACE_INLINE ImplementationRepository::ServerInformation *& +ImplementationRepository::ServerInformation_var::out (void) +{ + delete this->ptr_; + this->ptr_ = 0; + return this->ptr_; +} + +ACE_INLINE ImplementationRepository::ServerInformation * +ImplementationRepository::ServerInformation_var::_retn (void) +{ + ImplementationRepository::ServerInformation *tmp = this->ptr_; + this->ptr_ = 0; + return tmp; +} + +ACE_INLINE ImplementationRepository::ServerInformation * +ImplementationRepository::ServerInformation_var::ptr (void) const +{ + return this->ptr_; +} + +// ************************************************************* +// Inline operations for class ImplementationRepository::ServerInformation_out +// ************************************************************* + +ACE_INLINE +ImplementationRepository::ServerInformation_out::ServerInformation_out (ImplementationRepository::ServerInformation *&p) + : ptr_ (p) +{ + this->ptr_ = 0; +} + +ACE_INLINE +ImplementationRepository::ServerInformation_out::ServerInformation_out (ImplementationRepository::ServerInformation_var &p) // constructor from _var + : ptr_ (p.out ()) +{ + delete this->ptr_; + this->ptr_ = 0; +} + +ACE_INLINE +ImplementationRepository::ServerInformation_out::ServerInformation_out (const ImplementationRepository::ServerInformation_out &p) // copy constructor + : ptr_ (ACE_const_cast (ImplementationRepository::ServerInformation_out&,p).ptr_) +{} + +ACE_INLINE ImplementationRepository::ServerInformation_out & +ImplementationRepository::ServerInformation_out::operator= (const ImplementationRepository::ServerInformation_out &p) +{ + this->ptr_ = ACE_const_cast (ImplementationRepository::ServerInformation_out&,p).ptr_; + return *this; +} + +ACE_INLINE ImplementationRepository::ServerInformation_out & +ImplementationRepository::ServerInformation_out::operator= (ImplementationRepository::ServerInformation *p) +{ + this->ptr_ = p; + return *this; +} + +ACE_INLINE +ImplementationRepository::ServerInformation_out::operator ImplementationRepository::ServerInformation *&() // cast +{ + return this->ptr_; +} + +ACE_INLINE ImplementationRepository::ServerInformation *& +ImplementationRepository::ServerInformation_out::ptr (void) // ptr +{ + return this->ptr_; +} + +ACE_INLINE ImplementationRepository::ServerInformation * +ImplementationRepository::ServerInformation_out::operator-> (void) +{ + return this->ptr_; +} + + +#if !defined (TAO_USE_SEQUENCE_TEMPLATES) + +#if !defined (__TAO_UNBOUNDED_SEQUENCE_IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONLIST_CI_) +#define __TAO_UNBOUNDED_SEQUENCE_IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONLIST_CI_ + + // = Static operations. + ACE_INLINE ImplementationRepository::ServerInformation * + ImplementationRepository::_TAO_Unbounded_Sequence_ImplementationRepository_ServerInformationList::allocbuf (CORBA::ULong size) + // Allocate storage for the sequence. + { + ImplementationRepository::ServerInformation *retval = 0; + ACE_NEW_RETURN (retval, ImplementationRepository::ServerInformation[size], 0); + return retval; + } + + ACE_INLINE void ImplementationRepository::_TAO_Unbounded_Sequence_ImplementationRepository_ServerInformationList::freebuf (ImplementationRepository::ServerInformation *buffer) + // Free the sequence. + { + delete [] buffer; + } + + ACE_INLINE + ImplementationRepository::_TAO_Unbounded_Sequence_ImplementationRepository_ServerInformationList::_TAO_Unbounded_Sequence_ImplementationRepository_ServerInformationList (void) // Default constructor. + { + } + + ACE_INLINE + ImplementationRepository::_TAO_Unbounded_Sequence_ImplementationRepository_ServerInformationList::_TAO_Unbounded_Sequence_ImplementationRepository_ServerInformationList (CORBA::ULong maximum) // Constructor using a maximum length value. + : TAO_Unbounded_Base_Sequence (maximum, ImplementationRepository::_TAO_Unbounded_Sequence_ImplementationRepository_ServerInformationList::allocbuf (maximum)) + { + } + + ACE_INLINE + ImplementationRepository::_TAO_Unbounded_Sequence_ImplementationRepository_ServerInformationList::_TAO_Unbounded_Sequence_ImplementationRepository_ServerInformationList (CORBA::ULong maximum, + CORBA::ULong length, + ImplementationRepository::ServerInformation *data, + CORBA::Boolean release) + : TAO_Unbounded_Base_Sequence (maximum, length, data, release) + { + } + + ACE_INLINE + ImplementationRepository::_TAO_Unbounded_Sequence_ImplementationRepository_ServerInformationList::_TAO_Unbounded_Sequence_ImplementationRepository_ServerInformationList (const ImplementationRepository::_TAO_Unbounded_Sequence_ImplementationRepository_ServerInformationList &rhs) + // Copy constructor. + : TAO_Unbounded_Base_Sequence (rhs) + { + if (rhs.buffer_ != 0) + { + ImplementationRepository::ServerInformation *tmp1 = ImplementationRepository::_TAO_Unbounded_Sequence_ImplementationRepository_ServerInformationList::allocbuf (this->maximum_); + ImplementationRepository::ServerInformation * const tmp2 = ACE_reinterpret_cast (ImplementationRepository::ServerInformation * ACE_CAST_CONST, rhs.buffer_); + + for (CORBA::ULong i = 0; i < this->length_; ++i) + tmp1[i] = tmp2[i]; + + this->buffer_ = tmp1; + } + else + { + this->buffer_ = 0; + } + } + + ACE_INLINE ImplementationRepository::_TAO_Unbounded_Sequence_ImplementationRepository_ServerInformationList & + ImplementationRepository::_TAO_Unbounded_Sequence_ImplementationRepository_ServerInformationList::operator= (const ImplementationRepository::_TAO_Unbounded_Sequence_ImplementationRepository_ServerInformationList &rhs) + // Assignment operator. + { + if (this == &rhs) + return *this; + + if (this->release_) + { + if (this->maximum_ < rhs.maximum_) + { + // free the old buffer + ImplementationRepository::ServerInformation *tmp = ACE_reinterpret_cast (ImplementationRepository::ServerInformation *, this->buffer_); + ImplementationRepository::_TAO_Unbounded_Sequence_ImplementationRepository_ServerInformationList::freebuf (tmp); + this->buffer_ = ImplementationRepository::_TAO_Unbounded_Sequence_ImplementationRepository_ServerInformationList::allocbuf (rhs.maximum_); + } + } + else + this->buffer_ = ImplementationRepository::_TAO_Unbounded_Sequence_ImplementationRepository_ServerInformationList::allocbuf (rhs.maximum_); + + TAO_Unbounded_Base_Sequence::operator= (rhs); + + ImplementationRepository::ServerInformation *tmp1 = ACE_reinterpret_cast (ImplementationRepository::ServerInformation *, this->buffer_); + ImplementationRepository::ServerInformation * const tmp2 = ACE_reinterpret_cast (ImplementationRepository::ServerInformation * ACE_CAST_CONST, rhs.buffer_); + + for (CORBA::ULong i = 0; i < this->length_; ++i) + tmp1[i] = tmp2[i]; + + return *this; + } + + // = Accessors. + ACE_INLINE ImplementationRepository::ServerInformation & + ImplementationRepository::_TAO_Unbounded_Sequence_ImplementationRepository_ServerInformationList::operator[] (CORBA::ULong i) + // operator [] + { + ACE_ASSERT (i < this->maximum_); + ImplementationRepository::ServerInformation* tmp = ACE_reinterpret_cast(ImplementationRepository::ServerInformation*,this->buffer_); + return tmp[i]; + } + + ACE_INLINE const ImplementationRepository::ServerInformation & + ImplementationRepository::_TAO_Unbounded_Sequence_ImplementationRepository_ServerInformationList::operator[] (CORBA::ULong i) const + // operator [] + { + ACE_ASSERT (i < this->maximum_); + ImplementationRepository::ServerInformation * const tmp = ACE_reinterpret_cast (ImplementationRepository::ServerInformation* ACE_CAST_CONST, this->buffer_); + return tmp[i]; + } + + // Implement the TAO_Base_Sequence methods (see Sequence.h) + + ACE_INLINE ImplementationRepository::ServerInformation * + ImplementationRepository::_TAO_Unbounded_Sequence_ImplementationRepository_ServerInformationList::get_buffer (CORBA::Boolean orphan) + { + ImplementationRepository::ServerInformation *result = 0; + if (orphan == 0) + { + // We retain ownership. + if (this->buffer_ == 0) + { + result = ImplementationRepository::_TAO_Unbounded_Sequence_ImplementationRepository_ServerInformationList::allocbuf (this->length_); + this->buffer_ = result; + } + else + { + result = ACE_reinterpret_cast (ImplementationRepository::ServerInformation*, this->buffer_); + } + } + else // if (orphan == 1) + { + if (this->release_ != 0) + { + // We set the state back to default and relinquish + // ownership. + result = ACE_reinterpret_cast(ImplementationRepository::ServerInformation*,this->buffer_); + this->maximum_ = 0; + this->length_ = 0; + this->buffer_ = 0; + this->release_ = 0; + } + } + return result; + } + + ACE_INLINE const ImplementationRepository::ServerInformation * + ImplementationRepository::_TAO_Unbounded_Sequence_ImplementationRepository_ServerInformationList::get_buffer (void) const + { + return ACE_reinterpret_cast(const ImplementationRepository::ServerInformation * ACE_CAST_CONST, this->buffer_); + } + + ACE_INLINE void + ImplementationRepository::_TAO_Unbounded_Sequence_ImplementationRepository_ServerInformationList::replace (CORBA::ULong max, + CORBA::ULong length, + ImplementationRepository::ServerInformation *data, + CORBA::Boolean release) + { + this->maximum_ = max; + this->length_ = length; + if (this->buffer_ && this->release_ == 1) + { + ImplementationRepository::ServerInformation *tmp = ACE_reinterpret_cast(ImplementationRepository::ServerInformation*,this->buffer_); + ImplementationRepository::_TAO_Unbounded_Sequence_ImplementationRepository_ServerInformationList::freebuf (tmp); + } + this->buffer_ = data; + this->release_ = release; + } + +#endif /* end #if !defined */ + + +#endif /* !TAO_USE_SEQUENCE_TEMPLATES */ + +#if !defined (_IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONLIST_CI_) +#define _IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONLIST_CI_ + +// ************************************************************* +// Inline operations for class ImplementationRepository::ServerInformationList_var +// ************************************************************* + +ACE_INLINE +ImplementationRepository::ServerInformationList_var::ServerInformationList_var (void) // default constructor + : ptr_ (0) +{} + +ACE_INLINE +ImplementationRepository::ServerInformationList_var::ServerInformationList_var (ImplementationRepository::ServerInformationList *p) + : ptr_ (p) +{} + +ACE_INLINE +ImplementationRepository::ServerInformationList_var::ServerInformationList_var (const ImplementationRepository::ServerInformationList_var &p) // copy constructor +{ + if (p.ptr_) + ACE_NEW (this->ptr_, ImplementationRepository::ServerInformationList (*p.ptr_)); + else + this->ptr_ = 0; +} + +ACE_INLINE +ImplementationRepository::ServerInformationList_var::~ServerInformationList_var (void) // destructor +{ + delete this->ptr_; +} + +ACE_INLINE ImplementationRepository::ServerInformationList_var & +ImplementationRepository::ServerInformationList_var::operator= (ImplementationRepository::ServerInformationList *p) +{ + delete this->ptr_; + this->ptr_ = p; + return *this; +} + +ACE_INLINE ImplementationRepository::ServerInformationList_var & +ImplementationRepository::ServerInformationList_var::operator= (const ImplementationRepository::ServerInformationList_var &p) // deep copy +{ + if (this != &p) + { + delete this->ptr_; + ACE_NEW_RETURN (this->ptr_, ImplementationRepository::ServerInformationList (*p.ptr_), *this); + } + return *this; +} + +ACE_INLINE const ImplementationRepository::ServerInformationList * +ImplementationRepository::ServerInformationList_var::operator-> (void) const +{ + return this->ptr_; +} + +ACE_INLINE ImplementationRepository::ServerInformationList * +ImplementationRepository::ServerInformationList_var::operator-> (void) +{ + return this->ptr_; +} + +ACE_INLINE +ImplementationRepository::ServerInformationList_var::operator const ImplementationRepository::ServerInformationList &() const // cast +{ + return *this->ptr_; +} + +ACE_INLINE +ImplementationRepository::ServerInformationList_var::operator ImplementationRepository::ServerInformationList &() // cast +{ + return *this->ptr_; +} + +ACE_INLINE +ImplementationRepository::ServerInformationList_var::operator ImplementationRepository::ServerInformationList &() const// cast +{ + return *this->ptr_; +} + +ACE_INLINE ImplementationRepository::ServerInformation & +ImplementationRepository::ServerInformationList_var::operator[] (CORBA::ULong index) +{ + return this->ptr_->operator[] (index); +} + +ACE_INLINE const ImplementationRepository::ServerInformationList & +ImplementationRepository::ServerInformationList_var::in (void) const +{ + return *this->ptr_; +} + +ACE_INLINE ImplementationRepository::ServerInformationList & +ImplementationRepository::ServerInformationList_var::inout (void) +{ + return *this->ptr_; +} + +// mapping for variable size +ACE_INLINE ImplementationRepository::ServerInformationList *& +ImplementationRepository::ServerInformationList_var::out (void) +{ + delete this->ptr_; + this->ptr_ = 0; + return this->ptr_; +} + +ACE_INLINE ImplementationRepository::ServerInformationList * +ImplementationRepository::ServerInformationList_var::_retn (void) +{ + ImplementationRepository::ServerInformationList *tmp = this->ptr_; + this->ptr_ = 0; + return tmp; +} + +ACE_INLINE ImplementationRepository::ServerInformationList * +ImplementationRepository::ServerInformationList_var::ptr (void) const +{ + return this->ptr_; +} + +// ************************************************************* +// Inline operations for class ImplementationRepository::ServerInformationList_out +// ************************************************************* + +ACE_INLINE +ImplementationRepository::ServerInformationList_out::ServerInformationList_out (ImplementationRepository::ServerInformationList *&p) + : ptr_ (p) +{ + this->ptr_ = 0; +} + +ACE_INLINE +ImplementationRepository::ServerInformationList_out::ServerInformationList_out (ImplementationRepository::ServerInformationList_var &p) // constructor from _var + : ptr_ (p.out ()) +{ + delete this->ptr_; + this->ptr_ = 0; +} + +ACE_INLINE +ImplementationRepository::ServerInformationList_out::ServerInformationList_out (const ImplementationRepository::ServerInformationList_out &p) // copy constructor + : ptr_ (ACE_const_cast (ImplementationRepository::ServerInformationList_out&,p).ptr_) +{} + +ACE_INLINE ImplementationRepository::ServerInformationList_out & +ImplementationRepository::ServerInformationList_out::operator= (const ImplementationRepository::ServerInformationList_out &p) +{ + this->ptr_ = ACE_const_cast (ImplementationRepository::ServerInformationList_out&,p).ptr_; + return *this; +} + +ACE_INLINE ImplementationRepository::ServerInformationList_out & +ImplementationRepository::ServerInformationList_out::operator= (ImplementationRepository::ServerInformationList *p) +{ + this->ptr_ = p; + return *this; +} + +ACE_INLINE +ImplementationRepository::ServerInformationList_out::operator ImplementationRepository::ServerInformationList *&() // cast +{ + return this->ptr_; +} + +ACE_INLINE ImplementationRepository::ServerInformationList *& +ImplementationRepository::ServerInformationList_out::ptr (void) // ptr +{ + return this->ptr_; +} + +ACE_INLINE ImplementationRepository::ServerInformationList * +ImplementationRepository::ServerInformationList_out::operator-> (void) +{ + return this->ptr_; +} + +ACE_INLINE ImplementationRepository::ServerInformation & +ImplementationRepository::ServerInformationList_out::operator[] (CORBA::ULong index) +{ + return this->ptr_->operator[] (index); +} + + +#endif /* end #if !defined */ + +ACE_INLINE +ImplementationRepository::Administration::Administration (void) // default constructor +{} + +ACE_INLINE +ImplementationRepository::Administration::Administration (TAO_Stub *objref, TAO_ServantBase *_tao_servant, CORBA::Boolean _tao_collocated) // constructor + : CORBA_Object (objref, _tao_servant, _tao_collocated) +{} + +ACE_INLINE +ImplementationRepository::Administration::~Administration (void) // destructor +{} + + +#if !defined (_IMPLEMENTATIONREPOSITORY_ADMINISTRATION___VAR_CI_) +#define _IMPLEMENTATIONREPOSITORY_ADMINISTRATION___VAR_CI_ + +// ************************************************************* +// Inline operations for class ImplementationRepository::Administration_var +// ************************************************************* + +ACE_INLINE +ImplementationRepository::Administration_var::Administration_var (void) // default constructor + : ptr_ (ImplementationRepository::Administration::_nil ()) +{} + +ACE_INLINE +ImplementationRepository::Administration_var::Administration_var (ImplementationRepository::Administration_ptr p) + : ptr_ (p) +{} + +ACE_INLINE ImplementationRepository::Administration_ptr +ImplementationRepository::Administration_var::ptr (void) const +{ + return this->ptr_; +} + +ACE_INLINE +ImplementationRepository::Administration_var::Administration_var (const ImplementationRepository::Administration_var &p) // copy constructor + : ptr_ (ImplementationRepository::Administration::_duplicate (p.ptr ())) +{} + +ACE_INLINE +ImplementationRepository::Administration_var::~Administration_var (void) // destructor +{ + CORBA::release (this->ptr_); +} + +ACE_INLINE ImplementationRepository::Administration_var & +ImplementationRepository::Administration_var::operator= (ImplementationRepository::Administration_ptr p) +{ + CORBA::release (this->ptr_); + this->ptr_ = p; + return *this; +} + +ACE_INLINE ImplementationRepository::Administration_var & +ImplementationRepository::Administration_var::operator= (const ImplementationRepository::Administration_var &p) +{ + if (this != &p) + { + CORBA::release (this->ptr_); + this->ptr_ = ImplementationRepository::Administration::_duplicate (p.ptr ()); + } + return *this; +} + +ACE_INLINE +ImplementationRepository::Administration_var::operator const ImplementationRepository::Administration_ptr &() const // cast +{ + return this->ptr_; +} + +ACE_INLINE +ImplementationRepository::Administration_var::operator ImplementationRepository::Administration_ptr &() // cast +{ + return this->ptr_; +} + +ACE_INLINE ImplementationRepository::Administration_ptr +ImplementationRepository::Administration_var::operator-> (void) const +{ + return this->ptr_; +} + +ACE_INLINE ImplementationRepository::Administration_ptr +ImplementationRepository::Administration_var::in (void) const +{ + return this->ptr_; +} + +ACE_INLINE ImplementationRepository::Administration_ptr & +ImplementationRepository::Administration_var::inout (void) +{ + return this->ptr_; +} + +ACE_INLINE ImplementationRepository::Administration_ptr & +ImplementationRepository::Administration_var::out (void) +{ + CORBA::release (this->ptr_); + this->ptr_ = ImplementationRepository::Administration::_nil (); + return this->ptr_; +} + +ACE_INLINE ImplementationRepository::Administration_ptr +ImplementationRepository::Administration_var::_retn (void) +{ + // yield ownership of managed obj reference + ImplementationRepository::Administration_ptr val = this->ptr_; + this->ptr_ = ImplementationRepository::Administration::_nil (); + return val; +} + + +#endif /* end #if !defined */ + + +#if !defined (_IMPLEMENTATIONREPOSITORY_ADMINISTRATION___OUT_CI_) +#define _IMPLEMENTATIONREPOSITORY_ADMINISTRATION___OUT_CI_ + +// ************************************************************* +// Inline operations for class ImplementationRepository::Administration_out +// ************************************************************* + +ACE_INLINE +ImplementationRepository::Administration_out::Administration_out (ImplementationRepository::Administration_ptr &p) + : ptr_ (p) +{ + this->ptr_ = ImplementationRepository::Administration::_nil (); +} + +ACE_INLINE +ImplementationRepository::Administration_out::Administration_out (ImplementationRepository::Administration_var &p) // constructor from _var + : ptr_ (p.out ()) +{ + CORBA::release (this->ptr_); + this->ptr_ = ImplementationRepository::Administration::_nil (); +} + +ACE_INLINE +ImplementationRepository::Administration_out::Administration_out (const ImplementationRepository::Administration_out &p) // copy constructor + : ptr_ (ACE_const_cast (ImplementationRepository::Administration_out&,p).ptr_) +{} + +ACE_INLINE ImplementationRepository::Administration_out & +ImplementationRepository::Administration_out::operator= (const ImplementationRepository::Administration_out &p) +{ + this->ptr_ = ACE_const_cast (ImplementationRepository::Administration_out&,p).ptr_; + return *this; +} + +ACE_INLINE ImplementationRepository::Administration_out & +ImplementationRepository::Administration_out::operator= (const ImplementationRepository::Administration_var &p) +{ + this->ptr_ = ImplementationRepository::Administration::_duplicate (p.ptr ()); + return *this; +} + +ACE_INLINE ImplementationRepository::Administration_out & +ImplementationRepository::Administration_out::operator= (ImplementationRepository::Administration_ptr p) +{ + this->ptr_ = p; + return *this; +} + +ACE_INLINE +ImplementationRepository::Administration_out::operator ImplementationRepository::Administration_ptr &() // cast +{ + return this->ptr_; +} + +ACE_INLINE ImplementationRepository::Administration_ptr & +ImplementationRepository::Administration_out::ptr (void) // ptr +{ + return this->ptr_; +} + +ACE_INLINE ImplementationRepository::Administration_ptr +ImplementationRepository::Administration_out::operator-> (void) +{ + return this->ptr_; +} + + +#endif /* end #if !defined */ + +// ************************************************************* +// Inline operations for exception ImplementationRepository::Administration::AlreadyRegistered +// ************************************************************* + +// ************************************************************* +// Inline operations for exception ImplementationRepository::Administration::CannotActivate +// ************************************************************* + +// ************************************************************* +// Inline operations for exception ImplementationRepository::Administration::NotFound +// ************************************************************* + +ACE_INLINE +ImplementationRepository::ServerInformationIterator::ServerInformationIterator (void) // default constructor +{} + +ACE_INLINE +ImplementationRepository::ServerInformationIterator::ServerInformationIterator (TAO_Stub *objref, TAO_ServantBase *_tao_servant, CORBA::Boolean _tao_collocated) // constructor + : CORBA_Object (objref, _tao_servant, _tao_collocated) +{} + +ACE_INLINE +ImplementationRepository::ServerInformationIterator::~ServerInformationIterator (void) // destructor +{} + + +#if !defined (_IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONITERATOR___VAR_CI_) +#define _IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONITERATOR___VAR_CI_ + +// ************************************************************* +// Inline operations for class ImplementationRepository::ServerInformationIterator_var +// ************************************************************* + +ACE_INLINE +ImplementationRepository::ServerInformationIterator_var::ServerInformationIterator_var (void) // default constructor + : ptr_ (ImplementationRepository::ServerInformationIterator::_nil ()) +{} + +ACE_INLINE +ImplementationRepository::ServerInformationIterator_var::ServerInformationIterator_var (ImplementationRepository::ServerInformationIterator_ptr p) + : ptr_ (p) +{} + +ACE_INLINE ImplementationRepository::ServerInformationIterator_ptr +ImplementationRepository::ServerInformationIterator_var::ptr (void) const +{ + return this->ptr_; +} + +ACE_INLINE +ImplementationRepository::ServerInformationIterator_var::ServerInformationIterator_var (const ImplementationRepository::ServerInformationIterator_var &p) // copy constructor + : ptr_ (ImplementationRepository::ServerInformationIterator::_duplicate (p.ptr ())) +{} + +ACE_INLINE +ImplementationRepository::ServerInformationIterator_var::~ServerInformationIterator_var (void) // destructor +{ + CORBA::release (this->ptr_); +} + +ACE_INLINE ImplementationRepository::ServerInformationIterator_var & +ImplementationRepository::ServerInformationIterator_var::operator= (ImplementationRepository::ServerInformationIterator_ptr p) +{ + CORBA::release (this->ptr_); + this->ptr_ = p; + return *this; +} + +ACE_INLINE ImplementationRepository::ServerInformationIterator_var & +ImplementationRepository::ServerInformationIterator_var::operator= (const ImplementationRepository::ServerInformationIterator_var &p) +{ + if (this != &p) + { + CORBA::release (this->ptr_); + this->ptr_ = ImplementationRepository::ServerInformationIterator::_duplicate (p.ptr ()); + } + return *this; +} + +ACE_INLINE +ImplementationRepository::ServerInformationIterator_var::operator const ImplementationRepository::ServerInformationIterator_ptr &() const // cast +{ + return this->ptr_; +} + +ACE_INLINE +ImplementationRepository::ServerInformationIterator_var::operator ImplementationRepository::ServerInformationIterator_ptr &() // cast +{ + return this->ptr_; +} + +ACE_INLINE ImplementationRepository::ServerInformationIterator_ptr +ImplementationRepository::ServerInformationIterator_var::operator-> (void) const +{ + return this->ptr_; +} + +ACE_INLINE ImplementationRepository::ServerInformationIterator_ptr +ImplementationRepository::ServerInformationIterator_var::in (void) const +{ + return this->ptr_; +} + +ACE_INLINE ImplementationRepository::ServerInformationIterator_ptr & +ImplementationRepository::ServerInformationIterator_var::inout (void) +{ + return this->ptr_; +} + +ACE_INLINE ImplementationRepository::ServerInformationIterator_ptr & +ImplementationRepository::ServerInformationIterator_var::out (void) +{ + CORBA::release (this->ptr_); + this->ptr_ = ImplementationRepository::ServerInformationIterator::_nil (); + return this->ptr_; +} + +ACE_INLINE ImplementationRepository::ServerInformationIterator_ptr +ImplementationRepository::ServerInformationIterator_var::_retn (void) +{ + // yield ownership of managed obj reference + ImplementationRepository::ServerInformationIterator_ptr val = this->ptr_; + this->ptr_ = ImplementationRepository::ServerInformationIterator::_nil (); + return val; +} + + +#endif /* end #if !defined */ + + +#if !defined (_IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONITERATOR___OUT_CI_) +#define _IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONITERATOR___OUT_CI_ + +// ************************************************************* +// Inline operations for class ImplementationRepository::ServerInformationIterator_out +// ************************************************************* + +ACE_INLINE +ImplementationRepository::ServerInformationIterator_out::ServerInformationIterator_out (ImplementationRepository::ServerInformationIterator_ptr &p) + : ptr_ (p) +{ + this->ptr_ = ImplementationRepository::ServerInformationIterator::_nil (); +} + +ACE_INLINE +ImplementationRepository::ServerInformationIterator_out::ServerInformationIterator_out (ImplementationRepository::ServerInformationIterator_var &p) // constructor from _var + : ptr_ (p.out ()) +{ + CORBA::release (this->ptr_); + this->ptr_ = ImplementationRepository::ServerInformationIterator::_nil (); +} + +ACE_INLINE +ImplementationRepository::ServerInformationIterator_out::ServerInformationIterator_out (const ImplementationRepository::ServerInformationIterator_out &p) // copy constructor + : ptr_ (ACE_const_cast (ImplementationRepository::ServerInformationIterator_out&,p).ptr_) +{} + +ACE_INLINE ImplementationRepository::ServerInformationIterator_out & +ImplementationRepository::ServerInformationIterator_out::operator= (const ImplementationRepository::ServerInformationIterator_out &p) +{ + this->ptr_ = ACE_const_cast (ImplementationRepository::ServerInformationIterator_out&,p).ptr_; + return *this; +} + +ACE_INLINE ImplementationRepository::ServerInformationIterator_out & +ImplementationRepository::ServerInformationIterator_out::operator= (const ImplementationRepository::ServerInformationIterator_var &p) +{ + this->ptr_ = ImplementationRepository::ServerInformationIterator::_duplicate (p.ptr ()); + return *this; +} + +ACE_INLINE ImplementationRepository::ServerInformationIterator_out & +ImplementationRepository::ServerInformationIterator_out::operator= (ImplementationRepository::ServerInformationIterator_ptr p) +{ + this->ptr_ = p; + return *this; +} + +ACE_INLINE +ImplementationRepository::ServerInformationIterator_out::operator ImplementationRepository::ServerInformationIterator_ptr &() // cast +{ + return this->ptr_; +} + +ACE_INLINE ImplementationRepository::ServerInformationIterator_ptr & +ImplementationRepository::ServerInformationIterator_out::ptr (void) // ptr +{ + return this->ptr_; +} + +ACE_INLINE ImplementationRepository::ServerInformationIterator_ptr +ImplementationRepository::ServerInformationIterator_out::operator-> (void) +{ + return this->ptr_; +} + + +#endif /* end #if !defined */ + +ACE_INLINE CORBA::Boolean +operator<< ( + TAO_OutputCDR &, + const ImplementationRepository::ServerObject_ptr + ); +ACE_INLINE CORBA::Boolean +operator>> ( + TAO_InputCDR &, + ImplementationRepository::ServerObject_ptr & + ); + +ACE_INLINE CORBA::Boolean +operator<< ( + TAO_OutputCDR &strm, + const ImplementationRepository::ServerObject_ptr _tao_objref + ) +{ + CORBA::Object_ptr _tao_corba_obj = _tao_objref; + return (strm << _tao_corba_obj); +} + +ACE_INLINE CORBA::Boolean +operator>> ( + TAO_InputCDR &strm, + ImplementationRepository::ServerObject_ptr &_tao_objref + ) +{ + ACE_TRY_NEW_ENV + { + CORBA::Object_var obj; + if ((strm >> obj.inout ()) == 0) + return 0; + // narrow to the right type + _tao_objref = + ImplementationRepository::ServerObject::_narrow ( + obj.in (), + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + return 1; + } + ACE_CATCHANY + { + // do nothing + } + ACE_ENDTRY; + return 0; +} + +ACE_INLINE CORBA::Boolean operator<< (TAO_OutputCDR &strm, const ImplementationRepository::EnvironmentVariable &_tao_aggregate) +{ + if ( + (strm << _tao_aggregate.name.in ()) && + (strm << _tao_aggregate.value.in ()) + ) + return 1; + else + return 0; + +} + +ACE_INLINE CORBA::Boolean operator>> (TAO_InputCDR &strm, ImplementationRepository::EnvironmentVariable &_tao_aggregate) +{ + if ( + (strm >> _tao_aggregate.name.out ()) && + (strm >> _tao_aggregate.value.out ()) + ) + return 1; + else + return 0; + +} + + +#if !defined _TAO_CDR_OP_ImplementationRepository_EnvironmentList_I_ +#define _TAO_CDR_OP_ImplementationRepository_EnvironmentList_I_ + +CORBA::Boolean TAO_Export operator<< ( + TAO_OutputCDR &, + const ImplementationRepository::EnvironmentList & + ); +CORBA::Boolean TAO_Export operator>> ( + TAO_InputCDR &, + ImplementationRepository::EnvironmentList & + ); + +#endif /* _TAO_CDR_OP_ImplementationRepository_EnvironmentList_I_ */ + +ACE_INLINE CORBA::Boolean operator<< (TAO_OutputCDR &strm, const ImplementationRepository::ActivationMode &_tao_enumval) +{ + return strm.write_ulong ((CORBA::ULong) _tao_enumval); +} + +ACE_INLINE CORBA::Boolean operator>> (TAO_InputCDR &strm, ImplementationRepository::ActivationMode &_tao_enumval) +{ + CORBA::ULong _tao_temp; + if (strm.read_ulong (_tao_temp)) + { + ACE_OS::memcpy (&_tao_enumval, &_tao_temp, sizeof (CORBA::ULong)); + return 1; + } + else + return 0; +} + +ACE_INLINE CORBA::Boolean operator<< (TAO_OutputCDR &strm, const ImplementationRepository::StartupOptions &_tao_aggregate) +{ + if ( + (strm << _tao_aggregate.command_line.in ()) && + (strm << _tao_aggregate.environment) && + (strm << _tao_aggregate.working_directory.in ()) && + (strm << _tao_aggregate.activation) + ) + return 1; + else + return 0; + +} + +ACE_INLINE CORBA::Boolean operator>> (TAO_InputCDR &strm, ImplementationRepository::StartupOptions &_tao_aggregate) +{ + if ( + (strm >> _tao_aggregate.command_line.out ()) && + (strm >> _tao_aggregate.environment) && + (strm >> _tao_aggregate.working_directory.out ()) && + (strm >> _tao_aggregate.activation) + ) + return 1; + else + return 0; + +} + +ACE_INLINE CORBA::Boolean operator<< (TAO_OutputCDR &strm, const ImplementationRepository::ServerInformation &_tao_aggregate) +{ + if ( + (strm << _tao_aggregate.logical_server.in ()) && + (strm << _tao_aggregate.server.in ()) && + (strm << _tao_aggregate.startup) && + (strm << _tao_aggregate.location.in ()) + ) + return 1; + else + return 0; + +} + +ACE_INLINE CORBA::Boolean operator>> (TAO_InputCDR &strm, ImplementationRepository::ServerInformation &_tao_aggregate) +{ + if ( + (strm >> _tao_aggregate.logical_server.out ()) && + (strm >> _tao_aggregate.server.out ()) && + (strm >> _tao_aggregate.startup) && + (strm >> _tao_aggregate.location.out ()) + ) + return 1; + else + return 0; + +} + + +#if !defined _TAO_CDR_OP_ImplementationRepository_ServerInformationList_I_ +#define _TAO_CDR_OP_ImplementationRepository_ServerInformationList_I_ + +CORBA::Boolean TAO_Export operator<< ( + TAO_OutputCDR &, + const ImplementationRepository::ServerInformationList & + ); +CORBA::Boolean TAO_Export operator>> ( + TAO_InputCDR &, + ImplementationRepository::ServerInformationList & + ); + +#endif /* _TAO_CDR_OP_ImplementationRepository_ServerInformationList_I_ */ + +ACE_INLINE CORBA::Boolean +operator<< ( + TAO_OutputCDR &, + const ImplementationRepository::ServerInformationIterator_ptr + ); +ACE_INLINE CORBA::Boolean +operator>> ( + TAO_InputCDR &, + ImplementationRepository::ServerInformationIterator_ptr & + ); +ACE_INLINE CORBA::Boolean +operator<< ( + TAO_OutputCDR &, + const ImplementationRepository::Administration_ptr + ); +ACE_INLINE CORBA::Boolean +operator>> ( + TAO_InputCDR &, + ImplementationRepository::Administration_ptr & + ); + +ACE_INLINE CORBA::Boolean operator<< (TAO_OutputCDR &strm, const ImplementationRepository::Administration::AlreadyRegistered &_tao_aggregate) +{ + // first marshal the repository ID + if (strm << _tao_aggregate._id ()) + return 1; + else + return 0; +} + +ACE_INLINE CORBA::Boolean operator>> (TAO_InputCDR &strm, ImplementationRepository::Administration::AlreadyRegistered &_tao_aggregate) +{ + // retrieve RepoID and verify if we are of that type + char *_tao_repoID; + if ((strm >> _tao_repoID) && + (_tao_aggregate._is_a (_tao_repoID))) + { + return 1; + } + else + return 0; +} + +#if !defined (ACE_LACKS_IOSTREAM_TOTALLY) + +ACE_INLINE +ostream & operator<< (ostream &os, const ImplementationRepository::Administration::AlreadyRegistered &_tao_aggregate) +{ + CORBA::TypeCode_ptr tc = _tao_aggregate._type (); + if (tc) + { + os << tc->name () << " ("; + } + os << _tao_aggregate._id (); + if (tc) + { + os << ")"; + } + return os; +} + +#endif /* ACE_LACKS_IOSTREAM_TOTALLY */ + +ACE_INLINE CORBA::Boolean operator<< (TAO_OutputCDR &strm, const ImplementationRepository::Administration::CannotActivate &_tao_aggregate) +{ + // first marshal the repository ID + if (strm << _tao_aggregate._id ()) + { + // now marshal the members (if any) + if ( + (strm << _tao_aggregate.reason.in ()) + ) + return 1; + else + return 0; + } + else + return 0; +} + +ACE_INLINE CORBA::Boolean operator>> (TAO_InputCDR &strm, ImplementationRepository::Administration::CannotActivate &_tao_aggregate) +{ + // retrieve RepoID and verify if we are of that type + char *_tao_repoID; + if ((strm >> _tao_repoID) && + (_tao_aggregate._is_a (_tao_repoID))) + { + // now marshal the members + if ( + (strm >> _tao_aggregate.reason.out ()) + ) + return 1; + else + return 0; + } + else + return 0; +} + +#if !defined (ACE_LACKS_IOSTREAM_TOTALLY) + +ACE_INLINE +ostream & operator<< (ostream &os, const ImplementationRepository::Administration::CannotActivate &_tao_aggregate) +{ + CORBA::TypeCode_ptr tc = _tao_aggregate._type (); + if (tc) + { + os << tc->name () << " ("; + } + os << _tao_aggregate._id (); + if (tc) + { + os << ")"; + } + return os; +} + +#endif /* ACE_LACKS_IOSTREAM_TOTALLY */ + +ACE_INLINE CORBA::Boolean operator<< (TAO_OutputCDR &strm, const ImplementationRepository::Administration::NotFound &_tao_aggregate) +{ + // first marshal the repository ID + if (strm << _tao_aggregate._id ()) + return 1; + else + return 0; +} + +ACE_INLINE CORBA::Boolean operator>> (TAO_InputCDR &strm, ImplementationRepository::Administration::NotFound &_tao_aggregate) +{ + // retrieve RepoID and verify if we are of that type + char *_tao_repoID; + if ((strm >> _tao_repoID) && + (_tao_aggregate._is_a (_tao_repoID))) + { + return 1; + } + else + return 0; +} + +#if !defined (ACE_LACKS_IOSTREAM_TOTALLY) + +ACE_INLINE +ostream & operator<< (ostream &os, const ImplementationRepository::Administration::NotFound &_tao_aggregate) +{ + CORBA::TypeCode_ptr tc = _tao_aggregate._type (); + if (tc) + { + os << tc->name () << " ("; + } + os << _tao_aggregate._id (); + if (tc) + { + os << ")"; + } + return os; +} + +#endif /* ACE_LACKS_IOSTREAM_TOTALLY */ + +ACE_INLINE CORBA::Boolean +operator<< ( + TAO_OutputCDR &strm, + const ImplementationRepository::Administration_ptr _tao_objref + ) +{ + CORBA::Object_ptr _tao_corba_obj = _tao_objref; + return (strm << _tao_corba_obj); +} + +ACE_INLINE CORBA::Boolean +operator>> ( + TAO_InputCDR &strm, + ImplementationRepository::Administration_ptr &_tao_objref + ) +{ + ACE_TRY_NEW_ENV + { + CORBA::Object_var obj; + if ((strm >> obj.inout ()) == 0) + return 0; + // narrow to the right type + _tao_objref = + ImplementationRepository::Administration::_narrow ( + obj.in (), + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + return 1; + } + ACE_CATCHANY + { + // do nothing + } + ACE_ENDTRY; + return 0; +} + +ACE_INLINE CORBA::Boolean +operator<< ( + TAO_OutputCDR &, + const ImplementationRepository::ServerInformationIterator_ptr + ); +ACE_INLINE CORBA::Boolean +operator>> ( + TAO_InputCDR &, + ImplementationRepository::ServerInformationIterator_ptr & + ); + +ACE_INLINE CORBA::Boolean +operator<< ( + TAO_OutputCDR &strm, + const ImplementationRepository::ServerInformationIterator_ptr _tao_objref + ) +{ + CORBA::Object_ptr _tao_corba_obj = _tao_objref; + return (strm << _tao_corba_obj); +} + +ACE_INLINE CORBA::Boolean +operator>> ( + TAO_InputCDR &strm, + ImplementationRepository::ServerInformationIterator_ptr &_tao_objref + ) +{ + ACE_TRY_NEW_ENV + { + CORBA::Object_var obj; + if ((strm >> obj.inout ()) == 0) + return 0; + // narrow to the right type + _tao_objref = + ImplementationRepository::ServerInformationIterator::_narrow ( + obj.in (), + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + return 1; + } + ACE_CATCHANY + { + // do nothing + } + ACE_ENDTRY; + return 0; +} + diff --git a/TAO/tao/ImplRepoS.cpp b/TAO/tao/ImplRepoS.cpp new file mode 100644 index 00000000000..6aa24408240 --- /dev/null +++ b/TAO/tao/ImplRepoS.cpp @@ -0,0 +1,2586 @@ +/* -*- 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. +// +// Information about TAO is available at: +// http://www.cs.wustl.edu/~schmidt/TAO.html + +#include "ImplRepoS.h" + +#if !defined (__ACE_INLINE__) +#include "ImplRepoS.i" +#endif /* !defined INLINE */ + +class TAO_ImplementationRepository_ServerObject_Perfect_Hash_OpTable : public TAO_Perfect_Hash_OpTable +{ +private: + unsigned int hash (const char *str, unsigned int len); +public: + const TAO_operation_db_entry * lookup (const char *str, unsigned int len); +}; +/* starting time is 3:08:21 */ +/* C++ code produced by gperf version 2.8 (ACE version) */ +/* Command-line: gperf -m -M -J -c -C -D -E -T -f 0 -F 0 -a -o -t -p -K opname_ -L C++ -Z TAO_ImplementationRepository_ServerObject_Perfect_Hash_OpTable -N lookup */ +unsigned int +TAO_ImplementationRepository_ServerObject_Perfect_Hash_OpTable::hash (const char *str, unsigned int len) +{ + static const unsigned char asso_values[] = + { +#if defined (ACE_MVS) + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, + 14, 14, 14, 14, 14, 0, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, + 14, 0, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 0, 0, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, +#else + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 0, 14, 0, 14, 14, + 14, 14, 14, 0, 14, 14, 14, 14, 14, 14, + 0, 14, 0, 14, 14, 0, 0, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, +#endif /* ACE_MVS */ + }; + return len + asso_values[str[len - 1]] + asso_values[str[0]]; +} + +const class TAO_operation_db_entry * +TAO_ImplementationRepository_ServerObject_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len) +{ + enum + { + TOTAL_KEYWORDS = 4, + MIN_WORD_LENGTH = 4, + MAX_WORD_LENGTH = 13, + MIN_HASH_VALUE = 4, + MAX_HASH_VALUE = 13, + HASH_VALUE_RANGE = 10, + DUPLICATES = 0 + }; + + static const class TAO_operation_db_entry wordlist[] = + { + {"",0},{"",0},{"",0},{"",0}, + {"ping", &POA_ImplementationRepository::ServerObject::ping_skel}, + {"_is_a", &POA_ImplementationRepository::ServerObject::_is_a_skel}, + {"",0},{"",0}, + {"shutdown", &POA_ImplementationRepository::ServerObject::shutdown_skel}, + {"",0},{"",0},{"",0},{"",0}, + {"_non_existent", &POA_ImplementationRepository::ServerObject::_non_existent_skel}, + }; + + if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) + { + unsigned int key = hash (str, len); + + if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE) + { + const char *s = wordlist[key].opname_; + + if (*str == *s && !strncmp (str + 1, s + 1, len - 1)) + return &wordlist[key]; + } + } + return 0; +} +/* ending time is 3:08:21 */ +static TAO_ImplementationRepository_ServerObject_Perfect_Hash_OpTable tao_ImplementationRepository_ServerObject_optable; + +ImplementationRepository::ServerObject_ptr _TAO_collocation_POA_ImplementationRepository_ServerObject_Stub_Factory ( + CORBA::Object_ptr obj + ) +{ + TAO_Stub *stub = obj->_stubobj (); + + switch (stub->servant_orb_var ()->orb_core ()->get_collocation_strategy ()) + { + case TAO_ORB_Core::THRU_POA: + { + ImplementationRepository::ServerObject_ptr retval = 0; + ACE_NEW_RETURN ( + retval, + POA_ImplementationRepository::_tao_thru_poa_collocated_ServerObject (stub), + 0 + ); + return retval; + } + case TAO_ORB_Core::DIRECT: + break; + default: + break; + } + return 0; +} + +int _TAO_collocation_POA_ImplementationRepository_ServerObject_Stub_Factory_Initializer (long dummy) +{ + ACE_UNUSED_ARG (dummy); + + _TAO_collocation_ImplementationRepository_ServerObject_Stub_Factory_function_pointer = + _TAO_collocation_POA_ImplementationRepository_ServerObject_Stub_Factory; + + return 0; +} + +static int _TAO_collocation_POA_ImplementationRepository_ServerObject_Stub_Factory_Initializer_Scarecrow = + _TAO_collocation_POA_ImplementationRepository_ServerObject_Stub_Factory_Initializer (ACE_reinterpret_cast (long, _TAO_collocation_POA_ImplementationRepository_ServerObject_Stub_Factory_Initializer)); + +// skeleton constructor +POA_ImplementationRepository::ServerObject::ServerObject (void) +{ + this->optable_ = &tao_ImplementationRepository_ServerObject_optable; +} + +// copy ctor +POA_ImplementationRepository::ServerObject::ServerObject (const ServerObject& rhs) + : TAO_ServantBase (rhs) +{} + +// skeleton destructor +POA_ImplementationRepository::ServerObject::~ServerObject (void) +{ +} + +void POA_ImplementationRepository::ServerObject::ping_skel ( + CORBA::ServerRequest &_tao_server_request, + void *_tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV +) +{ + POA_ImplementationRepository::ServerObject *_tao_impl = (POA_ImplementationRepository::ServerObject *)_tao_object_reference; + +#if defined (TAO_HAS_INTERCEPTORS) + TAO_ServerRequestInterceptor_Adapter + _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV)); + ACE_CHECK; + PortableInterceptor::Cookies _tao_cookies; + CORBA::NVList_var _tao_interceptor_args; + CORBA::Object_var _tao_objref; + if (_tao_vfr.valid ()) + { + _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV); + ACE_CHECK; + + _tao_objref = _tao_server_request.objref (ACE_TRY_ENV); + ACE_CHECK; + } + + ACE_TRY + { + _tao_vfr.preinvoke ( + _tao_server_request.request_id (), + 1, + _tao_objref.in (), + "ping", + _tao_server_request.service_info (), + _tao_interceptor_args.inout (), + _tao_cookies, + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_impl->ping ( + ACE_TRY_ENV + ); + + TAO_INTERCEPTOR_CHECK; + +#if defined (TAO_HAS_INTERCEPTORS) + _tao_vfr.postinvoke ( + _tao_server_request.request_id (), + 1, + _tao_objref.in (), + "ping", + _tao_server_request.service_info (), + _tao_interceptor_args.inout (), + _tao_cookies, + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; + } + ACE_CATCHANY + { + _tao_vfr.exception_occurred ( + _tao_server_request.request_id (), + 1, + _tao_objref.in (), + "ping", + _tao_cookies, + ACE_TRY_ENV + ); + ACE_RETHROW; + } + ACE_ENDTRY; + ACE_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_server_request.init_reply (ACE_TRY_ENV); + ACE_CHECK; +} + +void POA_ImplementationRepository::ServerObject::shutdown_skel ( + CORBA::ServerRequest &_tao_server_request, + void *_tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV +) +{ + POA_ImplementationRepository::ServerObject *_tao_impl = (POA_ImplementationRepository::ServerObject *)_tao_object_reference; + +#if defined (TAO_HAS_INTERCEPTORS) + TAO_ServerRequestInterceptor_Adapter + _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV)); + ACE_CHECK; + PortableInterceptor::Cookies _tao_cookies; + CORBA::NVList_var _tao_interceptor_args; + CORBA::Object_var _tao_objref; + if (_tao_vfr.valid ()) + { + _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV); + ACE_CHECK; + + _tao_objref = _tao_server_request.objref (ACE_TRY_ENV); + ACE_CHECK; + } + + ACE_TRY + { + _tao_vfr.preinvoke ( + _tao_server_request.request_id (), + 1, + _tao_objref.in (), + "shutdown", + _tao_server_request.service_info (), + _tao_interceptor_args.inout (), + _tao_cookies, + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_impl->shutdown ( + ACE_TRY_ENV + ); + + TAO_INTERCEPTOR_CHECK; + +#if defined (TAO_HAS_INTERCEPTORS) + _tao_vfr.postinvoke ( + _tao_server_request.request_id (), + 1, + _tao_objref.in (), + "shutdown", + _tao_server_request.service_info (), + _tao_interceptor_args.inout (), + _tao_cookies, + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; + } + ACE_CATCHANY + { + _tao_vfr.exception_occurred ( + _tao_server_request.request_id (), + 1, + _tao_objref.in (), + "shutdown", + _tao_cookies, + ACE_TRY_ENV + ); + ACE_RETHROW; + } + ACE_ENDTRY; + ACE_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_server_request.init_reply (ACE_TRY_ENV); + ACE_CHECK; +} + +void POA_ImplementationRepository::ServerObject::_is_a_skel ( + CORBA::ServerRequest &_tao_server_request, + void * _tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + TAO_InputCDR &_tao_in = _tao_server_request.incoming (); + POA_ImplementationRepository::ServerObject *_tao_impl = (POA_ImplementationRepository::ServerObject *) _tao_object_reference; + CORBA::Boolean _tao_retval = 0; + CORBA::String_var value; + if (!((_tao_in >> value.out ()))) + ACE_THROW (CORBA::MARSHAL ()); + + _tao_retval = _tao_impl->_is_a (value.in (), ACE_TRY_ENV); + ACE_CHECK; + + _tao_server_request.init_reply (ACE_TRY_ENV); + ACE_CHECK; + TAO_OutputCDR &_tao_out = _tao_server_request.outgoing (); + if (!((_tao_out << CORBA::Any::from_boolean (_tao_retval)))) + ACE_THROW (CORBA::MARSHAL ()); +} + +void POA_ImplementationRepository::ServerObject::_non_existent_skel ( + CORBA::ServerRequest &_tao_server_request, + void * _tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + POA_ImplementationRepository::ServerObject *_tao_impl = (POA_ImplementationRepository::ServerObject *) _tao_object_reference; + CORBA::Boolean _tao_retval = _tao_impl->_non_existent (ACE_TRY_ENV); + ACE_CHECK; + + _tao_server_request.init_reply (ACE_TRY_ENV); + ACE_CHECK; + TAO_OutputCDR &_tao_out = _tao_server_request.outgoing (); + if (!((_tao_out << CORBA::Any::from_boolean (_tao_retval)))) + ACE_THROW (CORBA::MARSHAL ()); +} + +CORBA::Boolean POA_ImplementationRepository::ServerObject::_is_a ( + const char* value, + CORBA::Environment &ACE_TRY_ENV + ) +{ + if ( + (!ACE_OS::strcmp ((char *)value, "IDL:ImplementationRepository/ServerObject:1.0")) || + (!ACE_OS::strcmp ((char *)value, CORBA::_tc_Object->id (ACE_TRY_ENV)))) + return 1; + else + return 0; +} + +void* POA_ImplementationRepository::ServerObject::_downcast ( + const char* logical_type_id + ) +{ +if (ACE_OS::strcmp (logical_type_id, "IDL:ImplementationRepository/ServerObject:1.0") == 0) + return ACE_static_cast (POA_ImplementationRepository::ServerObject_ptr, this); + if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Object:1.0") == 0) + return ACE_static_cast(PortableServer::Servant, this); + return 0; +} + +void POA_ImplementationRepository::ServerObject::_dispatch (CORBA::ServerRequest &req, void *context, CORBA::Environment &ACE_TRY_ENV) +{ + TAO_Skeleton skel; // pointer to skeleton for operation + const char *opname = req.operation (); // retrieve operation name + // find the skeleton corresponding to this opname + if (this->_find (opname, skel, req.operation_length ()) == -1) + { + ACE_ERROR ((LM_ERROR, "Bad operation <%s>\n", opname)); + ACE_THROW (CORBA_BAD_OPERATION ()); + } + else + skel (req, this, context, ACE_TRY_ENV); +} + +const char* POA_ImplementationRepository::ServerObject::_interface_repository_id (void) const +{ + return "IDL:ImplementationRepository/ServerObject:1.0"; +} + +ImplementationRepository::ServerObject* +POA_ImplementationRepository::ServerObject::_this (CORBA_Environment &ACE_TRY_ENV) +{ + TAO_Stub *stub = this->_create_stub (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ()) + switch (stub->servant_orb_var ()->orb_core ()->get_collocation_strategy ()) + { + case TAO_ORB_Core::THRU_POA: + { + ImplementationRepository::ServerObject_ptr retval = 0; + ACE_NEW_RETURN ( + retval, + POA_ImplementationRepository::_tao_thru_poa_collocated_ServerObject (stub), + 0 + ); + return retval; + } + case TAO_ORB_Core::DIRECT: + ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0); + default: + ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0); + } + else + { + // stub->_incr_refcnt (); + CORBA::Object_ptr tmp = CORBA::Object::_nil (); + ACE_NEW_RETURN (tmp, CORBA::Object (stub), 0); + CORBA::Object_var obj = tmp; + return ImplementationRepository::ServerObject::_unchecked_narrow (obj.in ()); + } +} + +POA_ImplementationRepository::_tao_thru_poa_collocated_ServerObject::_tao_thru_poa_collocated_ServerObject ( + TAO_Stub *stub +) + : ACE_NESTED_CLASS (ImplementationRepository,ServerObject) (), + CORBA_Object (stub, 0, 1) +{ +} + +CORBA::Boolean POA_ImplementationRepository::_tao_thru_poa_collocated_ServerObject::_is_a( + const CORBA::Char *logical_type_id, + CORBA_Environment &ACE_TRY_ENV + ) + +{ + TAO_Object_Adapter::Servant_Upcall servant_upcall ( + *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter () + ); + servant_upcall.prepare_for_upcall ( + this->_object_key (), + "_is_a", + ACE_TRY_ENV + ); + ACE_CHECK_RETURN (0); + return ACE_reinterpret_cast ( + POA_ImplementationRepository::ServerObject_ptr, + servant_upcall.servant ()->_downcast ( + "IDL:ImplementationRepository/ServerObject:1.0" + ) + )->_is_a (logical_type_id, ACE_TRY_ENV); +} + + +CORBA::Boolean POA_ImplementationRepository::_tao_thru_poa_collocated_ServerObject::_non_existent( + CORBA_Environment &ACE_TRY_ENV + ) + +{ + TAO_Object_Adapter::Servant_Upcall servant_upcall ( + *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter () + ); + servant_upcall.prepare_for_upcall ( + this->_object_key (), + "_non_existent", + ACE_TRY_ENV + ); + ACE_CHECK_RETURN (0); + return ACE_reinterpret_cast ( + POA_ImplementationRepository::ServerObject_ptr, + servant_upcall.servant ()->_downcast ( + "IDL:ImplementationRepository/ServerObject:1.0" + ) + )->_non_existent (ACE_TRY_ENV); +} + + +void POA_ImplementationRepository::_tao_thru_poa_collocated_ServerObject::ping ( + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + TAO_Object_Adapter::Servant_Upcall servant_upcall ( + *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter () + ); + servant_upcall.prepare_for_upcall ( + this->_object_key (), + "ping", + ACE_TRY_ENV + ); + ACE_CHECK; + ACE_reinterpret_cast ( + POA_ImplementationRepository::ServerObject_ptr, + servant_upcall.servant ()->_downcast ( + "IDL:ImplementationRepository/ServerObject:1.0" + ) + )->ping ( + ACE_TRY_ENV + ); + return; +} + +void POA_ImplementationRepository::_tao_thru_poa_collocated_ServerObject::shutdown ( + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + TAO_Object_Adapter::Servant_Upcall servant_upcall ( + *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter () + ); + servant_upcall.prepare_for_upcall ( + this->_object_key (), + "shutdown", + ACE_TRY_ENV + ); + ACE_CHECK; + ACE_reinterpret_cast ( + POA_ImplementationRepository::ServerObject_ptr, + servant_upcall.servant ()->_downcast ( + "IDL:ImplementationRepository/ServerObject:1.0" + ) + )->shutdown ( + ACE_TRY_ENV + ); + return; +} + + + +class TAO_ImplementationRepository_Administration_Perfect_Hash_OpTable : public TAO_Perfect_Hash_OpTable +{ +private: + unsigned int hash (const char *str, unsigned int len); +public: + const TAO_operation_db_entry * lookup (const char *str, unsigned int len); +}; +/* starting time is 3:08:22 */ +/* C++ code produced by gperf version 2.8 (ACE version) */ +/* Command-line: gperf -m -M -J -c -C -D -E -T -f 0 -F 0 -a -o -t -p -K opname_ -L C++ -Z TAO_ImplementationRepository_Administration_Perfect_Hash_OpTable -N lookup */ +unsigned int +TAO_ImplementationRepository_Administration_Perfect_Hash_OpTable::hash (const char *str, unsigned int len) +{ + static const unsigned char asso_values[] = + { +#if defined (ACE_MVS) + 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, + 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, + 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, + 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, + 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, + 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, + 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, + 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, + 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, + 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, + 34, 34, 34, 34, 34, 34, 34, 34, 34, 15, + 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, + 34, 34, 34, 34, 34, 34, 34, 34, 34, 10, + 34, 34, 5, 34, 0, 0, 34, 34, 34, 34, + 34, 34, 34, 34, 34, 34, 34, 0, 34, 5, + 34, 34, 34, 0, 34, 34, 34, 34, 34, 34, + 34, 34, 5, 0, 34, 34, 34, 34, 34, 34, + 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, + 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, + 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, + 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, + 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, + 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, + 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, + 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, + 34, 34, 34, 34, 34, 34, +#else + 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, + 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, + 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, + 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, + 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, + 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, + 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, + 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, + 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, + 34, 34, 34, 34, 34, 15, 34, 10, 34, 34, + 5, 34, 0, 0, 34, 34, 34, 34, 0, 34, + 5, 34, 34, 34, 0, 5, 0, 34, 34, 34, + 34, 34, 34, 34, 34, 34, 34, 34, +#endif /* ACE_MVS */ + }; + return len + asso_values[str[len - 1]] + asso_values[str[0]]; +} + +const class TAO_operation_db_entry * +TAO_ImplementationRepository_Administration_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len) +{ + enum + { + TOTAL_KEYWORDS = 11, + MIN_WORD_LENGTH = 4, + MAX_WORD_LENGTH = 23, + MIN_HASH_VALUE = 4, + MAX_HASH_VALUE = 33, + HASH_VALUE_RANGE = 30, + DUPLICATES = 0 + }; + + static const class TAO_operation_db_entry wordlist[] = + { + {"",0},{"",0},{"",0},{"",0}, + {"list", &POA_ImplementationRepository::Administration::list_skel}, + {"",0},{"",0},{"",0},{"",0}, + {"find", &POA_ImplementationRepository::Administration::find_skel}, + {"",0},{"",0},{"",0}, + {"remove_server", &POA_ImplementationRepository::Administration::remove_server_skel}, + {"",0}, + {"register_server", &POA_ImplementationRepository::Administration::register_server_skel}, + {"",0}, + {"reregister_server", &POA_ImplementationRepository::Administration::reregister_server_skel}, + {"",0},{"",0}, + {"shutdown_server", &POA_ImplementationRepository::Administration::shutdown_server_skel}, + {"",0}, + {"server_is_running", &POA_ImplementationRepository::Administration::server_is_running_skel}, + {"",0},{"",0}, + {"activate_server", &POA_ImplementationRepository::Administration::activate_server_skel}, + {"",0},{"",0}, + {"_non_existent", &POA_ImplementationRepository::Administration::_non_existent_skel}, + {"",0}, + {"_is_a", &POA_ImplementationRepository::Administration::_is_a_skel}, + {"",0},{"",0}, + {"server_is_shutting_down", &POA_ImplementationRepository::Administration::server_is_shutting_down_skel}, + }; + + if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) + { + unsigned int key = hash (str, len); + + if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE) + { + const char *s = wordlist[key].opname_; + + if (*str == *s && !strncmp (str + 1, s + 1, len - 1)) + return &wordlist[key]; + } + } + return 0; +} +/* ending time is 3:08:22 */ +static TAO_ImplementationRepository_Administration_Perfect_Hash_OpTable tao_ImplementationRepository_Administration_optable; + +ImplementationRepository::Administration_ptr _TAO_collocation_POA_ImplementationRepository_Administration_Stub_Factory ( + CORBA::Object_ptr obj + ) +{ + TAO_Stub *stub = obj->_stubobj (); + + switch (stub->servant_orb_var ()->orb_core ()->get_collocation_strategy ()) + { + case TAO_ORB_Core::THRU_POA: + { + ImplementationRepository::Administration_ptr retval = 0; + ACE_NEW_RETURN ( + retval, + POA_ImplementationRepository::_tao_thru_poa_collocated_Administration (stub), + 0 + ); + return retval; + } + case TAO_ORB_Core::DIRECT: + break; + default: + break; + } + return 0; +} + +int _TAO_collocation_POA_ImplementationRepository_Administration_Stub_Factory_Initializer (long dummy) +{ + ACE_UNUSED_ARG (dummy); + + _TAO_collocation_ImplementationRepository_Administration_Stub_Factory_function_pointer = + _TAO_collocation_POA_ImplementationRepository_Administration_Stub_Factory; + + return 0; +} + +static int _TAO_collocation_POA_ImplementationRepository_Administration_Stub_Factory_Initializer_Scarecrow = + _TAO_collocation_POA_ImplementationRepository_Administration_Stub_Factory_Initializer (ACE_reinterpret_cast (long, _TAO_collocation_POA_ImplementationRepository_Administration_Stub_Factory_Initializer)); + +// skeleton constructor +POA_ImplementationRepository::Administration::Administration (void) +{ + this->optable_ = &tao_ImplementationRepository_Administration_optable; +} + +// copy ctor +POA_ImplementationRepository::Administration::Administration (const Administration& rhs) + : TAO_ServantBase (rhs) +{} + +// skeleton destructor +POA_ImplementationRepository::Administration::~Administration (void) +{ +} + +void POA_ImplementationRepository::Administration::activate_server_skel ( + CORBA::ServerRequest &_tao_server_request, + void *_tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV +) +{ + TAO_InputCDR &_tao_in = _tao_server_request.incoming (); + POA_ImplementationRepository::Administration *_tao_impl = (POA_ImplementationRepository::Administration *)_tao_object_reference; + + CORBA::String_var server; + if (!( + (_tao_in >> server.out ()) + )) + ACE_THROW (CORBA::MARSHAL () ); + +#if defined (TAO_HAS_INTERCEPTORS) + TAO_ServerRequestInterceptor_Adapter + _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV)); + ACE_CHECK; + PortableInterceptor::Cookies _tao_cookies; + CORBA::NVList_var _tao_interceptor_args; + CORBA::Object_var _tao_objref; + if (_tao_vfr.valid ()) + { + _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV); + ACE_CHECK; + + _tao_objref = _tao_server_request.objref (ACE_TRY_ENV); + ACE_CHECK; + } + + ACE_TRY + { + _tao_vfr.preinvoke ( + _tao_server_request.request_id (), + 1, + _tao_objref.in (), + "activate_server", + _tao_server_request.service_info (), + _tao_interceptor_args.inout (), + _tao_cookies, + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_impl->activate_server ( + server.in (), + ACE_TRY_ENV + ); + + TAO_INTERCEPTOR_CHECK; + +#if defined (TAO_HAS_INTERCEPTORS) + _tao_vfr.postinvoke ( + _tao_server_request.request_id (), + 1, + _tao_objref.in (), + "activate_server", + _tao_server_request.service_info (), + _tao_interceptor_args.inout (), + _tao_cookies, + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; + } + ACE_CATCHANY + { + _tao_vfr.exception_occurred ( + _tao_server_request.request_id (), + 1, + _tao_objref.in (), + "activate_server", + _tao_cookies, + ACE_TRY_ENV + ); + ACE_RETHROW; + } + ACE_ENDTRY; + ACE_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_server_request.init_reply (ACE_TRY_ENV); + ACE_CHECK; +} + +void POA_ImplementationRepository::Administration::register_server_skel ( + CORBA::ServerRequest &_tao_server_request, + void *_tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV +) +{ + TAO_InputCDR &_tao_in = _tao_server_request.incoming (); + POA_ImplementationRepository::Administration *_tao_impl = (POA_ImplementationRepository::Administration *)_tao_object_reference; + + CORBA::String_var server; + ImplementationRepository::StartupOptions options; + if (!( + (_tao_in >> server.out ()) && + (_tao_in >> options) + )) + ACE_THROW (CORBA::MARSHAL () ); + +#if defined (TAO_HAS_INTERCEPTORS) + TAO_ServerRequestInterceptor_Adapter + _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV)); + ACE_CHECK; + PortableInterceptor::Cookies _tao_cookies; + CORBA::NVList_var _tao_interceptor_args; + CORBA::Object_var _tao_objref; + if (_tao_vfr.valid ()) + { + _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV); + ACE_CHECK; + + _tao_objref = _tao_server_request.objref (ACE_TRY_ENV); + ACE_CHECK; + } + + ACE_TRY + { + _tao_vfr.preinvoke ( + _tao_server_request.request_id (), + 1, + _tao_objref.in (), + "register_server", + _tao_server_request.service_info (), + _tao_interceptor_args.inout (), + _tao_cookies, + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_impl->register_server ( + server.in (), + options, + ACE_TRY_ENV + ); + + TAO_INTERCEPTOR_CHECK; + +#if defined (TAO_HAS_INTERCEPTORS) + _tao_vfr.postinvoke ( + _tao_server_request.request_id (), + 1, + _tao_objref.in (), + "register_server", + _tao_server_request.service_info (), + _tao_interceptor_args.inout (), + _tao_cookies, + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; + } + ACE_CATCHANY + { + _tao_vfr.exception_occurred ( + _tao_server_request.request_id (), + 1, + _tao_objref.in (), + "register_server", + _tao_cookies, + ACE_TRY_ENV + ); + ACE_RETHROW; + } + ACE_ENDTRY; + ACE_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_server_request.init_reply (ACE_TRY_ENV); + ACE_CHECK; +} + +void POA_ImplementationRepository::Administration::reregister_server_skel ( + CORBA::ServerRequest &_tao_server_request, + void *_tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV +) +{ + TAO_InputCDR &_tao_in = _tao_server_request.incoming (); + POA_ImplementationRepository::Administration *_tao_impl = (POA_ImplementationRepository::Administration *)_tao_object_reference; + + CORBA::String_var server; + ImplementationRepository::StartupOptions options; + if (!( + (_tao_in >> server.out ()) && + (_tao_in >> options) + )) + ACE_THROW (CORBA::MARSHAL () ); + +#if defined (TAO_HAS_INTERCEPTORS) + TAO_ServerRequestInterceptor_Adapter + _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV)); + ACE_CHECK; + PortableInterceptor::Cookies _tao_cookies; + CORBA::NVList_var _tao_interceptor_args; + CORBA::Object_var _tao_objref; + if (_tao_vfr.valid ()) + { + _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV); + ACE_CHECK; + + _tao_objref = _tao_server_request.objref (ACE_TRY_ENV); + ACE_CHECK; + } + + ACE_TRY + { + _tao_vfr.preinvoke ( + _tao_server_request.request_id (), + 1, + _tao_objref.in (), + "reregister_server", + _tao_server_request.service_info (), + _tao_interceptor_args.inout (), + _tao_cookies, + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_impl->reregister_server ( + server.in (), + options, + ACE_TRY_ENV + ); + + TAO_INTERCEPTOR_CHECK; + +#if defined (TAO_HAS_INTERCEPTORS) + _tao_vfr.postinvoke ( + _tao_server_request.request_id (), + 1, + _tao_objref.in (), + "reregister_server", + _tao_server_request.service_info (), + _tao_interceptor_args.inout (), + _tao_cookies, + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; + } + ACE_CATCHANY + { + _tao_vfr.exception_occurred ( + _tao_server_request.request_id (), + 1, + _tao_objref.in (), + "reregister_server", + _tao_cookies, + ACE_TRY_ENV + ); + ACE_RETHROW; + } + ACE_ENDTRY; + ACE_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_server_request.init_reply (ACE_TRY_ENV); + ACE_CHECK; +} + +void POA_ImplementationRepository::Administration::remove_server_skel ( + CORBA::ServerRequest &_tao_server_request, + void *_tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV +) +{ + TAO_InputCDR &_tao_in = _tao_server_request.incoming (); + POA_ImplementationRepository::Administration *_tao_impl = (POA_ImplementationRepository::Administration *)_tao_object_reference; + + CORBA::String_var server; + if (!( + (_tao_in >> server.out ()) + )) + ACE_THROW (CORBA::MARSHAL () ); + +#if defined (TAO_HAS_INTERCEPTORS) + TAO_ServerRequestInterceptor_Adapter + _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV)); + ACE_CHECK; + PortableInterceptor::Cookies _tao_cookies; + CORBA::NVList_var _tao_interceptor_args; + CORBA::Object_var _tao_objref; + if (_tao_vfr.valid ()) + { + _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV); + ACE_CHECK; + + _tao_objref = _tao_server_request.objref (ACE_TRY_ENV); + ACE_CHECK; + } + + ACE_TRY + { + _tao_vfr.preinvoke ( + _tao_server_request.request_id (), + 1, + _tao_objref.in (), + "remove_server", + _tao_server_request.service_info (), + _tao_interceptor_args.inout (), + _tao_cookies, + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_impl->remove_server ( + server.in (), + ACE_TRY_ENV + ); + + TAO_INTERCEPTOR_CHECK; + +#if defined (TAO_HAS_INTERCEPTORS) + _tao_vfr.postinvoke ( + _tao_server_request.request_id (), + 1, + _tao_objref.in (), + "remove_server", + _tao_server_request.service_info (), + _tao_interceptor_args.inout (), + _tao_cookies, + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; + } + ACE_CATCHANY + { + _tao_vfr.exception_occurred ( + _tao_server_request.request_id (), + 1, + _tao_objref.in (), + "remove_server", + _tao_cookies, + ACE_TRY_ENV + ); + ACE_RETHROW; + } + ACE_ENDTRY; + ACE_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_server_request.init_reply (ACE_TRY_ENV); + ACE_CHECK; +} + +void POA_ImplementationRepository::Administration::shutdown_server_skel ( + CORBA::ServerRequest &_tao_server_request, + void *_tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV +) +{ + TAO_InputCDR &_tao_in = _tao_server_request.incoming (); + POA_ImplementationRepository::Administration *_tao_impl = (POA_ImplementationRepository::Administration *)_tao_object_reference; + + CORBA::String_var server; + if (!( + (_tao_in >> server.out ()) + )) + ACE_THROW (CORBA::MARSHAL () ); + +#if defined (TAO_HAS_INTERCEPTORS) + TAO_ServerRequestInterceptor_Adapter + _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV)); + ACE_CHECK; + PortableInterceptor::Cookies _tao_cookies; + CORBA::NVList_var _tao_interceptor_args; + CORBA::Object_var _tao_objref; + if (_tao_vfr.valid ()) + { + _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV); + ACE_CHECK; + + _tao_objref = _tao_server_request.objref (ACE_TRY_ENV); + ACE_CHECK; + } + + ACE_TRY + { + _tao_vfr.preinvoke ( + _tao_server_request.request_id (), + 1, + _tao_objref.in (), + "shutdown_server", + _tao_server_request.service_info (), + _tao_interceptor_args.inout (), + _tao_cookies, + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_impl->shutdown_server ( + server.in (), + ACE_TRY_ENV + ); + + TAO_INTERCEPTOR_CHECK; + +#if defined (TAO_HAS_INTERCEPTORS) + _tao_vfr.postinvoke ( + _tao_server_request.request_id (), + 1, + _tao_objref.in (), + "shutdown_server", + _tao_server_request.service_info (), + _tao_interceptor_args.inout (), + _tao_cookies, + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; + } + ACE_CATCHANY + { + _tao_vfr.exception_occurred ( + _tao_server_request.request_id (), + 1, + _tao_objref.in (), + "shutdown_server", + _tao_cookies, + ACE_TRY_ENV + ); + ACE_RETHROW; + } + ACE_ENDTRY; + ACE_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_server_request.init_reply (ACE_TRY_ENV); + ACE_CHECK; +} + +void POA_ImplementationRepository::Administration::server_is_running_skel ( + CORBA::ServerRequest &_tao_server_request, + void *_tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV +) +{ + TAO_InputCDR &_tao_in = _tao_server_request.incoming (); + POA_ImplementationRepository::Administration *_tao_impl = (POA_ImplementationRepository::Administration *)_tao_object_reference; + + CORBA::String_var _tao_retval; + CORBA::String_var server; + CORBA::String_var addr; + ImplementationRepository::ServerObject_var server_object; + if (!( + (_tao_in >> server.out ()) && + (_tao_in >> addr.out ()) && + (_tao_in >> server_object.out ()) + )) + ACE_THROW (CORBA::MARSHAL () ); + +#if defined (TAO_HAS_INTERCEPTORS) + TAO_ServerRequestInterceptor_Adapter + _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV)); + ACE_CHECK; + PortableInterceptor::Cookies _tao_cookies; + CORBA::NVList_var _tao_interceptor_args; + CORBA::Object_var _tao_objref; + if (_tao_vfr.valid ()) + { + _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV); + ACE_CHECK; + + _tao_objref = _tao_server_request.objref (ACE_TRY_ENV); + ACE_CHECK; + } + + ACE_TRY + { + _tao_vfr.preinvoke ( + _tao_server_request.request_id (), + 1, + _tao_objref.in (), + "server_is_running", + _tao_server_request.service_info (), + _tao_interceptor_args.inout (), + _tao_cookies, + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_retval = _tao_impl->server_is_running ( + server.in (), + addr.in (), + server_object.in (), + ACE_TRY_ENV + ); + + TAO_INTERCEPTOR_CHECK; + +#if defined (TAO_HAS_INTERCEPTORS) + _tao_vfr.postinvoke ( + _tao_server_request.request_id (), + 1, + _tao_objref.in (), + "server_is_running", + _tao_server_request.service_info (), + _tao_interceptor_args.inout (), + _tao_cookies, + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; + } + ACE_CATCHANY + { + _tao_vfr.exception_occurred ( + _tao_server_request.request_id (), + 1, + _tao_objref.in (), + "server_is_running", + _tao_cookies, + ACE_TRY_ENV + ); + ACE_RETHROW; + } + ACE_ENDTRY; + ACE_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_server_request.init_reply (ACE_TRY_ENV); + ACE_CHECK; + ACE_CHECK; + TAO_OutputCDR &_tao_out = _tao_server_request.outgoing (); + if (!( + (_tao_out << _tao_retval.in ()) + )) + ACE_THROW (CORBA::MARSHAL () ); + +} + +void POA_ImplementationRepository::Administration::server_is_shutting_down_skel ( + CORBA::ServerRequest &_tao_server_request, + void *_tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV +) +{ + TAO_InputCDR &_tao_in = _tao_server_request.incoming (); + POA_ImplementationRepository::Administration *_tao_impl = (POA_ImplementationRepository::Administration *)_tao_object_reference; + + CORBA::String_var server; + if (!( + (_tao_in >> server.out ()) + )) + ACE_THROW (CORBA::MARSHAL () ); + +#if defined (TAO_HAS_INTERCEPTORS) + TAO_ServerRequestInterceptor_Adapter + _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV)); + ACE_CHECK; + PortableInterceptor::Cookies _tao_cookies; + CORBA::NVList_var _tao_interceptor_args; + CORBA::Object_var _tao_objref; + if (_tao_vfr.valid ()) + { + _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV); + ACE_CHECK; + + _tao_objref = _tao_server_request.objref (ACE_TRY_ENV); + ACE_CHECK; + } + + ACE_TRY + { + _tao_vfr.preinvoke ( + _tao_server_request.request_id (), + 1, + _tao_objref.in (), + "server_is_shutting_down", + _tao_server_request.service_info (), + _tao_interceptor_args.inout (), + _tao_cookies, + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_impl->server_is_shutting_down ( + server.in (), + ACE_TRY_ENV + ); + + TAO_INTERCEPTOR_CHECK; + +#if defined (TAO_HAS_INTERCEPTORS) + _tao_vfr.postinvoke ( + _tao_server_request.request_id (), + 1, + _tao_objref.in (), + "server_is_shutting_down", + _tao_server_request.service_info (), + _tao_interceptor_args.inout (), + _tao_cookies, + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; + } + ACE_CATCHANY + { + _tao_vfr.exception_occurred ( + _tao_server_request.request_id (), + 1, + _tao_objref.in (), + "server_is_shutting_down", + _tao_cookies, + ACE_TRY_ENV + ); + ACE_RETHROW; + } + ACE_ENDTRY; + ACE_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_server_request.init_reply (ACE_TRY_ENV); + ACE_CHECK; +} + +void POA_ImplementationRepository::Administration::find_skel ( + CORBA::ServerRequest &_tao_server_request, + void *_tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV +) +{ + TAO_InputCDR &_tao_in = _tao_server_request.incoming (); + POA_ImplementationRepository::Administration *_tao_impl = (POA_ImplementationRepository::Administration *)_tao_object_reference; + + CORBA::String_var server; + ImplementationRepository::ServerInformation_var info; + if (!( + (_tao_in >> server.out ()) + )) + ACE_THROW (CORBA::MARSHAL () ); + +#if defined (TAO_HAS_INTERCEPTORS) + TAO_ServerRequestInterceptor_Adapter + _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV)); + ACE_CHECK; + PortableInterceptor::Cookies _tao_cookies; + CORBA::NVList_var _tao_interceptor_args; + CORBA::Object_var _tao_objref; + if (_tao_vfr.valid ()) + { + _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV); + ACE_CHECK; + + _tao_objref = _tao_server_request.objref (ACE_TRY_ENV); + ACE_CHECK; + } + + ACE_TRY + { + _tao_vfr.preinvoke ( + _tao_server_request.request_id (), + 1, + _tao_objref.in (), + "find", + _tao_server_request.service_info (), + _tao_interceptor_args.inout (), + _tao_cookies, + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_impl->find ( + server.in (), + info.out (), + ACE_TRY_ENV + ); + + TAO_INTERCEPTOR_CHECK; + +#if defined (TAO_HAS_INTERCEPTORS) + _tao_vfr.postinvoke ( + _tao_server_request.request_id (), + 1, + _tao_objref.in (), + "find", + _tao_server_request.service_info (), + _tao_interceptor_args.inout (), + _tao_cookies, + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; + } + ACE_CATCHANY + { + _tao_vfr.exception_occurred ( + _tao_server_request.request_id (), + 1, + _tao_objref.in (), + "find", + _tao_cookies, + ACE_TRY_ENV + ); + ACE_RETHROW; + } + ACE_ENDTRY; + ACE_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_server_request.init_reply (ACE_TRY_ENV); + ACE_CHECK; + ACE_CHECK; + TAO_OutputCDR &_tao_out = _tao_server_request.outgoing (); + if (!( + (_tao_out << info.in ()) + )) + ACE_THROW (CORBA::MARSHAL () ); + +} + +void POA_ImplementationRepository::Administration::list_skel ( + CORBA::ServerRequest &_tao_server_request, + void *_tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV +) +{ + TAO_InputCDR &_tao_in = _tao_server_request.incoming (); + POA_ImplementationRepository::Administration *_tao_impl = (POA_ImplementationRepository::Administration *)_tao_object_reference; + + CORBA::ULong how_many; + ImplementationRepository::ServerInformationList_var server_list; + ImplementationRepository::ServerInformationIterator_var server_iterator; + if (!( + (_tao_in >> how_many) + )) + ACE_THROW (CORBA::MARSHAL () ); + +#if defined (TAO_HAS_INTERCEPTORS) + TAO_ServerRequestInterceptor_Adapter + _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV)); + ACE_CHECK; + PortableInterceptor::Cookies _tao_cookies; + CORBA::NVList_var _tao_interceptor_args; + CORBA::Object_var _tao_objref; + if (_tao_vfr.valid ()) + { + _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV); + ACE_CHECK; + + _tao_objref = _tao_server_request.objref (ACE_TRY_ENV); + ACE_CHECK; + } + + ACE_TRY + { + _tao_vfr.preinvoke ( + _tao_server_request.request_id (), + 1, + _tao_objref.in (), + "list", + _tao_server_request.service_info (), + _tao_interceptor_args.inout (), + _tao_cookies, + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_impl->list ( + how_many, + server_list.out (), + server_iterator.out (), + ACE_TRY_ENV + ); + + TAO_INTERCEPTOR_CHECK; + +#if defined (TAO_HAS_INTERCEPTORS) + _tao_vfr.postinvoke ( + _tao_server_request.request_id (), + 1, + _tao_objref.in (), + "list", + _tao_server_request.service_info (), + _tao_interceptor_args.inout (), + _tao_cookies, + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; + } + ACE_CATCHANY + { + _tao_vfr.exception_occurred ( + _tao_server_request.request_id (), + 1, + _tao_objref.in (), + "list", + _tao_cookies, + ACE_TRY_ENV + ); + ACE_RETHROW; + } + ACE_ENDTRY; + ACE_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_server_request.init_reply (ACE_TRY_ENV); + ACE_CHECK; + ACE_CHECK; + TAO_OutputCDR &_tao_out = _tao_server_request.outgoing (); + if (!( + (_tao_out << server_list.in ()) && + (_tao_out << server_iterator.in ()) + )) + ACE_THROW (CORBA::MARSHAL () ); + +} + +void POA_ImplementationRepository::Administration::_is_a_skel ( + CORBA::ServerRequest &_tao_server_request, + void * _tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + TAO_InputCDR &_tao_in = _tao_server_request.incoming (); + POA_ImplementationRepository::Administration *_tao_impl = (POA_ImplementationRepository::Administration *) _tao_object_reference; + CORBA::Boolean _tao_retval = 0; + CORBA::String_var value; + if (!((_tao_in >> value.out ()))) + ACE_THROW (CORBA::MARSHAL ()); + + _tao_retval = _tao_impl->_is_a (value.in (), ACE_TRY_ENV); + ACE_CHECK; + + _tao_server_request.init_reply (ACE_TRY_ENV); + ACE_CHECK; + TAO_OutputCDR &_tao_out = _tao_server_request.outgoing (); + if (!((_tao_out << CORBA::Any::from_boolean (_tao_retval)))) + ACE_THROW (CORBA::MARSHAL ()); +} + +void POA_ImplementationRepository::Administration::_non_existent_skel ( + CORBA::ServerRequest &_tao_server_request, + void * _tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + POA_ImplementationRepository::Administration *_tao_impl = (POA_ImplementationRepository::Administration *) _tao_object_reference; + CORBA::Boolean _tao_retval = _tao_impl->_non_existent (ACE_TRY_ENV); + ACE_CHECK; + + _tao_server_request.init_reply (ACE_TRY_ENV); + ACE_CHECK; + TAO_OutputCDR &_tao_out = _tao_server_request.outgoing (); + if (!((_tao_out << CORBA::Any::from_boolean (_tao_retval)))) + ACE_THROW (CORBA::MARSHAL ()); +} + +CORBA::Boolean POA_ImplementationRepository::Administration::_is_a ( + const char* value, + CORBA::Environment &ACE_TRY_ENV + ) +{ + if ( + (!ACE_OS::strcmp ((char *)value, "IDL:ImplementationRepository/Administration:1.0")) || + (!ACE_OS::strcmp ((char *)value, CORBA::_tc_Object->id (ACE_TRY_ENV)))) + return 1; + else + return 0; +} + +void* POA_ImplementationRepository::Administration::_downcast ( + const char* logical_type_id + ) +{ +if (ACE_OS::strcmp (logical_type_id, "IDL:ImplementationRepository/Administration:1.0") == 0) + return ACE_static_cast (POA_ImplementationRepository::Administration_ptr, this); + if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Object:1.0") == 0) + return ACE_static_cast(PortableServer::Servant, this); + return 0; +} + +void POA_ImplementationRepository::Administration::_dispatch (CORBA::ServerRequest &req, void *context, CORBA::Environment &ACE_TRY_ENV) +{ + TAO_Skeleton skel; // pointer to skeleton for operation + const char *opname = req.operation (); // retrieve operation name + // find the skeleton corresponding to this opname + if (this->_find (opname, skel, req.operation_length ()) == -1) + { + ACE_ERROR ((LM_ERROR, "Bad operation <%s>\n", opname)); + ACE_THROW (CORBA_BAD_OPERATION ()); + } + else + skel (req, this, context, ACE_TRY_ENV); +} + +const char* POA_ImplementationRepository::Administration::_interface_repository_id (void) const +{ + return "IDL:ImplementationRepository/Administration:1.0"; +} + +ImplementationRepository::Administration* +POA_ImplementationRepository::Administration::_this (CORBA_Environment &ACE_TRY_ENV) +{ + TAO_Stub *stub = this->_create_stub (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ()) + switch (stub->servant_orb_var ()->orb_core ()->get_collocation_strategy ()) + { + case TAO_ORB_Core::THRU_POA: + { + ImplementationRepository::Administration_ptr retval = 0; + ACE_NEW_RETURN ( + retval, + POA_ImplementationRepository::_tao_thru_poa_collocated_Administration (stub), + 0 + ); + return retval; + } + case TAO_ORB_Core::DIRECT: + ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0); + default: + ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0); + } + else + { + // stub->_incr_refcnt (); + CORBA::Object_ptr tmp = CORBA::Object::_nil (); + ACE_NEW_RETURN (tmp, CORBA::Object (stub), 0); + CORBA::Object_var obj = tmp; + return ImplementationRepository::Administration::_unchecked_narrow (obj.in ()); + } +} + +POA_ImplementationRepository::_tao_thru_poa_collocated_Administration::_tao_thru_poa_collocated_Administration ( + TAO_Stub *stub +) + : ACE_NESTED_CLASS (ImplementationRepository,Administration) (), + CORBA_Object (stub, 0, 1) +{ +} + +CORBA::Boolean POA_ImplementationRepository::_tao_thru_poa_collocated_Administration::_is_a( + const CORBA::Char *logical_type_id, + CORBA_Environment &ACE_TRY_ENV + ) + +{ + TAO_Object_Adapter::Servant_Upcall servant_upcall ( + *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter () + ); + servant_upcall.prepare_for_upcall ( + this->_object_key (), + "_is_a", + ACE_TRY_ENV + ); + ACE_CHECK_RETURN (0); + return ACE_reinterpret_cast ( + POA_ImplementationRepository::Administration_ptr, + servant_upcall.servant ()->_downcast ( + "IDL:ImplementationRepository/Administration:1.0" + ) + )->_is_a (logical_type_id, ACE_TRY_ENV); +} + + +CORBA::Boolean POA_ImplementationRepository::_tao_thru_poa_collocated_Administration::_non_existent( + CORBA_Environment &ACE_TRY_ENV + ) + +{ + TAO_Object_Adapter::Servant_Upcall servant_upcall ( + *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter () + ); + servant_upcall.prepare_for_upcall ( + this->_object_key (), + "_non_existent", + ACE_TRY_ENV + ); + ACE_CHECK_RETURN (0); + return ACE_reinterpret_cast ( + POA_ImplementationRepository::Administration_ptr, + servant_upcall.servant ()->_downcast ( + "IDL:ImplementationRepository/Administration:1.0" + ) + )->_non_existent (ACE_TRY_ENV); +} + + +void POA_ImplementationRepository::_tao_thru_poa_collocated_Administration::activate_server ( + const char * server, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException, + ImplementationRepository::Administration::NotFound, + ImplementationRepository::Administration::CannotActivate + )) +{ + TAO_Object_Adapter::Servant_Upcall servant_upcall ( + *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter () + ); + servant_upcall.prepare_for_upcall ( + this->_object_key (), + "activate_server", + ACE_TRY_ENV + ); + ACE_CHECK; + ACE_reinterpret_cast ( + POA_ImplementationRepository::Administration_ptr, + servant_upcall.servant ()->_downcast ( + "IDL:ImplementationRepository/Administration:1.0" + ) + )->activate_server ( + server, + ACE_TRY_ENV + ); + return; +} + +void POA_ImplementationRepository::_tao_thru_poa_collocated_Administration::register_server ( + const char * server, + const ImplementationRepository::StartupOptions & options, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException, + ImplementationRepository::Administration::AlreadyRegistered + )) +{ + TAO_Object_Adapter::Servant_Upcall servant_upcall ( + *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter () + ); + servant_upcall.prepare_for_upcall ( + this->_object_key (), + "register_server", + ACE_TRY_ENV + ); + ACE_CHECK; + ACE_reinterpret_cast ( + POA_ImplementationRepository::Administration_ptr, + servant_upcall.servant ()->_downcast ( + "IDL:ImplementationRepository/Administration:1.0" + ) + )->register_server ( + server, + options, + ACE_TRY_ENV + ); + return; +} + +void POA_ImplementationRepository::_tao_thru_poa_collocated_Administration::reregister_server ( + const char * server, + const ImplementationRepository::StartupOptions & options, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + TAO_Object_Adapter::Servant_Upcall servant_upcall ( + *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter () + ); + servant_upcall.prepare_for_upcall ( + this->_object_key (), + "reregister_server", + ACE_TRY_ENV + ); + ACE_CHECK; + ACE_reinterpret_cast ( + POA_ImplementationRepository::Administration_ptr, + servant_upcall.servant ()->_downcast ( + "IDL:ImplementationRepository/Administration:1.0" + ) + )->reregister_server ( + server, + options, + ACE_TRY_ENV + ); + return; +} + +void POA_ImplementationRepository::_tao_thru_poa_collocated_Administration::remove_server ( + const char * server, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException, + ImplementationRepository::Administration::NotFound + )) +{ + TAO_Object_Adapter::Servant_Upcall servant_upcall ( + *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter () + ); + servant_upcall.prepare_for_upcall ( + this->_object_key (), + "remove_server", + ACE_TRY_ENV + ); + ACE_CHECK; + ACE_reinterpret_cast ( + POA_ImplementationRepository::Administration_ptr, + servant_upcall.servant ()->_downcast ( + "IDL:ImplementationRepository/Administration:1.0" + ) + )->remove_server ( + server, + ACE_TRY_ENV + ); + return; +} + +void POA_ImplementationRepository::_tao_thru_poa_collocated_Administration::shutdown_server ( + const char * server, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException, + ImplementationRepository::Administration::NotFound + )) +{ + TAO_Object_Adapter::Servant_Upcall servant_upcall ( + *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter () + ); + servant_upcall.prepare_for_upcall ( + this->_object_key (), + "shutdown_server", + ACE_TRY_ENV + ); + ACE_CHECK; + ACE_reinterpret_cast ( + POA_ImplementationRepository::Administration_ptr, + servant_upcall.servant ()->_downcast ( + "IDL:ImplementationRepository/Administration:1.0" + ) + )->shutdown_server ( + server, + ACE_TRY_ENV + ); + return; +} + +char * POA_ImplementationRepository::_tao_thru_poa_collocated_Administration::server_is_running ( + const char * server, + const char * addr, + ImplementationRepository::ServerObject_ptr server_object, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException, + ImplementationRepository::Administration::NotFound + )) +{ + CORBA::String_var _tao_retval; + ACE_UNUSED_ARG (_tao_retval); + TAO_Object_Adapter::Servant_Upcall servant_upcall ( + *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter () + ); + servant_upcall.prepare_for_upcall ( + this->_object_key (), + "server_is_running", + ACE_TRY_ENV + ); + ACE_CHECK_RETURN (0); + return ACE_reinterpret_cast ( + POA_ImplementationRepository::Administration_ptr, + servant_upcall.servant ()->_downcast ( + "IDL:ImplementationRepository/Administration:1.0" + ) + )->server_is_running ( + server, + addr, + server_object, + ACE_TRY_ENV + ); + +} + +void POA_ImplementationRepository::_tao_thru_poa_collocated_Administration::server_is_shutting_down ( + const char * server, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException, + ImplementationRepository::Administration::NotFound + )) +{ + TAO_Object_Adapter::Servant_Upcall servant_upcall ( + *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter () + ); + servant_upcall.prepare_for_upcall ( + this->_object_key (), + "server_is_shutting_down", + ACE_TRY_ENV + ); + ACE_CHECK; + ACE_reinterpret_cast ( + POA_ImplementationRepository::Administration_ptr, + servant_upcall.servant ()->_downcast ( + "IDL:ImplementationRepository/Administration:1.0" + ) + )->server_is_shutting_down ( + server, + ACE_TRY_ENV + ); + return; +} + +void POA_ImplementationRepository::_tao_thru_poa_collocated_Administration::find ( + const char * server, + ImplementationRepository::ServerInformation_out info, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException, + ImplementationRepository::Administration::NotFound + )) +{ + TAO_Object_Adapter::Servant_Upcall servant_upcall ( + *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter () + ); + servant_upcall.prepare_for_upcall ( + this->_object_key (), + "find", + ACE_TRY_ENV + ); + ACE_CHECK; + ACE_reinterpret_cast ( + POA_ImplementationRepository::Administration_ptr, + servant_upcall.servant ()->_downcast ( + "IDL:ImplementationRepository/Administration:1.0" + ) + )->find ( + server, + info, + ACE_TRY_ENV + ); + return; +} + +void POA_ImplementationRepository::_tao_thru_poa_collocated_Administration::list ( + CORBA::ULong how_many, + ImplementationRepository::ServerInformationList_out server_list, + ImplementationRepository::ServerInformationIterator_out server_iterator, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + TAO_Object_Adapter::Servant_Upcall servant_upcall ( + *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter () + ); + servant_upcall.prepare_for_upcall ( + this->_object_key (), + "list", + ACE_TRY_ENV + ); + ACE_CHECK; + ACE_reinterpret_cast ( + POA_ImplementationRepository::Administration_ptr, + servant_upcall.servant ()->_downcast ( + "IDL:ImplementationRepository/Administration:1.0" + ) + )->list ( + how_many, + server_list, + server_iterator, + ACE_TRY_ENV + ); + return; +} + + + +class TAO_ImplementationRepository_ServerInformationIterator_Perfect_Hash_OpTable : public TAO_Perfect_Hash_OpTable +{ +private: + unsigned int hash (const char *str, unsigned int len); +public: + const TAO_operation_db_entry * lookup (const char *str, unsigned int len); +}; +/* starting time is 3:08:22 */ +/* C++ code produced by gperf version 2.8 (ACE version) */ +/* Command-line: gperf -m -M -J -c -C -D -E -T -f 0 -F 0 -a -o -t -p -K opname_ -L C++ -Z TAO_ImplementationRepository_ServerInformationIterator_Perfect_Hash_OpTable -N lookup */ +unsigned int +TAO_ImplementationRepository_ServerInformationIterator_Perfect_Hash_OpTable::hash (const char *str, unsigned int len) +{ + static const unsigned char asso_values[] = + { +#if defined (ACE_MVS) + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, + 14, 14, 0, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 0, 14, 14, 14, 14, 0, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, +#else + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 0, 14, 0, 14, 14, + 0, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 0, 14, 14, 14, 14, 14, 0, 14, 14, 14, + 14, 0, 14, 14, 14, 14, 14, 14, +#endif /* ACE_MVS */ + }; + return len + asso_values[str[len - 1]] + asso_values[str[0]]; +} + +const class TAO_operation_db_entry * +TAO_ImplementationRepository_ServerInformationIterator_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len) +{ + enum + { + TOTAL_KEYWORDS = 4, + MIN_WORD_LENGTH = 5, + MAX_WORD_LENGTH = 13, + MIN_HASH_VALUE = 5, + MAX_HASH_VALUE = 13, + HASH_VALUE_RANGE = 9, + DUPLICATES = 0 + }; + + static const class TAO_operation_db_entry wordlist[] = + { + {"",0},{"",0},{"",0},{"",0},{"",0}, + {"_is_a", &POA_ImplementationRepository::ServerInformationIterator::_is_a_skel}, + {"next_n", &POA_ImplementationRepository::ServerInformationIterator::next_n_skel}, + {"destroy", &POA_ImplementationRepository::ServerInformationIterator::destroy_skel}, + {"",0},{"",0},{"",0},{"",0},{"",0}, + {"_non_existent", &POA_ImplementationRepository::ServerInformationIterator::_non_existent_skel}, + }; + + if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) + { + unsigned int key = hash (str, len); + + if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE) + { + const char *s = wordlist[key].opname_; + + if (*str == *s && !strncmp (str + 1, s + 1, len - 1)) + return &wordlist[key]; + } + } + return 0; +} +/* ending time is 3:08:22 */ +static TAO_ImplementationRepository_ServerInformationIterator_Perfect_Hash_OpTable tao_ImplementationRepository_ServerInformationIterator_optable; + +ImplementationRepository::ServerInformationIterator_ptr _TAO_collocation_POA_ImplementationRepository_ServerInformationIterator_Stub_Factory ( + CORBA::Object_ptr obj + ) +{ + TAO_Stub *stub = obj->_stubobj (); + + switch (stub->servant_orb_var ()->orb_core ()->get_collocation_strategy ()) + { + case TAO_ORB_Core::THRU_POA: + { + ImplementationRepository::ServerInformationIterator_ptr retval = 0; + ACE_NEW_RETURN ( + retval, + POA_ImplementationRepository::_tao_thru_poa_collocated_ServerInformationIterator (stub), + 0 + ); + return retval; + } + case TAO_ORB_Core::DIRECT: + break; + default: + break; + } + return 0; +} + +int _TAO_collocation_POA_ImplementationRepository_ServerInformationIterator_Stub_Factory_Initializer (long dummy) +{ + ACE_UNUSED_ARG (dummy); + + _TAO_collocation_ImplementationRepository_ServerInformationIterator_Stub_Factory_function_pointer = + _TAO_collocation_POA_ImplementationRepository_ServerInformationIterator_Stub_Factory; + + return 0; +} + +static int _TAO_collocation_POA_ImplementationRepository_ServerInformationIterator_Stub_Factory_Initializer_Scarecrow = + _TAO_collocation_POA_ImplementationRepository_ServerInformationIterator_Stub_Factory_Initializer (ACE_reinterpret_cast (long, _TAO_collocation_POA_ImplementationRepository_ServerInformationIterator_Stub_Factory_Initializer)); + +// skeleton constructor +POA_ImplementationRepository::ServerInformationIterator::ServerInformationIterator (void) +{ + this->optable_ = &tao_ImplementationRepository_ServerInformationIterator_optable; +} + +// copy ctor +POA_ImplementationRepository::ServerInformationIterator::ServerInformationIterator (const ServerInformationIterator& rhs) + : TAO_ServantBase (rhs) +{} + +// skeleton destructor +POA_ImplementationRepository::ServerInformationIterator::~ServerInformationIterator (void) +{ +} + +void POA_ImplementationRepository::ServerInformationIterator::next_n_skel ( + CORBA::ServerRequest &_tao_server_request, + void *_tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV +) +{ + TAO_InputCDR &_tao_in = _tao_server_request.incoming (); + POA_ImplementationRepository::ServerInformationIterator *_tao_impl = (POA_ImplementationRepository::ServerInformationIterator *)_tao_object_reference; + + CORBA::Boolean _tao_retval = 0; + CORBA::ULong how_many; + ImplementationRepository::ServerInformationList_var server_list; + if (!( + (_tao_in >> how_many) + )) + ACE_THROW (CORBA::MARSHAL () ); + +#if defined (TAO_HAS_INTERCEPTORS) + TAO_ServerRequestInterceptor_Adapter + _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV)); + ACE_CHECK; + PortableInterceptor::Cookies _tao_cookies; + CORBA::NVList_var _tao_interceptor_args; + CORBA::Object_var _tao_objref; + if (_tao_vfr.valid ()) + { + _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV); + ACE_CHECK; + + _tao_objref = _tao_server_request.objref (ACE_TRY_ENV); + ACE_CHECK; + } + + ACE_TRY + { + _tao_vfr.preinvoke ( + _tao_server_request.request_id (), + 1, + _tao_objref.in (), + "next_n", + _tao_server_request.service_info (), + _tao_interceptor_args.inout (), + _tao_cookies, + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_retval = _tao_impl->next_n ( + how_many, + server_list.out (), + ACE_TRY_ENV + ); + + TAO_INTERCEPTOR_CHECK; + +#if defined (TAO_HAS_INTERCEPTORS) + _tao_vfr.postinvoke ( + _tao_server_request.request_id (), + 1, + _tao_objref.in (), + "next_n", + _tao_server_request.service_info (), + _tao_interceptor_args.inout (), + _tao_cookies, + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; + } + ACE_CATCHANY + { + _tao_vfr.exception_occurred ( + _tao_server_request.request_id (), + 1, + _tao_objref.in (), + "next_n", + _tao_cookies, + ACE_TRY_ENV + ); + ACE_RETHROW; + } + ACE_ENDTRY; + ACE_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_server_request.init_reply (ACE_TRY_ENV); + ACE_CHECK; + ACE_CHECK; + TAO_OutputCDR &_tao_out = _tao_server_request.outgoing (); + if (!( + (_tao_out << CORBA::Any::from_boolean (_tao_retval)) && + (_tao_out << server_list.in ()) + )) + ACE_THROW (CORBA::MARSHAL () ); + +} + +void POA_ImplementationRepository::ServerInformationIterator::destroy_skel ( + CORBA::ServerRequest &_tao_server_request, + void *_tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV +) +{ + POA_ImplementationRepository::ServerInformationIterator *_tao_impl = (POA_ImplementationRepository::ServerInformationIterator *)_tao_object_reference; + +#if defined (TAO_HAS_INTERCEPTORS) + TAO_ServerRequestInterceptor_Adapter + _tao_vfr (_tao_server_request.orb ()->_get_server_interceptor (ACE_TRY_ENV)); + ACE_CHECK; + PortableInterceptor::Cookies _tao_cookies; + CORBA::NVList_var _tao_interceptor_args; + CORBA::Object_var _tao_objref; + if (_tao_vfr.valid ()) + { + _tao_server_request.orb ()->create_list (0, _tao_interceptor_args.inout (), ACE_TRY_ENV); + ACE_CHECK; + + _tao_objref = _tao_server_request.objref (ACE_TRY_ENV); + ACE_CHECK; + } + + ACE_TRY + { + _tao_vfr.preinvoke ( + _tao_server_request.request_id (), + 1, + _tao_objref.in (), + "destroy", + _tao_server_request.service_info (), + _tao_interceptor_args.inout (), + _tao_cookies, + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_impl->destroy ( + ACE_TRY_ENV + ); + + TAO_INTERCEPTOR_CHECK; + +#if defined (TAO_HAS_INTERCEPTORS) + _tao_vfr.postinvoke ( + _tao_server_request.request_id (), + 1, + _tao_objref.in (), + "destroy", + _tao_server_request.service_info (), + _tao_interceptor_args.inout (), + _tao_cookies, + ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; + } + ACE_CATCHANY + { + _tao_vfr.exception_occurred ( + _tao_server_request.request_id (), + 1, + _tao_objref.in (), + "destroy", + _tao_cookies, + ACE_TRY_ENV + ); + ACE_RETHROW; + } + ACE_ENDTRY; + ACE_CHECK; +#endif /* TAO_HAS_INTERCEPTORS */ + + _tao_server_request.init_reply (ACE_TRY_ENV); + ACE_CHECK; +} + +void POA_ImplementationRepository::ServerInformationIterator::_is_a_skel ( + CORBA::ServerRequest &_tao_server_request, + void * _tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + TAO_InputCDR &_tao_in = _tao_server_request.incoming (); + POA_ImplementationRepository::ServerInformationIterator *_tao_impl = (POA_ImplementationRepository::ServerInformationIterator *) _tao_object_reference; + CORBA::Boolean _tao_retval = 0; + CORBA::String_var value; + if (!((_tao_in >> value.out ()))) + ACE_THROW (CORBA::MARSHAL ()); + + _tao_retval = _tao_impl->_is_a (value.in (), ACE_TRY_ENV); + ACE_CHECK; + + _tao_server_request.init_reply (ACE_TRY_ENV); + ACE_CHECK; + TAO_OutputCDR &_tao_out = _tao_server_request.outgoing (); + if (!((_tao_out << CORBA::Any::from_boolean (_tao_retval)))) + ACE_THROW (CORBA::MARSHAL ()); +} + +void POA_ImplementationRepository::ServerInformationIterator::_non_existent_skel ( + CORBA::ServerRequest &_tao_server_request, + void * _tao_object_reference, + void * /* context */, + CORBA::Environment &ACE_TRY_ENV + ) +{ + POA_ImplementationRepository::ServerInformationIterator *_tao_impl = (POA_ImplementationRepository::ServerInformationIterator *) _tao_object_reference; + CORBA::Boolean _tao_retval = _tao_impl->_non_existent (ACE_TRY_ENV); + ACE_CHECK; + + _tao_server_request.init_reply (ACE_TRY_ENV); + ACE_CHECK; + TAO_OutputCDR &_tao_out = _tao_server_request.outgoing (); + if (!((_tao_out << CORBA::Any::from_boolean (_tao_retval)))) + ACE_THROW (CORBA::MARSHAL ()); +} + +CORBA::Boolean POA_ImplementationRepository::ServerInformationIterator::_is_a ( + const char* value, + CORBA::Environment &ACE_TRY_ENV + ) +{ + if ( + (!ACE_OS::strcmp ((char *)value, "IDL:ImplementationRepository/ServerInformationIterator:1.0")) || + (!ACE_OS::strcmp ((char *)value, CORBA::_tc_Object->id (ACE_TRY_ENV)))) + return 1; + else + return 0; +} + +void* POA_ImplementationRepository::ServerInformationIterator::_downcast ( + const char* logical_type_id + ) +{ +if (ACE_OS::strcmp (logical_type_id, "IDL:ImplementationRepository/ServerInformationIterator:1.0") == 0) + return ACE_static_cast (POA_ImplementationRepository::ServerInformationIterator_ptr, this); + if (ACE_OS::strcmp (logical_type_id, "IDL:omg.org/CORBA/Object:1.0") == 0) + return ACE_static_cast(PortableServer::Servant, this); + return 0; +} + +void POA_ImplementationRepository::ServerInformationIterator::_dispatch (CORBA::ServerRequest &req, void *context, CORBA::Environment &ACE_TRY_ENV) +{ + TAO_Skeleton skel; // pointer to skeleton for operation + const char *opname = req.operation (); // retrieve operation name + // find the skeleton corresponding to this opname + if (this->_find (opname, skel, req.operation_length ()) == -1) + { + ACE_ERROR ((LM_ERROR, "Bad operation <%s>\n", opname)); + ACE_THROW (CORBA_BAD_OPERATION ()); + } + else + skel (req, this, context, ACE_TRY_ENV); +} + +const char* POA_ImplementationRepository::ServerInformationIterator::_interface_repository_id (void) const +{ + return "IDL:ImplementationRepository/ServerInformationIterator:1.0"; +} + +ImplementationRepository::ServerInformationIterator* +POA_ImplementationRepository::ServerInformationIterator::_this (CORBA_Environment &ACE_TRY_ENV) +{ + TAO_Stub *stub = this->_create_stub (ACE_TRY_ENV); + ACE_CHECK_RETURN (0); + if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ()) + switch (stub->servant_orb_var ()->orb_core ()->get_collocation_strategy ()) + { + case TAO_ORB_Core::THRU_POA: + { + ImplementationRepository::ServerInformationIterator_ptr retval = 0; + ACE_NEW_RETURN ( + retval, + POA_ImplementationRepository::_tao_thru_poa_collocated_ServerInformationIterator (stub), + 0 + ); + return retval; + } + case TAO_ORB_Core::DIRECT: + ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0); + default: + ACE_THROW_RETURN (CORBA::BAD_PARAM (), 0); + } + else + { + // stub->_incr_refcnt (); + CORBA::Object_ptr tmp = CORBA::Object::_nil (); + ACE_NEW_RETURN (tmp, CORBA::Object (stub), 0); + CORBA::Object_var obj = tmp; + return ImplementationRepository::ServerInformationIterator::_unchecked_narrow (obj.in ()); + } +} + +POA_ImplementationRepository::_tao_thru_poa_collocated_ServerInformationIterator::_tao_thru_poa_collocated_ServerInformationIterator ( + TAO_Stub *stub +) + : ACE_NESTED_CLASS (ImplementationRepository,ServerInformationIterator) (), + CORBA_Object (stub, 0, 1) +{ +} + +CORBA::Boolean POA_ImplementationRepository::_tao_thru_poa_collocated_ServerInformationIterator::_is_a( + const CORBA::Char *logical_type_id, + CORBA_Environment &ACE_TRY_ENV + ) + +{ + TAO_Object_Adapter::Servant_Upcall servant_upcall ( + *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter () + ); + servant_upcall.prepare_for_upcall ( + this->_object_key (), + "_is_a", + ACE_TRY_ENV + ); + ACE_CHECK_RETURN (0); + return ACE_reinterpret_cast ( + POA_ImplementationRepository::ServerInformationIterator_ptr, + servant_upcall.servant ()->_downcast ( + "IDL:ImplementationRepository/ServerInformationIterator:1.0" + ) + )->_is_a (logical_type_id, ACE_TRY_ENV); +} + + +CORBA::Boolean POA_ImplementationRepository::_tao_thru_poa_collocated_ServerInformationIterator::_non_existent( + CORBA_Environment &ACE_TRY_ENV + ) + +{ + TAO_Object_Adapter::Servant_Upcall servant_upcall ( + *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter () + ); + servant_upcall.prepare_for_upcall ( + this->_object_key (), + "_non_existent", + ACE_TRY_ENV + ); + ACE_CHECK_RETURN (0); + return ACE_reinterpret_cast ( + POA_ImplementationRepository::ServerInformationIterator_ptr, + servant_upcall.servant ()->_downcast ( + "IDL:ImplementationRepository/ServerInformationIterator:1.0" + ) + )->_non_existent (ACE_TRY_ENV); +} + + +CORBA::Boolean POA_ImplementationRepository::_tao_thru_poa_collocated_ServerInformationIterator::next_n ( + CORBA::ULong how_many, + ImplementationRepository::ServerInformationList_out server_list, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + CORBA::Boolean _tao_retval = 0; + ACE_UNUSED_ARG (_tao_retval); + TAO_Object_Adapter::Servant_Upcall servant_upcall ( + *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter () + ); + servant_upcall.prepare_for_upcall ( + this->_object_key (), + "next_n", + ACE_TRY_ENV + ); + ACE_CHECK_RETURN (_tao_retval); + return ACE_reinterpret_cast ( + POA_ImplementationRepository::ServerInformationIterator_ptr, + servant_upcall.servant ()->_downcast ( + "IDL:ImplementationRepository/ServerInformationIterator:1.0" + ) + )->next_n ( + how_many, + server_list, + ACE_TRY_ENV + ); + +} + +void POA_ImplementationRepository::_tao_thru_poa_collocated_ServerInformationIterator::destroy ( + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + TAO_Object_Adapter::Servant_Upcall servant_upcall ( + *this->_stubobj ()->servant_orb_var ()->orb_core ()->object_adapter () + ); + servant_upcall.prepare_for_upcall ( + this->_object_key (), + "destroy", + ACE_TRY_ENV + ); + ACE_CHECK; + ACE_reinterpret_cast ( + POA_ImplementationRepository::ServerInformationIterator_ptr, + servant_upcall.servant ()->_downcast ( + "IDL:ImplementationRepository/ServerInformationIterator:1.0" + ) + )->destroy ( + ACE_TRY_ENV + ); + return; +} + + + diff --git a/TAO/tao/ImplRepoS.h b/TAO/tao/ImplRepoS.h new file mode 100644 index 00000000000..eadb85ab2d7 --- /dev/null +++ b/TAO/tao/ImplRepoS.h @@ -0,0 +1,914 @@ +/* -*- 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. +// +// Information about TAO is available at: +// http://www.cs.wustl.edu/~schmidt/TAO.html + +#ifndef _TAO_IDL_IMPLREPOS_H_ +#define _TAO_IDL_IMPLREPOS_H_ + +#include "tao/ImplRepoC.h" + + +#if !defined (ACE_LACKS_PRAGMA_ONCE) +# pragma once +#endif /* ACE_LACKS_PRAGMA_ONCE */ + +#if defined(_MSC_VER) +#if (_MSC_VER >= 1200) +#pragma warning(push) +#endif /* _MSC_VER >= 1200 */ +#pragma warning(disable:4250) +#endif /* _MSC_VER */ + +TAO_NAMESPACE POA_ImplementationRepository +{ + class ServerObject; + typedef ServerObject *ServerObject_ptr; + class TAO_Export ServerObject : public virtual PortableServer::ServantBase + { + protected: + ServerObject (void); + + public: + ServerObject (const ServerObject& rhs); + virtual ~ServerObject (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 ( + CORBA::ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); + + static void _non_existent_skel ( + CORBA::ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); + + virtual void _dispatch ( + CORBA::ServerRequest &_tao_req, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); + + ImplementationRepository::ServerObject *_this ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); + + virtual const char* _interface_repository_id (void) const; + + virtual void ping ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; + + static void ping_skel ( + CORBA::ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); + + virtual void shutdown ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) = 0; + + static void shutdown_skel ( + CORBA::ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); + + + }; + + +#if !defined (_IMPLEMENTATIONREPOSITORY_SERVEROBJECT___THRU_POA_COLLOCATED_SH_) +#define _IMPLEMENTATIONREPOSITORY_SERVEROBJECT___THRU_POA_COLLOCATED_SH_ + + class TAO_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::Boolean _non_existent( + CORBA_Environment &ACE_TRY_ENV = TAO_default_environment () + ); + + virtual void ping ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); + + virtual void shutdown ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); + + }; + + +#endif /* end #if !defined */ + + +#if defined (ACE_HAS_USING_KEYWORD) + // TIE class: Refer to CORBA v2.2, Section 20.34.4 + template <class T> + class TAO_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 + )); + + 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; + class TAO_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 ( + CORBA::ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); + + static void _non_existent_skel ( + CORBA::ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); + + virtual void _dispatch ( + CORBA::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 ( + CORBA::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 ( + CORBA::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 ( + CORBA::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 ( + CORBA::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 ( + CORBA::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 ( + CORBA::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 ( + CORBA::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 ( + CORBA::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 ( + CORBA::ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); + + + }; + + +#if !defined (_IMPLEMENTATIONREPOSITORY_ADMINISTRATION___THRU_POA_COLLOCATED_SH_) +#define _IMPLEMENTATIONREPOSITORY_ADMINISTRATION___THRU_POA_COLLOCATED_SH_ + + class TAO_Export _tao_thru_poa_collocated_Administration : public virtual ImplementationRepository::Administration + { + 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 () + ); + + virtual CORBA::Boolean _non_existent( + CORBA_Environment &ACE_TRY_ENV = TAO_default_environment () + ); + + 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 + )); + + 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 + )); + + virtual void reregister_server ( + const char * server, + const ImplementationRepository::StartupOptions & options, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); + + virtual void remove_server ( + const char * server, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException, + ImplementationRepository::Administration::NotFound + )); + + virtual void shutdown_server ( + const char * server, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException, + ImplementationRepository::Administration::NotFound + )); + + 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 + )); + + 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 + )); + + 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 + )); + + 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 + )); + + }; + + +#endif /* end #if !defined */ + + +#if defined (ACE_HAS_USING_KEYWORD) + // TIE class: Refer to CORBA v2.2, Section 20.34.4 + template <class T> + class TAO_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 &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; + class TAO_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 ( + CORBA::ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); + + static void _non_existent_skel ( + CORBA::ServerRequest &req, + void *obj, + void *context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); + + virtual void _dispatch ( + CORBA::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 ( + CORBA::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 ( + CORBA::ServerRequest &_tao_req, + void *_tao_obj, + void *_tao_context, + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ); + + + }; + + +#if !defined (_IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONITERATOR___THRU_POA_COLLOCATED_SH_) +#define _IMPLEMENTATIONREPOSITORY_SERVERINFORMATIONITERATOR___THRU_POA_COLLOCATED_SH_ + + class TAO_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 _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 + )); + + virtual void destroy ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )); + + }; + + +#endif /* end #if !defined */ + + +#if defined (ACE_HAS_USING_KEYWORD) + // TIE class: Refer to CORBA v2.2, Section 20.34.4 + template <class T> + class TAO_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 + )); + +private: + 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 &); + }; + +#endif /* ACE_HAS_USING_KEYWORD */ + +} +TAO_NAMESPACE_CLOSE + +#include "ImplRepoS_T.h" + +#if defined (__ACE_INLINE__) +#include "ImplRepoS.i" +#endif /* defined INLINE */ + +#if defined(_MSC_VER) && (_MSC_VER >= 1200) +#pragma warning(pop) +#endif /* _MSC_VER */ + +#endif /* ifndef */ diff --git a/TAO/tao/ImplRepoS.i b/TAO/tao/ImplRepoS.i new file mode 100644 index 00000000000..d41d475fa1a --- /dev/null +++ b/TAO/tao/ImplRepoS.i @@ -0,0 +1,9 @@ +/* -*- 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. +// +// Information about TAO is available at: +// http://www.cs.wustl.edu/~schmidt/TAO.html + diff --git a/TAO/tao/ImplRepoS_T.cpp b/TAO/tao/ImplRepoS_T.cpp new file mode 100644 index 00000000000..341ff292dff --- /dev/null +++ b/TAO/tao/ImplRepoS_T.cpp @@ -0,0 +1,20 @@ +/* -*- 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. +// +// Information about TAO is available at: +// http://www.cs.wustl.edu/~schmidt/TAO.html + +#ifndef _TAO_IDL_IMPLREPOS_T_CPP_ +#define _TAO_IDL_IMPLREPOS_T_CPP_ + +#include "ImplRepoS_T.h" + +#if !defined (__ACE_INLINE__) +#include "ImplRepoS_T.i" +#endif /* !defined INLINE */ + + +#endif /* ifndef */ diff --git a/TAO/tao/ImplRepoS_T.h b/TAO/tao/ImplRepoS_T.h new file mode 100644 index 00000000000..fa1f0f82977 --- /dev/null +++ b/TAO/tao/ImplRepoS_T.h @@ -0,0 +1,39 @@ +/* -*- 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. +// +// Information about TAO is available at: +// http://www.cs.wustl.edu/~schmidt/TAO.html + +#ifndef _TAO_IDL_IMPLREPOS_T_H_ +#define _TAO_IDL_IMPLREPOS_T_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 (__ACE_INLINE__) +#include "ImplRepoS_T.i" +#endif /* defined INLINE */ + + +#if defined (ACE_TEMPLATES_REQUIRE_SOURCE) +#include "ImplRepoS_T.cpp" +#endif /* defined REQUIRED SOURCE */ + + +#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA) +#pragma implementation ("ImplRepoS_T.cpp") +#endif /* defined REQUIRED PRAGMA */ + +#if defined(_MSC_VER) && (_MSC_VER >= 1200) +#pragma warning(pop) +#endif /* _MSC_VER */ + +#endif /* ifndef */ diff --git a/TAO/tao/ImplRepoS_T.i b/TAO/tao/ImplRepoS_T.i new file mode 100644 index 00000000000..c9f070e9a57 --- /dev/null +++ b/TAO/tao/ImplRepoS_T.i @@ -0,0 +1,462 @@ +/* -*- 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. +// +// Information about TAO is available at: +// http://www.cs.wustl.edu/~schmidt/TAO.html + + +#if defined (ACE_HAS_USING_KEYWORD) +template <class T> ACE_INLINE +POA_ImplementationRepository::ServerObject_tie<T>::ServerObject_tie (T &t) + : ptr_ (&t), + poa_ (PortableServer::POA::_nil ()), + rel_ (0) +{} + +template <class T> ACE_INLINE +POA_ImplementationRepository::ServerObject_tie<T>::ServerObject_tie (T &t, PortableServer::POA_ptr poa) + : ptr_ (&t), + poa_ (PortableServer::POA::_duplicate (poa)), + rel_ (0) +{} + +template <class T> ACE_INLINE +POA_ImplementationRepository::ServerObject_tie<T>::ServerObject_tie (T *tp, CORBA::Boolean release) + : ptr_ (tp), + poa_ (PortableServer::POA::_nil ()), + rel_ (release) +{} + +template <class T> ACE_INLINE +POA_ImplementationRepository::ServerObject_tie<T>::ServerObject_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release) + : ptr_ (tp), + poa_ (PortableServer::POA::_duplicate (poa)), + rel_ (release) +{} + +template <class T> ACE_INLINE +POA_ImplementationRepository::ServerObject_tie<T>::~ServerObject_tie (void) +{ + if (this->rel_) delete this->ptr_; +} + +template <class T> ACE_INLINE T * +POA_ImplementationRepository::ServerObject_tie<T>::_tied_object (void) +{ + return this->ptr_; +} + +template <class T> ACE_INLINE void +POA_ImplementationRepository::ServerObject_tie<T>::_tied_object (T &obj) +{ + if (this->rel_) delete this->ptr_; + this->ptr_ = &obj; + this->rel_ = 0; +} + +template <class T> ACE_INLINE void +POA_ImplementationRepository::ServerObject_tie<T>::_tied_object (T *obj, CORBA::Boolean release) +{ + if (this->rel_) delete this->ptr_; + this->ptr_ = obj; + this->rel_ = release; +} + +template <class T> ACE_INLINE CORBA::Boolean +POA_ImplementationRepository::ServerObject_tie<T>::_is_owner (void) +{ + return this->rel_; +} + +template <class T> ACE_INLINE void +POA_ImplementationRepository::ServerObject_tie<T>::_is_owner (CORBA::Boolean b) +{ + this->rel_ = b; +} + +template <class T> ACE_INLINE PortableServer::POA_ptr +POA_ImplementationRepository::ServerObject_tie<T>::_default_POA (CORBA::Environment &env) +{ + if (!CORBA::is_nil (this->poa_.in ())) + return PortableServer::POA::_duplicate (this->poa_.in ()); + + return this->ServerObject::_default_POA (env); +} + +template <class T> ACE_INLINE +void POA_ImplementationRepository::ServerObject_tie<T>::ping ( + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->ping ( + ACE_TRY_ENV + ); +} + +template <class T> ACE_INLINE +void POA_ImplementationRepository::ServerObject_tie<T>::shutdown ( + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->shutdown ( + ACE_TRY_ENV + ); +} + +#endif /* ACE_HAS_USING_KEYWORD */ + +#if defined (ACE_HAS_USING_KEYWORD) +template <class T> ACE_INLINE +POA_ImplementationRepository::Administration_tie<T>::Administration_tie (T &t) + : ptr_ (&t), + poa_ (PortableServer::POA::_nil ()), + rel_ (0) +{} + +template <class T> ACE_INLINE +POA_ImplementationRepository::Administration_tie<T>::Administration_tie (T &t, PortableServer::POA_ptr poa) + : ptr_ (&t), + poa_ (PortableServer::POA::_duplicate (poa)), + rel_ (0) +{} + +template <class T> ACE_INLINE +POA_ImplementationRepository::Administration_tie<T>::Administration_tie (T *tp, CORBA::Boolean release) + : ptr_ (tp), + poa_ (PortableServer::POA::_nil ()), + rel_ (release) +{} + +template <class T> ACE_INLINE +POA_ImplementationRepository::Administration_tie<T>::Administration_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release) + : ptr_ (tp), + poa_ (PortableServer::POA::_duplicate (poa)), + rel_ (release) +{} + +template <class T> ACE_INLINE +POA_ImplementationRepository::Administration_tie<T>::~Administration_tie (void) +{ + if (this->rel_) delete this->ptr_; +} + +template <class T> ACE_INLINE T * +POA_ImplementationRepository::Administration_tie<T>::_tied_object (void) +{ + return this->ptr_; +} + +template <class T> ACE_INLINE void +POA_ImplementationRepository::Administration_tie<T>::_tied_object (T &obj) +{ + if (this->rel_) delete this->ptr_; + this->ptr_ = &obj; + this->rel_ = 0; +} + +template <class T> ACE_INLINE void +POA_ImplementationRepository::Administration_tie<T>::_tied_object (T *obj, CORBA::Boolean release) +{ + if (this->rel_) delete this->ptr_; + this->ptr_ = obj; + this->rel_ = release; +} + +template <class T> ACE_INLINE CORBA::Boolean +POA_ImplementationRepository::Administration_tie<T>::_is_owner (void) +{ + return this->rel_; +} + +template <class T> ACE_INLINE void +POA_ImplementationRepository::Administration_tie<T>::_is_owner (CORBA::Boolean b) +{ + this->rel_ = b; +} + +template <class T> ACE_INLINE PortableServer::POA_ptr +POA_ImplementationRepository::Administration_tie<T>::_default_POA (CORBA::Environment &env) +{ + if (!CORBA::is_nil (this->poa_.in ())) + return PortableServer::POA::_duplicate (this->poa_.in ()); + + return this->Administration::_default_POA (env); +} + +template <class T> ACE_INLINE +void POA_ImplementationRepository::Administration_tie<T>::activate_server ( + const char * server, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException, + ImplementationRepository::Administration::NotFound, + ImplementationRepository::Administration::CannotActivate + )) +{ + this->ptr_->activate_server ( + server, + ACE_TRY_ENV + ); +} + +template <class T> ACE_INLINE +void POA_ImplementationRepository::Administration_tie<T>::register_server ( + const char * server, + const ImplementationRepository::StartupOptions & options, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException, + ImplementationRepository::Administration::AlreadyRegistered + )) +{ + this->ptr_->register_server ( + server, + options, + ACE_TRY_ENV + ); +} + +template <class T> ACE_INLINE +void POA_ImplementationRepository::Administration_tie<T>::reregister_server ( + const char * server, + const ImplementationRepository::StartupOptions & options, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->reregister_server ( + server, + options, + ACE_TRY_ENV + ); +} + +template <class T> ACE_INLINE +void POA_ImplementationRepository::Administration_tie<T>::remove_server ( + const char * server, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException, + ImplementationRepository::Administration::NotFound + )) +{ + this->ptr_->remove_server ( + server, + ACE_TRY_ENV + ); +} + +template <class T> ACE_INLINE +void POA_ImplementationRepository::Administration_tie<T>::shutdown_server ( + const char * server, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException, + ImplementationRepository::Administration::NotFound + )) +{ + this->ptr_->shutdown_server ( + server, + ACE_TRY_ENV + ); +} + +template <class T> ACE_INLINE +char * POA_ImplementationRepository::Administration_tie<T>::server_is_running ( + const char * server, + const char * addr, + ImplementationRepository::ServerObject_ptr server_object, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException, + ImplementationRepository::Administration::NotFound + )) +{ + return this->ptr_->server_is_running ( + server, + addr, + server_object, + ACE_TRY_ENV + ); +} + +template <class T> ACE_INLINE +void POA_ImplementationRepository::Administration_tie<T>::server_is_shutting_down ( + const char * server, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException, + ImplementationRepository::Administration::NotFound + )) +{ + this->ptr_->server_is_shutting_down ( + server, + ACE_TRY_ENV + ); +} + +template <class T> ACE_INLINE +void POA_ImplementationRepository::Administration_tie<T>::find ( + const char * server, + ImplementationRepository::ServerInformation_out info, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException, + ImplementationRepository::Administration::NotFound + )) +{ + this->ptr_->find ( + server, + info, + ACE_TRY_ENV + ); +} + +template <class T> ACE_INLINE +void POA_ImplementationRepository::Administration_tie<T>::list ( + CORBA::ULong how_many, + ImplementationRepository::ServerInformationList_out server_list, + ImplementationRepository::ServerInformationIterator_out server_iterator, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->list ( + how_many, + server_list, + server_iterator, + ACE_TRY_ENV + ); +} + +#endif /* ACE_HAS_USING_KEYWORD */ + +#if defined (ACE_HAS_USING_KEYWORD) +template <class T> ACE_INLINE +POA_ImplementationRepository::ServerInformationIterator_tie<T>::ServerInformationIterator_tie (T &t) + : ptr_ (&t), + poa_ (PortableServer::POA::_nil ()), + rel_ (0) +{} + +template <class T> ACE_INLINE +POA_ImplementationRepository::ServerInformationIterator_tie<T>::ServerInformationIterator_tie (T &t, PortableServer::POA_ptr poa) + : ptr_ (&t), + poa_ (PortableServer::POA::_duplicate (poa)), + rel_ (0) +{} + +template <class T> ACE_INLINE +POA_ImplementationRepository::ServerInformationIterator_tie<T>::ServerInformationIterator_tie (T *tp, CORBA::Boolean release) + : ptr_ (tp), + poa_ (PortableServer::POA::_nil ()), + rel_ (release) +{} + +template <class T> ACE_INLINE +POA_ImplementationRepository::ServerInformationIterator_tie<T>::ServerInformationIterator_tie (T *tp, PortableServer::POA_ptr poa, CORBA::Boolean release) + : ptr_ (tp), + poa_ (PortableServer::POA::_duplicate (poa)), + rel_ (release) +{} + +template <class T> ACE_INLINE +POA_ImplementationRepository::ServerInformationIterator_tie<T>::~ServerInformationIterator_tie (void) +{ + if (this->rel_) delete this->ptr_; +} + +template <class T> ACE_INLINE T * +POA_ImplementationRepository::ServerInformationIterator_tie<T>::_tied_object (void) +{ + return this->ptr_; +} + +template <class T> ACE_INLINE void +POA_ImplementationRepository::ServerInformationIterator_tie<T>::_tied_object (T &obj) +{ + if (this->rel_) delete this->ptr_; + this->ptr_ = &obj; + this->rel_ = 0; +} + +template <class T> ACE_INLINE void +POA_ImplementationRepository::ServerInformationIterator_tie<T>::_tied_object (T *obj, CORBA::Boolean release) +{ + if (this->rel_) delete this->ptr_; + this->ptr_ = obj; + this->rel_ = release; +} + +template <class T> ACE_INLINE CORBA::Boolean +POA_ImplementationRepository::ServerInformationIterator_tie<T>::_is_owner (void) +{ + return this->rel_; +} + +template <class T> ACE_INLINE void +POA_ImplementationRepository::ServerInformationIterator_tie<T>::_is_owner (CORBA::Boolean b) +{ + this->rel_ = b; +} + +template <class T> ACE_INLINE PortableServer::POA_ptr +POA_ImplementationRepository::ServerInformationIterator_tie<T>::_default_POA (CORBA::Environment &env) +{ + if (!CORBA::is_nil (this->poa_.in ())) + return PortableServer::POA::_duplicate (this->poa_.in ()); + + return this->ServerInformationIterator::_default_POA (env); +} + +template <class T> ACE_INLINE +CORBA::Boolean POA_ImplementationRepository::ServerInformationIterator_tie<T>::next_n ( + CORBA::ULong how_many, + ImplementationRepository::ServerInformationList_out server_list, + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + return this->ptr_->next_n ( + how_many, + server_list, + ACE_TRY_ENV + ); +} + +template <class T> ACE_INLINE +void POA_ImplementationRepository::ServerInformationIterator_tie<T>::destroy ( + CORBA::Environment &ACE_TRY_ENV + ) + ACE_THROW_SPEC (( + CORBA::SystemException + )) +{ + this->ptr_->destroy ( + ACE_TRY_ENV + ); +} + +#endif /* ACE_HAS_USING_KEYWORD */ |