diff options
author | Jose <jose@zeroc.com> | 2012-08-14 00:05:17 +0200 |
---|---|---|
committer | Jose <jose@zeroc.com> | 2012-08-14 00:05:17 +0200 |
commit | b3a890faf5841289df3299bac6ada7120b324c16 (patch) | |
tree | eacdb167a4d1e6310bfd49827f90fb2ddf2c144a /cpp/src/IceGrid/AdminCallbackRouter.cpp | |
parent | missing filter properties (diff) | |
download | ice-b3a890faf5841289df3299bac6ada7120b324c16.tar.bz2 ice-b3a890faf5841289df3299bac6ada7120b324c16.tar.xz ice-b3a890faf5841289df3299bac6ada7120b324c16.zip |
ICE-4809 - AMI metadata in Ice services internal definitions
Diffstat (limited to 'cpp/src/IceGrid/AdminCallbackRouter.cpp')
-rw-r--r-- | cpp/src/IceGrid/AdminCallbackRouter.cpp | 40 |
1 files changed, 15 insertions, 25 deletions
diff --git a/cpp/src/IceGrid/AdminCallbackRouter.cpp b/cpp/src/IceGrid/AdminCallbackRouter.cpp index 2fc00ab89c9..bb68190a233 100644 --- a/cpp/src/IceGrid/AdminCallbackRouter.cpp +++ b/cpp/src/IceGrid/AdminCallbackRouter.cpp @@ -12,35 +12,20 @@ using namespace Ice; using namespace std; -namespace +void +IceGrid::AdminCallbackRouter::invokeResponse(bool ok, const std::pair<const Byte*, const Byte*>& outParams, + const InvokeCookiePtr& cookie) { + cookie->cb()->ice_response(ok, outParams); +} -class InvokeAMICallback : public AMI_Array_Object_ice_invoke +void +IceGrid::AdminCallbackRouter::invokeException(const Ice::Exception&, const InvokeCookiePtr& cookie) { -public: - - InvokeAMICallback(const AMD_Object_ice_invokePtr& cb) : - _cb(cb) - { - } - - virtual void ice_response(bool ok, const std::pair<const Byte*, const Byte*>& outParams) - { - _cb->ice_response(ok, outParams); - } - - virtual void ice_exception(const Ice::Exception&) - { - _cb->ice_exception(ObjectNotExistException(__FILE__, __LINE__)); // Callback object is unreachable. - } - -private: - AMD_Object_ice_invokePtr _cb; -}; - + // Callback object is unreachable. + cookie->cb()->ice_exception(ObjectNotExistException(__FILE__, __LINE__)); } - void IceGrid::AdminCallbackRouter::addMapping(const string& category, const ConnectionPtr& con) { @@ -92,6 +77,11 @@ IceGrid::AdminCallbackRouter::ice_invoke_async(const AMD_Object_ice_invokePtr& c // // Call with AMI // - target->ice_invoke_async(new InvokeAMICallback(cb), current.operation, current.mode, inParams, current.ctx); + target->begin_ice_invoke(current.operation, current.mode, inParams, current.ctx, + newCallback_Object_ice_invoke( + this, + &AdminCallbackRouter::invokeResponse, + &AdminCallbackRouter::invokeException), + new InvokeCookie(cb)); } |