summaryrefslogtreecommitdiff
path: root/CIAO/DAnCE/Deployment/NodeApp_CB_Impl.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'CIAO/DAnCE/Deployment/NodeApp_CB_Impl.cpp')
-rw-r--r--CIAO/DAnCE/Deployment/NodeApp_CB_Impl.cpp62
1 files changed, 62 insertions, 0 deletions
diff --git a/CIAO/DAnCE/Deployment/NodeApp_CB_Impl.cpp b/CIAO/DAnCE/Deployment/NodeApp_CB_Impl.cpp
new file mode 100644
index 00000000000..d3817d4b4c4
--- /dev/null
+++ b/CIAO/DAnCE/Deployment/NodeApp_CB_Impl.cpp
@@ -0,0 +1,62 @@
+// $Id$
+#include "NodeApp_CB_Impl.h"
+
+CIAO::NodeApplication_Callback_Impl::
+NodeApplication_Callback_Impl (CORBA::ORB_ptr o,
+ PortableServer::POA_ptr p,
+ Deployment::NodeApplicationManager_ptr s,
+ const Deployment::Properties &properties)
+ : orb_ (CORBA::ORB::_duplicate (o)),
+ poa_ (PortableServer::POA::_duplicate (p)),
+ nam_ (Deployment::NodeApplicationManager::_duplicate (s))
+{
+ try
+ {
+ //@@ Note: this properties is useless unless
+ // we have some specific properties for the callback obj.
+ Deployment::Properties * tmp = 0;
+ ACE_NEW_THROW_EX (tmp,
+ Deployment::Properties (properties),
+ CORBA::NO_MEMORY ());
+ this->properties_ = tmp;
+ }
+ catch (const CORBA::Exception& ex)
+ {
+ ex._tao_print_exception ("NodeApp_CB_Impl::Constructor\t\n");
+ throw;
+ }
+}
+
+CIAO::NodeApplication_Callback_Impl::~NodeApplication_Callback_Impl ()
+{
+}
+
+PortableServer::POA_ptr
+CIAO::NodeApplication_Callback_Impl::_default_POA (void)
+{
+ return PortableServer::POA::_duplicate (this->poa_.in ());
+}
+
+Deployment::NodeApplicationManager_ptr
+CIAO::NodeApplication_Callback_Impl::register_node_application (
+ Deployment::NodeApplication_ptr na,
+ Deployment::Properties_out properties)
+{
+ properties = this->properties_._retn ();
+
+ this->nodeapp_ = Deployment::NodeApplication::_duplicate (na);
+ return Deployment::NodeApplicationManager::_duplicate (this->nam_.in ());
+}
+
+Deployment::NodeApplication_ptr
+CIAO::NodeApplication_Callback_Impl::get_nodeapp_ref (void)
+{
+ // @@ (OO) How are you relinquishing ownership here? Since you're
+ // duplicating the reference you actually maintain
+ // ownership. Is the below comment wrong, or is the code
+ // wrong?
+
+ // Relinquish the ownership of the nodeapplication reference.
+ //This method should only be called from the NodeApplicationManager.
+ return Deployment::NodeApplication::_duplicate (this->nodeapp_.in ());
+}