summaryrefslogtreecommitdiff
path: root/cpp/src/IceGrid/NodeAdminRouter.cpp
diff options
context:
space:
mode:
authorJoe George <joe@zeroc.com>2021-01-28 16:26:44 -0500
committerJoe George <joe@zeroc.com>2021-02-01 16:59:30 -0500
commit92a6531e409f2691d82591e185a92299d415fc0f (patch)
tree60c79e2a8f327b8f0b6ebc06b06f48a2e8086f6a /cpp/src/IceGrid/NodeAdminRouter.cpp
parentPort Glacier2, IceBox, IceBridge, IceDB, IceXML, icegriddb (diff)
downloadice-92a6531e409f2691d82591e185a92299d415fc0f.tar.bz2
ice-92a6531e409f2691d82591e185a92299d415fc0f.tar.xz
ice-92a6531e409f2691d82591e185a92299d415fc0f.zip
IceGrid and IceStorm
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);
}