summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjules <jules@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2004-08-17 19:59:31 +0000
committerjules <jules@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2004-08-17 19:59:31 +0000
commit6e1775361a167c9336666f616775218e2e1c0896 (patch)
treed6aa6601dfcad0468f31a3b077cac39f7cce4d54
parent539889856302a12e0188e35c2277c139b8ee7b7f (diff)
downloadATCD-6e1775361a167c9336666f616775218e2e1c0896.tar.gz
Tue Aug 17 14:29:00 2004 Jules White <jules@dre.vanderbilt.edu>
-rw-r--r--TAO/CIAO/ciao/CCM_Core.mpc1
-rw-r--r--TAO/CIAO/ciao/Servant_Impl_Base.cpp32
-rw-r--r--TAO/CIAO/ciao/Servant_Impl_Base.h15
-rw-r--r--TAO/CIAO/ciao/StandardConfigurator_Impl.h1
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 */