diff options
author | jules <jules@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2004-08-17 19:59:31 +0000 |
---|---|---|
committer | jules <jules@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2004-08-17 19:59:31 +0000 |
commit | 6e1775361a167c9336666f616775218e2e1c0896 (patch) | |
tree | d6aa6601dfcad0468f31a3b077cac39f7cce4d54 | |
parent | 539889856302a12e0188e35c2277c139b8ee7b7f (diff) | |
download | ATCD-6e1775361a167c9336666f616775218e2e1c0896.tar.gz |
Tue Aug 17 14:29:00 2004 Jules White <jules@dre.vanderbilt.edu>
-rw-r--r-- | TAO/CIAO/ciao/CCM_Core.mpc | 1 | ||||
-rw-r--r-- | TAO/CIAO/ciao/Servant_Impl_Base.cpp | 32 | ||||
-rw-r--r-- | TAO/CIAO/ciao/Servant_Impl_Base.h | 15 | ||||
-rw-r--r-- | TAO/CIAO/ciao/StandardConfigurator_Impl.h | 1 |
4 files changed, 48 insertions, 1 deletions
diff --git a/TAO/CIAO/ciao/CCM_Core.mpc b/TAO/CIAO/ciao/CCM_Core.mpc index c3bd8d917af..f7e769810e0 100644 --- a/TAO/CIAO/ciao/CCM_Core.mpc +++ b/TAO/CIAO/ciao/CCM_Core.mpc @@ -88,6 +88,7 @@ project (CIAO_Server) : orbsvcslib, portableserver, iorinterceptor, objreftempla Servant_Impl_Base.cpp Server_init.cpp ServerActivator_Impl.cpp + StandardConfigurator_Impl.cpp } Header_Files { diff --git a/TAO/CIAO/ciao/Servant_Impl_Base.cpp b/TAO/CIAO/ciao/Servant_Impl_Base.cpp index 5f3db1e9050..2cb4364ecd3 100644 --- a/TAO/CIAO/ciao/Servant_Impl_Base.cpp +++ b/TAO/CIAO/ciao/Servant_Impl_Base.cpp @@ -1,6 +1,10 @@ // $Id$ + + #include "Servant_Impl_Base.h" +#include "StandardConfigurator_Impl.h" +#include "Container_Base.h" namespace CIAO { @@ -52,5 +56,33 @@ namespace CIAO safe._retn (); } } + + + Components::StandardConfigurator* + Servant_Impl_Base::get_standard_configurator (){ + //create the configurator servant + StandardConfigurator_Impl* config_impl; + ACE_NEW_RETURN (config_impl, + StandardConfigurator_Impl(this), + Components::StandardConfigurator::_nil ()); + + + Components::StandardConfigurator_var configurator = + config_impl->_this (ACE_ENV_SINGLE_ARG_PARAMETER); + ACE_TRY_CHECK; + + return configurator._retn (); + } + + + PortableServer::POA_ptr + Servant_Impl_Base::_default_POA ( + ACE_ENV_SINGLE_ARG_DECL_NOT_USED) + { + + return + PortableServer::POA::_duplicate (container_->_ciao_the_POA ()); + } + } diff --git a/TAO/CIAO/ciao/Servant_Impl_Base.h b/TAO/CIAO/ciao/Servant_Impl_Base.h index c7225c3fefa..e61432e3ab3 100644 --- a/TAO/CIAO/ciao/Servant_Impl_Base.h +++ b/TAO/CIAO/ciao/Servant_Impl_Base.h @@ -27,6 +27,7 @@ #include "CCM_EventC.h" #include "CIAO_Server_Export.h" +#include "CCM_ComponentS.h" namespace CIAO { @@ -47,6 +48,20 @@ namespace CIAO virtual ~Servant_Impl_Base (void); + /// Operation to set attributes on the component. + virtual void set_attributes ( + const Components::ConfigValues &descr + ACE_ENV_ARG_DECL) = 0; + + //Creates and returns the StandardConfigurator for the component + virtual Components::StandardConfigurator* get_standard_configurator(); + + /// Override that returns the (passed-in) default POA of our member + /// component's container, to ensure that we get registered + /// to that POA when _this() is called. + virtual PortableServer::POA_ptr _default_POA ( + ACE_ENV_SINGLE_ARG_DECL); + protected: void add_facet (const char *port_name, CORBA::Object_ptr port_ref); diff --git a/TAO/CIAO/ciao/StandardConfigurator_Impl.h b/TAO/CIAO/ciao/StandardConfigurator_Impl.h index f18d283ce3a..6dc1e1d4576 100644 --- a/TAO/CIAO/ciao/StandardConfigurator_Impl.h +++ b/TAO/CIAO/ciao/StandardConfigurator_Impl.h @@ -78,6 +78,5 @@ namespace CIAO } - #include /**/ "ace/post.h" #endif /* CIAO_STANDARDCONFIGURATOR_IMPL_H */ |