summaryrefslogtreecommitdiff
path: root/CIAO/ciao/Containers/Swapping/Dynamic_Component_Activator.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'CIAO/ciao/Containers/Swapping/Dynamic_Component_Activator.cpp')
-rw-r--r--CIAO/ciao/Containers/Swapping/Dynamic_Component_Activator.cpp48
1 files changed, 48 insertions, 0 deletions
diff --git a/CIAO/ciao/Containers/Swapping/Dynamic_Component_Activator.cpp b/CIAO/ciao/Containers/Swapping/Dynamic_Component_Activator.cpp
new file mode 100644
index 00000000000..e25fbe1a9e4
--- /dev/null
+++ b/CIAO/ciao/Containers/Swapping/Dynamic_Component_Activator.cpp
@@ -0,0 +1,48 @@
+#include "ciao/Containers/Swapping/Dynamic_Component_Activator.h"
+#include "ciao/Servants/Swapping/Dynamic_Component_Servant_Base.h"
+#include "ciao/Logger/Log_Macros.h"
+
+ACE_RCSID (ciao,
+ Dynamic_Component_Activator,
+ "$Id$")
+
+#if !defined (__ACE_INLINE__)
+# include "Dynamic_Component_Activator.inl"
+#endif /* __ACE_INLINE__ */
+
+namespace CIAO
+{
+ Dynamic_Component_Activator::Dynamic_Component_Activator (CORBA::ORB_ptr o)
+ : orb_ (CORBA::ORB::_duplicate (o))
+ {
+ }
+
+ Dynamic_Component_Activator::~Dynamic_Component_Activator (void)
+ {
+ }
+
+ PortableServer::Servant
+ Dynamic_Component_Activator::incarnate (const PortableServer::ObjectId &oid,
+ PortableServer::POA_ptr)
+ {
+ Dynamic_Component_Servant_Base* servant = 0;
+ PortableServer::ObjectId new_oid (oid);
+
+ if (this->servant_map_.find (oid, servant) == 0)
+ {
+ return servant->create (new_oid);
+ }
+
+ return 0;
+ }
+
+ void
+ Dynamic_Component_Activator::etherealize (
+ const PortableServer::ObjectId &,
+ PortableServer::POA_ptr,
+ PortableServer::Servant,
+ CORBA::Boolean,
+ CORBA::Boolean)
+ {
+ }
+}