Ice 3.7 C++11 API Reference
Router.h
Go to the documentation of this file.
1 //
2 // Copyright (c) ZeroC, Inc. All rights reserved.
3 //
4 //
5 // Ice version 3.7.10
6 //
7 // <auto-generated>
8 //
9 // Generated from file `Router.ice'
10 //
11 // Warning: do not edit this file.
12 //
13 // </auto-generated>
14 //
15 
16 #ifndef __Ice_Router_h__
17 #define __Ice_Router_h__
18 
20 #include <Ice/ProxyF.h>
21 #include <Ice/ObjectF.h>
22 #include <Ice/ValueF.h>
23 #include <Ice/Exception.h>
24 #include <Ice/LocalObject.h>
25 #include <Ice/StreamHelpers.h>
26 #include <Ice/Comparable.h>
27 #include <Ice/Proxy.h>
28 #include <Ice/Object.h>
29 #include <Ice/GCObject.h>
30 #include <Ice/Value.h>
31 #include <Ice/Incoming.h>
32 #include <Ice/FactoryTableInit.h>
33 #include <IceUtil/ScopedArray.h>
34 #include <Ice/Optional.h>
35 #include <Ice/BuiltinSequences.h>
36 #include <IceUtil/UndefSysMacros.h>
37 
38 #ifndef ICE_IGNORE_VERSION
39 # if ICE_INT_VERSION / 100 != 307
40 # error Ice version mismatch!
41 # endif
42 # if ICE_INT_VERSION % 100 >= 50
43 # error Beta header file detected
44 # endif
45 # if ICE_INT_VERSION % 100 < 10
46 # error Ice patch level mismatch!
47 # endif
48 #endif
49 
50 #ifndef ICE_API
51 # if defined(ICE_STATIC_LIBS)
52 # define ICE_API
53 # elif defined(ICE_API_EXPORTS)
54 # define ICE_API ICE_DECLSPEC_EXPORT
55 # else
56 # define ICE_API ICE_DECLSPEC_IMPORT
57 # endif
58 #endif
59 
60 #ifdef ICE_CPP11_MAPPING // C++11 mapping
61 
62 namespace Ice
63 {
64 
65 class Router;
66 class RouterPrx;
67 class RouterFinder;
68 class RouterFinderPrx;
69 
70 }
71 
72 namespace Ice
73 {
74 
81 class ICE_API Router : public virtual Object
82 {
83 public:
84 
86 
93  virtual bool ice_isA(::std::string id, const Current& current) const override;
94 
100  virtual ::std::vector<::std::string> ice_ids(const Current& current) const override;
101 
107  virtual ::std::string ice_id(const Current& current) const override;
108 
113  static const ::std::string& ice_staticId();
114 
119  {
121  ::std::shared_ptr<ObjectPrx> returnValue;
124  };
125 
140  virtual ::std::shared_ptr<ObjectPrx> getClientProxy(Ice::optional<bool>& hasRoutingTable, const Current& current) const = 0;
142  bool _iceD_getClientProxy(::IceInternal::Incoming&, const Current&) const;
144 
151  virtual ::std::shared_ptr<ObjectPrx> getServerProxy(const Current& current) const = 0;
153  bool _iceD_getServerProxy(::IceInternal::Incoming&, const Current&) const;
155 
162  virtual ObjectProxySeq addProxies(ObjectProxySeq proxies, const Current& current) = 0;
164  bool _iceD_addProxies(::IceInternal::Incoming&, const Current&);
166 
168  virtual bool _iceDispatch(::IceInternal::Incoming&, const Current&) override;
170 };
171 
180 class ICE_API RouterFinder : public virtual Object
181 {
182 public:
183 
185 
192  virtual bool ice_isA(::std::string id, const Current& current) const override;
193 
199  virtual ::std::vector<::std::string> ice_ids(const Current& current) const override;
200 
206  virtual ::std::string ice_id(const Current& current) const override;
207 
212  static const ::std::string& ice_staticId();
213 
220  virtual ::std::shared_ptr<RouterPrx> getRouter(const Current& current) = 0;
222  bool _iceD_getRouter(::IceInternal::Incoming&, const Current&);
224 
226  virtual bool _iceDispatch(::IceInternal::Incoming&, const Current&) override;
228 };
229 
230 }
231 
232 namespace Ice
233 {
234 
241 class ICE_CLASS(ICE_API) RouterPrx : public virtual Proxy<RouterPrx, ObjectPrx>
242 {
243 public:
244 
259  ::std::shared_ptr<ObjectPrx> getClientProxy(Ice::optional<bool>& hasRoutingTable, const Context& context = noExplicitContext)
260  {
261  auto _result = _makePromiseOutgoing<Router::GetClientProxyResult>(true, this, &RouterPrx::_iceI_getClientProxy, context).get();
262  hasRoutingTable = _result.hasRoutingTable;
263  return ::std::move(_result.returnValue);
264  }
265 
275  template<template<typename> class P = ::std::promise>
277  -> decltype(::std::declval<P<Router::GetClientProxyResult>>().get_future())
278  {
279  return _makePromiseOutgoing<Router::GetClientProxyResult, P>(false, this, &RouterPrx::_iceI_getClientProxy, context);
280  }
281 
294  ::std::function<void()>
295  getClientProxyAsync(::std::function<void(::std::shared_ptr<::Ice::ObjectPrx>, Ice::optional<bool>)> response,
296  ::std::function<void(::std::exception_ptr)> ex = nullptr,
297  ::std::function<void(bool)> sent = nullptr,
298  const Context& context = noExplicitContext)
299  {
300  auto _responseCb = [response](Router::GetClientProxyResult&& _result)
301  {
302  response(::std::move(_result.returnValue), _result.hasRoutingTable);
303  };
304  return _makeLamdaOutgoing<Router::GetClientProxyResult>(std::move(_responseCb), std::move(ex), std::move(sent), this, &Ice::RouterPrx::_iceI_getClientProxy, context);
305  }
306 
308  ICE_MEMBER(ICE_API) void _iceI_getClientProxy(const ::std::shared_ptr<::IceInternal::OutgoingAsyncT<Router::GetClientProxyResult>>&, const Context&);
310 
317  ::std::shared_ptr<ObjectPrx> getServerProxy(const Context& context = noExplicitContext)
318  {
319  return _makePromiseOutgoing<::std::shared_ptr<::Ice::ObjectPrx>>(true, this, &RouterPrx::_iceI_getServerProxy, context).get();
320  }
321 
328  template<template<typename> class P = ::std::promise>
330  -> decltype(::std::declval<P<::std::shared_ptr<::Ice::ObjectPrx>>>().get_future())
331  {
332  return _makePromiseOutgoing<::std::shared_ptr<::Ice::ObjectPrx>, P>(false, this, &RouterPrx::_iceI_getServerProxy, context);
333  }
334 
344  ::std::function<void()>
345  getServerProxyAsync(::std::function<void(::std::shared_ptr<::Ice::ObjectPrx>)> response,
346  ::std::function<void(::std::exception_ptr)> ex = nullptr,
347  ::std::function<void(bool)> sent = nullptr,
348  const Context& context = noExplicitContext)
349  {
350  return _makeLamdaOutgoing<::std::shared_ptr<::Ice::ObjectPrx>>(std::move(response), std::move(ex), std::move(sent), this, &Ice::RouterPrx::_iceI_getServerProxy, context);
351  }
352 
354  ICE_MEMBER(ICE_API) void _iceI_getServerProxy(const ::std::shared_ptr<::IceInternal::OutgoingAsyncT<::std::shared_ptr<::Ice::ObjectPrx>>>&, const Context&);
356 
364  {
365  return _makePromiseOutgoing<::Ice::ObjectProxySeq>(true, this, &RouterPrx::_iceI_addProxies, proxies, context).get();
366  }
367 
374  template<template<typename> class P = ::std::promise>
375  auto addProxiesAsync(const ObjectProxySeq& proxies, const Context& context = noExplicitContext)
376  -> decltype(::std::declval<P<::Ice::ObjectProxySeq>>().get_future())
377  {
378  return _makePromiseOutgoing<::Ice::ObjectProxySeq, P>(false, this, &RouterPrx::_iceI_addProxies, proxies, context);
379  }
380 
390  ::std::function<void()>
392  ::std::function<void(::Ice::ObjectProxySeq)> response,
393  ::std::function<void(::std::exception_ptr)> ex = nullptr,
394  ::std::function<void(bool)> sent = nullptr,
395  const Context& context = noExplicitContext)
396  {
397  return _makeLamdaOutgoing<::Ice::ObjectProxySeq>(std::move(response), std::move(ex), std::move(sent), this, &Ice::RouterPrx::_iceI_addProxies, proxies, context);
398  }
399 
401  ICE_MEMBER(ICE_API) void _iceI_addProxies(const ::std::shared_ptr<::IceInternal::OutgoingAsyncT<::Ice::ObjectProxySeq>>&, const ObjectProxySeq&, const Context&);
403 
408  ICE_MEMBER(ICE_API) static const ::std::string& ice_staticId();
409 
410 protected:
411 
413  RouterPrx() = default;
414  friend ::std::shared_ptr<RouterPrx> IceInternal::createProxy<RouterPrx>();
415 
416  ICE_MEMBER(ICE_API) virtual ::std::shared_ptr<ObjectPrx> _newInstance() const override;
418 };
419 
428 class ICE_CLASS(ICE_API) RouterFinderPrx : public virtual Proxy<RouterFinderPrx, ObjectPrx>
429 {
430 public:
431 
438  ::std::shared_ptr<RouterPrx> getRouter(const Context& context = noExplicitContext)
439  {
440  return _makePromiseOutgoing<::std::shared_ptr<::Ice::RouterPrx>>(true, this, &RouterFinderPrx::_iceI_getRouter, context).get();
441  }
442 
449  template<template<typename> class P = ::std::promise>
450  auto getRouterAsync(const Context& context = noExplicitContext)
451  -> decltype(::std::declval<P<::std::shared_ptr<::Ice::RouterPrx>>>().get_future())
452  {
453  return _makePromiseOutgoing<::std::shared_ptr<::Ice::RouterPrx>, P>(false, this, &RouterFinderPrx::_iceI_getRouter, context);
454  }
455 
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,
469  const Context& context = noExplicitContext)
470  {
471  return _makeLamdaOutgoing<::std::shared_ptr<::Ice::RouterPrx>>(std::move(response), std::move(ex), std::move(sent), this, &Ice::RouterFinderPrx::_iceI_getRouter, context);
472  }
473 
475  ICE_MEMBER(ICE_API) void _iceI_getRouter(const ::std::shared_ptr<::IceInternal::OutgoingAsyncT<::std::shared_ptr<::Ice::RouterPrx>>>&, const Context&);
477 
482  ICE_MEMBER(ICE_API) static const ::std::string& ice_staticId();
483 
484 protected:
485 
487  RouterFinderPrx() = default;
488  friend ::std::shared_ptr<RouterFinderPrx> IceInternal::createProxy<RouterFinderPrx>();
489 
490  ICE_MEMBER(ICE_API) virtual ::std::shared_ptr<ObjectPrx> _newInstance() const override;
492 };
493 
494 }
495 
497 namespace Ice
498 {
499 
500 }
502 
504 namespace Ice
505 {
506 
507 using RouterPtr = ::std::shared_ptr<Router>;
508 using RouterPrxPtr = ::std::shared_ptr<RouterPrx>;
509 
510 using RouterFinderPtr = ::std::shared_ptr<RouterFinder>;
511 using RouterFinderPrxPtr = ::std::shared_ptr<RouterFinderPrx>;
512 
513 }
515 
516 #else // C++98 mapping
517 
518 namespace IceProxy
519 {
520 
521 namespace Ice
522 {
523 
524 class Router;
526 ICE_API void _readProxy(::Ice::InputStream*, ::IceInternal::ProxyHandle< Router>&);
527 ICE_API ::IceProxy::Ice::Object* upCast(Router*);
529 
530 class RouterFinder;
532 ICE_API void _readProxy(::Ice::InputStream*, ::IceInternal::ProxyHandle< RouterFinder>&);
533 ICE_API ::IceProxy::Ice::Object* upCast(RouterFinder*);
535 
536 }
537 
538 }
539 
540 namespace Ice
541 {
542 
543 class Router;
545 ICE_API Object* upCast(Router*);
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&);
553 
554 class RouterFinder;
556 ICE_API Object* upCast(RouterFinder*);
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&);
564 
565 }
566 
567 namespace Ice
568 {
569 
575 class Callback_Router_getClientProxy_Base : public virtual ::IceInternal::CallbackBase { };
576 typedef ::IceUtil::Handle< Callback_Router_getClientProxy_Base> Callback_Router_getClientProxyPtr;
577 
583 class Callback_Router_getServerProxy_Base : public virtual ::IceInternal::CallbackBase { };
584 typedef ::IceUtil::Handle< Callback_Router_getServerProxy_Base> Callback_Router_getServerProxyPtr;
585 
591 class Callback_Router_addProxies_Base : public virtual ::IceInternal::CallbackBase { };
592 typedef ::IceUtil::Handle< Callback_Router_addProxies_Base> Callback_Router_addProxiesPtr;
593 
599 class Callback_RouterFinder_getRouter_Base : public virtual ::IceInternal::CallbackBase { };
600 typedef ::IceUtil::Handle< Callback_RouterFinder_getRouter_Base> Callback_RouterFinder_getRouterPtr;
601 
602 }
603 
604 namespace IceProxy
605 {
606 
607 namespace Ice
608 {
609 
610 class ICE_CLASS(ICE_API) Router : public virtual ::Ice::Proxy<Router, ::IceProxy::Ice::Object>
611 {
612 public:
613 
628  ICE_MEMBER(ICE_API) ::Ice::ObjectPrx getClientProxy(IceUtil::Optional<bool>& hasRoutingTable, const ::Ice::Context& context = ::Ice::noExplicitContext)
629  {
630  return end_getClientProxy(hasRoutingTable, _iceI_begin_getClientProxy(context, ::IceInternal::dummyCallback, 0, true));
631  }
632 
642  ::Ice::AsyncResultPtr begin_getClientProxy(const ::Ice::Context& context = ::Ice::noExplicitContext)
643  {
644  return _iceI_begin_getClientProxy(context, ::IceInternal::dummyCallback, 0);
645  }
646 
657  ::Ice::AsyncResultPtr begin_getClientProxy(const ::Ice::CallbackPtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
658  {
659  return _iceI_begin_getClientProxy(::Ice::noExplicitContext, cb, cookie);
660  }
661 
673  ::Ice::AsyncResultPtr begin_getClientProxy(const ::Ice::Context& context, const ::Ice::CallbackPtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
674  {
675  return _iceI_begin_getClientProxy(context, cb, cookie);
676  }
677 
688  ::Ice::AsyncResultPtr begin_getClientProxy(const ::Ice::Callback_Router_getClientProxyPtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
689  {
690  return _iceI_begin_getClientProxy(::Ice::noExplicitContext, cb, cookie);
691  }
692 
704  ::Ice::AsyncResultPtr begin_getClientProxy(const ::Ice::Context& context, const ::Ice::Callback_Router_getClientProxyPtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
705  {
706  return _iceI_begin_getClientProxy(context, cb, cookie);
707  }
708 
719  ICE_MEMBER(ICE_API) ::Ice::ObjectPrx end_getClientProxy(IceUtil::Optional<bool>& hasRoutingTable, const ::Ice::AsyncResultPtr& result);
721 
722  ICE_MEMBER(ICE_API) void _iceI_end_getClientProxy(IceUtil::Optional<bool>& iceP_hasRoutingTable, ::Ice::ObjectPrxPtr& ret, const ::Ice::AsyncResultPtr&);
724 
725 private:
726 
727  ICE_MEMBER(ICE_API) ::Ice::AsyncResultPtr _iceI_begin_getClientProxy(const ::Ice::Context&, const ::IceInternal::CallbackBasePtr&, const ::Ice::LocalObjectPtr& cookie = 0, bool sync = false);
728 
729 public:
730 
737  ICE_MEMBER(ICE_API) ::Ice::ObjectPrx getServerProxy(const ::Ice::Context& context = ::Ice::noExplicitContext)
738  {
739  return end_getServerProxy(_iceI_begin_getServerProxy(context, ::IceInternal::dummyCallback, 0, true));
740  }
741 
748  ::Ice::AsyncResultPtr begin_getServerProxy(const ::Ice::Context& context = ::Ice::noExplicitContext)
749  {
750  return _iceI_begin_getServerProxy(context, ::IceInternal::dummyCallback, 0);
751  }
752 
760  ::Ice::AsyncResultPtr begin_getServerProxy(const ::Ice::CallbackPtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
761  {
762  return _iceI_begin_getServerProxy(::Ice::noExplicitContext, cb, cookie);
763  }
764 
773  ::Ice::AsyncResultPtr begin_getServerProxy(const ::Ice::Context& context, const ::Ice::CallbackPtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
774  {
775  return _iceI_begin_getServerProxy(context, cb, cookie);
776  }
777 
785  ::Ice::AsyncResultPtr begin_getServerProxy(const ::Ice::Callback_Router_getServerProxyPtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
786  {
787  return _iceI_begin_getServerProxy(::Ice::noExplicitContext, cb, cookie);
788  }
789 
798  ::Ice::AsyncResultPtr begin_getServerProxy(const ::Ice::Context& context, const ::Ice::Callback_Router_getServerProxyPtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
799  {
800  return _iceI_begin_getServerProxy(context, cb, cookie);
801  }
802 
808  ICE_MEMBER(ICE_API) ::Ice::ObjectPrx end_getServerProxy(const ::Ice::AsyncResultPtr& result);
809 
810 private:
811 
812  ICE_MEMBER(ICE_API) ::Ice::AsyncResultPtr _iceI_begin_getServerProxy(const ::Ice::Context&, const ::IceInternal::CallbackBasePtr&, const ::Ice::LocalObjectPtr& cookie = 0, bool sync = false);
813 
814 public:
815 
822  ICE_MEMBER(ICE_API) ::Ice::ObjectProxySeq addProxies(const ::Ice::ObjectProxySeq& proxies, const ::Ice::Context& context = ::Ice::noExplicitContext)
823  {
824  return end_addProxies(_iceI_begin_addProxies(proxies, context, ::IceInternal::dummyCallback, 0, true));
825  }
826 
833  ::Ice::AsyncResultPtr begin_addProxies(const ::Ice::ObjectProxySeq& proxies, const ::Ice::Context& context = ::Ice::noExplicitContext)
834  {
835  return _iceI_begin_addProxies(proxies, context, ::IceInternal::dummyCallback, 0);
836  }
837 
845  ::Ice::AsyncResultPtr begin_addProxies(const ::Ice::ObjectProxySeq& proxies, const ::Ice::CallbackPtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
846  {
847  return _iceI_begin_addProxies(proxies, ::Ice::noExplicitContext, cb, cookie);
848  }
849 
858  ::Ice::AsyncResultPtr begin_addProxies(const ::Ice::ObjectProxySeq& proxies, const ::Ice::Context& context, const ::Ice::CallbackPtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
859  {
860  return _iceI_begin_addProxies(proxies, context, cb, cookie);
861  }
862 
870  ::Ice::AsyncResultPtr begin_addProxies(const ::Ice::ObjectProxySeq& proxies, const ::Ice::Callback_Router_addProxiesPtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
871  {
872  return _iceI_begin_addProxies(proxies, ::Ice::noExplicitContext, cb, cookie);
873  }
874 
883  ::Ice::AsyncResultPtr begin_addProxies(const ::Ice::ObjectProxySeq& proxies, const ::Ice::Context& context, const ::Ice::Callback_Router_addProxiesPtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
884  {
885  return _iceI_begin_addProxies(proxies, context, cb, cookie);
886  }
887 
893  ICE_MEMBER(ICE_API) ::Ice::ObjectProxySeq end_addProxies(const ::Ice::AsyncResultPtr& result);
894 
895 private:
896 
897  ICE_MEMBER(ICE_API) ::Ice::AsyncResultPtr _iceI_begin_addProxies(const ::Ice::ObjectProxySeq&, const ::Ice::Context&, const ::IceInternal::CallbackBasePtr&, const ::Ice::LocalObjectPtr& cookie = 0, bool sync = false);
898 
899 public:
900 
905  ICE_MEMBER(ICE_API) static const ::std::string& ice_staticId();
906 
907 protected:
909 
910  ICE_MEMBER(ICE_API) virtual ::IceProxy::Ice::Object* _newInstance() const;
912 };
913 
914 class ICE_CLASS(ICE_API) RouterFinder : public virtual ::Ice::Proxy<RouterFinder, ::IceProxy::Ice::Object>
915 {
916 public:
917 
924  ICE_MEMBER(ICE_API) ::Ice::RouterPrx getRouter(const ::Ice::Context& context = ::Ice::noExplicitContext)
925  {
926  return end_getRouter(_iceI_begin_getRouter(context, ::IceInternal::dummyCallback, 0, true));
927  }
928 
935  ::Ice::AsyncResultPtr begin_getRouter(const ::Ice::Context& context = ::Ice::noExplicitContext)
936  {
937  return _iceI_begin_getRouter(context, ::IceInternal::dummyCallback, 0);
938  }
939 
947  ::Ice::AsyncResultPtr begin_getRouter(const ::Ice::CallbackPtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
948  {
949  return _iceI_begin_getRouter(::Ice::noExplicitContext, cb, cookie);
950  }
951 
960  ::Ice::AsyncResultPtr begin_getRouter(const ::Ice::Context& context, const ::Ice::CallbackPtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
961  {
962  return _iceI_begin_getRouter(context, cb, cookie);
963  }
964 
972  ::Ice::AsyncResultPtr begin_getRouter(const ::Ice::Callback_RouterFinder_getRouterPtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
973  {
974  return _iceI_begin_getRouter(::Ice::noExplicitContext, cb, cookie);
975  }
976 
985  ::Ice::AsyncResultPtr begin_getRouter(const ::Ice::Context& context, const ::Ice::Callback_RouterFinder_getRouterPtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
986  {
987  return _iceI_begin_getRouter(context, cb, cookie);
988  }
989 
995  ICE_MEMBER(ICE_API) ::Ice::RouterPrx end_getRouter(const ::Ice::AsyncResultPtr& result);
996 
997 private:
998 
999  ICE_MEMBER(ICE_API) ::Ice::AsyncResultPtr _iceI_begin_getRouter(const ::Ice::Context&, const ::IceInternal::CallbackBasePtr&, const ::Ice::LocalObjectPtr& cookie = 0, bool sync = false);
1000 
1001 public:
1002 
1007  ICE_MEMBER(ICE_API) static const ::std::string& ice_staticId();
1008 
1009 protected:
1011 
1012  ICE_MEMBER(ICE_API) virtual ::IceProxy::Ice::Object* _newInstance() const;
1014 };
1015 
1016 }
1017 
1018 }
1019 
1020 namespace Ice
1021 {
1022 
1029 class ICE_API Router : public virtual Object
1030 {
1031 public:
1032 
1033  typedef RouterPrx ProxyType;
1034  typedef RouterPtr PointerType;
1035 
1036  virtual ~Router();
1037 
1038 #ifdef ICE_CPP11_COMPILER
1039  Router() = default;
1040  Router(const Router&) = default;
1041  Router& operator=(const Router&) = default;
1042 #endif
1043 
1050  virtual bool ice_isA(const ::std::string& id, const Current& current = emptyCurrent) const;
1051 
1057  virtual ::std::vector< ::std::string> ice_ids(const Current& current = emptyCurrent) const;
1058 
1064  virtual const ::std::string& ice_id(const Current& current = emptyCurrent) const;
1065 
1070  static const ::std::string& ice_staticId();
1071 
1086  virtual ObjectPrx getClientProxy(IceUtil::Optional<bool>& hasRoutingTable, const Current& current = emptyCurrent) const = 0;
1088  bool _iceD_getClientProxy(::IceInternal::Incoming&, const ::Ice::Current&) const;
1090 
1097  virtual ObjectPrx getServerProxy(const Current& current = emptyCurrent) const = 0;
1099  bool _iceD_getServerProxy(::IceInternal::Incoming&, const ::Ice::Current&) const;
1101 
1108  virtual ObjectProxySeq addProxies(const ObjectProxySeq& proxies, const Current& current = emptyCurrent) = 0;
1110  bool _iceD_addProxies(::IceInternal::Incoming&, const ::Ice::Current&);
1112 
1114  virtual bool _iceDispatch(::IceInternal::Incoming&, const Current&);
1116 
1117 protected:
1118 
1120  virtual void _iceWriteImpl(OutputStream*) const;
1121  virtual void _iceReadImpl(InputStream*);
1123 };
1124 
1126 inline bool operator==(const Router& lhs, const Router& rhs)
1127 {
1128  return static_cast<const Object&>(lhs) == static_cast<const Object&>(rhs);
1129 }
1130 
1131 inline bool operator<(const Router& lhs, const Router& rhs)
1132 {
1133  return static_cast<const Object&>(lhs) < static_cast<const Object&>(rhs);
1134 }
1136 
1145 class ICE_API RouterFinder : public virtual Object
1146 {
1147 public:
1148 
1149  typedef RouterFinderPrx ProxyType;
1150  typedef RouterFinderPtr PointerType;
1151 
1152  virtual ~RouterFinder();
1153 
1154 #ifdef ICE_CPP11_COMPILER
1155  RouterFinder() = default;
1156  RouterFinder(const RouterFinder&) = default;
1157  RouterFinder& operator=(const RouterFinder&) = default;
1158 #endif
1159 
1166  virtual bool ice_isA(const ::std::string& id, const Current& current = emptyCurrent) const;
1167 
1173  virtual ::std::vector< ::std::string> ice_ids(const Current& current = emptyCurrent) const;
1174 
1180  virtual const ::std::string& ice_id(const Current& current = emptyCurrent) const;
1181 
1186  static const ::std::string& ice_staticId();
1187 
1194  virtual RouterPrx getRouter(const Current& current = emptyCurrent) = 0;
1196  bool _iceD_getRouter(::IceInternal::Incoming&, const ::Ice::Current&);
1198 
1200  virtual bool _iceDispatch(::IceInternal::Incoming&, const Current&);
1202 
1203 protected:
1204 
1206  virtual void _iceWriteImpl(OutputStream*) const;
1207  virtual void _iceReadImpl(InputStream*);
1209 };
1210 
1212 inline bool operator==(const RouterFinder& lhs, const RouterFinder& rhs)
1213 {
1214  return static_cast<const Object&>(lhs) == static_cast<const Object&>(rhs);
1215 }
1216 
1217 inline bool operator<(const RouterFinder& lhs, const RouterFinder& rhs)
1218 {
1219  return static_cast<const Object&>(lhs) < static_cast<const Object&>(rhs);
1220 }
1222 
1223 }
1224 
1226 namespace Ice
1227 {
1228 
1229 }
1231 
1232 namespace Ice
1233 {
1234 
1240 template<class T>
1241 class CallbackNC_Router_getClientProxy : public Callback_Router_getClientProxy_Base, public ::IceInternal::TwowayCallbackNC<T>
1242 {
1243 public:
1244 
1245  typedef IceUtil::Handle<T> TPtr;
1246 
1247  typedef void (T::*Exception)(const ::Ice::Exception&);
1248  typedef void (T::*Sent)(bool);
1249  typedef void (T::*Response)(const ObjectPrx&, const IceUtil::Optional<bool>&);
1250 
1251  CallbackNC_Router_getClientProxy(const TPtr& obj, Response cb, Exception excb, Sent sentcb)
1252  : ::IceInternal::TwowayCallbackNC<T>(obj, cb != 0, excb, sentcb), _response(cb)
1253  {
1254  }
1255 
1257  virtual void completed(const AsyncResultPtr& result) const
1258  {
1259  RouterPrx proxy = RouterPrx::uncheckedCast(result->getProxy());
1260  IceUtil::Optional<bool> iceP_hasRoutingTable;
1261  ObjectPrx ret;
1262  try
1263  {
1264  ret = proxy->end_getClientProxy(iceP_hasRoutingTable, result);
1265  }
1266  catch(const ::Ice::Exception& ex)
1267  {
1268  ::IceInternal::CallbackNC<T>::exception(result, ex);
1269  return;
1270  }
1271  if(_response)
1272  {
1273  (::IceInternal::CallbackNC<T>::_callback.get()->*_response)(ret, iceP_hasRoutingTable);
1274  }
1275  }
1277 
1278 private:
1279 
1280  Response _response;
1281 };
1282 
1291 template<class T> Callback_Router_getClientProxyPtr
1292 newCallback_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)
1293 {
1294  return new CallbackNC_Router_getClientProxy<T>(instance, cb, excb, sentcb);
1295 }
1296 
1305 template<class T> Callback_Router_getClientProxyPtr
1306 newCallback_Router_getClientProxy(T* instance, void (T::*cb)(const ObjectPrx&, const IceUtil::Optional<bool>&), void (T::*excb)(const ::Ice::Exception&), void (T::*sentcb)(bool) = 0)
1307 {
1308  return new CallbackNC_Router_getClientProxy<T>(instance, cb, excb, sentcb);
1309 }
1310 
1316 template<class T, typename CT>
1317 class Callback_Router_getClientProxy : public Callback_Router_getClientProxy_Base, public ::IceInternal::TwowayCallback<T, CT>
1318 {
1319 public:
1320 
1321  typedef IceUtil::Handle<T> TPtr;
1322 
1323  typedef void (T::*Exception)(const ::Ice::Exception& , const CT&);
1324  typedef void (T::*Sent)(bool , const CT&);
1325  typedef void (T::*Response)(const ObjectPrx&, const IceUtil::Optional<bool>&, const CT&);
1326 
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)
1329  {
1330  }
1331 
1333  virtual void completed(const AsyncResultPtr& result) const
1334  {
1335  RouterPrx proxy = RouterPrx::uncheckedCast(result->getProxy());
1336  IceUtil::Optional<bool> iceP_hasRoutingTable;
1337  ObjectPrx ret;
1338  try
1339  {
1340  ret = proxy->end_getClientProxy(iceP_hasRoutingTable, result);
1341  }
1342  catch(const ::Ice::Exception& ex)
1343  {
1344  ::IceInternal::Callback<T, CT>::exception(result, ex);
1345  return;
1346  }
1347  if(_response)
1348  {
1349  (::IceInternal::Callback<T, CT>::_callback.get()->*_response)(ret, iceP_hasRoutingTable, CT::dynamicCast(result->getCookie()));
1350  }
1351  }
1353 
1354 private:
1355 
1356  Response _response;
1357 };
1358 
1368 template<class T, typename CT> Callback_Router_getClientProxyPtr
1369 newCallback_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)
1370 {
1371  return new Callback_Router_getClientProxy<T, CT>(instance, cb, excb, sentcb);
1372 }
1373 
1383 template<class T, typename CT> Callback_Router_getClientProxyPtr
1384 newCallback_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)
1385 {
1386  return new Callback_Router_getClientProxy<T, CT>(instance, cb, excb, sentcb);
1387 }
1388 
1394 template<class T>
1395 class CallbackNC_Router_getServerProxy : public Callback_Router_getServerProxy_Base, public ::IceInternal::TwowayCallbackNC<T>
1396 {
1397 public:
1398 
1399  typedef IceUtil::Handle<T> TPtr;
1400 
1401  typedef void (T::*Exception)(const ::Ice::Exception&);
1402  typedef void (T::*Sent)(bool);
1403  typedef void (T::*Response)(const ObjectPrx&);
1404 
1405  CallbackNC_Router_getServerProxy(const TPtr& obj, Response cb, Exception excb, Sent sentcb)
1406  : ::IceInternal::TwowayCallbackNC<T>(obj, cb != 0, excb, sentcb), _response(cb)
1407  {
1408  }
1409 
1411  virtual void completed(const AsyncResultPtr& result) const
1412  {
1413  RouterPrx proxy = RouterPrx::uncheckedCast(result->getProxy());
1414  ObjectPrx ret;
1415  try
1416  {
1417  ret = proxy->end_getServerProxy(result);
1418  }
1419  catch(const ::Ice::Exception& ex)
1420  {
1421  ::IceInternal::CallbackNC<T>::exception(result, ex);
1422  return;
1423  }
1424  if(_response)
1425  {
1426  (::IceInternal::CallbackNC<T>::_callback.get()->*_response)(ret);
1427  }
1428  }
1430 
1431 private:
1432 
1433  Response _response;
1434 };
1435 
1444 template<class T> Callback_Router_getServerProxyPtr
1445 newCallback_Router_getServerProxy(const IceUtil::Handle<T>& instance, void (T::*cb)(const ObjectPrx&), void (T::*excb)(const ::Ice::Exception&), void (T::*sentcb)(bool) = 0)
1446 {
1447  return new CallbackNC_Router_getServerProxy<T>(instance, cb, excb, sentcb);
1448 }
1449 
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)
1460 {
1461  return new CallbackNC_Router_getServerProxy<T>(instance, cb, excb, sentcb);
1462 }
1463 
1469 template<class T, typename CT>
1470 class Callback_Router_getServerProxy : public Callback_Router_getServerProxy_Base, public ::IceInternal::TwowayCallback<T, CT>
1471 {
1472 public:
1473 
1474  typedef IceUtil::Handle<T> TPtr;
1475 
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&);
1479 
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)
1482  {
1483  }
1484 
1486  virtual void completed(const AsyncResultPtr& result) const
1487  {
1488  RouterPrx proxy = RouterPrx::uncheckedCast(result->getProxy());
1489  ObjectPrx ret;
1490  try
1491  {
1492  ret = proxy->end_getServerProxy(result);
1493  }
1494  catch(const ::Ice::Exception& ex)
1495  {
1496  ::IceInternal::Callback<T, CT>::exception(result, ex);
1497  return;
1498  }
1499  if(_response)
1500  {
1501  (::IceInternal::Callback<T, CT>::_callback.get()->*_response)(ret, CT::dynamicCast(result->getCookie()));
1502  }
1503  }
1505 
1506 private:
1507 
1508  Response _response;
1509 };
1510 
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)
1522 {
1523  return new Callback_Router_getServerProxy<T, CT>(instance, cb, excb, sentcb);
1524 }
1525 
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)
1537 {
1538  return new Callback_Router_getServerProxy<T, CT>(instance, cb, excb, sentcb);
1539 }
1540 
1546 template<class T>
1547 class CallbackNC_Router_addProxies : public Callback_Router_addProxies_Base, public ::IceInternal::TwowayCallbackNC<T>
1548 {
1549 public:
1550 
1551  typedef IceUtil::Handle<T> TPtr;
1552 
1553  typedef void (T::*Exception)(const ::Ice::Exception&);
1554  typedef void (T::*Sent)(bool);
1555  typedef void (T::*Response)(const ObjectProxySeq&);
1556 
1557  CallbackNC_Router_addProxies(const TPtr& obj, Response cb, Exception excb, Sent sentcb)
1558  : ::IceInternal::TwowayCallbackNC<T>(obj, cb != 0, excb, sentcb), _response(cb)
1559  {
1560  }
1561 
1563  virtual void completed(const AsyncResultPtr& result) const
1564  {
1565  RouterPrx proxy = RouterPrx::uncheckedCast(result->getProxy());
1566  ObjectProxySeq ret;
1567  try
1568  {
1569  ret = proxy->end_addProxies(result);
1570  }
1571  catch(const ::Ice::Exception& ex)
1572  {
1573  ::IceInternal::CallbackNC<T>::exception(result, ex);
1574  return;
1575  }
1576  if(_response)
1577  {
1578  (::IceInternal::CallbackNC<T>::_callback.get()->*_response)(ret);
1579  }
1580  }
1582 
1583 private:
1584 
1585  Response _response;
1586 };
1587 
1596 template<class T> Callback_Router_addProxiesPtr
1597 newCallback_Router_addProxies(const IceUtil::Handle<T>& instance, void (T::*cb)(const ObjectProxySeq&), void (T::*excb)(const ::Ice::Exception&), void (T::*sentcb)(bool) = 0)
1598 {
1599  return new CallbackNC_Router_addProxies<T>(instance, cb, excb, sentcb);
1600 }
1601 
1610 template<class T> Callback_Router_addProxiesPtr
1611 newCallback_Router_addProxies(T* instance, void (T::*cb)(const ObjectProxySeq&), void (T::*excb)(const ::Ice::Exception&), void (T::*sentcb)(bool) = 0)
1612 {
1613  return new CallbackNC_Router_addProxies<T>(instance, cb, excb, sentcb);
1614 }
1615 
1621 template<class T, typename CT>
1622 class Callback_Router_addProxies : public Callback_Router_addProxies_Base, public ::IceInternal::TwowayCallback<T, CT>
1623 {
1624 public:
1625 
1626  typedef IceUtil::Handle<T> TPtr;
1627 
1628  typedef void (T::*Exception)(const ::Ice::Exception& , const CT&);
1629  typedef void (T::*Sent)(bool , const CT&);
1630  typedef void (T::*Response)(const ObjectProxySeq&, const CT&);
1631 
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)
1634  {
1635  }
1636 
1638  virtual void completed(const AsyncResultPtr& result) const
1639  {
1640  RouterPrx proxy = RouterPrx::uncheckedCast(result->getProxy());
1641  ObjectProxySeq ret;
1642  try
1643  {
1644  ret = proxy->end_addProxies(result);
1645  }
1646  catch(const ::Ice::Exception& ex)
1647  {
1648  ::IceInternal::Callback<T, CT>::exception(result, ex);
1649  return;
1650  }
1651  if(_response)
1652  {
1653  (::IceInternal::Callback<T, CT>::_callback.get()->*_response)(ret, CT::dynamicCast(result->getCookie()));
1654  }
1655  }
1657 
1658 private:
1659 
1660  Response _response;
1661 };
1662 
1672 template<class T, typename CT> Callback_Router_addProxiesPtr
1673 newCallback_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)
1674 {
1675  return new Callback_Router_addProxies<T, CT>(instance, cb, excb, sentcb);
1676 }
1677 
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)
1689 {
1690  return new Callback_Router_addProxies<T, CT>(instance, cb, excb, sentcb);
1691 }
1692 
1698 template<class T>
1699 class CallbackNC_RouterFinder_getRouter : public Callback_RouterFinder_getRouter_Base, public ::IceInternal::TwowayCallbackNC<T>
1700 {
1701 public:
1702 
1703  typedef IceUtil::Handle<T> TPtr;
1704 
1705  typedef void (T::*Exception)(const ::Ice::Exception&);
1706  typedef void (T::*Sent)(bool);
1707  typedef void (T::*Response)(const RouterPrx&);
1708 
1709  CallbackNC_RouterFinder_getRouter(const TPtr& obj, Response cb, Exception excb, Sent sentcb)
1710  : ::IceInternal::TwowayCallbackNC<T>(obj, cb != 0, excb, sentcb), _response(cb)
1711  {
1712  }
1713 
1715  virtual void completed(const AsyncResultPtr& result) const
1716  {
1717  RouterFinderPrx proxy = RouterFinderPrx::uncheckedCast(result->getProxy());
1718  RouterPrx ret;
1719  try
1720  {
1721  ret = proxy->end_getRouter(result);
1722  }
1723  catch(const ::Ice::Exception& ex)
1724  {
1725  ::IceInternal::CallbackNC<T>::exception(result, ex);
1726  return;
1727  }
1728  if(_response)
1729  {
1730  (::IceInternal::CallbackNC<T>::_callback.get()->*_response)(ret);
1731  }
1732  }
1734 
1735 private:
1736 
1737  Response _response;
1738 };
1739 
1748 template<class T> Callback_RouterFinder_getRouterPtr
1749 newCallback_RouterFinder_getRouter(const IceUtil::Handle<T>& instance, void (T::*cb)(const RouterPrx&), void (T::*excb)(const ::Ice::Exception&), void (T::*sentcb)(bool) = 0)
1750 {
1751  return new CallbackNC_RouterFinder_getRouter<T>(instance, cb, excb, sentcb);
1752 }
1753 
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)
1764 {
1765  return new CallbackNC_RouterFinder_getRouter<T>(instance, cb, excb, sentcb);
1766 }
1767 
1773 template<class T, typename CT>
1774 class Callback_RouterFinder_getRouter : public Callback_RouterFinder_getRouter_Base, public ::IceInternal::TwowayCallback<T, CT>
1775 {
1776 public:
1777 
1778  typedef IceUtil::Handle<T> TPtr;
1779 
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&);
1783 
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)
1786  {
1787  }
1788 
1790  virtual void completed(const AsyncResultPtr& result) const
1791  {
1792  RouterFinderPrx proxy = RouterFinderPrx::uncheckedCast(result->getProxy());
1793  RouterPrx ret;
1794  try
1795  {
1796  ret = proxy->end_getRouter(result);
1797  }
1798  catch(const ::Ice::Exception& ex)
1799  {
1800  ::IceInternal::Callback<T, CT>::exception(result, ex);
1801  return;
1802  }
1803  if(_response)
1804  {
1805  (::IceInternal::Callback<T, CT>::_callback.get()->*_response)(ret, CT::dynamicCast(result->getCookie()));
1806  }
1807  }
1809 
1810 private:
1811 
1812  Response _response;
1813 };
1814 
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)
1826 {
1827  return new Callback_RouterFinder_getRouter<T, CT>(instance, cb, excb, sentcb);
1828 }
1829 
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)
1841 {
1842  return new Callback_RouterFinder_getRouter<T, CT>(instance, cb, excb, sentcb);
1843 }
1844 
1845 }
1846 
1847 #endif
1848 
1850 #endif
Ice::LocalObjectPtr
IceInternal::Handle< LocalObject > LocalObjectPtr
Definition: LocalObjectF.h:17
Ice::ObjectProxySeq
::std::vector<::std::shared_ptr< ObjectPrx > > ObjectProxySeq
A sequence of object proxies.
Definition: BuiltinSequences.h:106
Optional.h
Ice::RouterPrx::getServerProxyAsync
::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
Ice::Context
::std::map<::std::string, ::std::string > Context
A request context.
Definition: Current.h:68
Ice::InputStream
Interface for input streams used to extract Slice types from a sequence of bytes.
Definition: InputStream.h:50
Ice::Router::addProxies
virtual ObjectProxySeq addProxies(ObjectProxySeq proxies, const Current &current)=0
Add new proxy information to the router's routing table.
Ice::Router::ice_id
virtual ::std::string ice_id(const Current &current) const override
Obtains a Slice type ID representing the most-derived interface supported by this object.
Ice::emptyCurrent
const Current emptyCurrent
A default-initialized Current instance.
StreamHelpers.h
IceUtil::Optional
std::experimental::Ice::optional< T > Optional
For compatibility with the Ice C++98 mapping, do not use in new code:
Definition: Optional.h:1100
Ice::Object
The base class for servants.
Definition: Object.h:91
Ice::operator==
bool operator==(const C &lhs, const C &rhs)
Relational operator for generated structs and classes.
Definition: Comparable.h:184
Ice::RouterPrx::addProxiesAsync
::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
Ice::Exception
IceUtil::Exception Exception
Definition: Exception.h:20
Ice::upCast
IceUtil::Shared * upCast(::Ice::LocalObject *)
GCObject.h
Ice::Router::GetClientProxyResult::returnValue
::std::shared_ptr< ObjectPrx > returnValue
The router's client proxy.
Definition: Router.h:121
Ice::RouterFinderPrx::ice_staticId
static const ::std::string & ice_staticId()
Obtains the Slice type ID of this interface.
Incoming.h
IceUtil
Definition: Optional.h:1095
ICE_API
#define ICE_API
Definition: Config.h:197
ICE_MEMBER
#define ICE_MEMBER(API)
Definition: Config.h:177
Ice::Router
The Ice router interface.
Definition: Router.h:82
FactoryTableInit.h
Ice::Router::ice_isA
virtual bool ice_isA(::std::string id, const Current &current) const override
Determines whether this object supports an interface with the given Slice type ID.
Ice::RouterFinderPrx
This inferface should be implemented by services implementing the Ice::Router interface.
Definition: Router.h:429
Ice::RouterPrx::getClientProxy
::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
Ice::Router::getServerProxy
virtual ::std::shared_ptr< ObjectPrx > getServerProxy(const Current &current) const =0
Get the router's server proxy, i.e., the proxy to use for forwarding requests from the server to the ...
Ice::RouterPrx::getServerProxyAsync
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
Ice::RouterFinder::ice_staticId
static const ::std::string & ice_staticId()
Obtains the Slice type ID corresponding to this class.
LocalObject.h
PushDisableWarnings.h
Ice::RouterFinderPrx::getRouterAsync
::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
Ice::RouterPrx::addProxies
ObjectProxySeq addProxies(const ObjectProxySeq &proxies, const Context &context=noExplicitContext)
Add new proxy information to the router's routing table.
Definition: Router.h:363
Ice::RouterPrx::getClientProxyAsync
::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
Ice::RouterPrx::getServerProxy
::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
Ice::RouterFinder::ice_id
virtual ::std::string ice_id(const Current &current) const override
Obtains a Slice type ID representing the most-derived interface supported by this object.
ProxyF.h
Ice::operator<
bool operator<(const C &lhs, const C &rhs)
Relational operator for generated structs and classes.
Definition: Comparable.h:136
Ice::Router::GetClientProxyResult::hasRoutingTable
Ice::optional< bool > hasRoutingTable
Indicates whether or not the router supports a routing table.
Definition: Router.h:123
Ice::RouterFinderPrx::getRouter
::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
Ice::RouterFinderPrx::getRouterAsync
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
Object.h
Proxy.h
UndefSysMacros.h
ObjectF.h
Ice::Router::ice_ids
virtual ::std::vector<::std::string > ice_ids(const Current &current) const override
Obtains a list of the Slice type IDs representing the interfaces supported by this object.
Ice
Definition: BuiltinSequences.h:56
IceUtil::Handle
Definition: Handle.h:143
Ice::uncheckedCast
::std::shared_ptr< P > uncheckedCast(const ::std::shared_ptr< T > &b)
Downcasts a proxy without confirming the target object's type via a remote invocation.
Definition: Proxy.h:1549
Comparable.h
BuiltinSequences.h
Ice::RouterFinder::ice_ids
virtual ::std::vector<::std::string > ice_ids(const Current &current) const override
Obtains a list of the Slice type IDs representing the interfaces supported by this object.
ScopedArray.h
Ice::RouterPrx::getClientProxyAsync
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
Ice::Current
Information about the current method invocation for servers.
Definition: Current.h:120
Ice::Proxy
Helper template that supplies proxy factory functions.
Definition: Proxy.h:1204
Exception.h
ValueF.h
Ice::RouterPrx::ice_staticId
static const ::std::string & ice_staticId()
Obtains the Slice type ID of this interface.
Ice::optional
std::experimental::Ice::optional< T > optional
Ice::optional is a placeholder for std::optional.
Definition: Optional.h:1065
Ice::RouterPrx
The Ice router interface.
Definition: Router.h:242
Ice::RouterFinder
This inferface should be implemented by services implementing the Ice::Router interface.
Definition: Router.h:181
Ice::RouterFinder::getRouter
virtual ::std::shared_ptr< RouterPrx > getRouter(const Current &current)=0
Get the router proxy implemented by the process hosting this finder object.
Ice::noExplicitContext
const Context noExplicitContext
Marker value used to indicate that no explicit context was passed to a proxy invocation.
Value.h
Ice::RouterFinder::ice_isA
virtual bool ice_isA(::std::string id, const Current &current) const override
Determines whether this object supports an interface with the given Slice type ID.
Ice::Router::GetClientProxyResult
Encapsulates the results of a call to getClientProxy.
Definition: Router.h:119
Ice::Router::ice_staticId
static const ::std::string & ice_staticId()
Obtains the Slice type ID corresponding to this class.
Ice::RouterPrx::addProxiesAsync
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
Ice::Router::getClientProxy
virtual ::std::shared_ptr< ObjectPrx > getClientProxy(Ice::optional< bool > &hasRoutingTable, const Current &current) const =0
Get the router's client proxy, i.e., the proxy to use for forwarding requests from the client to the ...
PopDisableWarnings.h