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 < 10
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 // C++11 mapping
68 class RouterFinderPrx;
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 _makeLamdaOutgoing<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 _makeLamdaOutgoing<::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 _makeLamdaOutgoing<::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 _makeLamdaOutgoing<::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;
507 using RouterPtr = ::std::shared_ptr<Router>;
508 using RouterPrxPtr = ::std::shared_ptr<RouterPrx>;
510 using RouterFinderPtr = ::std::shared_ptr<RouterFinder>;
511 using RouterFinderPrxPtr = ::std::shared_ptr<RouterFinderPrx>;
516 #else // C++98 mapping
527 ICE_API ::IceProxy::Ice::Object*
upCast(Router*);
533 ICE_API ::IceProxy::Ice::Object*
upCast(RouterFinder*);
547 typedef ::IceInternal::Handle< Router> RouterPtr;
548 typedef ::IceInternal::ProxyHandle< ::IceProxy::Ice::Router> RouterPrx;
549 typedef RouterPrx RouterPrxPtr;
551 ICE_API void _icePatchObjectPtr(RouterPtr&,
const ObjectPtr&);
558 typedef ::IceInternal::Handle< RouterFinder> RouterFinderPtr;
559 typedef ::IceInternal::ProxyHandle< ::IceProxy::Ice::RouterFinder> RouterFinderPrx;
560 typedef RouterFinderPrx RouterFinderPrxPtr;
562 ICE_API void _icePatchObjectPtr(RouterFinderPtr&,
const ObjectPtr&);
575 class Callback_Router_getClientProxy_Base :
public virtual ::IceInternal::CallbackBase { };
576 typedef ::IceUtil::Handle< Callback_Router_getClientProxy_Base> Callback_Router_getClientProxyPtr;
583 class Callback_Router_getServerProxy_Base :
public virtual ::IceInternal::CallbackBase { };
584 typedef ::IceUtil::Handle< Callback_Router_getServerProxy_Base> Callback_Router_getServerProxyPtr;
591 class Callback_Router_addProxies_Base :
public virtual ::IceInternal::CallbackBase { };
592 typedef ::IceUtil::Handle< Callback_Router_addProxies_Base> Callback_Router_addProxiesPtr;
599 class Callback_RouterFinder_getRouter_Base :
public virtual ::IceInternal::CallbackBase { };
600 typedef ::IceUtil::Handle< Callback_RouterFinder_getRouter_Base> Callback_RouterFinder_getRouterPtr;
610 class 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);
675 return _iceI_begin_getClientProxy(context, cb, cookie);
688 ::Ice::AsyncResultPtr begin_getClientProxy(const ::Ice::Callback_Router_getClientProxyPtr& cb,
const ::Ice::LocalObjectPtr& cookie = 0)
706 return _iceI_begin_getClientProxy(context, cb, cookie);
739 return end_getServerProxy(_iceI_begin_getServerProxy(context, ::IceInternal::dummyCallback, 0,
true));
750 return _iceI_begin_getServerProxy(context, ::IceInternal::dummyCallback, 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)
800 return _iceI_begin_getServerProxy(context, cb, cookie);
824 return end_addProxies(_iceI_begin_addProxies(proxies, context, ::IceInternal::dummyCallback, 0,
true));
835 return _iceI_begin_addProxies(proxies, context, ::IceInternal::dummyCallback, 0);
860 return _iceI_begin_addProxies(proxies, context, cb, cookie);
885 return _iceI_begin_addProxies(proxies, context, cb, cookie);
914 class 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);
962 return _iceI_begin_getRouter(context, cb, cookie);
972 ::Ice::AsyncResultPtr begin_getRouter(const ::Ice::Callback_RouterFinder_getRouterPtr& cb,
const ::Ice::LocalObjectPtr& cookie = 0)
987 return _iceI_begin_getRouter(context, cb, cookie);
1029 class 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();
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;
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*);
1126 inline bool operator==(
const Router& lhs,
const Router& rhs)
1128 return static_cast<const Object&
>(lhs) ==
static_cast<const Object&
>(rhs);
1131 inline bool operator<(
const Router& lhs,
const Router& rhs)
1133 return static_cast<const Object&
>(lhs) <
static_cast<const Object&
>(rhs);
1145 class 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*);
1212 inline bool operator==(
const RouterFinder& lhs,
const RouterFinder& rhs)
1214 return static_cast<const Object&
>(lhs) ==
static_cast<const Object&
>(rhs);
1217 inline bool operator<(
const RouterFinder& lhs,
const RouterFinder& rhs)
1219 return static_cast<const Object&
>(lhs) <
static_cast<const Object&
>(rhs);
1241 class CallbackNC_Router_getClientProxy :
public Callback_Router_getClientProxy_Base,
public ::IceInternal::TwowayCallbackNC<T>
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
1264 ret = proxy->end_getClientProxy(iceP_hasRoutingTable, result);
1268 ::IceInternal::CallbackNC<T>::exception(result, ex);
1273 (::IceInternal::CallbackNC<T>::_callback.get()->*_response)(ret, iceP_hasRoutingTable);
1291 template<
class T> Callback_Router_getClientProxyPtr
1294 return new CallbackNC_Router_getClientProxy<T>(instance, cb, excb, sentcb);
1305 template<
class T> Callback_Router_getClientProxyPtr
1308 return new CallbackNC_Router_getClientProxy<T>(instance, cb, excb, sentcb);
1316 template<
class T,
typename CT>
1317 class Callback_Router_getClientProxy :
public Callback_Router_getClientProxy_Base,
public ::IceInternal::TwowayCallback<T, 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
1340 ret = proxy->end_getClientProxy(iceP_hasRoutingTable, result);
1344 ::IceInternal::Callback<T, CT>::exception(result, ex);
1349 (::IceInternal::Callback<T, CT>::_callback.get()->*_response)(ret, iceP_hasRoutingTable, CT::dynamicCast(result->getCookie()));
1368 template<
class T,
typename CT> Callback_Router_getClientProxyPtr
1371 return new Callback_Router_getClientProxy<T, CT>(instance, cb, excb, sentcb);
1383 template<
class T,
typename CT> Callback_Router_getClientProxyPtr
1386 return new Callback_Router_getClientProxy<T, CT>(instance, cb, excb, sentcb);
1395 class CallbackNC_Router_getServerProxy :
public Callback_Router_getServerProxy_Base,
public ::IceInternal::TwowayCallbackNC<T>
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
1417 ret = proxy->end_getServerProxy(result);
1421 ::IceInternal::CallbackNC<T>::exception(result, ex);
1426 (::IceInternal::CallbackNC<T>::_callback.get()->*_response)(ret);
1444 template<
class T> Callback_Router_getServerProxyPtr
1447 return new CallbackNC_Router_getServerProxy<T>(instance, cb, excb, sentcb);
1458 template<
class T> Callback_Router_getServerProxyPtr
1459 newCallback_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);
1469 template<
class T,
typename CT>
1470 class Callback_Router_getServerProxy :
public Callback_Router_getServerProxy_Base,
public ::IceInternal::TwowayCallback<T, 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
1492 ret = proxy->end_getServerProxy(result);
1496 ::IceInternal::Callback<T, CT>::exception(result, ex);
1501 (::IceInternal::Callback<T, CT>::_callback.get()->*_response)(ret, CT::dynamicCast(result->getCookie()));
1520 template<
class T,
typename CT> Callback_Router_getServerProxyPtr
1521 newCallback_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);
1535 template<
class T,
typename CT> Callback_Router_getServerProxyPtr
1536 newCallback_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);
1547 class CallbackNC_Router_addProxies :
public Callback_Router_addProxies_Base,
public ::IceInternal::TwowayCallbackNC<T>
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
1569 ret = proxy->end_addProxies(result);
1573 ::IceInternal::CallbackNC<T>::exception(result, ex);
1578 (::IceInternal::CallbackNC<T>::_callback.get()->*_response)(ret);
1596 template<
class T> Callback_Router_addProxiesPtr
1599 return new CallbackNC_Router_addProxies<T>(instance, cb, excb, sentcb);
1610 template<
class T> Callback_Router_addProxiesPtr
1613 return new CallbackNC_Router_addProxies<T>(instance, cb, excb, sentcb);
1621 template<
class T,
typename CT>
1622 class Callback_Router_addProxies :
public Callback_Router_addProxies_Base,
public ::IceInternal::TwowayCallback<T, 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
1644 ret = proxy->end_addProxies(result);
1648 ::IceInternal::Callback<T, CT>::exception(result, ex);
1653 (::IceInternal::Callback<T, CT>::_callback.get()->*_response)(ret, CT::dynamicCast(result->getCookie()));
1672 template<
class T,
typename CT> Callback_Router_addProxiesPtr
1675 return new Callback_Router_addProxies<T, CT>(instance, cb, excb, sentcb);
1687 template<
class T,
typename CT> Callback_Router_addProxiesPtr
1688 newCallback_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);
1699 class CallbackNC_RouterFinder_getRouter :
public Callback_RouterFinder_getRouter_Base,
public ::IceInternal::TwowayCallbackNC<T>
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
1721 ret = proxy->end_getRouter(result);
1725 ::IceInternal::CallbackNC<T>::exception(result, ex);
1730 (::IceInternal::CallbackNC<T>::_callback.get()->*_response)(ret);
1748 template<
class T> Callback_RouterFinder_getRouterPtr
1751 return new CallbackNC_RouterFinder_getRouter<T>(instance, cb, excb, sentcb);
1762 template<
class T> Callback_RouterFinder_getRouterPtr
1763 newCallback_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);
1773 template<
class T,
typename CT>
1774 class Callback_RouterFinder_getRouter :
public Callback_RouterFinder_getRouter_Base,
public ::IceInternal::TwowayCallback<T, 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
1796 ret = proxy->end_getRouter(result);
1800 ::IceInternal::Callback<T, CT>::exception(result, ex);
1805 (::IceInternal::Callback<T, CT>::_callback.get()->*_response)(ret, CT::dynamicCast(result->getCookie()));
1824 template<
class T,
typename CT> Callback_RouterFinder_getRouterPtr
1825 newCallback_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);
1839 template<
class T,
typename CT> Callback_RouterFinder_getRouterPtr
1840 newCallback_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);