summaryrefslogtreecommitdiff
path: root/cpp/src/IceGrid/NodeAdminRouter.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/IceGrid/NodeAdminRouter.cpp')
-rw-r--r--cpp/src/IceGrid/NodeAdminRouter.cpp19
1 files changed, 10 insertions, 9 deletions
diff --git a/cpp/src/IceGrid/NodeAdminRouter.cpp b/cpp/src/IceGrid/NodeAdminRouter.cpp
index f739f6e06b2..f6e1f9b5fbc 100644
--- a/cpp/src/IceGrid/NodeAdminRouter.cpp
+++ b/cpp/src/IceGrid/NodeAdminRouter.cpp
@@ -11,23 +11,24 @@ using namespace IceGrid;
using namespace Ice;
using namespace std;
-IceGrid::NodeServerAdminRouter::NodeServerAdminRouter(const NodeIPtr& node) :
+NodeServerAdminRouter::NodeServerAdminRouter(const shared_ptr<NodeI>& node) :
AdminRouter(node->getTraceLevels()),
_node(node)
{
}
void
-IceGrid::NodeServerAdminRouter::ice_invoke_async(const AMD_Object_ice_invokePtr& cb,
- const std::pair<const Ice::Byte*, const Ice::Byte*>& inParams,
- const Current& current)
+NodeServerAdminRouter::ice_invokeAsync(pair<const Ice::Byte*, const Ice::Byte*> inParams,
+ function<void(bool, const pair<const Ice::Byte*, const Ice::Byte*>&)> response,
+ function<void(exception_ptr)> exception,
+ const Ice::Current& current)
{
//
// First, get the ServerI servant
//
Identity serverId = _node->createServerIdentity(current.id.name);
- ServerIPtr server = ServerIPtr::dynamicCast(_node->getAdapter()->find(serverId));
- if(server == 0)
+ auto server = dynamic_pointer_cast<ServerI>(_node->getAdapter()->find(serverId));
+ if(server == nullptr)
{
if(_traceLevels->admin > 0)
{
@@ -41,9 +42,9 @@ IceGrid::NodeServerAdminRouter::ice_invoke_async(const AMD_Object_ice_invokePtr&
//
// Then get a proxy to the Process facet of the real admin object
//
- ObjectPrx target = server->getProcess();
+ auto target = server->getProcess();
- if(target == 0)
+ if(target == nullptr)
{
if(_traceLevels->admin > 0)
{
@@ -65,5 +66,5 @@ IceGrid::NodeServerAdminRouter::ice_invoke_async(const AMD_Object_ice_invokePtr&
target = target->ice_facet(current.facet);
}
- invokeOnTarget(target, cb, inParams, current);
+ invokeOnTarget(target, inParams, move(response), move(exception), current);
}