summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWilliam R. Otte <wotte@dre.vanderbilt.edu>2005-06-02 19:41:35 +0000
committerWilliam R. Otte <wotte@dre.vanderbilt.edu>2005-06-02 19:41:35 +0000
commit642f44702419ebb6ae2220d9a61bce50b0daabd3 (patch)
tree67acf6fc6506a24faedef04dac3e14b0f19f986e
parentdb97c0df52ce7c781cc734a6cd57dedf7ce11557 (diff)
downloadATCD-642f44702419ebb6ae2220d9a61bce50b0daabd3.tar.gz
*** empty log message ***
-rw-r--r--TAO/CIAO/DAnCE/NodeApplicationManager/NodeApplicationManager_Impl.cpp12
-rw-r--r--TAO/CIAO/DAnCE/NodeApplicationManager/NodeApplicationManager_Impl.h2
-rw-r--r--TAO/CIAO/DAnCE/NodeManager/NAM_Map.cpp14
-rw-r--r--TAO/CIAO/DAnCE/NodeManager/NAM_Map.h8
-rw-r--r--TAO/CIAO/DAnCE/NodeManager/NodeDaemon.mpc1
-rw-r--r--TAO/CIAO/DAnCE/NodeManager/NodeDaemon_Impl.cpp45
-rw-r--r--TAO/CIAO/DAnCE/NodeManager/NodeDaemon_Impl.h12
-rw-r--r--TAO/CIAO/DAnCE/NodeManager/Node_Daemon.cpp4
-rw-r--r--TAO/CIAO/DAnCE/ciao/Deployment.idl2
9 files changed, 57 insertions, 43 deletions
diff --git a/TAO/CIAO/DAnCE/NodeApplicationManager/NodeApplicationManager_Impl.cpp b/TAO/CIAO/DAnCE/NodeApplicationManager/NodeApplicationManager_Impl.cpp
index 2b55ee886fa..21bfb34c39b 100644
--- a/TAO/CIAO/DAnCE/NodeApplicationManager/NodeApplicationManager_Impl.cpp
+++ b/TAO/CIAO/DAnCE/NodeApplicationManager/NodeApplicationManager_Impl.cpp
@@ -13,7 +13,7 @@ CIAO::NodeApplicationManager_Impl::~NodeApplicationManager_Impl (void)
{
}
-Deployment::NodeApplicationManager_ptr
+PortableServer::ObjectId
CIAO::NodeApplicationManager_Impl::init (
const char *nodeapp_location,
const CORBA::ULong delay,
@@ -23,6 +23,8 @@ CIAO::NodeApplicationManager_Impl::init (
ACE_THROW_SPEC ((CORBA::SystemException,
Deployment::InvalidProperty))
{
+ PortableServer::ObjectId_var oid;
+
ACE_TRY
{
if (nodeapp_location == 0)
@@ -41,9 +43,8 @@ CIAO::NodeApplicationManager_Impl::init (
this->callback_poa_ = PortableServer::POA::_duplicate (callback_poa);
// Activate the ourself.
- PortableServer::ObjectId_var oid
- = this->poa_->activate_object (this
- ACE_ENV_ARG_PARAMETER);
+ oid = this->poa_->activate_object (this
+ ACE_ENV_ARG_PARAMETER);
ACE_TRY_CHECK;
CORBA::Object_var obj =
@@ -67,8 +68,7 @@ CIAO::NodeApplicationManager_Impl::init (
ACE_CHECK_RETURN (Deployment::NodeApplicationManager::_nil ());
//return this object reference
- return
- Deployment::NodeApplicationManager::_duplicate (this->objref_.in ());
+ return oid.in ();
}
void
diff --git a/TAO/CIAO/DAnCE/NodeApplicationManager/NodeApplicationManager_Impl.h b/TAO/CIAO/DAnCE/NodeApplicationManager/NodeApplicationManager_Impl.h
index a7d18ffee43..af76f2020ff 100644
--- a/TAO/CIAO/DAnCE/NodeApplicationManager/NodeApplicationManager_Impl.h
+++ b/TAO/CIAO/DAnCE/NodeApplicationManager/NodeApplicationManager_Impl.h
@@ -92,7 +92,7 @@ namespace CIAO
*
* @return NodeApplicationManager_ptr.
**/
- virtual Deployment::NodeApplicationManager_ptr
+ virtual PortableServer::ObjectId
init (const char *nodeapp_location,
const CORBA::ULong delay,
const Deployment::DeploymentPlan & plan,
diff --git a/TAO/CIAO/DAnCE/NodeManager/NAM_Map.cpp b/TAO/CIAO/DAnCE/NodeManager/NAM_Map.cpp
index 788676c2a0f..fa6388c5081 100644
--- a/TAO/CIAO/DAnCE/NodeManager/NAM_Map.cpp
+++ b/TAO/CIAO/DAnCE/NodeManager/NAM_Map.cpp
@@ -21,24 +21,24 @@ namespace CIAO
bool
NAM_Map::insert_nam (const ACE_CString &str,
- ::PortableServer::ObjectId_ptr oid)
+ const PortableServer::ObjectId &oid)
{
- return (this->map_.bind (str, oid) == 0)
+ return (this->map_.bind (str, oid) == 0);
}
- ::PortableServer::ObjectId_ptr
+ ::PortableServer::ObjectId
NAM_Map::get_nam (const ACE_CString &str)
{
- MAP::ENTRY entry;
+ MAP::ENTRY *entry;
if (this->map_.find (str, entry) != 0)
- return ::PortableServer::ObjectId::_nil ();
+ return ::PortableServer::ObjectId ();
- return ::PortableServer::ObjectId::duplicate (entry.int_id.in ());
+ return entry->int_id_.in ();
}
bool
- NAM_Map::remove_nam (const PortableServer::ObjectId_ptr oid)
+ NAM_Map::remove_nam (const PortableServer::ObjectId &oid)
{
for (Iterator i = this->map_.begin ();
i != this->map_.end ();
diff --git a/TAO/CIAO/DAnCE/NodeManager/NAM_Map.h b/TAO/CIAO/DAnCE/NodeManager/NAM_Map.h
index 5af6d33b8f4..099fbacdbd8 100644
--- a/TAO/CIAO/DAnCE/NodeManager/NAM_Map.h
+++ b/TAO/CIAO/DAnCE/NodeManager/NAM_Map.h
@@ -16,7 +16,7 @@
#include "ace/Hash_Map_Manager.h"
#include "ciao/DeploymentC.h"
#include "ace/SString.h"
-
+#include "tao/PortableServer/PortableServer.h"
#if !defined (ACE_LACKS_PRAGMA_ONCE)
# pragma once
#endif /* ACE_LACKS_PRAGMA_ONCE */
@@ -41,14 +41,14 @@ namespace CIAO
/// Insert a NAM OID into the collection
bool insert_nam (const ACE_CString &str,
- ::PortableServer::ObjectId_ptr oid);
+ const PortableServer::ObjectId &oid);
/// Get a specified NAM.
- ::PortableServer::ObjectId_ptr
+ ::PortableServer::ObjectId
get_nam (const ACE_CString &str);
/// Remove a nam from the map, given its oid.
- bool remove_nam (const PortableServer::ObjectId_ptr oid);
+ bool remove_nam (const PortableServer::ObjectId &oid);
private:
typedef
diff --git a/TAO/CIAO/DAnCE/NodeManager/NodeDaemon.mpc b/TAO/CIAO/DAnCE/NodeManager/NodeDaemon.mpc
index e3e6e3bac78..3003e9d91c4 100644
--- a/TAO/CIAO/DAnCE/NodeManager/NodeDaemon.mpc
+++ b/TAO/CIAO/DAnCE/NodeManager/NodeDaemon.mpc
@@ -27,5 +27,6 @@ project(Node_Daemon): ciao_deployment_stub, ciao_deployment_svnt, ciao_server_dn
NodeDaemonS.cpp
NodeDaemon_Impl.cpp
Node_Daemon.cpp
+ NAM_Map.cpp
}
}
diff --git a/TAO/CIAO/DAnCE/NodeManager/NodeDaemon_Impl.cpp b/TAO/CIAO/DAnCE/NodeManager/NodeDaemon_Impl.cpp
index af5eab30a9e..fea8a97a957 100644
--- a/TAO/CIAO/DAnCE/NodeManager/NodeDaemon_Impl.cpp
+++ b/TAO/CIAO/DAnCE/NodeManager/NodeDaemon_Impl.cpp
@@ -14,10 +14,19 @@ CIAO::NodeDaemon_Impl::NodeDaemon_Impl (const char *name,
name_ (CORBA::string_dup (name)),
nodeapp_location_ (CORBA::string_dup (nodapp_loc)),
callback_poa_ (PortableServer::POA::_nil ()),
- spawn_delay_ (spawn_delay),
- manager_ (Deployment::NodeApplicationManager::_nil ())
+ spawn_delay_ (spawn_delay)
+{
+}
+
+CIAO::NodeDaemon_Impl::~NodeDaemon_Impl ()
+{
+
+}
+
+void
+CIAO::NodeDaemon_Impl::init (ACE_ENV_SINGLE_ARG_DECL)
+ ACE_THROW_SPEC ((CORBA::SystemException))
{
- ACE_DECLARE_NEW_CORBA_ENV;
ACE_TRY
{
//create the call back poa for NAM.
@@ -36,18 +45,11 @@ CIAO::NodeDaemon_Impl::NodeDaemon_Impl (const char *name,
ACE_CATCHANY
{
ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
- "NodeDaemon_Impl::constructor\t\n");
- // @@ This is bogus and will not work with emulated exceptions
- // -- Bala
+ "NodeDaemon_Impl::init\t\n");
ACE_RE_THROW;
}
ACE_ENDTRY;
- ACE_CHECK;
-}
-
-CIAO::NodeDaemon_Impl::~NodeDaemon_Impl ()
-{
-
+ ACE_CHECK;
}
PortableServer::POA_ptr
@@ -100,7 +102,7 @@ CIAO::NodeDaemon_Impl::preparePlan (const Deployment::DeploymentPlan &plan
{
ACE_TRY
{
- if (!this->map_.is_available (plan.uuid.in ()))
+ if (!this->map_.is_available (plan.UUID.in ()))
{
//Implementation undefined.
@@ -116,7 +118,7 @@ CIAO::NodeDaemon_Impl::preparePlan (const Deployment::DeploymentPlan &plan
//@@ Note: after the init call the servant ref count would
// become 2. so we can leave the safeservant along and be
// dead. Also note that I added
- CORBA::ObjectId_var oid =
+ PortableServer::ObjectId_var oid =
app_mgr->init (this->nodeapp_location_,
this->spawn_delay_,
plan,
@@ -124,7 +126,7 @@ CIAO::NodeDaemon_Impl::preparePlan (const Deployment::DeploymentPlan &plan
ACE_ENV_ARG_PARAMETER);
ACE_TRY_CHECK;
- this->map_.insert_nam (plan.uuid.in (), oid.in ());
+ this->map_.insert_nam (plan.UUID.in (), oid.in ());
/*
if (CORBA::is_nil (this->manager_.in ()))
@@ -139,13 +141,14 @@ CIAO::NodeDaemon_Impl::preparePlan (const Deployment::DeploymentPlan &plan
}
CORBA::Object_var obj =
- this->poa_->id_to_reference (this->map_.get_nam (plan.uuid.in ()));
+ this->poa_->id_to_reference (this->map_.get_nam (plan.UUID.in ()));
+ ACE_TRY_CHECK;
// narrow should return a nil reference if it fails.
return
Deployment::NodeApplicationManager::_narrow (obj.in ());
}
- ACE_CATCH (PortableServer::ObjectNotActive)
+ ACE_CATCH (PortableServer::POA::ObjectNotActive, ex)
{
ACE_THROW (Deployment::StartError ());
}
@@ -181,20 +184,20 @@ CIAO::NodeDaemon_Impl::destroyManager
this->map_.remove_nam (id);
}
- ACE_CATCH (PortableServer::WrongAdapter)
+ ACE_CATCH (PortableServer::POA::WrongAdapter, ex)
{
ACE_ERROR ((LM_ERROR,
"NodeDaemon_Impl::destroyManager: EXCEPTION - "
"Invalid reference passed to destroyManager\n"));
- ACE_THROW (Deployment::InvalidReference);
+ ACE_THROW (::Deployment::InvalidReference ());
}
- ACE_CATCH (PortableServer::ObjectNotActive)
+ ACE_CATCH (PortableServer::POA::ObjectNotActive, ex)
{
ACE_ERROR ((LM_ERROR,
"NodeDaemon_Impl::destroyManager: EXCEPTION - "
" asked to destroy an already inactive object.\n"));
- ACE_THROW (Deployment::InvalidReference);
+ ACE_THROW (::Deployment::InvalidReference ());
}
ACE_CATCHANY
{
diff --git a/TAO/CIAO/DAnCE/NodeManager/NodeDaemon_Impl.h b/TAO/CIAO/DAnCE/NodeManager/NodeDaemon_Impl.h
index 2c936a56979..f9ae5df23b5 100644
--- a/TAO/CIAO/DAnCE/NodeManager/NodeDaemon_Impl.h
+++ b/TAO/CIAO/DAnCE/NodeManager/NodeDaemon_Impl.h
@@ -32,6 +32,7 @@
# pragma warning (disable:4250)
#endif /* _MSC_VER */
+#include "NAM_Map.h"
namespace CIAO
{
@@ -57,7 +58,11 @@ namespace CIAO
const char * nodeapp_loc,
int spawn_delay)
ACE_THROW_SPEC ((CORBA::SystemException));
-
+
+ /// Initializes the NodeDaemon.
+ virtual void init (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
/// POA operation..
virtual PortableServer::POA_ptr _default_POA (void);
@@ -89,7 +94,8 @@ namespace CIAO
destroyManager (Deployment::NodeApplicationManager_ptr appManager
ACE_ENV_ARG_DECL_WITH_DEFAULTS)
ACE_THROW_SPEC ((CORBA::SystemException,
- Deployment::StopError));
+ Deployment::StopError,
+ Deployment::InvalidReference));
protected:
/// Since this class is reference counted, making this
@@ -119,6 +125,8 @@ namespace CIAO
// Cache reference of last NodeAppManager
// Deployment::NodeApplicationManager_var manager_;
+
+ NAM_Map map_;
};
}
diff --git a/TAO/CIAO/DAnCE/NodeManager/Node_Daemon.cpp b/TAO/CIAO/DAnCE/NodeManager/Node_Daemon.cpp
index 11dd2165059..01e636340df 100644
--- a/TAO/CIAO/DAnCE/NodeManager/Node_Daemon.cpp
+++ b/TAO/CIAO/DAnCE/NodeManager/Node_Daemon.cpp
@@ -177,7 +177,9 @@ main (int argc, char *argv[])
spawn_delay),
-1);
PortableServer::ServantBase_var safe_daemon (daemon_servant);
-
+
+ daemon_servant->init ();
+
// Implicit activation
CIAO::NodeDaemon_var daemon =
daemon_servant->_this ();
diff --git a/TAO/CIAO/DAnCE/ciao/Deployment.idl b/TAO/CIAO/DAnCE/ciao/Deployment.idl
index d9f428443b8..db4e226bf7f 100644
--- a/TAO/CIAO/DAnCE/ciao/Deployment.idl
+++ b/TAO/CIAO/DAnCE/ciao/Deployment.idl
@@ -95,7 +95,7 @@ module Deployment {
NodeApplicationManager preparePlan (in DeploymentPlan plan)
raises (StartError, PlanError);
void destroyManager (in NodeApplicationManager appManager)
- raises (StopError);
+ raises (StopError, InvalidReference);
};
interface RepositoryManager {