16#ifndef __Ice_Router_h__
17#define __Ice_Router_h__
38#ifndef ICE_IGNORE_VERSION
39# if ICE_INT_VERSION / 100 != 307
40# error Ice version mismatch!
42# if ICE_INT_VERSION % 100 >= 50
43# error Beta header file detected
45# if ICE_INT_VERSION % 100 < 11
46# error Ice patch level mismatch!
51# if defined(ICE_STATIC_LIBS)
53# elif defined(ICE_API_EXPORTS)
54# define ICE_API ICE_DECLSPEC_EXPORT
56# define ICE_API ICE_DECLSPEC_IMPORT
60#ifdef ICE_CPP11_MAPPING
93 virtual bool ice_isA(::std::string
id,
const Current& current)
const override;
100 virtual ::std::vector<::std::string>
ice_ids(
const Current& current)
const override;
142 bool _iceD_getClientProxy(::IceInternal::Incoming&,
const Current&)
const;
153 bool _iceD_getServerProxy(::IceInternal::Incoming&,
const Current&)
const;
164 bool _iceD_addProxies(::IceInternal::Incoming&,
const Current&);
168 virtual bool _iceDispatch(::IceInternal::Incoming&,
const Current&)
override;
199 virtual ::std::vector<::std::string>
ice_ids(
const Current& current)
const override;
222 bool _iceD_getRouter(::IceInternal::Incoming&,
const Current&);
226 virtual bool _iceDispatch(::IceInternal::Incoming&,
const Current&)
override;
261 auto _result = _makePromiseOutgoing<Router::GetClientProxyResult>(
true,
this, &RouterPrx::_iceI_getClientProxy, context).get();
262 hasRoutingTable = _result.hasRoutingTable;
263 return ::std::move(_result.returnValue);
275 template<
template<
typename>
class P = ::std::promise>
277 ->
decltype(::std::declval<P<Router::GetClientProxyResult>>().get_future())
279 return _makePromiseOutgoing<Router::GetClientProxyResult, P>(
false,
this, &RouterPrx::_iceI_getClientProxy, context);
294 ::std::function<void()>
296 ::std::function<
void(::std::exception_ptr)> ex =
nullptr,
297 ::std::function<
void(
bool)> sent =
nullptr,
302 response(::std::move(_result.returnValue), _result.hasRoutingTable);
304 return _makeLambdaOutgoing<Router::GetClientProxyResult>(std::move(_responseCb), std::move(ex), std::move(sent),
this, &Ice::RouterPrx::_iceI_getClientProxy, context);
308 ICE_MEMBER(
ICE_API)
void _iceI_getClientProxy(const ::std::shared_ptr<::IceInternal::OutgoingAsyncT<Router::GetClientProxyResult>>&,
const Context&);
319 return _makePromiseOutgoing<::std::shared_ptr<::Ice::ObjectPrx>>(
true,
this, &RouterPrx::_iceI_getServerProxy, context).get();
328 template<
template<
typename>
class P = ::std::promise>
330 ->
decltype(::std::declval<P<::std::shared_ptr<::Ice::ObjectPrx>>>().get_future())
332 return _makePromiseOutgoing<::std::shared_ptr<::Ice::ObjectPrx>, P>(
false,
this, &RouterPrx::_iceI_getServerProxy, context);
344 ::std::function<void()>
346 ::std::function<
void(::std::exception_ptr)> ex =
nullptr,
347 ::std::function<
void(
bool)> sent =
nullptr,
350 return _makeLambdaOutgoing<::std::shared_ptr<::Ice::ObjectPrx>>(std::move(response), std::move(ex), std::move(sent),
this, &Ice::RouterPrx::_iceI_getServerProxy, context);
354 ICE_MEMBER(
ICE_API)
void _iceI_getServerProxy(const ::std::shared_ptr<::IceInternal::OutgoingAsyncT<::std::shared_ptr<::Ice::ObjectPrx>>>&,
const Context&);
365 return _makePromiseOutgoing<::Ice::ObjectProxySeq>(
true,
this, &RouterPrx::_iceI_addProxies, proxies, context).get();
374 template<
template<
typename>
class P = ::std::promise>
376 ->
decltype(::std::declval<P<::Ice::ObjectProxySeq>>().get_future())
378 return _makePromiseOutgoing<::Ice::ObjectProxySeq, P>(
false,
this, &RouterPrx::_iceI_addProxies, proxies, context);
390 ::std::function<void()>
393 ::std::function<
void(::std::exception_ptr)> ex =
nullptr,
394 ::std::function<
void(
bool)> sent =
nullptr,
397 return _makeLambdaOutgoing<::Ice::ObjectProxySeq>(std::move(response), std::move(ex), std::move(sent),
this, &Ice::RouterPrx::_iceI_addProxies, proxies, context);
414 friend ::std::shared_ptr<RouterPrx> IceInternal::createProxy<RouterPrx>();
416 ICE_MEMBER(
ICE_API) virtual ::std::shared_ptr<ObjectPrx> _newInstance()
const override;
440 return _makePromiseOutgoing<::std::shared_ptr<::Ice::RouterPrx>>(
true,
this, &RouterFinderPrx::_iceI_getRouter, context).get();
449 template<
template<
typename>
class P = ::std::promise>
451 ->
decltype(::std::declval<P<::std::shared_ptr<::Ice::RouterPrx>>>().get_future())
453 return _makePromiseOutgoing<::std::shared_ptr<::Ice::RouterPrx>, P>(
false,
this, &RouterFinderPrx::_iceI_getRouter, context);
465 ::std::function<void()>
466 getRouterAsync(::std::function<
void(::std::shared_ptr<::Ice::RouterPrx>)> response,
467 ::std::function<
void(::std::exception_ptr)> ex =
nullptr,
468 ::std::function<
void(
bool)> sent =
nullptr,
471 return _makeLambdaOutgoing<::std::shared_ptr<::Ice::RouterPrx>>(std::move(response), std::move(ex), std::move(sent),
this, &Ice::RouterFinderPrx::_iceI_getRouter, context);
475 ICE_MEMBER(
ICE_API)
void _iceI_getRouter(const ::std::shared_ptr<::IceInternal::OutgoingAsyncT<::std::shared_ptr<::Ice::RouterPrx>>>&,
const Context&);
488 friend ::std::shared_ptr<RouterFinderPrx> IceInternal::createProxy<RouterFinderPrx>();
490 ICE_MEMBER(
ICE_API) virtual ::std::shared_ptr<ObjectPrx> _newInstance()
const override;
507using RouterPtr = ::std::shared_ptr<Router>;
508using RouterPrxPtr = ::std::shared_ptr<RouterPrx>;
510using RouterFinderPtr = ::std::shared_ptr<RouterFinder>;
511using RouterFinderPrxPtr = ::std::shared_ptr<RouterFinderPrx>;
526ICE_API void _readProxy(::Ice::InputStream*, ::IceInternal::ProxyHandle< Router>&);
527ICE_API ::IceProxy::Ice::Object* upCast(Router*);
532ICE_API void _readProxy(::Ice::InputStream*, ::IceInternal::ProxyHandle< RouterFinder>&);
533ICE_API ::IceProxy::Ice::Object* upCast(RouterFinder*);
545ICE_API Object* upCast(Router*);
547typedef ::IceInternal::Handle< Router> RouterPtr;
548typedef ::IceInternal::ProxyHandle< ::IceProxy::Ice::Router> RouterPrx;
549typedef RouterPrx RouterPrxPtr;
551ICE_API void _icePatchObjectPtr(RouterPtr&,
const ObjectPtr&);
556ICE_API Object* upCast(RouterFinder*);
558typedef ::IceInternal::Handle< RouterFinder> RouterFinderPtr;
559typedef ::IceInternal::ProxyHandle< ::IceProxy::Ice::RouterFinder> RouterFinderPrx;
560typedef RouterFinderPrx RouterFinderPrxPtr;
562ICE_API void _icePatchObjectPtr(RouterFinderPtr&,
const ObjectPtr&);
575class Callback_Router_getClientProxy_Base :
public virtual ::IceInternal::CallbackBase { };
576typedef ::IceUtil::Handle< Callback_Router_getClientProxy_Base> Callback_Router_getClientProxyPtr;
583class Callback_Router_getServerProxy_Base :
public virtual ::IceInternal::CallbackBase { };
584typedef ::IceUtil::Handle< Callback_Router_getServerProxy_Base> Callback_Router_getServerProxyPtr;
591class Callback_Router_addProxies_Base :
public virtual ::IceInternal::CallbackBase { };
592typedef ::IceUtil::Handle< Callback_Router_addProxies_Base> Callback_Router_addProxiesPtr;
599class Callback_RouterFinder_getRouter_Base :
public virtual ::IceInternal::CallbackBase { };
600typedef ::IceUtil::Handle< Callback_RouterFinder_getRouter_Base> Callback_RouterFinder_getRouterPtr;
610class ICE_CLASS(ICE_API) Router :
public virtual ::Ice::Proxy<Router, ::IceProxy::Ice::Object>
630 return end_getClientProxy(hasRoutingTable, _iceI_begin_getClientProxy(context, ::IceInternal::dummyCallback, 0,
true));
644 return _iceI_begin_getClientProxy(context, ::IceInternal::dummyCallback, 0);
657 ::Ice::AsyncResultPtr begin_getClientProxy(const ::Ice::CallbackPtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
673 ::Ice::AsyncResultPtr begin_getClientProxy(const ::Ice::Context& context, const ::Ice::CallbackPtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
675 return _iceI_begin_getClientProxy(context, cb, cookie);
688 ::Ice::AsyncResultPtr begin_getClientProxy(const ::Ice::Callback_Router_getClientProxyPtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
704 ::Ice::AsyncResultPtr begin_getClientProxy(const ::Ice::Context& context, const ::Ice::Callback_Router_getClientProxyPtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
706 return _iceI_begin_getClientProxy(context, cb, cookie);
719 ICE_MEMBER(
ICE_API) ::Ice::ObjectPrx end_getClientProxy(IceUtil::
Optional<bool>& hasRoutingTable, const ::Ice::AsyncResultPtr& result);
727 ICE_MEMBER(
ICE_API) ::Ice::AsyncResultPtr _iceI_begin_getClientProxy(const ::Ice::
Context&, const ::IceInternal::CallbackBasePtr&, const ::Ice::
LocalObjectPtr& cookie = 0, bool sync = false);
739 return end_getServerProxy(_iceI_begin_getServerProxy(context, ::IceInternal::dummyCallback, 0,
true));
750 return _iceI_begin_getServerProxy(context, ::IceInternal::dummyCallback, 0);
760 ::Ice::AsyncResultPtr begin_getServerProxy(const ::Ice::CallbackPtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
773 ::Ice::AsyncResultPtr begin_getServerProxy(const ::Ice::Context& context, const ::Ice::CallbackPtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
775 return _iceI_begin_getServerProxy(context, cb, cookie);
785 ::Ice::AsyncResultPtr begin_getServerProxy(const ::Ice::Callback_Router_getServerProxyPtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
798 ::Ice::AsyncResultPtr begin_getServerProxy(const ::Ice::Context& context, const ::Ice::Callback_Router_getServerProxyPtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
800 return _iceI_begin_getServerProxy(context, cb, cookie);
808 ICE_MEMBER(
ICE_API) ::Ice::ObjectPrx end_getServerProxy(const ::Ice::AsyncResultPtr& result);
812 ICE_MEMBER(
ICE_API) ::Ice::AsyncResultPtr _iceI_begin_getServerProxy(const ::Ice::
Context&, const ::IceInternal::CallbackBasePtr&, const ::Ice::
LocalObjectPtr& cookie = 0, bool sync = false);
824 return end_addProxies(_iceI_begin_addProxies(proxies, context, ::IceInternal::dummyCallback, 0,
true));
833 ::Ice::AsyncResultPtr begin_addProxies(const ::Ice::ObjectProxySeq& proxies, const ::Ice::Context& context =
::Ice::noExplicitContext)
835 return _iceI_begin_addProxies(proxies, context, ::IceInternal::dummyCallback, 0);
845 ::Ice::AsyncResultPtr begin_addProxies(const ::Ice::ObjectProxySeq& proxies, const ::Ice::CallbackPtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
858 ::Ice::AsyncResultPtr begin_addProxies(const ::Ice::ObjectProxySeq& proxies, const ::Ice::Context& context, const ::Ice::CallbackPtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
860 return _iceI_begin_addProxies(proxies, context, cb, cookie);
870 ::Ice::AsyncResultPtr begin_addProxies(const ::Ice::ObjectProxySeq& proxies, const ::Ice::Callback_Router_addProxiesPtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
883 ::Ice::AsyncResultPtr begin_addProxies(const ::Ice::ObjectProxySeq& proxies, const ::Ice::Context& context, const ::Ice::Callback_Router_addProxiesPtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
885 return _iceI_begin_addProxies(proxies, context, cb, cookie);
914class ICE_CLASS(ICE_API) RouterFinder :
public virtual ::Ice::Proxy<RouterFinder, ::IceProxy::Ice::Object>
926 return end_getRouter(_iceI_begin_getRouter(context, ::IceInternal::dummyCallback, 0,
true));
937 return _iceI_begin_getRouter(context, ::IceInternal::dummyCallback, 0);
947 ::Ice::AsyncResultPtr begin_getRouter(const ::Ice::CallbackPtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
960 ::Ice::AsyncResultPtr begin_getRouter(const ::Ice::Context& context, const ::Ice::CallbackPtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
962 return _iceI_begin_getRouter(context, cb, cookie);
972 ::Ice::AsyncResultPtr begin_getRouter(const ::Ice::Callback_RouterFinder_getRouterPtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
985 ::Ice::AsyncResultPtr begin_getRouter(const ::Ice::Context& context, const ::Ice::Callback_RouterFinder_getRouterPtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
987 return _iceI_begin_getRouter(context, cb, cookie);
995 ICE_MEMBER(
ICE_API) ::Ice::RouterPrx end_getRouter(const ::Ice::AsyncResultPtr& result);
999 ICE_MEMBER(
ICE_API) ::Ice::AsyncResultPtr _iceI_begin_getRouter(const ::Ice::
Context&, const ::IceInternal::CallbackBasePtr&, const ::Ice::
LocalObjectPtr& cookie = 0, bool sync = false);
1029class ICE_API Router :
public virtual Object
1033 typedef RouterPrx ProxyType;
1034 typedef RouterPtr PointerType;
1038#ifdef ICE_CPP11_COMPILER
1040 Router(
const Router&) =
default;
1041 Router& operator=(
const Router&) =
default;
1050 virtual bool ice_isA(const ::std::string&
id,
const Current& current = emptyCurrent)
const;
1057 virtual ::std::vector< ::std::string> ice_ids(
const Current& current = emptyCurrent)
const;
1064 virtual const ::std::string& ice_id(
const Current& current = emptyCurrent)
const;
1070 static const ::std::string& ice_staticId();
1086 virtual ObjectPrx getClientProxy(
IceUtil::Optional<bool>& hasRoutingTable,
const Current& current = emptyCurrent)
const = 0;
1088 bool _iceD_getClientProxy(::IceInternal::Incoming&, const ::Ice::Current&)
const;
1097 virtual ObjectPrx getServerProxy(
const Current& current = emptyCurrent)
const = 0;
1099 bool _iceD_getServerProxy(::IceInternal::Incoming&, const ::Ice::Current&)
const;
1108 virtual ObjectProxySeq addProxies(
const ObjectProxySeq& proxies,
const Current& current = emptyCurrent) = 0;
1110 bool _iceD_addProxies(::IceInternal::Incoming&, const ::Ice::Current&);
1114 virtual bool _iceDispatch(::IceInternal::Incoming&,
const Current&);
1120 virtual void _iceWriteImpl(OutputStream*)
const;
1121 virtual void _iceReadImpl(InputStream*);
1126inline bool operator==(
const Router& lhs,
const Router& rhs)
1128 return static_cast<const Object&
>(lhs) ==
static_cast<const Object&
>(rhs);
1131inline bool operator<(
const Router& lhs,
const Router& rhs)
1133 return static_cast<const Object&
>(lhs) <
static_cast<const Object&
>(rhs);
1145class ICE_API RouterFinder :
public virtual Object
1149 typedef RouterFinderPrx ProxyType;
1150 typedef RouterFinderPtr PointerType;
1152 virtual ~RouterFinder();
1154#ifdef ICE_CPP11_COMPILER
1155 RouterFinder() =
default;
1156 RouterFinder(
const RouterFinder&) =
default;
1157 RouterFinder& operator=(
const RouterFinder&) =
default;
1166 virtual bool ice_isA(const ::std::string&
id,
const Current& current = emptyCurrent)
const;
1173 virtual ::std::vector< ::std::string> ice_ids(
const Current& current = emptyCurrent)
const;
1180 virtual const ::std::string& ice_id(
const Current& current = emptyCurrent)
const;
1186 static const ::std::string& ice_staticId();
1194 virtual RouterPrx getRouter(
const Current& current = emptyCurrent) = 0;
1196 bool _iceD_getRouter(::IceInternal::Incoming&, const ::Ice::Current&);
1200 virtual bool _iceDispatch(::IceInternal::Incoming&,
const Current&);
1206 virtual void _iceWriteImpl(OutputStream*)
const;
1207 virtual void _iceReadImpl(InputStream*);
1212inline bool operator==(
const RouterFinder& lhs,
const RouterFinder& rhs)
1214 return static_cast<const Object&
>(lhs) ==
static_cast<const Object&
>(rhs);
1217inline bool operator<(
const RouterFinder& lhs,
const RouterFinder& rhs)
1219 return static_cast<const Object&
>(lhs) <
static_cast<const Object&
>(rhs);
1241class CallbackNC_Router_getClientProxy :
public Callback_Router_getClientProxy_Base,
public ::IceInternal::TwowayCallbackNC<T>
1245 typedef IceUtil::Handle<T> TPtr;
1247 typedef void (T::*Exception)(const ::Ice::Exception&);
1248 typedef void (T::*Sent)(bool);
1251 CallbackNC_Router_getClientProxy(
const TPtr& obj, Response cb, Exception excb, Sent sentcb)
1252 : ::IceInternal::TwowayCallbackNC<T>(obj, cb != 0, excb, sentcb), _response(cb)
1257 virtual void completed(
const AsyncResultPtr& result)
const
1259 RouterPrx proxy = RouterPrx::uncheckedCast(result->getProxy());
1264 ret = proxy->end_getClientProxy(iceP_hasRoutingTable, result);
1266 catch(const ::Ice::Exception& ex)
1268 ::IceInternal::CallbackNC<T>::exception(result, ex);
1273 (::IceInternal::CallbackNC<T>::_callback.get()->*_response)(ret, iceP_hasRoutingTable);
1291template<
class T> Callback_Router_getClientProxyPtr
1292newCallback_Router_getClientProxy(
const IceUtil::Handle<T>& instance,
void (T::*cb)(
const ObjectPrx&,
const IceUtil::Optional<bool>&),
void (T::*excb)(const ::Ice::Exception&),
void (T::*sentcb)(
bool) = 0)
1294 return new CallbackNC_Router_getClientProxy<T>(instance, cb, excb, sentcb);
1305template<
class T> Callback_Router_getClientProxyPtr
1306newCallback_Router_getClientProxy(T* instance,
void (T::*cb)(
const ObjectPrx&,
const IceUtil::Optional<bool>&),
void (T::*excb)(const ::Ice::Exception&),
void (T::*sentcb)(
bool) = 0)
1308 return new CallbackNC_Router_getClientProxy<T>(instance, cb, excb, sentcb);
1316template<
class T,
typename CT>
1317class Callback_Router_getClientProxy :
public Callback_Router_getClientProxy_Base,
public ::IceInternal::TwowayCallback<T, CT>
1321 typedef IceUtil::Handle<T> TPtr;
1323 typedef void (T::*Exception)(const ::Ice::Exception& ,
const CT&);
1324 typedef void (T::*Sent)(bool ,
const CT&);
1327 Callback_Router_getClientProxy(
const TPtr& obj, Response cb, Exception excb, Sent sentcb)
1328 : ::IceInternal::TwowayCallback<T, CT>(obj, cb != 0, excb, sentcb), _response(cb)
1333 virtual void completed(
const AsyncResultPtr& result)
const
1335 RouterPrx proxy = RouterPrx::uncheckedCast(result->getProxy());
1340 ret = proxy->end_getClientProxy(iceP_hasRoutingTable, result);
1342 catch(const ::Ice::Exception& ex)
1344 ::IceInternal::Callback<T, CT>::exception(result, ex);
1349 (::IceInternal::Callback<T, CT>::_callback.get()->*_response)(ret, iceP_hasRoutingTable, CT::dynamicCast(result->getCookie()));
1368template<
class T,
typename CT> Callback_Router_getClientProxyPtr
1369newCallback_Router_getClientProxy(
const IceUtil::Handle<T>& instance,
void (T::*cb)(
const ObjectPrx&,
const IceUtil::Optional<bool>&,
const CT&),
void (T::*excb)(const ::Ice::Exception&,
const CT&),
void (T::*sentcb)(
bool,
const CT&) = 0)
1371 return new Callback_Router_getClientProxy<T, CT>(instance, cb, excb, sentcb);
1383template<
class T,
typename CT> Callback_Router_getClientProxyPtr
1384newCallback_Router_getClientProxy(T* instance,
void (T::*cb)(
const ObjectPrx&,
const IceUtil::Optional<bool>&,
const CT&),
void (T::*excb)(const ::Ice::Exception&,
const CT&),
void (T::*sentcb)(
bool,
const CT&) = 0)
1386 return new Callback_Router_getClientProxy<T, CT>(instance, cb, excb, sentcb);
1395class CallbackNC_Router_getServerProxy :
public Callback_Router_getServerProxy_Base,
public ::IceInternal::TwowayCallbackNC<T>
1399 typedef IceUtil::Handle<T> TPtr;
1401 typedef void (T::*Exception)(const ::Ice::Exception&);
1402 typedef void (T::*Sent)(bool);
1403 typedef void (T::*Response)(
const ObjectPrx&);
1405 CallbackNC_Router_getServerProxy(
const TPtr& obj, Response cb, Exception excb, Sent sentcb)
1406 : ::IceInternal::TwowayCallbackNC<T>(obj, cb != 0, excb, sentcb), _response(cb)
1411 virtual void completed(
const AsyncResultPtr& result)
const
1413 RouterPrx proxy = RouterPrx::uncheckedCast(result->getProxy());
1417 ret = proxy->end_getServerProxy(result);
1419 catch(const ::Ice::Exception& ex)
1421 ::IceInternal::CallbackNC<T>::exception(result, ex);
1426 (::IceInternal::CallbackNC<T>::_callback.get()->*_response)(ret);
1444template<
class T> Callback_Router_getServerProxyPtr
1445newCallback_Router_getServerProxy(
const IceUtil::Handle<T>& instance,
void (T::*cb)(
const ObjectPrx&),
void (T::*excb)(const ::Ice::Exception&),
void (T::*sentcb)(
bool) = 0)
1447 return new CallbackNC_Router_getServerProxy<T>(instance, cb, excb, sentcb);
1458template<
class T> Callback_Router_getServerProxyPtr
1459newCallback_Router_getServerProxy(T* instance,
void (T::*cb)(
const ObjectPrx&),
void (T::*excb)(const ::Ice::Exception&),
void (T::*sentcb)(
bool) = 0)
1461 return new CallbackNC_Router_getServerProxy<T>(instance, cb, excb, sentcb);
1469template<
class T,
typename CT>
1470class Callback_Router_getServerProxy :
public Callback_Router_getServerProxy_Base,
public ::IceInternal::TwowayCallback<T, CT>
1474 typedef IceUtil::Handle<T> TPtr;
1476 typedef void (T::*Exception)(const ::Ice::Exception& ,
const CT&);
1477 typedef void (T::*Sent)(bool ,
const CT&);
1478 typedef void (T::*Response)(
const ObjectPrx&,
const CT&);
1480 Callback_Router_getServerProxy(
const TPtr& obj, Response cb, Exception excb, Sent sentcb)
1481 : ::IceInternal::TwowayCallback<T, CT>(obj, cb != 0, excb, sentcb), _response(cb)
1486 virtual void completed(
const AsyncResultPtr& result)
const
1488 RouterPrx proxy = RouterPrx::uncheckedCast(result->getProxy());
1492 ret = proxy->end_getServerProxy(result);
1494 catch(const ::Ice::Exception& ex)
1496 ::IceInternal::Callback<T, CT>::exception(result, ex);
1501 (::IceInternal::Callback<T, CT>::_callback.get()->*_response)(ret, CT::dynamicCast(result->getCookie()));
1520template<
class T,
typename CT> Callback_Router_getServerProxyPtr
1521newCallback_Router_getServerProxy(
const IceUtil::Handle<T>& instance,
void (T::*cb)(
const ObjectPrx&,
const CT&),
void (T::*excb)(const ::Ice::Exception&,
const CT&),
void (T::*sentcb)(
bool,
const CT&) = 0)
1523 return new Callback_Router_getServerProxy<T, CT>(instance, cb, excb, sentcb);
1535template<
class T,
typename CT> Callback_Router_getServerProxyPtr
1536newCallback_Router_getServerProxy(T* instance,
void (T::*cb)(
const ObjectPrx&,
const CT&),
void (T::*excb)(const ::Ice::Exception&,
const CT&),
void (T::*sentcb)(
bool,
const CT&) = 0)
1538 return new Callback_Router_getServerProxy<T, CT>(instance, cb, excb, sentcb);
1547class CallbackNC_Router_addProxies :
public Callback_Router_addProxies_Base,
public ::IceInternal::TwowayCallbackNC<T>
1551 typedef IceUtil::Handle<T> TPtr;
1553 typedef void (T::*Exception)(const ::Ice::Exception&);
1554 typedef void (T::*Sent)(bool);
1557 CallbackNC_Router_addProxies(
const TPtr& obj, Response cb, Exception excb, Sent sentcb)
1558 : ::IceInternal::TwowayCallbackNC<T>(obj, cb != 0, excb, sentcb), _response(cb)
1563 virtual void completed(
const AsyncResultPtr& result)
const
1565 RouterPrx proxy = RouterPrx::uncheckedCast(result->getProxy());
1569 ret = proxy->end_addProxies(result);
1571 catch(const ::Ice::Exception& ex)
1573 ::IceInternal::CallbackNC<T>::exception(result, ex);
1578 (::IceInternal::CallbackNC<T>::_callback.get()->*_response)(ret);
1596template<
class T> Callback_Router_addProxiesPtr
1597newCallback_Router_addProxies(
const IceUtil::Handle<T>& instance,
void (T::*cb)(
const ObjectProxySeq&),
void (T::*excb)(const ::Ice::Exception&),
void (T::*sentcb)(
bool) = 0)
1599 return new CallbackNC_Router_addProxies<T>(instance, cb, excb, sentcb);
1610template<
class T> Callback_Router_addProxiesPtr
1611newCallback_Router_addProxies(T* instance,
void (T::*cb)(
const ObjectProxySeq&),
void (T::*excb)(const ::Ice::Exception&),
void (T::*sentcb)(
bool) = 0)
1613 return new CallbackNC_Router_addProxies<T>(instance, cb, excb, sentcb);
1621template<
class T,
typename CT>
1622class Callback_Router_addProxies :
public Callback_Router_addProxies_Base,
public ::IceInternal::TwowayCallback<T, CT>
1626 typedef IceUtil::Handle<T> TPtr;
1628 typedef void (T::*Exception)(const ::Ice::Exception& ,
const CT&);
1629 typedef void (T::*Sent)(bool ,
const CT&);
1632 Callback_Router_addProxies(
const TPtr& obj, Response cb, Exception excb, Sent sentcb)
1633 : ::IceInternal::TwowayCallback<T, CT>(obj, cb != 0, excb, sentcb), _response(cb)
1638 virtual void completed(
const AsyncResultPtr& result)
const
1640 RouterPrx proxy = RouterPrx::uncheckedCast(result->getProxy());
1644 ret = proxy->end_addProxies(result);
1646 catch(const ::Ice::Exception& ex)
1648 ::IceInternal::Callback<T, CT>::exception(result, ex);
1653 (::IceInternal::Callback<T, CT>::_callback.get()->*_response)(ret, CT::dynamicCast(result->getCookie()));
1672template<
class T,
typename CT> Callback_Router_addProxiesPtr
1673newCallback_Router_addProxies(
const IceUtil::Handle<T>& instance,
void (T::*cb)(
const ObjectProxySeq&,
const CT&),
void (T::*excb)(const ::Ice::Exception&,
const CT&),
void (T::*sentcb)(
bool,
const CT&) = 0)
1675 return new Callback_Router_addProxies<T, CT>(instance, cb, excb, sentcb);
1687template<
class T,
typename CT> Callback_Router_addProxiesPtr
1688newCallback_Router_addProxies(T* instance,
void (T::*cb)(
const ObjectProxySeq&,
const CT&),
void (T::*excb)(const ::Ice::Exception&,
const CT&),
void (T::*sentcb)(
bool,
const CT&) = 0)
1690 return new Callback_Router_addProxies<T, CT>(instance, cb, excb, sentcb);
1699class CallbackNC_RouterFinder_getRouter :
public Callback_RouterFinder_getRouter_Base,
public ::IceInternal::TwowayCallbackNC<T>
1703 typedef IceUtil::Handle<T> TPtr;
1705 typedef void (T::*Exception)(const ::Ice::Exception&);
1706 typedef void (T::*Sent)(bool);
1707 typedef void (T::*Response)(
const RouterPrx&);
1709 CallbackNC_RouterFinder_getRouter(
const TPtr& obj, Response cb, Exception excb, Sent sentcb)
1710 : ::IceInternal::TwowayCallbackNC<T>(obj, cb != 0, excb, sentcb), _response(cb)
1715 virtual void completed(
const AsyncResultPtr& result)
const
1717 RouterFinderPrx proxy = RouterFinderPrx::uncheckedCast(result->getProxy());
1721 ret = proxy->end_getRouter(result);
1723 catch(const ::Ice::Exception& ex)
1725 ::IceInternal::CallbackNC<T>::exception(result, ex);
1730 (::IceInternal::CallbackNC<T>::_callback.get()->*_response)(ret);
1748template<
class T> Callback_RouterFinder_getRouterPtr
1749newCallback_RouterFinder_getRouter(
const IceUtil::Handle<T>& instance,
void (T::*cb)(
const RouterPrx&),
void (T::*excb)(const ::Ice::Exception&),
void (T::*sentcb)(
bool) = 0)
1751 return new CallbackNC_RouterFinder_getRouter<T>(instance, cb, excb, sentcb);
1762template<
class T> Callback_RouterFinder_getRouterPtr
1763newCallback_RouterFinder_getRouter(T* instance,
void (T::*cb)(
const RouterPrx&),
void (T::*excb)(const ::Ice::Exception&),
void (T::*sentcb)(
bool) = 0)
1765 return new CallbackNC_RouterFinder_getRouter<T>(instance, cb, excb, sentcb);
1773template<
class T,
typename CT>
1774class Callback_RouterFinder_getRouter :
public Callback_RouterFinder_getRouter_Base,
public ::IceInternal::TwowayCallback<T, CT>
1778 typedef IceUtil::Handle<T> TPtr;
1780 typedef void (T::*Exception)(const ::Ice::Exception& ,
const CT&);
1781 typedef void (T::*Sent)(bool ,
const CT&);
1782 typedef void (T::*Response)(
const RouterPrx&,
const CT&);
1784 Callback_RouterFinder_getRouter(
const TPtr& obj, Response cb, Exception excb, Sent sentcb)
1785 : ::IceInternal::TwowayCallback<T, CT>(obj, cb != 0, excb, sentcb), _response(cb)
1790 virtual void completed(
const AsyncResultPtr& result)
const
1792 RouterFinderPrx proxy = RouterFinderPrx::uncheckedCast(result->getProxy());
1796 ret = proxy->end_getRouter(result);
1798 catch(const ::Ice::Exception& ex)
1800 ::IceInternal::Callback<T, CT>::exception(result, ex);
1805 (::IceInternal::Callback<T, CT>::_callback.get()->*_response)(ret, CT::dynamicCast(result->getCookie()));
1824template<
class T,
typename CT> Callback_RouterFinder_getRouterPtr
1825newCallback_RouterFinder_getRouter(
const IceUtil::Handle<T>& instance,
void (T::*cb)(
const RouterPrx&,
const CT&),
void (T::*excb)(const ::Ice::Exception&,
const CT&),
void (T::*sentcb)(
bool,
const CT&) = 0)
1827 return new Callback_RouterFinder_getRouter<T, CT>(instance, cb, excb, sentcb);
1839template<
class T,
typename CT> Callback_RouterFinder_getRouterPtr
1840newCallback_RouterFinder_getRouter(T* instance,
void (T::*cb)(
const RouterPrx&,
const CT&),
void (T::*excb)(const ::Ice::Exception&,
const CT&),
void (T::*sentcb)(
bool,
const CT&) = 0)
1842 return new Callback_RouterFinder_getRouter<T, CT>(instance, cb, excb, sentcb);
#define ICE_API
Definition Config.h:197
#define ICE_MEMBER(API)
Definition Config.h:177
The base class for servants.
Definition Object.h:91
Helper template that supplies proxy factory functions.
Definition Proxy.h:1204
This interface should be implemented by services implementing the Ice::Router interface.
Definition Router.h:429
auto getRouterAsync(const Context &context=noExplicitContext) -> decltype(::std::declval< P<::std::shared_ptr<::Ice::RouterPrx > > >().get_future())
Get the router proxy implemented by the process hosting this finder object.
Definition Router.h:450
::std::shared_ptr< RouterPrx > getRouter(const Context &context=noExplicitContext)
Get the router proxy implemented by the process hosting this finder object.
Definition Router.h:438
::std::function< void()> getRouterAsync(::std::function< void(::std::shared_ptr<::Ice::RouterPrx >)> response, ::std::function< void(::std::exception_ptr)> ex=nullptr, ::std::function< void(bool)> sent=nullptr, const Context &context=noExplicitContext)
Get the router proxy implemented by the process hosting this finder object.
Definition Router.h:466
static const ::std::string & ice_staticId()
Obtains the Slice type ID of this interface.
This interface should be implemented by services implementing the Ice::Router interface.
Definition Router.h:181
RouterFinderPrx ProxyType
Definition Router.h:184
virtual::std::string ice_id(const Current ¤t) const override
Obtains a Slice type ID representing the most-derived interface supported by this object.
virtual ::std::vector<::std::string > ice_ids(const Current ¤t) const override
Obtains a list of the Slice type IDs representing the interfaces supported by this object.
static const ::std::string & ice_staticId()
Obtains the Slice type ID corresponding to this class.
virtual bool ice_isA(::std::string id, const Current ¤t) const override
Determines whether this object supports an interface with the given Slice type ID.
virtual ::std::shared_ptr< RouterPrx > getRouter(const Current ¤t)=0
Get the router proxy implemented by the process hosting this finder object.
The Ice router interface.
Definition Router.h:242
::std::shared_ptr< ObjectPrx > getServerProxy(const Context &context=noExplicitContext)
Get the router's server proxy, i.e., the proxy to use for forwarding requests from the server to the ...
Definition Router.h:317
auto addProxiesAsync(const ObjectProxySeq &proxies, const Context &context=noExplicitContext) -> decltype(::std::declval< P<::Ice::ObjectProxySeq > >().get_future())
Add new proxy information to the router's routing table.
Definition Router.h:375
static const ::std::string & ice_staticId()
Obtains the Slice type ID of this interface.
::std::function< void()> getServerProxyAsync(::std::function< void(::std::shared_ptr<::Ice::ObjectPrx >)> response, ::std::function< void(::std::exception_ptr)> ex=nullptr, ::std::function< void(bool)> sent=nullptr, const Context &context=noExplicitContext)
Get the router's server proxy, i.e., the proxy to use for forwarding requests from the server to the ...
Definition Router.h:345
ObjectProxySeq addProxies(const ObjectProxySeq &proxies, const Context &context=noExplicitContext)
Add new proxy information to the router's routing table.
Definition Router.h:363
::std::function< void()> getClientProxyAsync(::std::function< void(::std::shared_ptr<::Ice::ObjectPrx >, Ice::optional< bool >)> response, ::std::function< void(::std::exception_ptr)> ex=nullptr, ::std::function< void(bool)> sent=nullptr, const Context &context=noExplicitContext)
Get the router's client proxy, i.e., the proxy to use for forwarding requests from the client to the ...
Definition Router.h:295
auto getClientProxyAsync(const Context &context=noExplicitContext) -> decltype(::std::declval< P< Router::GetClientProxyResult > >().get_future())
Get the router's client proxy, i.e., the proxy to use for forwarding requests from the client to the ...
Definition Router.h:276
::std::function< void()> addProxiesAsync(const ObjectProxySeq &proxies, ::std::function< void(::Ice::ObjectProxySeq)> response, ::std::function< void(::std::exception_ptr)> ex=nullptr, ::std::function< void(bool)> sent=nullptr, const Context &context=noExplicitContext)
Add new proxy information to the router's routing table.
Definition Router.h:391
auto getServerProxyAsync(const Context &context=noExplicitContext) -> decltype(::std::declval< P<::std::shared_ptr<::Ice::ObjectPrx > > >().get_future())
Get the router's server proxy, i.e., the proxy to use for forwarding requests from the server to the ...
Definition Router.h:329
::std::shared_ptr< ObjectPrx > getClientProxy(Ice::optional< bool > &hasRoutingTable, const Context &context=noExplicitContext)
Get the router's client proxy, i.e., the proxy to use for forwarding requests from the client to the ...
Definition Router.h:259
The Ice router interface.
Definition Router.h:82
RouterPrx ProxyType
Definition Router.h:85
virtual ::std::shared_ptr< ObjectPrx > getServerProxy(const Current ¤t) const =0
Get the router's server proxy, i.e., the proxy to use for forwarding requests from the server to the ...
virtual bool ice_isA(::std::string id, const Current ¤t) const override
Determines whether this object supports an interface with the given Slice type ID.
virtual ObjectProxySeq addProxies(ObjectProxySeq proxies, const Current ¤t)=0
Add new proxy information to the router's routing table.
virtual ::std::vector<::std::string > ice_ids(const Current ¤t) const override
Obtains a list of the Slice type IDs representing the interfaces supported by this object.
virtual ::std::shared_ptr< ObjectPrx > getClientProxy(Ice::optional< bool > &hasRoutingTable, const Current ¤t) const =0
Get the router's client proxy, i.e., the proxy to use for forwarding requests from the client to the ...
virtual::std::string ice_id(const Current ¤t) const override
Obtains a Slice type ID representing the most-derived interface supported by this object.
static const ::std::string & ice_staticId()
Obtains the Slice type ID corresponding to this class.
std::experimental::Ice::optional< T > Optional
For compatibility with the Ice C++98 mapping, do not use in new code:
Definition Optional.h:1100
Definition BuiltinSequences.h:56
const Context noExplicitContext
Marker value used to indicate that no explicit context was passed to a proxy invocation.
std::experimental::Ice::optional< T > optional
Ice::optional is a placeholder for std::optional.
Definition Optional.h:1065
::std::map<::std::string, ::std::string > Context
A request context.
Definition Current.h:68
IceInternal::Handle< LocalObject > LocalObjectPtr
Definition LocalObjectF.h:17
bool operator<(const C &lhs, const C &rhs)
Relational operator for generated structs and classes.
Definition Comparable.h:136
bool operator==(const C &lhs, const C &rhs)
Relational operator for generated structs and classes.
Definition Comparable.h:184
::std::vector<::std::shared_ptr< ObjectPrx > > ObjectProxySeq
A sequence of object proxies.
Definition BuiltinSequences.h:106
Information about the current method invocation for servers.
Definition Current.h:120
Encapsulates the results of a call to getClientProxy.
Definition Router.h:119
Ice::optional< bool > hasRoutingTable
Indicates whether or not the router supports a routing table.
Definition Router.h:123
::std::shared_ptr< ObjectPrx > returnValue
The router's client proxy.
Definition Router.h:121