zeroc-ice 3.7.0 → 3.7.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (684) hide show
  1. checksums.yaml +4 -4
  2. data/ICE_LICENSE +1 -1
  3. data/bin/slice2rb +1 -1
  4. data/ext/Communicator.cpp +72 -2
  5. data/ext/Communicator.h +1 -1
  6. data/ext/Config.h +11 -1
  7. data/ext/Connection.cpp +22 -2
  8. data/ext/Connection.h +4 -1
  9. data/ext/Endpoint.cpp +1 -1
  10. data/ext/Endpoint.h +1 -1
  11. data/ext/ImplicitContext.cpp +1 -1
  12. data/ext/ImplicitContext.h +1 -1
  13. data/ext/Init.cpp +1 -1
  14. data/ext/Logger.cpp +1 -1
  15. data/ext/Logger.h +1 -1
  16. data/ext/Operation.cpp +1 -1
  17. data/ext/Operation.h +1 -1
  18. data/ext/Properties.cpp +1 -1
  19. data/ext/Properties.h +1 -1
  20. data/ext/Proxy.cpp +70 -1
  21. data/ext/Proxy.h +1 -1
  22. data/ext/Slice.cpp +1 -1
  23. data/ext/Slice.h +1 -1
  24. data/ext/Types.cpp +21 -5
  25. data/ext/Types.h +1 -1
  26. data/ext/Util.cpp +1 -1
  27. data/ext/Util.h +1 -1
  28. data/ext/ValueFactoryManager.cpp +2 -2
  29. data/ext/ValueFactoryManager.h +2 -2
  30. data/ext/ice/cpp/include/Ice/Application.h +234 -76
  31. data/ext/ice/cpp/include/Ice/AsyncResult.h +77 -1
  32. data/ext/ice/cpp/include/Ice/AsyncResultF.h +1 -1
  33. data/ext/ice/cpp/include/Ice/BatchRequestInterceptor.h +35 -2
  34. data/ext/ice/cpp/include/Ice/BatchRequestQueueF.h +1 -1
  35. data/ext/ice/cpp/include/Ice/Buffer.h +1 -1
  36. data/ext/ice/cpp/include/Ice/CommunicatorAsync.h +43 -1
  37. data/ext/ice/cpp/include/Ice/Comparable.h +81 -1
  38. data/ext/ice/cpp/include/Ice/Config.h +8 -1
  39. data/ext/ice/cpp/include/Ice/ConnectionAsync.h +97 -1
  40. data/ext/ice/cpp/include/Ice/ConnectionIF.h +3 -1
  41. data/ext/ice/cpp/include/Ice/ConsoleUtil.h +1 -1
  42. data/ext/ice/cpp/include/Ice/DefaultValueFactory.h +1 -1
  43. data/ext/ice/cpp/include/Ice/DispatchInterceptor.h +17 -2
  44. data/ext/ice/cpp/include/Ice/Dispatcher.h +22 -2
  45. data/ext/ice/cpp/include/Ice/DynamicLibrary.h +1 -1
  46. data/ext/ice/cpp/include/Ice/DynamicLibraryF.h +1 -1
  47. data/ext/ice/cpp/include/Ice/Exception.h +57 -15
  48. data/ext/ice/cpp/include/Ice/ExceptionHelpers.h +19 -1
  49. data/ext/ice/cpp/include/Ice/FactoryTable.h +12 -2
  50. data/ext/ice/cpp/include/Ice/FactoryTableInit.h +1 -1
  51. data/ext/ice/cpp/include/Ice/Format.h +13 -14
  52. data/ext/ice/cpp/include/Ice/Functional.h +6 -1
  53. data/ext/ice/cpp/include/Ice/GCObject.h +1 -1
  54. data/ext/ice/cpp/include/Ice/Handle.h +1 -1
  55. data/ext/ice/cpp/include/Ice/Ice.h +1 -1
  56. data/ext/ice/cpp/include/Ice/IconvStringConverter.h +38 -3
  57. data/ext/ice/cpp/include/Ice/Incoming.h +15 -2
  58. data/ext/ice/cpp/include/Ice/IncomingAsync.h +37 -4
  59. data/ext/ice/cpp/include/Ice/IncomingAsyncF.h +1 -1
  60. data/ext/ice/cpp/include/Ice/Initialize.h +764 -98
  61. data/ext/ice/cpp/include/Ice/InputStream.h +637 -112
  62. data/ext/ice/cpp/include/Ice/InstanceF.h +1 -1
  63. data/ext/ice/cpp/include/Ice/InterfaceByValue.h +17 -1
  64. data/ext/ice/cpp/include/Ice/LocalObject.h +5 -1
  65. data/ext/ice/cpp/include/Ice/LocalObjectF.h +1 -1
  66. data/ext/ice/cpp/include/Ice/LoggerUtil.h +37 -6
  67. data/ext/ice/cpp/include/Ice/MetricsAdminI.h +3 -1
  68. data/ext/ice/cpp/include/Ice/MetricsFunctional.h +3 -1
  69. data/ext/ice/cpp/include/Ice/MetricsObserverI.h +3 -1
  70. data/ext/ice/cpp/include/Ice/NativePropertiesAdmin.h +46 -23
  71. data/ext/ice/cpp/include/Ice/Object.h +338 -47
  72. data/ext/ice/cpp/include/Ice/ObjectF.h +5 -1
  73. data/ext/ice/cpp/include/Ice/ObserverHelper.h +1 -1
  74. data/ext/ice/cpp/include/Ice/Optional.h +22 -6
  75. data/ext/ice/cpp/include/Ice/OutgoingAsync.h +15 -1
  76. data/ext/ice/cpp/include/Ice/OutgoingAsyncF.h +1 -1
  77. data/ext/ice/cpp/include/Ice/OutputStream.h +436 -92
  78. data/ext/ice/cpp/include/Ice/Protocol.h +31 -1
  79. data/ext/ice/cpp/include/Ice/Proxy.h +2244 -190
  80. data/ext/ice/cpp/include/Ice/ProxyF.h +3 -1
  81. data/ext/ice/cpp/include/Ice/ProxyFactoryF.h +1 -1
  82. data/ext/ice/cpp/include/Ice/ProxyHandle.h +10 -1
  83. data/ext/ice/cpp/include/Ice/ReferenceF.h +1 -1
  84. data/ext/ice/cpp/include/Ice/RegisterPlugins.h +67 -9
  85. data/ext/ice/cpp/include/Ice/RequestHandlerF.h +1 -1
  86. data/ext/ice/cpp/include/Ice/ResponseHandlerF.h +1 -1
  87. data/ext/ice/cpp/include/Ice/SHA1.h +1 -1
  88. data/ext/ice/cpp/include/Ice/ServantManagerF.h +1 -1
  89. data/ext/ice/cpp/include/Ice/Service.h +267 -138
  90. data/ext/ice/cpp/include/Ice/SliceChecksums.h +5 -1
  91. data/ext/ice/cpp/include/Ice/SlicedData.h +80 -33
  92. data/ext/ice/cpp/include/Ice/SlicedDataF.h +4 -1
  93. data/ext/ice/cpp/include/Ice/StreamHelpers.h +324 -116
  94. data/ext/ice/cpp/include/Ice/StringConverter.h +32 -1
  95. data/ext/ice/cpp/include/Ice/ThreadPoolF.h +1 -1
  96. data/ext/ice/cpp/include/Ice/UUID.h +2 -1
  97. data/ext/ice/cpp/include/Ice/UniquePtr.h +2 -2
  98. data/ext/ice/cpp/include/Ice/UniqueRef.h +6 -2
  99. data/ext/ice/cpp/include/Ice/UserExceptionFactory.h +6 -1
  100. data/ext/ice/cpp/include/Ice/Value.h +41 -1
  101. data/ext/ice/cpp/include/Ice/ValueF.h +3 -1
  102. data/ext/ice/cpp/include/IceSSL/Config.h +1 -1
  103. data/ext/ice/cpp/include/IceSSL/IceSSL.h +1 -1
  104. data/ext/ice/cpp/include/IceSSL/OpenSSL.h +75 -53
  105. data/ext/ice/cpp/include/IceSSL/Plugin.h +323 -218
  106. data/ext/ice/cpp/include/IceSSL/SChannel.h +34 -27
  107. data/ext/ice/cpp/include/IceSSL/SecureTransport.h +35 -28
  108. data/ext/ice/cpp/include/IceSSL/UWP.h +33 -24
  109. data/ext/ice/cpp/include/IceUtil/Atomic.h +1 -1
  110. data/ext/ice/cpp/include/IceUtil/Cond.h +1 -1
  111. data/ext/ice/cpp/include/IceUtil/Config.h +11 -3
  112. data/ext/ice/cpp/include/IceUtil/ConsoleUtil.h +1 -1
  113. data/ext/ice/cpp/include/IceUtil/CountDownLatch.h +1 -1
  114. data/ext/ice/cpp/include/IceUtil/CtrlCHandler.h +59 -31
  115. data/ext/ice/cpp/include/IceUtil/DisableWarnings.h +1 -1
  116. data/ext/ice/cpp/include/IceUtil/Exception.h +1 -1
  117. data/ext/ice/cpp/include/IceUtil/FileUtil.h +1 -1
  118. data/ext/ice/cpp/include/IceUtil/Functional.h +1 -1
  119. data/ext/ice/cpp/include/IceUtil/Handle.h +1 -1
  120. data/ext/ice/cpp/include/IceUtil/IceUtil.h +1 -1
  121. data/ext/ice/cpp/include/IceUtil/InputUtil.h +1 -1
  122. data/ext/ice/cpp/include/IceUtil/Iterator.h +1 -1
  123. data/ext/ice/cpp/include/IceUtil/Lock.h +1 -1
  124. data/ext/ice/cpp/include/IceUtil/Monitor.h +1 -1
  125. data/ext/ice/cpp/include/IceUtil/Mutex.h +2 -5
  126. data/ext/ice/cpp/include/IceUtil/MutexProtocol.h +1 -1
  127. data/ext/ice/cpp/include/IceUtil/MutexPtrLock.h +1 -1
  128. data/ext/ice/cpp/include/IceUtil/MutexPtrTryLock.h +1 -1
  129. data/ext/ice/cpp/include/IceUtil/Optional.h +95 -1
  130. data/ext/ice/cpp/include/IceUtil/Options.h +1 -1
  131. data/ext/ice/cpp/include/IceUtil/OutputUtil.h +1 -1
  132. data/ext/ice/cpp/include/IceUtil/PopDisableWarnings.h +1 -1
  133. data/ext/ice/cpp/include/IceUtil/PushDisableWarnings.h +1 -1
  134. data/ext/ice/cpp/include/IceUtil/Random.h +1 -1
  135. data/ext/ice/cpp/include/IceUtil/RecMutex.h +1 -1
  136. data/ext/ice/cpp/include/IceUtil/ResourceConfig.h +4 -4
  137. data/ext/ice/cpp/include/IceUtil/ScannerConfig.h +5 -3
  138. data/ext/ice/cpp/include/IceUtil/ScopedArray.h +1 -1
  139. data/ext/ice/cpp/include/IceUtil/Shared.h +1 -1
  140. data/ext/ice/cpp/include/IceUtil/StopWatch.h +1 -1
  141. data/ext/ice/cpp/include/IceUtil/StringConverter.h +106 -86
  142. data/ext/ice/cpp/include/IceUtil/StringUtil.h +1 -1
  143. data/ext/ice/cpp/include/IceUtil/Thread.h +1 -1
  144. data/ext/ice/cpp/include/IceUtil/ThreadException.h +1 -1
  145. data/ext/ice/cpp/include/IceUtil/Time.h +1 -1
  146. data/ext/ice/cpp/include/IceUtil/Timer.h +5 -1
  147. data/ext/ice/cpp/include/IceUtil/UUID.h +5 -1
  148. data/ext/ice/cpp/include/IceUtil/UndefSysMacros.h +1 -1
  149. data/ext/ice/cpp/include/generated/Ice/BuiltinSequences.h +80 -20
  150. data/ext/ice/cpp/include/generated/Ice/Communicator.h +927 -130
  151. data/ext/ice/cpp/include/generated/Ice/CommunicatorF.h +13 -5
  152. data/ext/ice/cpp/include/generated/Ice/Connection.h +990 -194
  153. data/ext/ice/cpp/include/generated/Ice/ConnectionF.h +21 -9
  154. data/ext/ice/cpp/include/generated/Ice/Current.h +180 -17
  155. data/ext/ice/cpp/include/generated/Ice/Endpoint.h +484 -118
  156. data/ext/ice/cpp/include/generated/Ice/EndpointF.h +41 -17
  157. data/ext/ice/cpp/include/generated/Ice/EndpointTypes.h +29 -3
  158. data/ext/ice/cpp/include/generated/Ice/FacetMap.h +11 -5
  159. data/ext/ice/cpp/include/generated/Ice/Identity.h +56 -7
  160. data/ext/ice/cpp/include/generated/Ice/ImplicitContext.h +150 -28
  161. data/ext/ice/cpp/include/generated/Ice/ImplicitContextF.h +13 -5
  162. data/ext/ice/cpp/include/generated/Ice/Instrumentation.h +629 -83
  163. data/ext/ice/cpp/include/generated/Ice/InstrumentationF.h +19 -7
  164. data/ext/ice/cpp/include/generated/Ice/LocalException.h +5104 -794
  165. data/ext/ice/cpp/include/generated/Ice/Locator.h +2222 -443
  166. data/ext/ice/cpp/include/generated/Ice/LocatorF.h +27 -9
  167. data/ext/ice/cpp/include/generated/Ice/Logger.h +104 -26
  168. data/ext/ice/cpp/include/generated/Ice/LoggerF.h +13 -5
  169. data/ext/ice/cpp/include/generated/Ice/Metrics.h +2534 -455
  170. data/ext/ice/cpp/include/generated/Ice/ObjectAdapter.h +1004 -126
  171. data/ext/ice/cpp/include/generated/Ice/ObjectAdapterF.h +13 -5
  172. data/ext/ice/cpp/include/generated/Ice/ObjectFactory.h +72 -12
  173. data/ext/ice/cpp/include/generated/Ice/Plugin.h +142 -28
  174. data/ext/ice/cpp/include/generated/Ice/PluginF.h +17 -7
  175. data/ext/ice/cpp/include/generated/Ice/Process.h +511 -71
  176. data/ext/ice/cpp/include/generated/Ice/ProcessF.h +18 -6
  177. data/ext/ice/cpp/include/generated/Ice/Properties.h +306 -58
  178. data/ext/ice/cpp/include/generated/Ice/PropertiesAdmin.h +737 -121
  179. data/ext/ice/cpp/include/generated/Ice/PropertiesF.h +22 -8
  180. data/ext/ice/cpp/include/generated/Ice/RemoteLogger.h +1526 -279
  181. data/ext/ice/cpp/include/generated/Ice/Router.h +1009 -198
  182. data/ext/ice/cpp/include/generated/Ice/RouterF.h +18 -6
  183. data/ext/ice/cpp/include/generated/Ice/ServantLocator.h +174 -18
  184. data/ext/ice/cpp/include/generated/Ice/ServantLocatorF.h +13 -5
  185. data/ext/ice/cpp/include/generated/Ice/SliceChecksumDict.h +13 -3
  186. data/ext/ice/cpp/include/generated/Ice/ValueFactory.h +177 -23
  187. data/ext/ice/cpp/include/generated/Ice/Version.h +43 -13
  188. data/ext/ice/cpp/include/generated/IceSSL/ConnectionInfo.h +71 -15
  189. data/ext/ice/cpp/include/generated/IceSSL/ConnectionInfoF.h +13 -5
  190. data/ext/ice/cpp/include/generated/IceSSL/EndpointInfo.h +39 -9
  191. data/ext/ice/cpp/src/Ice/ACM.cpp +12 -3
  192. data/ext/ice/cpp/src/Ice/ACM.h +1 -1
  193. data/ext/ice/cpp/src/Ice/ACMF.h +1 -1
  194. data/ext/ice/cpp/src/Ice/Acceptor.cpp +1 -1
  195. data/ext/ice/cpp/src/Ice/Acceptor.h +1 -1
  196. data/ext/ice/cpp/src/Ice/AcceptorF.h +1 -1
  197. data/ext/ice/cpp/src/Ice/ArgVector.cpp +1 -1
  198. data/ext/ice/cpp/src/Ice/ArgVector.h +1 -1
  199. data/ext/ice/cpp/src/Ice/AsyncResult.cpp +1 -1
  200. data/ext/ice/cpp/src/Ice/Base64.cpp +1 -1
  201. data/ext/ice/cpp/src/Ice/Base64.h +1 -1
  202. data/ext/ice/cpp/src/Ice/BatchRequestQueue.cpp +1 -1
  203. data/ext/ice/cpp/src/Ice/BatchRequestQueue.h +1 -1
  204. data/ext/ice/cpp/src/Ice/Buffer.cpp +1 -1
  205. data/ext/ice/cpp/src/Ice/BuiltinSequences.cpp +3 -3
  206. data/ext/ice/cpp/src/Ice/CollocatedRequestHandler.cpp +1 -1
  207. data/ext/ice/cpp/src/Ice/CollocatedRequestHandler.h +1 -1
  208. data/ext/ice/cpp/src/Ice/Communicator.cpp +6 -4
  209. data/ext/ice/cpp/src/Ice/CommunicatorF.cpp +3 -3
  210. data/ext/ice/cpp/src/Ice/CommunicatorI.cpp +34 -13
  211. data/ext/ice/cpp/src/Ice/CommunicatorI.h +10 -10
  212. data/ext/ice/cpp/src/Ice/Cond.cpp +1 -1
  213. data/ext/ice/cpp/src/Ice/ConnectRequestHandler.cpp +11 -6
  214. data/ext/ice/cpp/src/Ice/ConnectRequestHandler.h +1 -1
  215. data/ext/ice/cpp/src/Ice/ConnectRequestHandlerF.h +1 -1
  216. data/ext/ice/cpp/src/Ice/Connection.cpp +27 -11
  217. data/ext/ice/cpp/src/Ice/ConnectionF.cpp +3 -3
  218. data/ext/ice/cpp/src/Ice/ConnectionFactory.cpp +24 -19
  219. data/ext/ice/cpp/src/Ice/ConnectionFactory.h +1 -1
  220. data/ext/ice/cpp/src/Ice/ConnectionFactoryF.h +1 -1
  221. data/ext/ice/cpp/src/Ice/ConnectionI.cpp +45 -37
  222. data/ext/ice/cpp/src/Ice/ConnectionI.h +10 -8
  223. data/ext/ice/cpp/src/Ice/ConnectionRequestHandler.cpp +1 -1
  224. data/ext/ice/cpp/src/Ice/ConnectionRequestHandler.h +1 -1
  225. data/ext/ice/cpp/src/Ice/Connector.cpp +1 -1
  226. data/ext/ice/cpp/src/Ice/Connector.h +1 -1
  227. data/ext/ice/cpp/src/Ice/ConnectorF.h +1 -1
  228. data/ext/ice/cpp/src/Ice/CountDownLatch.cpp +1 -1
  229. data/ext/ice/cpp/src/Ice/Current.cpp +3 -3
  230. data/ext/ice/cpp/src/Ice/DefaultsAndOverrides.cpp +5 -7
  231. data/ext/ice/cpp/src/Ice/DefaultsAndOverrides.h +1 -1
  232. data/ext/ice/cpp/src/Ice/DefaultsAndOverridesF.h +1 -1
  233. data/ext/ice/cpp/src/Ice/DispatchInterceptor.cpp +1 -1
  234. data/ext/ice/cpp/src/Ice/DynamicLibrary.cpp +1 -1
  235. data/ext/ice/cpp/src/Ice/Endpoint.cpp +24 -10
  236. data/ext/ice/cpp/src/Ice/EndpointF.cpp +3 -3
  237. data/ext/ice/cpp/src/Ice/EndpointFactory.cpp +1 -1
  238. data/ext/ice/cpp/src/Ice/EndpointFactory.h +1 -1
  239. data/ext/ice/cpp/src/Ice/EndpointFactoryF.h +1 -1
  240. data/ext/ice/cpp/src/Ice/EndpointFactoryManager.cpp +7 -13
  241. data/ext/ice/cpp/src/Ice/EndpointFactoryManager.h +1 -1
  242. data/ext/ice/cpp/src/Ice/EndpointFactoryManagerF.h +1 -1
  243. data/ext/ice/cpp/src/Ice/EndpointI.cpp +2 -2
  244. data/ext/ice/cpp/src/Ice/EndpointI.h +5 -5
  245. data/ext/ice/cpp/src/Ice/EndpointIF.h +1 -1
  246. data/ext/ice/cpp/src/Ice/EndpointTypes.cpp +3 -3
  247. data/ext/ice/cpp/src/Ice/EventHandler.cpp +1 -1
  248. data/ext/ice/cpp/src/Ice/EventHandler.h +1 -1
  249. data/ext/ice/cpp/src/Ice/EventHandlerF.h +1 -1
  250. data/ext/ice/cpp/src/Ice/Exception.cpp +1 -1
  251. data/ext/ice/cpp/src/Ice/FacetMap.cpp +3 -3
  252. data/ext/ice/cpp/src/Ice/FactoryTable.cpp +1 -1
  253. data/ext/ice/cpp/src/Ice/FactoryTableInit.cpp +1 -1
  254. data/ext/ice/cpp/src/Ice/GCObject.cpp +1 -1
  255. data/ext/ice/cpp/src/Ice/HashUtil.h +1 -1
  256. data/ext/ice/cpp/src/Ice/HttpParser.cpp +1 -1
  257. data/ext/ice/cpp/src/Ice/HttpParser.h +1 -1
  258. data/ext/ice/cpp/src/Ice/IPEndpointI.cpp +24 -29
  259. data/ext/ice/cpp/src/Ice/IPEndpointI.h +5 -5
  260. data/ext/ice/cpp/src/Ice/IPEndpointIF.h +1 -1
  261. data/ext/ice/cpp/src/Ice/IconvStringConverter.cpp +1 -1
  262. data/ext/ice/cpp/src/Ice/Identity.cpp +3 -3
  263. data/ext/ice/cpp/src/Ice/ImplicitContext.cpp +6 -4
  264. data/ext/ice/cpp/src/Ice/ImplicitContextF.cpp +3 -3
  265. data/ext/ice/cpp/src/Ice/ImplicitContextI.cpp +2 -13
  266. data/ext/ice/cpp/src/Ice/ImplicitContextI.h +1 -1
  267. data/ext/ice/cpp/src/Ice/Incoming.cpp +1 -1
  268. data/ext/ice/cpp/src/Ice/IncomingAsync.cpp +1 -1
  269. data/ext/ice/cpp/src/Ice/IncomingRequest.h +1 -1
  270. data/ext/ice/cpp/src/Ice/Initialize.cpp +10 -16
  271. data/ext/ice/cpp/src/Ice/InputStream.cpp +1 -1
  272. data/ext/ice/cpp/src/Ice/Instance.cpp +13 -34
  273. data/ext/ice/cpp/src/Ice/Instance.h +1 -1
  274. data/ext/ice/cpp/src/Ice/Instrumentation.cpp +33 -13
  275. data/ext/ice/cpp/src/Ice/InstrumentationF.cpp +3 -3
  276. data/ext/ice/cpp/src/Ice/InstrumentationI.cpp +1 -1
  277. data/ext/ice/cpp/src/Ice/InstrumentationI.h +1 -1
  278. data/ext/ice/cpp/src/Ice/LocalException.cpp +279 -279
  279. data/ext/ice/cpp/src/Ice/LocalObject.cpp +1 -1
  280. data/ext/ice/cpp/src/Ice/Locator.cpp +287 -174
  281. data/ext/ice/cpp/src/Ice/LocatorF.cpp +3 -3
  282. data/ext/ice/cpp/src/Ice/LocatorInfo.cpp +4 -9
  283. data/ext/ice/cpp/src/Ice/LocatorInfo.h +1 -1
  284. data/ext/ice/cpp/src/Ice/LocatorInfoF.h +1 -1
  285. data/ext/ice/cpp/src/Ice/Logger.cpp +6 -4
  286. data/ext/ice/cpp/src/Ice/LoggerAdminI.cpp +1 -1
  287. data/ext/ice/cpp/src/Ice/LoggerAdminI.h +1 -1
  288. data/ext/ice/cpp/src/Ice/LoggerF.cpp +3 -3
  289. data/ext/ice/cpp/src/Ice/LoggerI.cpp +1 -1
  290. data/ext/ice/cpp/src/Ice/LoggerI.h +1 -1
  291. data/ext/ice/cpp/src/Ice/LoggerUtil.cpp +1 -1
  292. data/ext/ice/cpp/src/Ice/Metrics.cpp +297 -109
  293. data/ext/ice/cpp/src/Ice/MetricsAdminI.cpp +2 -7
  294. data/ext/ice/cpp/src/Ice/MetricsObserverI.cpp +1 -1
  295. data/ext/ice/cpp/src/Ice/Network.cpp +188 -225
  296. data/ext/ice/cpp/src/Ice/Network.h +3 -12
  297. data/ext/ice/cpp/src/Ice/NetworkF.h +1 -1
  298. data/ext/ice/cpp/src/Ice/NetworkProxy.cpp +1 -1
  299. data/ext/ice/cpp/src/Ice/NetworkProxy.h +1 -1
  300. data/ext/ice/cpp/src/Ice/NetworkProxyF.h +1 -1
  301. data/ext/ice/cpp/src/Ice/Object.cpp +7 -4
  302. data/ext/ice/cpp/src/Ice/ObjectAdapter.cpp +6 -4
  303. data/ext/ice/cpp/src/Ice/ObjectAdapterF.cpp +3 -3
  304. data/ext/ice/cpp/src/Ice/ObjectAdapterFactory.cpp +53 -19
  305. data/ext/ice/cpp/src/Ice/ObjectAdapterFactory.h +1 -1
  306. data/ext/ice/cpp/src/Ice/ObjectAdapterFactoryF.h +1 -1
  307. data/ext/ice/cpp/src/Ice/ObjectAdapterI.cpp +116 -150
  308. data/ext/ice/cpp/src/Ice/ObjectAdapterI.h +11 -11
  309. data/ext/ice/cpp/src/Ice/ObjectFactory.cpp +6 -4
  310. data/ext/ice/cpp/src/Ice/ObserverHelper.cpp +1 -1
  311. data/ext/ice/cpp/src/Ice/OpaqueEndpointI.cpp +25 -42
  312. data/ext/ice/cpp/src/Ice/OpaqueEndpointI.h +2 -2
  313. data/ext/ice/cpp/src/Ice/OutgoingAsync.cpp +1 -1
  314. data/ext/ice/cpp/src/Ice/OutputStream.cpp +1 -1
  315. data/ext/ice/cpp/src/Ice/Plugin.cpp +9 -5
  316. data/ext/ice/cpp/src/Ice/PluginF.cpp +3 -3
  317. data/ext/ice/cpp/src/Ice/PluginManagerI.cpp +15 -34
  318. data/ext/ice/cpp/src/Ice/PluginManagerI.h +3 -3
  319. data/ext/ice/cpp/src/Ice/Process.cpp +69 -40
  320. data/ext/ice/cpp/src/Ice/ProcessF.cpp +3 -3
  321. data/ext/ice/cpp/src/Ice/Properties.cpp +6 -4
  322. data/ext/ice/cpp/src/Ice/PropertiesAdmin.cpp +89 -54
  323. data/ext/ice/cpp/src/Ice/PropertiesAdminI.cpp +1 -1
  324. data/ext/ice/cpp/src/Ice/PropertiesAdminI.h +1 -1
  325. data/ext/ice/cpp/src/Ice/PropertiesF.cpp +3 -3
  326. data/ext/ice/cpp/src/Ice/PropertiesI.cpp +15 -21
  327. data/ext/ice/cpp/src/Ice/PropertiesI.h +10 -10
  328. data/ext/ice/cpp/src/Ice/PropertyNames.cpp +4 -2
  329. data/ext/ice/cpp/src/Ice/PropertyNames.h +2 -2
  330. data/ext/ice/cpp/src/Ice/Protocol.cpp +5 -13
  331. data/ext/ice/cpp/src/Ice/ProtocolInstance.cpp +1 -1
  332. data/ext/ice/cpp/src/Ice/ProtocolInstance.h +1 -1
  333. data/ext/ice/cpp/src/Ice/ProtocolInstanceF.h +1 -1
  334. data/ext/ice/cpp/src/Ice/ProtocolPluginFacade.cpp +1 -1
  335. data/ext/ice/cpp/src/Ice/ProtocolPluginFacade.h +1 -1
  336. data/ext/ice/cpp/src/Ice/ProtocolPluginFacadeF.h +1 -1
  337. data/ext/ice/cpp/src/Ice/Proxy.cpp +46 -1
  338. data/ext/ice/cpp/src/Ice/ProxyFactory.cpp +1 -1
  339. data/ext/ice/cpp/src/Ice/ProxyFactory.h +1 -1
  340. data/ext/ice/cpp/src/Ice/Reference.cpp +56 -6
  341. data/ext/ice/cpp/src/Ice/Reference.h +13 -2
  342. data/ext/ice/cpp/src/Ice/ReferenceFactory.cpp +51 -90
  343. data/ext/ice/cpp/src/Ice/ReferenceFactory.h +1 -1
  344. data/ext/ice/cpp/src/Ice/ReferenceFactoryF.h +1 -1
  345. data/ext/ice/cpp/src/Ice/RegisterPluginsInit.cpp +1 -1
  346. data/ext/ice/cpp/src/Ice/RegisterPluginsInit.h +1 -1
  347. data/ext/ice/cpp/src/Ice/RemoteLogger.cpp +203 -117
  348. data/ext/ice/cpp/src/Ice/ReplyStatus.h +1 -1
  349. data/ext/ice/cpp/src/Ice/RequestHandler.cpp +1 -1
  350. data/ext/ice/cpp/src/Ice/RequestHandler.h +1 -1
  351. data/ext/ice/cpp/src/Ice/RequestHandlerFactory.cpp +1 -1
  352. data/ext/ice/cpp/src/Ice/RequestHandlerFactory.h +1 -1
  353. data/ext/ice/cpp/src/Ice/ResponseHandler.cpp +1 -1
  354. data/ext/ice/cpp/src/Ice/ResponseHandler.h +1 -1
  355. data/ext/ice/cpp/src/Ice/RetryQueue.cpp +1 -1
  356. data/ext/ice/cpp/src/Ice/RetryQueue.h +1 -1
  357. data/ext/ice/cpp/src/Ice/RetryQueueF.h +1 -1
  358. data/ext/ice/cpp/src/Ice/Router.cpp +167 -89
  359. data/ext/ice/cpp/src/Ice/RouterF.cpp +3 -3
  360. data/ext/ice/cpp/src/Ice/RouterInfo.cpp +6 -28
  361. data/ext/ice/cpp/src/Ice/RouterInfo.h +1 -3
  362. data/ext/ice/cpp/src/Ice/RouterInfoF.h +1 -1
  363. data/ext/ice/cpp/src/Ice/SHA1.cpp +1 -1
  364. data/ext/ice/cpp/src/Ice/Selector.cpp +19 -26
  365. data/ext/ice/cpp/src/Ice/Selector.h +1 -1
  366. data/ext/ice/cpp/src/Ice/ServantLocator.cpp +6 -4
  367. data/ext/ice/cpp/src/Ice/ServantLocatorF.cpp +3 -3
  368. data/ext/ice/cpp/src/Ice/ServantManager.cpp +15 -31
  369. data/ext/ice/cpp/src/Ice/ServantManager.h +1 -1
  370. data/ext/ice/cpp/src/Ice/SharedContext.h +1 -1
  371. data/ext/ice/cpp/src/Ice/SliceChecksumDict.cpp +3 -3
  372. data/ext/ice/cpp/src/Ice/SliceChecksums.cpp +1 -1
  373. data/ext/ice/cpp/src/Ice/SlicedData.cpp +1 -1
  374. data/ext/ice/cpp/src/Ice/StreamSocket.cpp +32 -52
  375. data/ext/ice/cpp/src/Ice/StreamSocket.h +1 -1
  376. data/ext/ice/cpp/src/Ice/StringConverterPlugin.cpp +10 -1
  377. data/ext/ice/cpp/src/Ice/StringUtil.h +1 -1
  378. data/ext/ice/cpp/src/Ice/SysLoggerI.cpp +1 -1
  379. data/ext/ice/cpp/src/Ice/SysLoggerI.h +1 -1
  380. data/ext/ice/cpp/src/Ice/TcpAcceptor.cpp +5 -13
  381. data/ext/ice/cpp/src/Ice/TcpAcceptor.h +1 -1
  382. data/ext/ice/cpp/src/Ice/TcpConnector.cpp +1 -1
  383. data/ext/ice/cpp/src/Ice/TcpConnector.h +1 -1
  384. data/ext/ice/cpp/src/Ice/TcpEndpointI.cpp +8 -11
  385. data/ext/ice/cpp/src/Ice/TcpEndpointI.h +2 -2
  386. data/ext/ice/cpp/src/Ice/TcpTransceiver.cpp +1 -1
  387. data/ext/ice/cpp/src/Ice/TcpTransceiver.h +1 -1
  388. data/ext/ice/cpp/src/Ice/Thread.cpp +1 -1
  389. data/ext/ice/cpp/src/Ice/ThreadPool.cpp +13 -13
  390. data/ext/ice/cpp/src/Ice/ThreadPool.h +1 -1
  391. data/ext/ice/cpp/src/Ice/Timer.cpp +1 -1
  392. data/ext/ice/cpp/src/Ice/TraceLevels.cpp +1 -1
  393. data/ext/ice/cpp/src/Ice/TraceLevels.h +1 -1
  394. data/ext/ice/cpp/src/Ice/TraceLevelsF.h +1 -1
  395. data/ext/ice/cpp/src/Ice/TraceUtil.cpp +1 -1
  396. data/ext/ice/cpp/src/Ice/TraceUtil.h +1 -1
  397. data/ext/ice/cpp/src/Ice/Transceiver.cpp +1 -1
  398. data/ext/ice/cpp/src/Ice/Transceiver.h +1 -1
  399. data/ext/ice/cpp/src/Ice/TransceiverF.h +1 -1
  400. data/ext/ice/cpp/src/Ice/UdpConnector.cpp +1 -1
  401. data/ext/ice/cpp/src/Ice/UdpConnector.h +1 -1
  402. data/ext/ice/cpp/src/Ice/UdpEndpointI.cpp +19 -27
  403. data/ext/ice/cpp/src/Ice/UdpEndpointI.h +2 -2
  404. data/ext/ice/cpp/src/Ice/UdpTransceiver.cpp +17 -54
  405. data/ext/ice/cpp/src/Ice/UdpTransceiver.h +1 -1
  406. data/ext/ice/cpp/src/Ice/Value.cpp +1 -1
  407. data/ext/ice/cpp/src/Ice/ValueFactory.cpp +9 -5
  408. data/ext/ice/cpp/src/Ice/ValueFactoryManagerI.cpp +3 -6
  409. data/ext/ice/cpp/src/Ice/ValueFactoryManagerI.h +2 -2
  410. data/ext/ice/cpp/src/Ice/Version.cpp +3 -3
  411. data/ext/ice/cpp/src/Ice/VirtualShared.h +1 -1
  412. data/ext/ice/cpp/src/Ice/WSAcceptor.cpp +1 -1
  413. data/ext/ice/cpp/src/Ice/WSAcceptor.h +1 -1
  414. data/ext/ice/cpp/src/Ice/WSConnector.cpp +1 -1
  415. data/ext/ice/cpp/src/Ice/WSConnector.h +1 -1
  416. data/ext/ice/cpp/src/Ice/WSEndpoint.cpp +4 -5
  417. data/ext/ice/cpp/src/Ice/WSEndpoint.h +2 -2
  418. data/ext/ice/cpp/src/Ice/WSTransceiver.cpp +8 -9
  419. data/ext/ice/cpp/src/Ice/WSTransceiver.h +1 -1
  420. data/ext/ice/cpp/src/IceDiscovery/IceDiscovery.cpp +85 -27
  421. data/ext/ice/cpp/src/IceDiscovery/IceDiscovery.h +599 -113
  422. data/ext/ice/cpp/src/IceDiscovery/LocatorI.cpp +1 -1
  423. data/ext/ice/cpp/src/IceDiscovery/LocatorI.h +1 -1
  424. data/ext/ice/cpp/src/IceDiscovery/LookupI.cpp +1 -1
  425. data/ext/ice/cpp/src/IceDiscovery/LookupI.h +1 -1
  426. data/ext/ice/cpp/src/IceDiscovery/PluginI.cpp +1 -1
  427. data/ext/ice/cpp/src/IceDiscovery/PluginI.h +1 -1
  428. data/ext/ice/cpp/src/IceLocatorDiscovery/IceLocatorDiscovery.cpp +70 -24
  429. data/ext/ice/cpp/src/IceLocatorDiscovery/IceLocatorDiscovery.h +635 -69
  430. data/ext/ice/cpp/src/IceLocatorDiscovery/Plugin.h +1 -1
  431. data/ext/ice/cpp/src/IceLocatorDiscovery/PluginI.cpp +71 -9
  432. data/ext/ice/cpp/src/IceSSL/AcceptorI.cpp +2 -4
  433. data/ext/ice/cpp/src/IceSSL/AcceptorI.h +1 -1
  434. data/ext/ice/cpp/src/IceSSL/CertificateI.cpp +1 -1
  435. data/ext/ice/cpp/src/IceSSL/CertificateI.h +1 -1
  436. data/ext/ice/cpp/src/IceSSL/ConnectionInfo.cpp +6 -4
  437. data/ext/ice/cpp/src/IceSSL/ConnectionInfoF.cpp +3 -3
  438. data/ext/ice/cpp/src/IceSSL/ConnectorI.cpp +2 -4
  439. data/ext/ice/cpp/src/IceSSL/ConnectorI.h +1 -1
  440. data/ext/ice/cpp/src/IceSSL/EndpointI.cpp +2 -2
  441. data/ext/ice/cpp/src/IceSSL/EndpointI.h +2 -2
  442. data/ext/ice/cpp/src/IceSSL/EndpointInfo.cpp +6 -4
  443. data/ext/ice/cpp/src/IceSSL/Instance.cpp +1 -1
  444. data/ext/ice/cpp/src/IceSSL/Instance.h +1 -1
  445. data/ext/ice/cpp/src/IceSSL/InstanceF.h +1 -1
  446. data/ext/ice/cpp/src/IceSSL/OpenSSLCertificateI.cpp +1 -1
  447. data/ext/ice/cpp/src/IceSSL/OpenSSLEngine.cpp +1 -1
  448. data/ext/ice/cpp/src/IceSSL/OpenSSLEngine.h +1 -1
  449. data/ext/ice/cpp/src/IceSSL/OpenSSLEngineF.h +1 -1
  450. data/ext/ice/cpp/src/IceSSL/OpenSSLPluginI.cpp +1 -1
  451. data/ext/ice/cpp/src/IceSSL/OpenSSLTransceiverI.cpp +25 -62
  452. data/ext/ice/cpp/src/IceSSL/OpenSSLTransceiverI.h +1 -1
  453. data/ext/ice/cpp/src/IceSSL/OpenSSLUtil.cpp +1 -1
  454. data/ext/ice/cpp/src/IceSSL/OpenSSLUtil.h +1 -1
  455. data/ext/ice/cpp/src/IceSSL/PluginI.cpp +1 -1
  456. data/ext/ice/cpp/src/IceSSL/PluginI.h +1 -1
  457. data/ext/ice/cpp/src/IceSSL/RFC2253.cpp +1 -1
  458. data/ext/ice/cpp/src/IceSSL/RFC2253.h +1 -1
  459. data/ext/ice/cpp/src/IceSSL/SChannelCertificateI.cpp +1 -1
  460. data/ext/ice/cpp/src/IceSSL/SChannelEngine.cpp +1 -1
  461. data/ext/ice/cpp/src/IceSSL/SChannelEngine.h +1 -1
  462. data/ext/ice/cpp/src/IceSSL/SChannelEngineF.h +1 -1
  463. data/ext/ice/cpp/src/IceSSL/SChannelPluginI.cpp +1 -1
  464. data/ext/ice/cpp/src/IceSSL/SChannelTransceiverI.cpp +19 -27
  465. data/ext/ice/cpp/src/IceSSL/SChannelTransceiverI.h +1 -1
  466. data/ext/ice/cpp/src/IceSSL/SSLEngine.cpp +7 -16
  467. data/ext/ice/cpp/src/IceSSL/SSLEngine.h +1 -1
  468. data/ext/ice/cpp/src/IceSSL/SSLEngineF.h +1 -1
  469. data/ext/ice/cpp/src/IceSSL/SecureTransportCertificateI.cpp +1 -1
  470. data/ext/ice/cpp/src/IceSSL/SecureTransportEngine.cpp +1 -1
  471. data/ext/ice/cpp/src/IceSSL/SecureTransportEngine.h +1 -1
  472. data/ext/ice/cpp/src/IceSSL/SecureTransportEngineF.h +1 -1
  473. data/ext/ice/cpp/src/IceSSL/SecureTransportPluginI.cpp +1 -1
  474. data/ext/ice/cpp/src/IceSSL/SecureTransportTransceiverI.cpp +1 -1
  475. data/ext/ice/cpp/src/IceSSL/SecureTransportTransceiverI.h +1 -1
  476. data/ext/ice/cpp/src/IceSSL/SecureTransportUtil.cpp +7 -10
  477. data/ext/ice/cpp/src/IceSSL/SecureTransportUtil.h +1 -1
  478. data/ext/ice/cpp/src/IceSSL/TrustManager.cpp +4 -5
  479. data/ext/ice/cpp/src/IceSSL/TrustManager.h +1 -1
  480. data/ext/ice/cpp/src/IceSSL/TrustManagerF.h +1 -1
  481. data/ext/ice/cpp/src/IceSSL/UWPCertificateI.cpp +1 -1
  482. data/ext/ice/cpp/src/IceSSL/UWPEngine.cpp +1 -1
  483. data/ext/ice/cpp/src/IceSSL/UWPEngine.h +1 -1
  484. data/ext/ice/cpp/src/IceSSL/UWPEngineF.h +1 -1
  485. data/ext/ice/cpp/src/IceSSL/UWPPluginI.cpp +1 -1
  486. data/ext/ice/cpp/src/IceSSL/UWPTransceiverI.cpp +1 -1
  487. data/ext/ice/cpp/src/IceSSL/UWPTransceiverI.h +1 -1
  488. data/ext/ice/cpp/src/IceSSL/Util.cpp +1 -1
  489. data/ext/ice/cpp/src/IceSSL/Util.h +1 -1
  490. data/ext/ice/cpp/src/IceUtil/ConsoleUtil.cpp +1 -1
  491. data/ext/ice/cpp/src/IceUtil/ConvertUTF.cpp +1 -1
  492. data/ext/ice/cpp/src/IceUtil/ConvertUTF.h +1 -1
  493. data/ext/ice/cpp/src/IceUtil/CtrlCHandler.cpp +1 -1
  494. data/ext/ice/cpp/src/IceUtil/FileUtil.cpp +5 -5
  495. data/ext/ice/cpp/src/IceUtil/InputUtil.cpp +1 -1
  496. data/ext/ice/cpp/src/IceUtil/MutexProtocol.cpp +1 -1
  497. data/ext/ice/cpp/src/IceUtil/Options.cpp +1 -1
  498. data/ext/ice/cpp/src/IceUtil/OutputUtil.cpp +1 -1
  499. data/ext/ice/cpp/src/IceUtil/Random.cpp +1 -1
  500. data/ext/ice/cpp/src/IceUtil/RecMutex.cpp +1 -5
  501. data/ext/ice/cpp/src/IceUtil/Shared.cpp +1 -1
  502. data/ext/ice/cpp/src/IceUtil/StringConverter.cpp +1 -1
  503. data/ext/ice/cpp/src/IceUtil/StringUtil.cpp +1 -1
  504. data/ext/ice/cpp/src/IceUtil/ThreadException.cpp +1 -1
  505. data/ext/ice/cpp/src/IceUtil/Time.cpp +1 -1
  506. data/ext/ice/cpp/src/IceUtil/UUID.cpp +3 -3
  507. data/ext/ice/cpp/src/IceUtil/Unicode.cpp +1 -1
  508. data/ext/ice/cpp/src/IceUtil/Unicode.h +1 -1
  509. data/ext/ice/cpp/src/IceUtil/UtilException.cpp +1 -1
  510. data/ext/ice/cpp/src/Slice/CPlusPlusUtil.cpp +160 -150
  511. data/ext/ice/cpp/src/Slice/CPlusPlusUtil.h +9 -8
  512. data/ext/ice/cpp/src/Slice/Checksum.cpp +1 -1
  513. data/ext/ice/cpp/src/Slice/Checksum.h +1 -1
  514. data/ext/ice/cpp/src/Slice/FileTracker.cpp +1 -1
  515. data/ext/ice/cpp/src/Slice/FileTracker.h +1 -1
  516. data/ext/ice/cpp/src/Slice/Grammar.cpp +567 -585
  517. data/ext/ice/cpp/src/Slice/Grammar.h +2 -2
  518. data/ext/ice/cpp/src/Slice/GrammarUtil.h +1 -1
  519. data/ext/ice/cpp/src/Slice/JavaUtil.cpp +131 -47
  520. data/ext/ice/cpp/src/Slice/JavaUtil.h +10 -5
  521. data/ext/ice/cpp/src/Slice/MD5.cpp +1 -1
  522. data/ext/ice/cpp/src/Slice/MD5.h +1 -1
  523. data/ext/ice/cpp/src/Slice/PHPUtil.cpp +1 -1
  524. data/ext/ice/cpp/src/Slice/PHPUtil.h +1 -1
  525. data/ext/ice/cpp/src/Slice/Parser.cpp +383 -101
  526. data/ext/ice/cpp/src/Slice/Parser.h +40 -3
  527. data/ext/ice/cpp/src/Slice/Preprocessor.cpp +2 -1
  528. data/ext/ice/cpp/src/Slice/Preprocessor.h +2 -2
  529. data/ext/ice/cpp/src/Slice/Python.cpp +7 -15
  530. data/ext/ice/cpp/src/Slice/PythonUtil.cpp +66 -9
  531. data/ext/ice/cpp/src/Slice/PythonUtil.h +2 -2
  532. data/ext/ice/cpp/src/Slice/Ruby.cpp +1 -1
  533. data/ext/ice/cpp/src/Slice/RubyUtil.cpp +2 -2
  534. data/ext/ice/cpp/src/Slice/RubyUtil.h +1 -1
  535. data/ext/ice/cpp/src/Slice/Scanner.cpp +214 -135
  536. data/ext/ice/cpp/src/Slice/SliceUtil.cpp +1 -1
  537. data/ext/ice/cpp/src/Slice/StringLiteralUtil.cpp +99 -17
  538. data/ext/ice/cpp/src/Slice/Util.h +5 -4
  539. data/ice.gemspec +2 -2
  540. data/lib/Glacier2.rb +1 -1
  541. data/lib/Glacier2/Metrics.rb +2 -2
  542. data/lib/Glacier2/PermissionsVerifier.rb +2 -2
  543. data/lib/Glacier2/PermissionsVerifierF.rb +2 -2
  544. data/lib/Glacier2/Router.rb +2 -2
  545. data/lib/Glacier2/RouterF.rb +2 -2
  546. data/lib/Glacier2/SSLInfo.rb +2 -2
  547. data/lib/Glacier2/Session.rb +2 -2
  548. data/lib/Ice.rb +2 -2
  549. data/lib/Ice/BuiltinSequences.rb +2 -2
  550. data/lib/Ice/Communicator.rb +2 -2
  551. data/lib/Ice/CommunicatorF.rb +2 -2
  552. data/lib/Ice/Connection.rb +2 -2
  553. data/lib/Ice/ConnectionF.rb +2 -2
  554. data/lib/Ice/Current.rb +2 -2
  555. data/lib/Ice/Endpoint.rb +2 -2
  556. data/lib/Ice/EndpointF.rb +2 -2
  557. data/lib/Ice/EndpointTypes.rb +2 -2
  558. data/lib/Ice/FacetMap.rb +2 -2
  559. data/lib/Ice/Identity.rb +2 -2
  560. data/lib/Ice/ImplicitContext.rb +2 -2
  561. data/lib/Ice/ImplicitContextF.rb +2 -2
  562. data/lib/Ice/Instrumentation.rb +2 -2
  563. data/lib/Ice/InstrumentationF.rb +2 -2
  564. data/lib/Ice/LocalException.rb +2 -2
  565. data/lib/Ice/Locator.rb +2 -2
  566. data/lib/Ice/LocatorF.rb +2 -2
  567. data/lib/Ice/Logger.rb +2 -2
  568. data/lib/Ice/LoggerF.rb +2 -2
  569. data/lib/Ice/Metrics.rb +2 -2
  570. data/lib/Ice/ObjectAdapter.rb +2 -2
  571. data/lib/Ice/ObjectAdapterF.rb +2 -2
  572. data/lib/Ice/ObjectFactory.rb +2 -2
  573. data/lib/Ice/Plugin.rb +2 -2
  574. data/lib/Ice/PluginF.rb +2 -2
  575. data/lib/Ice/Process.rb +2 -2
  576. data/lib/Ice/ProcessF.rb +2 -2
  577. data/lib/Ice/Properties.rb +2 -2
  578. data/lib/Ice/PropertiesAdmin.rb +2 -2
  579. data/lib/Ice/PropertiesF.rb +2 -2
  580. data/lib/Ice/RemoteLogger.rb +2 -2
  581. data/lib/Ice/Router.rb +2 -2
  582. data/lib/Ice/RouterF.rb +2 -2
  583. data/lib/Ice/ServantLocator.rb +2 -2
  584. data/lib/Ice/ServantLocatorF.rb +2 -2
  585. data/lib/Ice/SliceChecksumDict.rb +2 -2
  586. data/lib/Ice/ValueFactory.rb +2 -2
  587. data/lib/Ice/Version.rb +2 -2
  588. data/lib/IceBox.rb +1 -1
  589. data/lib/IceBox/IceBox.rb +2 -2
  590. data/lib/IceGrid.rb +1 -1
  591. data/lib/IceGrid/Admin.rb +2 -2
  592. data/lib/IceGrid/Descriptor.rb +2 -2
  593. data/lib/IceGrid/Exception.rb +2 -2
  594. data/lib/IceGrid/FileParser.rb +2 -2
  595. data/lib/IceGrid/PluginFacade.rb +2 -2
  596. data/lib/IceGrid/Registry.rb +2 -2
  597. data/lib/IceGrid/Session.rb +2 -2
  598. data/lib/IceGrid/UserAccountMapper.rb +2 -2
  599. data/lib/IcePatch2.rb +1 -1
  600. data/lib/IcePatch2/FileInfo.rb +2 -2
  601. data/lib/IcePatch2/FileServer.rb +2 -2
  602. data/lib/IceStorm.rb +1 -1
  603. data/lib/IceStorm/IceStorm.rb +2 -2
  604. data/lib/IceStorm/Metrics.rb +2 -2
  605. data/slice/Glacier2/Metrics.ice +2 -2
  606. data/slice/Glacier2/PermissionsVerifier.ice +2 -2
  607. data/slice/Glacier2/PermissionsVerifierF.ice +2 -2
  608. data/slice/Glacier2/Router.ice +2 -2
  609. data/slice/Glacier2/RouterF.ice +2 -2
  610. data/slice/Glacier2/SSLInfo.ice +2 -2
  611. data/slice/Glacier2/Session.ice +2 -2
  612. data/slice/Ice/BuiltinSequences.ice +2 -2
  613. data/slice/Ice/Communicator.ice +66 -73
  614. data/slice/Ice/CommunicatorF.ice +2 -2
  615. data/slice/Ice/Connection.ice +47 -17
  616. data/slice/Ice/ConnectionF.ice +2 -2
  617. data/slice/Ice/Current.ice +4 -5
  618. data/slice/Ice/Endpoint.ice +16 -16
  619. data/slice/Ice/EndpointF.ice +2 -2
  620. data/slice/Ice/EndpointTypes.ice +2 -2
  621. data/slice/Ice/FacetMap.ice +2 -2
  622. data/slice/Ice/Identity.ice +2 -2
  623. data/slice/Ice/ImplicitContext.ice +6 -6
  624. data/slice/Ice/ImplicitContextF.ice +2 -2
  625. data/slice/Ice/Instrumentation.ice +2 -2
  626. data/slice/Ice/InstrumentationF.ice +2 -2
  627. data/slice/Ice/LocalException.ice +2 -2
  628. data/slice/Ice/Locator.ice +3 -3
  629. data/slice/Ice/LocatorF.ice +2 -2
  630. data/slice/Ice/Logger.ice +2 -2
  631. data/slice/Ice/LoggerF.ice +2 -2
  632. data/slice/Ice/Metrics.ice +2 -2
  633. data/slice/Ice/ObjectAdapter.ice +10 -10
  634. data/slice/Ice/ObjectAdapterF.ice +2 -2
  635. data/slice/Ice/ObjectFactory.ice +3 -3
  636. data/slice/Ice/Plugin.ice +4 -4
  637. data/slice/Ice/PluginF.ice +2 -2
  638. data/slice/Ice/Process.ice +2 -2
  639. data/slice/Ice/ProcessF.ice +2 -2
  640. data/slice/Ice/Properties.ice +11 -11
  641. data/slice/Ice/PropertiesAdmin.ice +2 -2
  642. data/slice/Ice/PropertiesF.ice +2 -2
  643. data/slice/Ice/RemoteLogger.ice +12 -23
  644. data/slice/Ice/Router.ice +2 -2
  645. data/slice/Ice/RouterF.ice +2 -2
  646. data/slice/Ice/ServantLocator.ice +2 -2
  647. data/slice/Ice/ServantLocatorF.ice +2 -2
  648. data/slice/Ice/SliceChecksumDict.ice +2 -2
  649. data/slice/Ice/ValueFactory.ice +14 -16
  650. data/slice/Ice/Version.ice +2 -2
  651. data/slice/IceBT/ConnectionInfo.ice +2 -2
  652. data/slice/IceBT/EndpointInfo.ice +2 -2
  653. data/slice/IceBT/Types.ice +2 -2
  654. data/slice/IceBox/IceBox.ice +3 -4
  655. data/slice/IceDiscovery/IceDiscovery.ice +2 -2
  656. data/slice/IceGrid/Admin.ice +2 -2
  657. data/slice/IceGrid/Descriptor.ice +2 -2
  658. data/slice/IceGrid/Exception.ice +2 -2
  659. data/slice/IceGrid/FileParser.ice +2 -2
  660. data/slice/IceGrid/PluginFacade.ice +6 -6
  661. data/slice/IceGrid/Registry.ice +2 -2
  662. data/slice/IceGrid/Session.ice +2 -2
  663. data/slice/IceGrid/UserAccountMapper.ice +2 -2
  664. data/slice/IceIAP/ConnectionInfo.ice +2 -2
  665. data/slice/IceIAP/EndpointInfo.ice +2 -2
  666. data/slice/IceLocatorDiscovery/IceLocatorDiscovery.ice +2 -2
  667. data/slice/IcePatch2/FileInfo.ice +2 -2
  668. data/slice/IcePatch2/FileServer.ice +2 -2
  669. data/slice/IceSSL/ConnectionInfo.ice +2 -2
  670. data/slice/IceSSL/ConnectionInfoF.ice +2 -2
  671. data/slice/IceSSL/EndpointInfo.ice +2 -2
  672. data/slice/IceStorm/IceStorm.ice +5 -6
  673. data/slice/IceStorm/Metrics.ice +2 -2
  674. metadata +3 -13
  675. data/BZIP2_LICENSE +0 -42
  676. data/ext/ice/bzip2/blocksort.c +0 -1094
  677. data/ext/ice/bzip2/bzlib.c +0 -1572
  678. data/ext/ice/bzip2/bzlib.h +0 -282
  679. data/ext/ice/bzip2/bzlib_private.h +0 -509
  680. data/ext/ice/bzip2/compress.c +0 -672
  681. data/ext/ice/bzip2/crctable.c +0 -104
  682. data/ext/ice/bzip2/decompress.c +0 -646
  683. data/ext/ice/bzip2/huffman.c +0 -205
  684. data/ext/ice/bzip2/randtable.c +0 -84
@@ -1,13 +1,13 @@
1
1
  // **********************************************************************
2
2
  //
3
- // Copyright (c) 2003-2017 ZeroC, Inc. All rights reserved.
3
+ // Copyright (c) 2003-2018 ZeroC, Inc. All rights reserved.
4
4
  //
5
5
  // This copy of Ice is licensed to you under the terms described in the
6
6
  // ICE_LICENSE file included in this distribution.
7
7
  //
8
8
  // **********************************************************************
9
9
  //
10
- // Ice version 3.7.0
10
+ // Ice version 3.7.1
11
11
  //
12
12
  // <auto-generated>
13
13
  //
@@ -47,7 +47,7 @@
47
47
  # if ICE_INT_VERSION % 100 > 50
48
48
  # error Beta header file detected
49
49
  # endif
50
- # if ICE_INT_VERSION % 100 < 0
50
+ # if ICE_INT_VERSION % 100 < 1
51
51
  # error Ice patch level mismatch!
52
52
  # endif
53
53
  #endif
@@ -77,52 +77,159 @@ class RouterFinderPrx;
77
77
  namespace Ice
78
78
  {
79
79
 
80
- class ICE_API Router : public virtual ::Ice::Object
80
+ /**
81
+ * The Ice router interface. Routers can be set either globally with
82
+ * {@link Communicator#setDefaultRouter}, or with <tt>ice_router</tt> on specific
83
+ * proxies.
84
+ * \headerfile Ice/Ice.h
85
+ */
86
+ class ICE_API Router : public virtual Object
81
87
  {
82
88
  public:
83
89
 
84
90
  using ProxyType = RouterPrx;
85
91
 
86
- virtual bool ice_isA(::std::string, const ::Ice::Current&) const override;
87
- virtual ::std::vector<::std::string> ice_ids(const ::Ice::Current&) const override;
88
- virtual ::std::string ice_id(const ::Ice::Current&) const override;
89
-
92
+ /**
93
+ * Determines whether this object supports an interface with the given Slice type ID.
94
+ * @param id The fully-scoped Slice type ID.
95
+ * @param current The Current object for the invocation.
96
+ * @return True if this object supports the interface, false, otherwise.
97
+ */
98
+ virtual bool ice_isA(::std::string id, const Current& current) const override;
99
+
100
+ /**
101
+ * Obtains a list of the Slice type IDs representing the interfaces supported by this object.
102
+ * @param current The Current object for the invocation.
103
+ * @return A list of fully-scoped type IDs.
104
+ */
105
+ virtual ::std::vector<::std::string> ice_ids(const Current& current) const override;
106
+
107
+ /**
108
+ * Obtains a Slice type ID representing the most-derived interface supported by this object.
109
+ * @param current The Current object for the invocation.
110
+ * @return A fully-scoped type ID.
111
+ */
112
+ virtual ::std::string ice_id(const Current& current) const override;
113
+
114
+ /**
115
+ * Obtains the Slice type ID corresponding to this class.
116
+ * @return A fully-scoped type ID.
117
+ */
90
118
  static const ::std::string& ice_staticId();
91
119
 
120
+ /**
121
+ * Encapsulates the results of a call to getClientProxy.
122
+ */
92
123
  struct GetClientProxyResult
93
124
  {
94
- ::std::shared_ptr<::Ice::ObjectPrx> returnValue;
125
+ /** The router's client proxy. */
126
+ ::std::shared_ptr<ObjectPrx> returnValue;
127
+ /** Indicates whether or not the router supports a routing table. */
95
128
  Ice::optional<bool> hasRoutingTable;
96
129
  };
97
130
 
98
- virtual ::std::shared_ptr<::Ice::ObjectPrx> getClientProxy(Ice::optional<bool>&, const ::Ice::Current&) const = 0;
99
- bool _iceD_getClientProxy(::IceInternal::Incoming&, const ::Ice::Current&) const;
100
-
101
- virtual ::std::shared_ptr<::Ice::ObjectPrx> getServerProxy(const ::Ice::Current&) const = 0;
102
- bool _iceD_getServerProxy(::IceInternal::Incoming&, const ::Ice::Current&) const;
103
-
104
- virtual ::Ice::ObjectProxySeq addProxies(::Ice::ObjectProxySeq, const ::Ice::Current&) = 0;
105
- bool _iceD_addProxies(::IceInternal::Incoming&, const ::Ice::Current&);
106
-
107
- virtual bool _iceDispatch(::IceInternal::Incoming&, const ::Ice::Current&) override;
131
+ /**
132
+ * Get the router's client proxy, i.e., the proxy to use for
133
+ * forwarding requests from the client to the router.
134
+ *
135
+ * If a null proxy is returned, the client will forward requests
136
+ * to the router's endpoints.
137
+ * @param hasRoutingTable Indicates whether or not the router supports a routing
138
+ * table. If it is supported, the Ice runtime will call addProxies to populate the
139
+ * routing table. This out parameter is only supported starting with Ice 3.7.
140
+ * The Ice runtime assumes the router has a routing table if the optional is not
141
+ * set.
142
+ * @param current The Current object for the invocation.
143
+ * @return The router's client proxy.
144
+ */
145
+ virtual ::std::shared_ptr<ObjectPrx> getClientProxy(Ice::optional<bool>& hasRoutingTable, const Current& current) const = 0;
146
+ /// \cond INTERNAL
147
+ bool _iceD_getClientProxy(::IceInternal::Incoming&, const Current&) const;
148
+ /// \endcond
149
+
150
+ /**
151
+ * Get the router's server proxy, i.e., the proxy to use for
152
+ * forwarding requests from the server to the router.
153
+ * @param current The Current object for the invocation.
154
+ * @return The router's server proxy.
155
+ */
156
+ virtual ::std::shared_ptr<ObjectPrx> getServerProxy(const Current& current) const = 0;
157
+ /// \cond INTERNAL
158
+ bool _iceD_getServerProxy(::IceInternal::Incoming&, const Current&) const;
159
+ /// \endcond
160
+
161
+ /**
162
+ * Add new proxy information to the router's routing table.
163
+ * @param proxies The proxies to add.
164
+ * @param current The Current object for the invocation.
165
+ * @return Proxies discarded by the router.
166
+ */
167
+ virtual ObjectProxySeq addProxies(ObjectProxySeq proxies, const Current& current) = 0;
168
+ /// \cond INTERNAL
169
+ bool _iceD_addProxies(::IceInternal::Incoming&, const Current&);
170
+ /// \endcond
171
+
172
+ /// \cond INTERNAL
173
+ virtual bool _iceDispatch(::IceInternal::Incoming&, const Current&) override;
174
+ /// \endcond
108
175
  };
109
176
 
110
- class ICE_API RouterFinder : public virtual ::Ice::Object
177
+ /**
178
+ * This inferface should be implemented by services implementing the
179
+ * Ice::Router interface. It should be advertised through an Ice
180
+ * object with the identity `Ice/RouterFinder'. This allows clients to
181
+ * retrieve the router proxy with just the endpoint information of the
182
+ * service.
183
+ * \headerfile Ice/Ice.h
184
+ */
185
+ class ICE_API RouterFinder : public virtual Object
111
186
  {
112
187
  public:
113
188
 
114
189
  using ProxyType = RouterFinderPrx;
115
190
 
116
- virtual bool ice_isA(::std::string, const ::Ice::Current&) const override;
117
- virtual ::std::vector<::std::string> ice_ids(const ::Ice::Current&) const override;
118
- virtual ::std::string ice_id(const ::Ice::Current&) const override;
119
-
191
+ /**
192
+ * Determines whether this object supports an interface with the given Slice type ID.
193
+ * @param id The fully-scoped Slice type ID.
194
+ * @param current The Current object for the invocation.
195
+ * @return True if this object supports the interface, false, otherwise.
196
+ */
197
+ virtual bool ice_isA(::std::string id, const Current& current) const override;
198
+
199
+ /**
200
+ * Obtains a list of the Slice type IDs representing the interfaces supported by this object.
201
+ * @param current The Current object for the invocation.
202
+ * @return A list of fully-scoped type IDs.
203
+ */
204
+ virtual ::std::vector<::std::string> ice_ids(const Current& current) const override;
205
+
206
+ /**
207
+ * Obtains a Slice type ID representing the most-derived interface supported by this object.
208
+ * @param current The Current object for the invocation.
209
+ * @return A fully-scoped type ID.
210
+ */
211
+ virtual ::std::string ice_id(const Current& current) const override;
212
+
213
+ /**
214
+ * Obtains the Slice type ID corresponding to this class.
215
+ * @return A fully-scoped type ID.
216
+ */
120
217
  static const ::std::string& ice_staticId();
121
218
 
122
- virtual ::std::shared_ptr<::Ice::RouterPrx> getRouter(const ::Ice::Current&) = 0;
123
- bool _iceD_getRouter(::IceInternal::Incoming&, const ::Ice::Current&);
124
-
125
- virtual bool _iceDispatch(::IceInternal::Incoming&, const ::Ice::Current&) override;
219
+ /**
220
+ * Get the router proxy implemented by the process hosting this
221
+ * finder object. The proxy might point to several replicas.
222
+ * @param current The Current object for the invocation.
223
+ * @return The router proxy.
224
+ */
225
+ virtual ::std::shared_ptr<RouterPrx> getRouter(const Current& current) = 0;
226
+ /// \cond INTERNAL
227
+ bool _iceD_getRouter(::IceInternal::Incoming&, const Current&);
228
+ /// \endcond
229
+
230
+ /// \cond INTERNAL
231
+ virtual bool _iceDispatch(::IceInternal::Incoming&, const Current&) override;
232
+ /// \endcond
126
233
  };
127
234
 
128
235
  }
@@ -130,140 +237,275 @@ public:
130
237
  namespace Ice
131
238
  {
132
239
 
133
- class ICE_CLASS(ICE_API) RouterPrx : public virtual ::Ice::Proxy<RouterPrx, ::Ice::ObjectPrx>
240
+ /**
241
+ * The Ice router interface. Routers can be set either globally with
242
+ * {@link Communicator#setDefaultRouter}, or with <tt>ice_router</tt> on specific
243
+ * proxies.
244
+ * \headerfile Ice/Ice.h
245
+ */
246
+ class ICE_CLASS(ICE_API) RouterPrx : public virtual Proxy<RouterPrx, ObjectPrx>
134
247
  {
135
248
  public:
136
249
 
137
- ::std::shared_ptr<::Ice::ObjectPrx> getClientProxy(Ice::optional<bool>& iceP_hasRoutingTable, const ::Ice::Context& context = Ice::noExplicitContext)
250
+ /**
251
+ * Get the router's client proxy, i.e., the proxy to use for
252
+ * forwarding requests from the client to the router.
253
+ *
254
+ * If a null proxy is returned, the client will forward requests
255
+ * to the router's endpoints.
256
+ * @param hasRoutingTable Indicates whether or not the router supports a routing
257
+ * table. If it is supported, the Ice runtime will call addProxies to populate the
258
+ * routing table. This out parameter is only supported starting with Ice 3.7.
259
+ * The Ice runtime assumes the router has a routing table if the optional is not
260
+ * set.
261
+ * @param context The Context map to send with the invocation.
262
+ * @return The router's client proxy.
263
+ */
264
+ ::std::shared_ptr<ObjectPrx> getClientProxy(Ice::optional<bool>& hasRoutingTable, const Context& context = noExplicitContext)
138
265
  {
139
- auto result = _makePromiseOutgoing<::Ice::Router::GetClientProxyResult>(true, this, &Ice::RouterPrx::_iceI_getClientProxy, context).get();
140
- iceP_hasRoutingTable = result.hasRoutingTable;
141
- return ::std::move(result.returnValue);
266
+ auto _result = _makePromiseOutgoing<Router::GetClientProxyResult>(true, this, &RouterPrx::_iceI_getClientProxy, context).get();
267
+ hasRoutingTable = _result.hasRoutingTable;
268
+ return ::std::move(_result.returnValue);
142
269
  }
143
270
 
271
+ /**
272
+ * Get the router's client proxy, i.e., the proxy to use for
273
+ * forwarding requests from the client to the router.
274
+ *
275
+ * If a null proxy is returned, the client will forward requests
276
+ * to the router's endpoints.
277
+ * @param context The Context map to send with the invocation.
278
+ * @return The future object for the invocation.
279
+ */
144
280
  template<template<typename> class P = ::std::promise>
145
- auto getClientProxyAsync(const ::Ice::Context& context = Ice::noExplicitContext)
146
- -> decltype(::std::declval<P<::Ice::Router::GetClientProxyResult>>().get_future())
281
+ auto getClientProxyAsync(const Context& context = noExplicitContext)
282
+ -> decltype(::std::declval<P<Router::GetClientProxyResult>>().get_future())
147
283
  {
148
- return _makePromiseOutgoing<::Ice::Router::GetClientProxyResult, P>(false, this, &Ice::RouterPrx::_iceI_getClientProxy, context);
284
+ return _makePromiseOutgoing<Router::GetClientProxyResult, P>(false, this, &RouterPrx::_iceI_getClientProxy, context);
149
285
  }
150
286
 
287
+ /**
288
+ * Get the router's client proxy, i.e., the proxy to use for
289
+ * forwarding requests from the client to the router.
290
+ *
291
+ * If a null proxy is returned, the client will forward requests
292
+ * to the router's endpoints.
293
+ * @param response The response callback.
294
+ * @param ex The exception callback.
295
+ * @param sent The sent callback.
296
+ * @param context The Context map to send with the invocation.
297
+ * @return A function that can be called to cancel the invocation locally.
298
+ */
151
299
  ::std::function<void()>
152
- getClientProxyAsync(::std::function<void(::std::shared_ptr<::Ice::ObjectPrx>, Ice::optional<bool>)> response,
300
+ getClientProxyAsync(::std::function<void(::std::shared_ptr<ObjectPrx>, Ice::optional<bool>)> response,
153
301
  ::std::function<void(::std::exception_ptr)> ex = nullptr,
154
302
  ::std::function<void(bool)> sent = nullptr,
155
- const ::Ice::Context& context = Ice::noExplicitContext)
303
+ const Context& context = noExplicitContext)
156
304
  {
157
- auto responseCb = [response](::Ice::Router::GetClientProxyResult&& result)
305
+ auto _responseCb = [response](Router::GetClientProxyResult&& _result)
158
306
  {
159
- response(::std::move(result.returnValue), result.hasRoutingTable);
307
+ response(::std::move(_result.returnValue), _result.hasRoutingTable);
160
308
  };
161
- return _makeLamdaOutgoing<::Ice::Router::GetClientProxyResult>(responseCb, ex, sent, this, &Ice::RouterPrx::_iceI_getClientProxy, context);
309
+ return _makeLamdaOutgoing<Router::GetClientProxyResult>(_responseCb, ex, sent, this, &RouterPrx::_iceI_getClientProxy, context);
162
310
  }
163
311
 
164
- ICE_MEMBER(ICE_API) void _iceI_getClientProxy(const ::std::shared_ptr<::IceInternal::OutgoingAsyncT<::Ice::Router::GetClientProxyResult>>&, const ::Ice::Context&);
165
-
166
- ::std::shared_ptr<::Ice::ObjectPrx> getServerProxy(const ::Ice::Context& context = Ice::noExplicitContext)
312
+ /// \cond INTERNAL
313
+ ICE_MEMBER(ICE_API) void _iceI_getClientProxy(const ::std::shared_ptr<::IceInternal::OutgoingAsyncT<Router::GetClientProxyResult>>&, const Context&);
314
+ /// \endcond
315
+
316
+ /**
317
+ * Get the router's server proxy, i.e., the proxy to use for
318
+ * forwarding requests from the server to the router.
319
+ * @param context The Context map to send with the invocation.
320
+ * @return The router's server proxy.
321
+ */
322
+ ::std::shared_ptr<ObjectPrx> getServerProxy(const Context& context = noExplicitContext)
167
323
  {
168
- return _makePromiseOutgoing<::std::shared_ptr<::Ice::ObjectPrx>>(true, this, &Ice::RouterPrx::_iceI_getServerProxy, context).get();
324
+ return _makePromiseOutgoing<::std::shared_ptr<ObjectPrx>>(true, this, &RouterPrx::_iceI_getServerProxy, context).get();
169
325
  }
170
326
 
327
+ /**
328
+ * Get the router's server proxy, i.e., the proxy to use for
329
+ * forwarding requests from the server to the router.
330
+ * @param context The Context map to send with the invocation.
331
+ * @return The future object for the invocation.
332
+ */
171
333
  template<template<typename> class P = ::std::promise>
172
- auto getServerProxyAsync(const ::Ice::Context& context = Ice::noExplicitContext)
173
- -> decltype(::std::declval<P<::std::shared_ptr<::Ice::ObjectPrx>>>().get_future())
334
+ auto getServerProxyAsync(const Context& context = noExplicitContext)
335
+ -> decltype(::std::declval<P<::std::shared_ptr<ObjectPrx>>>().get_future())
174
336
  {
175
- return _makePromiseOutgoing<::std::shared_ptr<::Ice::ObjectPrx>, P>(false, this, &Ice::RouterPrx::_iceI_getServerProxy, context);
337
+ return _makePromiseOutgoing<::std::shared_ptr<ObjectPrx>, P>(false, this, &RouterPrx::_iceI_getServerProxy, context);
176
338
  }
177
339
 
340
+ /**
341
+ * Get the router's server proxy, i.e., the proxy to use for
342
+ * forwarding requests from the server to the router.
343
+ * @param response The response callback.
344
+ * @param ex The exception callback.
345
+ * @param sent The sent callback.
346
+ * @param context The Context map to send with the invocation.
347
+ * @return A function that can be called to cancel the invocation locally.
348
+ */
178
349
  ::std::function<void()>
179
- getServerProxyAsync(::std::function<void(::std::shared_ptr<::Ice::ObjectPrx>)> response,
350
+ getServerProxyAsync(::std::function<void(::std::shared_ptr<ObjectPrx>)> response,
180
351
  ::std::function<void(::std::exception_ptr)> ex = nullptr,
181
352
  ::std::function<void(bool)> sent = nullptr,
182
- const ::Ice::Context& context = Ice::noExplicitContext)
353
+ const Context& context = noExplicitContext)
183
354
  {
184
- return _makeLamdaOutgoing<::std::shared_ptr<::Ice::ObjectPrx>>(response, ex, sent, this, &Ice::RouterPrx::_iceI_getServerProxy, context);
355
+ return _makeLamdaOutgoing<::std::shared_ptr<ObjectPrx>>(response, ex, sent, this, &RouterPrx::_iceI_getServerProxy, context);
185
356
  }
186
357
 
187
- ICE_MEMBER(ICE_API) void _iceI_getServerProxy(const ::std::shared_ptr<::IceInternal::OutgoingAsyncT<::std::shared_ptr<::Ice::ObjectPrx>>>&, const ::Ice::Context&);
188
-
189
- ::Ice::ObjectProxySeq addProxies(const ::Ice::ObjectProxySeq& iceP_proxies, const ::Ice::Context& context = Ice::noExplicitContext)
358
+ /// \cond INTERNAL
359
+ ICE_MEMBER(ICE_API) void _iceI_getServerProxy(const ::std::shared_ptr<::IceInternal::OutgoingAsyncT<::std::shared_ptr<ObjectPrx>>>&, const Context&);
360
+ /// \endcond
361
+
362
+ /**
363
+ * Add new proxy information to the router's routing table.
364
+ * @param proxies The proxies to add.
365
+ * @param context The Context map to send with the invocation.
366
+ * @return Proxies discarded by the router.
367
+ */
368
+ ObjectProxySeq addProxies(const ObjectProxySeq& proxies, const Context& context = noExplicitContext)
190
369
  {
191
- return _makePromiseOutgoing<::Ice::ObjectProxySeq>(true, this, &Ice::RouterPrx::_iceI_addProxies, iceP_proxies, context).get();
370
+ return _makePromiseOutgoing<ObjectProxySeq>(true, this, &RouterPrx::_iceI_addProxies, proxies, context).get();
192
371
  }
193
372
 
373
+ /**
374
+ * Add new proxy information to the router's routing table.
375
+ * @param proxies The proxies to add.
376
+ * @param context The Context map to send with the invocation.
377
+ * @return The future object for the invocation.
378
+ */
194
379
  template<template<typename> class P = ::std::promise>
195
- auto addProxiesAsync(const ::Ice::ObjectProxySeq& iceP_proxies, const ::Ice::Context& context = Ice::noExplicitContext)
196
- -> decltype(::std::declval<P<::Ice::ObjectProxySeq>>().get_future())
380
+ auto addProxiesAsync(const ObjectProxySeq& proxies, const Context& context = noExplicitContext)
381
+ -> decltype(::std::declval<P<ObjectProxySeq>>().get_future())
197
382
  {
198
- return _makePromiseOutgoing<::Ice::ObjectProxySeq, P>(false, this, &Ice::RouterPrx::_iceI_addProxies, iceP_proxies, context);
383
+ return _makePromiseOutgoing<ObjectProxySeq, P>(false, this, &RouterPrx::_iceI_addProxies, proxies, context);
199
384
  }
200
385
 
386
+ /**
387
+ * Add new proxy information to the router's routing table.
388
+ * @param proxies The proxies to add.
389
+ * @param response The response callback.
390
+ * @param ex The exception callback.
391
+ * @param sent The sent callback.
392
+ * @param context The Context map to send with the invocation.
393
+ * @return A function that can be called to cancel the invocation locally.
394
+ */
201
395
  ::std::function<void()>
202
- addProxiesAsync(const ::Ice::ObjectProxySeq& iceP_proxies,
203
- ::std::function<void(::Ice::ObjectProxySeq)> response,
396
+ addProxiesAsync(const ObjectProxySeq& proxies,
397
+ ::std::function<void(ObjectProxySeq)> response,
204
398
  ::std::function<void(::std::exception_ptr)> ex = nullptr,
205
399
  ::std::function<void(bool)> sent = nullptr,
206
- const ::Ice::Context& context = Ice::noExplicitContext)
400
+ const Context& context = noExplicitContext)
207
401
  {
208
- return _makeLamdaOutgoing<::Ice::ObjectProxySeq>(response, ex, sent, this, &Ice::RouterPrx::_iceI_addProxies, iceP_proxies, context);
402
+ return _makeLamdaOutgoing<ObjectProxySeq>(response, ex, sent, this, &RouterPrx::_iceI_addProxies, proxies, context);
209
403
  }
210
404
 
211
- ICE_MEMBER(ICE_API) void _iceI_addProxies(const ::std::shared_ptr<::IceInternal::OutgoingAsyncT<::Ice::ObjectProxySeq>>&, const ::Ice::ObjectProxySeq&, const ::Ice::Context&);
405
+ /// \cond INTERNAL
406
+ ICE_MEMBER(ICE_API) void _iceI_addProxies(const ::std::shared_ptr<::IceInternal::OutgoingAsyncT<ObjectProxySeq>>&, const ObjectProxySeq&, const Context&);
407
+ /// \endcond
212
408
 
409
+ /**
410
+ * Obtains the Slice type ID of this interface.
411
+ * @return The fully-scoped type ID.
412
+ */
213
413
  ICE_MEMBER(ICE_API) static const ::std::string& ice_staticId();
214
414
 
215
415
  protected:
216
416
 
417
+ /// \cond INTERNAL
217
418
  RouterPrx() = default;
218
419
  friend ::std::shared_ptr<RouterPrx> IceInternal::createProxy<RouterPrx>();
219
420
 
220
- ICE_MEMBER(ICE_API) virtual ::std::shared_ptr<::Ice::ObjectPrx> _newInstance() const override;
421
+ ICE_MEMBER(ICE_API) virtual ::std::shared_ptr<ObjectPrx> _newInstance() const override;
422
+ /// \endcond
221
423
  };
222
424
 
223
- class ICE_CLASS(ICE_API) RouterFinderPrx : public virtual ::Ice::Proxy<RouterFinderPrx, ::Ice::ObjectPrx>
425
+ /**
426
+ * This inferface should be implemented by services implementing the
427
+ * Ice::Router interface. It should be advertised through an Ice
428
+ * object with the identity `Ice/RouterFinder'. This allows clients to
429
+ * retrieve the router proxy with just the endpoint information of the
430
+ * service.
431
+ * \headerfile Ice/Ice.h
432
+ */
433
+ class ICE_CLASS(ICE_API) RouterFinderPrx : public virtual Proxy<RouterFinderPrx, ObjectPrx>
224
434
  {
225
435
  public:
226
436
 
227
- ::std::shared_ptr<::Ice::RouterPrx> getRouter(const ::Ice::Context& context = Ice::noExplicitContext)
437
+ /**
438
+ * Get the router proxy implemented by the process hosting this
439
+ * finder object. The proxy might point to several replicas.
440
+ * @param context The Context map to send with the invocation.
441
+ * @return The router proxy.
442
+ */
443
+ ::std::shared_ptr<RouterPrx> getRouter(const Context& context = noExplicitContext)
228
444
  {
229
- return _makePromiseOutgoing<::std::shared_ptr<::Ice::RouterPrx>>(true, this, &Ice::RouterFinderPrx::_iceI_getRouter, context).get();
445
+ return _makePromiseOutgoing<::std::shared_ptr<RouterPrx>>(true, this, &RouterFinderPrx::_iceI_getRouter, context).get();
230
446
  }
231
447
 
448
+ /**
449
+ * Get the router proxy implemented by the process hosting this
450
+ * finder object. The proxy might point to several replicas.
451
+ * @param context The Context map to send with the invocation.
452
+ * @return The future object for the invocation.
453
+ */
232
454
  template<template<typename> class P = ::std::promise>
233
- auto getRouterAsync(const ::Ice::Context& context = Ice::noExplicitContext)
234
- -> decltype(::std::declval<P<::std::shared_ptr<::Ice::RouterPrx>>>().get_future())
455
+ auto getRouterAsync(const Context& context = noExplicitContext)
456
+ -> decltype(::std::declval<P<::std::shared_ptr<RouterPrx>>>().get_future())
235
457
  {
236
- return _makePromiseOutgoing<::std::shared_ptr<::Ice::RouterPrx>, P>(false, this, &Ice::RouterFinderPrx::_iceI_getRouter, context);
458
+ return _makePromiseOutgoing<::std::shared_ptr<RouterPrx>, P>(false, this, &RouterFinderPrx::_iceI_getRouter, context);
237
459
  }
238
460
 
461
+ /**
462
+ * Get the router proxy implemented by the process hosting this
463
+ * finder object. The proxy might point to several replicas.
464
+ * @param response The response callback.
465
+ * @param ex The exception callback.
466
+ * @param sent The sent callback.
467
+ * @param context The Context map to send with the invocation.
468
+ * @return A function that can be called to cancel the invocation locally.
469
+ */
239
470
  ::std::function<void()>
240
- getRouterAsync(::std::function<void(::std::shared_ptr<::Ice::RouterPrx>)> response,
471
+ getRouterAsync(::std::function<void(::std::shared_ptr<RouterPrx>)> response,
241
472
  ::std::function<void(::std::exception_ptr)> ex = nullptr,
242
473
  ::std::function<void(bool)> sent = nullptr,
243
- const ::Ice::Context& context = Ice::noExplicitContext)
474
+ const Context& context = noExplicitContext)
244
475
  {
245
- return _makeLamdaOutgoing<::std::shared_ptr<::Ice::RouterPrx>>(response, ex, sent, this, &Ice::RouterFinderPrx::_iceI_getRouter, context);
476
+ return _makeLamdaOutgoing<::std::shared_ptr<RouterPrx>>(response, ex, sent, this, &RouterFinderPrx::_iceI_getRouter, context);
246
477
  }
247
478
 
248
- ICE_MEMBER(ICE_API) void _iceI_getRouter(const ::std::shared_ptr<::IceInternal::OutgoingAsyncT<::std::shared_ptr<::Ice::RouterPrx>>>&, const ::Ice::Context&);
479
+ /// \cond INTERNAL
480
+ ICE_MEMBER(ICE_API) void _iceI_getRouter(const ::std::shared_ptr<::IceInternal::OutgoingAsyncT<::std::shared_ptr<RouterPrx>>>&, const Context&);
481
+ /// \endcond
249
482
 
483
+ /**
484
+ * Obtains the Slice type ID of this interface.
485
+ * @return The fully-scoped type ID.
486
+ */
250
487
  ICE_MEMBER(ICE_API) static const ::std::string& ice_staticId();
251
488
 
252
489
  protected:
253
490
 
491
+ /// \cond INTERNAL
254
492
  RouterFinderPrx() = default;
255
493
  friend ::std::shared_ptr<RouterFinderPrx> IceInternal::createProxy<RouterFinderPrx>();
256
494
 
257
- ICE_MEMBER(ICE_API) virtual ::std::shared_ptr<::Ice::ObjectPrx> _newInstance() const override;
495
+ ICE_MEMBER(ICE_API) virtual ::std::shared_ptr<ObjectPrx> _newInstance() const override;
496
+ /// \endcond
258
497
  };
259
498
 
260
499
  }
261
500
 
501
+ /// \cond STREAM
262
502
  namespace Ice
263
503
  {
264
504
 
265
505
  }
506
+ /// \endcond
266
507
 
508
+ /// \cond INTERNAL
267
509
  namespace Ice
268
510
  {
269
511
 
@@ -274,6 +516,7 @@ using RouterFinderPtr = ::std::shared_ptr<RouterFinder>;
274
516
  using RouterFinderPrxPtr = ::std::shared_ptr<RouterFinderPrx>;
275
517
 
276
518
  }
519
+ /// \endcond
277
520
 
278
521
  #else // C++98 mapping
279
522
 
@@ -284,12 +527,16 @@ namespace Ice
284
527
  {
285
528
 
286
529
  class Router;
530
+ /// \cond INTERNAL
287
531
  ICE_API void _readProxy(::Ice::InputStream*, ::IceInternal::ProxyHandle< ::IceProxy::Ice::Router>&);
288
532
  ICE_API ::IceProxy::Ice::Object* upCast(::IceProxy::Ice::Router*);
533
+ /// \endcond
289
534
 
290
535
  class RouterFinder;
536
+ /// \cond INTERNAL
291
537
  ICE_API void _readProxy(::Ice::InputStream*, ::IceInternal::ProxyHandle< ::IceProxy::Ice::RouterFinder>&);
292
538
  ICE_API ::IceProxy::Ice::Object* upCast(::IceProxy::Ice::RouterFinder*);
539
+ /// \endcond
293
540
 
294
541
  }
295
542
 
@@ -299,33 +546,61 @@ namespace Ice
299
546
  {
300
547
 
301
548
  class Router;
302
- ICE_API ::Ice::Object* upCast(::Ice::Router*);
303
- typedef ::IceInternal::Handle< ::Ice::Router> RouterPtr;
549
+ /// \cond INTERNAL
550
+ ICE_API Object* upCast(Router*);
551
+ /// \endcond
552
+ typedef ::IceInternal::Handle< Router> RouterPtr;
304
553
  typedef ::IceInternal::ProxyHandle< ::IceProxy::Ice::Router> RouterPrx;
305
554
  typedef RouterPrx RouterPrxPtr;
306
- ICE_API void _icePatchObjectPtr(RouterPtr&, const ::Ice::ObjectPtr&);
555
+ /// \cond INTERNAL
556
+ ICE_API void _icePatchObjectPtr(RouterPtr&, const ObjectPtr&);
557
+ /// \endcond
307
558
 
308
559
  class RouterFinder;
309
- ICE_API ::Ice::Object* upCast(::Ice::RouterFinder*);
310
- typedef ::IceInternal::Handle< ::Ice::RouterFinder> RouterFinderPtr;
560
+ /// \cond INTERNAL
561
+ ICE_API Object* upCast(RouterFinder*);
562
+ /// \endcond
563
+ typedef ::IceInternal::Handle< RouterFinder> RouterFinderPtr;
311
564
  typedef ::IceInternal::ProxyHandle< ::IceProxy::Ice::RouterFinder> RouterFinderPrx;
312
565
  typedef RouterFinderPrx RouterFinderPrxPtr;
313
- ICE_API void _icePatchObjectPtr(RouterFinderPtr&, const ::Ice::ObjectPtr&);
566
+ /// \cond INTERNAL
567
+ ICE_API void _icePatchObjectPtr(RouterFinderPtr&, const ObjectPtr&);
568
+ /// \endcond
314
569
 
315
570
  }
316
571
 
317
572
  namespace Ice
318
573
  {
319
574
 
575
+ /**
576
+ * Base class for asynchronous callback wrapper classes used for calls to
577
+ * IceProxy::Ice::Router::begin_getClientProxy.
578
+ * Create a wrapper instance by calling ::Ice::newCallback_Router_getClientProxy.
579
+ */
320
580
  class Callback_Router_getClientProxy_Base : public virtual ::IceInternal::CallbackBase { };
321
581
  typedef ::IceUtil::Handle< Callback_Router_getClientProxy_Base> Callback_Router_getClientProxyPtr;
322
582
 
583
+ /**
584
+ * Base class for asynchronous callback wrapper classes used for calls to
585
+ * IceProxy::Ice::Router::begin_getServerProxy.
586
+ * Create a wrapper instance by calling ::Ice::newCallback_Router_getServerProxy.
587
+ */
323
588
  class Callback_Router_getServerProxy_Base : public virtual ::IceInternal::CallbackBase { };
324
589
  typedef ::IceUtil::Handle< Callback_Router_getServerProxy_Base> Callback_Router_getServerProxyPtr;
325
590
 
591
+ /**
592
+ * Base class for asynchronous callback wrapper classes used for calls to
593
+ * IceProxy::Ice::Router::begin_addProxies.
594
+ * Create a wrapper instance by calling ::Ice::newCallback_Router_addProxies.
595
+ */
326
596
  class Callback_Router_addProxies_Base : public virtual ::IceInternal::CallbackBase { };
327
597
  typedef ::IceUtil::Handle< Callback_Router_addProxies_Base> Callback_Router_addProxiesPtr;
328
598
 
599
+ /**
600
+ * Base class for asynchronous callback wrapper classes used for calls to
601
+ * IceProxy::Ice::RouterFinder::begin_getRouter.
602
+ * Create a wrapper instance by calling ::Ice::newCallback_RouterFinder_getRouter.
603
+ */
329
604
  class Callback_RouterFinder_getRouter_Base : public virtual ::IceInternal::CallbackBase { };
330
605
  typedef ::IceUtil::Handle< Callback_RouterFinder_getRouter_Base> Callback_RouterFinder_getRouterPtr;
331
606
 
@@ -341,37 +616,116 @@ class ICE_CLASS(ICE_API) Router : public virtual ::Ice::Proxy<Router, ::IceProxy
341
616
  {
342
617
  public:
343
618
 
344
- ICE_MEMBER(ICE_API) ::Ice::ObjectPrx getClientProxy(IceUtil::Optional<bool>& iceP_hasRoutingTable, const ::Ice::Context& context = ::Ice::noExplicitContext)
619
+ /**
620
+ * Get the router's client proxy, i.e., the proxy to use for
621
+ * forwarding requests from the client to the router.
622
+ *
623
+ * If a null proxy is returned, the client will forward requests
624
+ * to the router's endpoints.
625
+ * @param hasRoutingTable Indicates whether or not the router supports a routing
626
+ * table. If it is supported, the Ice runtime will call addProxies to populate the
627
+ * routing table. This out parameter is only supported starting with Ice 3.7.
628
+ * The Ice runtime assumes the router has a routing table if the optional is not
629
+ * set.
630
+ * @param context The Context map to send with the invocation.
631
+ * @return The router's client proxy.
632
+ */
633
+ ICE_MEMBER(ICE_API) ::Ice::ObjectPrx getClientProxy(IceUtil::Optional<bool>& hasRoutingTable, const ::Ice::Context& context = ::Ice::noExplicitContext)
345
634
  {
346
- return end_getClientProxy(iceP_hasRoutingTable, _iceI_begin_getClientProxy(context, ::IceInternal::dummyCallback, 0, true));
635
+ return end_getClientProxy(hasRoutingTable, _iceI_begin_getClientProxy(context, ::IceInternal::dummyCallback, 0, true));
347
636
  }
348
637
 
638
+ /**
639
+ * Get the router's client proxy, i.e., the proxy to use for
640
+ * forwarding requests from the client to the router.
641
+ *
642
+ * If a null proxy is returned, the client will forward requests
643
+ * to the router's endpoints.
644
+ * @param context The Context map to send with the invocation.
645
+ * @return The asynchronous result object for the invocation.
646
+ */
349
647
  ::Ice::AsyncResultPtr begin_getClientProxy(const ::Ice::Context& context = ::Ice::noExplicitContext)
350
648
  {
351
649
  return _iceI_begin_getClientProxy(context, ::IceInternal::dummyCallback, 0);
352
650
  }
353
651
 
354
- ::Ice::AsyncResultPtr begin_getClientProxy(const ::Ice::CallbackPtr& del, const ::Ice::LocalObjectPtr& cookie = 0)
652
+ /**
653
+ * Get the router's client proxy, i.e., the proxy to use for
654
+ * forwarding requests from the client to the router.
655
+ *
656
+ * If a null proxy is returned, the client will forward requests
657
+ * to the router's endpoints.
658
+ * @param cb Asynchronous callback object.
659
+ * @param cookie User-defined data to associate with the invocation.
660
+ * @return The asynchronous result object for the invocation.
661
+ */
662
+ ::Ice::AsyncResultPtr begin_getClientProxy(const ::Ice::CallbackPtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
355
663
  {
356
- return _iceI_begin_getClientProxy(::Ice::noExplicitContext, del, cookie);
664
+ return _iceI_begin_getClientProxy(::Ice::noExplicitContext, cb, cookie);
357
665
  }
358
666
 
359
- ::Ice::AsyncResultPtr begin_getClientProxy(const ::Ice::Context& context, const ::Ice::CallbackPtr& del, const ::Ice::LocalObjectPtr& cookie = 0)
667
+ /**
668
+ * Get the router's client proxy, i.e., the proxy to use for
669
+ * forwarding requests from the client to the router.
670
+ *
671
+ * If a null proxy is returned, the client will forward requests
672
+ * to the router's endpoints.
673
+ * @param context The Context map to send with the invocation.
674
+ * @param cb Asynchronous callback object.
675
+ * @param cookie User-defined data to associate with the invocation.
676
+ * @return The asynchronous result object for the invocation.
677
+ */
678
+ ::Ice::AsyncResultPtr begin_getClientProxy(const ::Ice::Context& context, const ::Ice::CallbackPtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
360
679
  {
361
- return _iceI_begin_getClientProxy(context, del, cookie);
680
+ return _iceI_begin_getClientProxy(context, cb, cookie);
362
681
  }
363
682
 
364
- ::Ice::AsyncResultPtr begin_getClientProxy(const ::Ice::Callback_Router_getClientProxyPtr& del, const ::Ice::LocalObjectPtr& cookie = 0)
683
+ /**
684
+ * Get the router's client proxy, i.e., the proxy to use for
685
+ * forwarding requests from the client to the router.
686
+ *
687
+ * If a null proxy is returned, the client will forward requests
688
+ * to the router's endpoints.
689
+ * @param cb Asynchronous callback object.
690
+ * @param cookie User-defined data to associate with the invocation.
691
+ * @return The asynchronous result object for the invocation.
692
+ */
693
+ ::Ice::AsyncResultPtr begin_getClientProxy(const ::Ice::Callback_Router_getClientProxyPtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
365
694
  {
366
- return _iceI_begin_getClientProxy(::Ice::noExplicitContext, del, cookie);
695
+ return _iceI_begin_getClientProxy(::Ice::noExplicitContext, cb, cookie);
367
696
  }
368
697
 
369
- ::Ice::AsyncResultPtr begin_getClientProxy(const ::Ice::Context& context, const ::Ice::Callback_Router_getClientProxyPtr& del, const ::Ice::LocalObjectPtr& cookie = 0)
698
+ /**
699
+ * Get the router's client proxy, i.e., the proxy to use for
700
+ * forwarding requests from the client to the router.
701
+ *
702
+ * If a null proxy is returned, the client will forward requests
703
+ * to the router's endpoints.
704
+ * @param context The Context map to send with the invocation.
705
+ * @param cb Asynchronous callback object.
706
+ * @param cookie User-defined data to associate with the invocation.
707
+ * @return The asynchronous result object for the invocation.
708
+ */
709
+ ::Ice::AsyncResultPtr begin_getClientProxy(const ::Ice::Context& context, const ::Ice::Callback_Router_getClientProxyPtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
370
710
  {
371
- return _iceI_begin_getClientProxy(context, del, cookie);
711
+ return _iceI_begin_getClientProxy(context, cb, cookie);
372
712
  }
373
713
 
374
- ICE_MEMBER(ICE_API) ::Ice::ObjectPrx end_getClientProxy(IceUtil::Optional<bool>& iceP_hasRoutingTable, const ::Ice::AsyncResultPtr&);
714
+ /**
715
+ * Completes an invocation of begin_getClientProxy.
716
+ * @param hasRoutingTable Indicates whether or not the router supports a routing
717
+ * table. If it is supported, the Ice runtime will call addProxies to populate the
718
+ * routing table. This out parameter is only supported starting with Ice 3.7.
719
+ * The Ice runtime assumes the router has a routing table if the optional is not
720
+ * set.
721
+ * @param result The asynchronous result object for the invocation.
722
+ * @return The router's client proxy.
723
+ */
724
+ ICE_MEMBER(ICE_API) ::Ice::ObjectPrx end_getClientProxy(IceUtil::Optional<bool>& hasRoutingTable, const ::Ice::AsyncResultPtr& result);
725
+ /// \cond INTERNAL
726
+
727
+ ICE_MEMBER(ICE_API) void _iceI_end_getClientProxy(IceUtil::Optional<bool>& iceP_hasRoutingTable, ::Ice::ObjectPrxPtr& ret, const ::Ice::AsyncResultPtr&);
728
+ /// \endcond
375
729
 
376
730
  private:
377
731
 
@@ -379,37 +733,84 @@ private:
379
733
 
380
734
  public:
381
735
 
736
+ /**
737
+ * Get the router's server proxy, i.e., the proxy to use for
738
+ * forwarding requests from the server to the router.
739
+ * @param context The Context map to send with the invocation.
740
+ * @return The router's server proxy.
741
+ */
382
742
  ICE_MEMBER(ICE_API) ::Ice::ObjectPrx getServerProxy(const ::Ice::Context& context = ::Ice::noExplicitContext)
383
743
  {
384
744
  return end_getServerProxy(_iceI_begin_getServerProxy(context, ::IceInternal::dummyCallback, 0, true));
385
745
  }
386
746
 
747
+ /**
748
+ * Get the router's server proxy, i.e., the proxy to use for
749
+ * forwarding requests from the server to the router.
750
+ * @param context The Context map to send with the invocation.
751
+ * @return The asynchronous result object for the invocation.
752
+ */
387
753
  ::Ice::AsyncResultPtr begin_getServerProxy(const ::Ice::Context& context = ::Ice::noExplicitContext)
388
754
  {
389
755
  return _iceI_begin_getServerProxy(context, ::IceInternal::dummyCallback, 0);
390
756
  }
391
757
 
392
- ::Ice::AsyncResultPtr begin_getServerProxy(const ::Ice::CallbackPtr& del, const ::Ice::LocalObjectPtr& cookie = 0)
758
+ /**
759
+ * Get the router's server proxy, i.e., the proxy to use for
760
+ * forwarding requests from the server to the router.
761
+ * @param cb Asynchronous callback object.
762
+ * @param cookie User-defined data to associate with the invocation.
763
+ * @return The asynchronous result object for the invocation.
764
+ */
765
+ ::Ice::AsyncResultPtr begin_getServerProxy(const ::Ice::CallbackPtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
393
766
  {
394
- return _iceI_begin_getServerProxy(::Ice::noExplicitContext, del, cookie);
767
+ return _iceI_begin_getServerProxy(::Ice::noExplicitContext, cb, cookie);
395
768
  }
396
769
 
397
- ::Ice::AsyncResultPtr begin_getServerProxy(const ::Ice::Context& context, const ::Ice::CallbackPtr& del, const ::Ice::LocalObjectPtr& cookie = 0)
770
+ /**
771
+ * Get the router's server proxy, i.e., the proxy to use for
772
+ * forwarding requests from the server to the router.
773
+ * @param context The Context map to send with the invocation.
774
+ * @param cb Asynchronous callback object.
775
+ * @param cookie User-defined data to associate with the invocation.
776
+ * @return The asynchronous result object for the invocation.
777
+ */
778
+ ::Ice::AsyncResultPtr begin_getServerProxy(const ::Ice::Context& context, const ::Ice::CallbackPtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
398
779
  {
399
- return _iceI_begin_getServerProxy(context, del, cookie);
780
+ return _iceI_begin_getServerProxy(context, cb, cookie);
400
781
  }
401
782
 
402
- ::Ice::AsyncResultPtr begin_getServerProxy(const ::Ice::Callback_Router_getServerProxyPtr& del, const ::Ice::LocalObjectPtr& cookie = 0)
783
+ /**
784
+ * Get the router's server proxy, i.e., the proxy to use for
785
+ * forwarding requests from the server to the router.
786
+ * @param cb Asynchronous callback object.
787
+ * @param cookie User-defined data to associate with the invocation.
788
+ * @return The asynchronous result object for the invocation.
789
+ */
790
+ ::Ice::AsyncResultPtr begin_getServerProxy(const ::Ice::Callback_Router_getServerProxyPtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
403
791
  {
404
- return _iceI_begin_getServerProxy(::Ice::noExplicitContext, del, cookie);
792
+ return _iceI_begin_getServerProxy(::Ice::noExplicitContext, cb, cookie);
405
793
  }
406
794
 
407
- ::Ice::AsyncResultPtr begin_getServerProxy(const ::Ice::Context& context, const ::Ice::Callback_Router_getServerProxyPtr& del, const ::Ice::LocalObjectPtr& cookie = 0)
795
+ /**
796
+ * Get the router's server proxy, i.e., the proxy to use for
797
+ * forwarding requests from the server to the router.
798
+ * @param context The Context map to send with the invocation.
799
+ * @param cb Asynchronous callback object.
800
+ * @param cookie User-defined data to associate with the invocation.
801
+ * @return The asynchronous result object for the invocation.
802
+ */
803
+ ::Ice::AsyncResultPtr begin_getServerProxy(const ::Ice::Context& context, const ::Ice::Callback_Router_getServerProxyPtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
408
804
  {
409
- return _iceI_begin_getServerProxy(context, del, cookie);
805
+ return _iceI_begin_getServerProxy(context, cb, cookie);
410
806
  }
411
807
 
412
- ICE_MEMBER(ICE_API) ::Ice::ObjectPrx end_getServerProxy(const ::Ice::AsyncResultPtr&);
808
+ /**
809
+ * Completes an invocation of begin_getServerProxy.
810
+ * @param result The asynchronous result object for the invocation.
811
+ * @return The router's server proxy.
812
+ */
813
+ ICE_MEMBER(ICE_API) ::Ice::ObjectPrx end_getServerProxy(const ::Ice::AsyncResultPtr& result);
413
814
 
414
815
  private:
415
816
 
@@ -417,37 +818,84 @@ private:
417
818
 
418
819
  public:
419
820
 
420
- ICE_MEMBER(ICE_API) ::Ice::ObjectProxySeq addProxies(const ::Ice::ObjectProxySeq& iceP_proxies, const ::Ice::Context& context = ::Ice::noExplicitContext)
821
+ /**
822
+ * Add new proxy information to the router's routing table.
823
+ * @param proxies The proxies to add.
824
+ * @param context The Context map to send with the invocation.
825
+ * @return Proxies discarded by the router.
826
+ */
827
+ ICE_MEMBER(ICE_API) ::Ice::ObjectProxySeq addProxies(const ::Ice::ObjectProxySeq& proxies, const ::Ice::Context& context = ::Ice::noExplicitContext)
421
828
  {
422
- return end_addProxies(_iceI_begin_addProxies(iceP_proxies, context, ::IceInternal::dummyCallback, 0, true));
829
+ return end_addProxies(_iceI_begin_addProxies(proxies, context, ::IceInternal::dummyCallback, 0, true));
423
830
  }
424
831
 
425
- ::Ice::AsyncResultPtr begin_addProxies(const ::Ice::ObjectProxySeq& iceP_proxies, const ::Ice::Context& context = ::Ice::noExplicitContext)
832
+ /**
833
+ * Add new proxy information to the router's routing table.
834
+ * @param proxies The proxies to add.
835
+ * @param context The Context map to send with the invocation.
836
+ * @return The asynchronous result object for the invocation.
837
+ */
838
+ ::Ice::AsyncResultPtr begin_addProxies(const ::Ice::ObjectProxySeq& proxies, const ::Ice::Context& context = ::Ice::noExplicitContext)
426
839
  {
427
- return _iceI_begin_addProxies(iceP_proxies, context, ::IceInternal::dummyCallback, 0);
840
+ return _iceI_begin_addProxies(proxies, context, ::IceInternal::dummyCallback, 0);
428
841
  }
429
842
 
430
- ::Ice::AsyncResultPtr begin_addProxies(const ::Ice::ObjectProxySeq& iceP_proxies, const ::Ice::CallbackPtr& del, const ::Ice::LocalObjectPtr& cookie = 0)
843
+ /**
844
+ * Add new proxy information to the router's routing table.
845
+ * @param proxies The proxies to add.
846
+ * @param cb Asynchronous callback object.
847
+ * @param cookie User-defined data to associate with the invocation.
848
+ * @return The asynchronous result object for the invocation.
849
+ */
850
+ ::Ice::AsyncResultPtr begin_addProxies(const ::Ice::ObjectProxySeq& proxies, const ::Ice::CallbackPtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
431
851
  {
432
- return _iceI_begin_addProxies(iceP_proxies, ::Ice::noExplicitContext, del, cookie);
852
+ return _iceI_begin_addProxies(proxies, ::Ice::noExplicitContext, cb, cookie);
433
853
  }
434
854
 
435
- ::Ice::AsyncResultPtr begin_addProxies(const ::Ice::ObjectProxySeq& iceP_proxies, const ::Ice::Context& context, const ::Ice::CallbackPtr& del, const ::Ice::LocalObjectPtr& cookie = 0)
855
+ /**
856
+ * Add new proxy information to the router's routing table.
857
+ * @param proxies The proxies to add.
858
+ * @param context The Context map to send with the invocation.
859
+ * @param cb Asynchronous callback object.
860
+ * @param cookie User-defined data to associate with the invocation.
861
+ * @return The asynchronous result object for the invocation.
862
+ */
863
+ ::Ice::AsyncResultPtr begin_addProxies(const ::Ice::ObjectProxySeq& proxies, const ::Ice::Context& context, const ::Ice::CallbackPtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
436
864
  {
437
- return _iceI_begin_addProxies(iceP_proxies, context, del, cookie);
865
+ return _iceI_begin_addProxies(proxies, context, cb, cookie);
438
866
  }
439
867
 
440
- ::Ice::AsyncResultPtr begin_addProxies(const ::Ice::ObjectProxySeq& iceP_proxies, const ::Ice::Callback_Router_addProxiesPtr& del, const ::Ice::LocalObjectPtr& cookie = 0)
868
+ /**
869
+ * Add new proxy information to the router's routing table.
870
+ * @param proxies The proxies to add.
871
+ * @param cb Asynchronous callback object.
872
+ * @param cookie User-defined data to associate with the invocation.
873
+ * @return The asynchronous result object for the invocation.
874
+ */
875
+ ::Ice::AsyncResultPtr begin_addProxies(const ::Ice::ObjectProxySeq& proxies, const ::Ice::Callback_Router_addProxiesPtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
441
876
  {
442
- return _iceI_begin_addProxies(iceP_proxies, ::Ice::noExplicitContext, del, cookie);
877
+ return _iceI_begin_addProxies(proxies, ::Ice::noExplicitContext, cb, cookie);
443
878
  }
444
879
 
445
- ::Ice::AsyncResultPtr begin_addProxies(const ::Ice::ObjectProxySeq& iceP_proxies, const ::Ice::Context& context, const ::Ice::Callback_Router_addProxiesPtr& del, const ::Ice::LocalObjectPtr& cookie = 0)
880
+ /**
881
+ * Add new proxy information to the router's routing table.
882
+ * @param proxies The proxies to add.
883
+ * @param context The Context map to send with the invocation.
884
+ * @param cb Asynchronous callback object.
885
+ * @param cookie User-defined data to associate with the invocation.
886
+ * @return The asynchronous result object for the invocation.
887
+ */
888
+ ::Ice::AsyncResultPtr begin_addProxies(const ::Ice::ObjectProxySeq& proxies, const ::Ice::Context& context, const ::Ice::Callback_Router_addProxiesPtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
446
889
  {
447
- return _iceI_begin_addProxies(iceP_proxies, context, del, cookie);
890
+ return _iceI_begin_addProxies(proxies, context, cb, cookie);
448
891
  }
449
892
 
450
- ICE_MEMBER(ICE_API) ::Ice::ObjectProxySeq end_addProxies(const ::Ice::AsyncResultPtr&);
893
+ /**
894
+ * Completes an invocation of begin_addProxies.
895
+ * @param result The asynchronous result object for the invocation.
896
+ * @return Proxies discarded by the router.
897
+ */
898
+ ICE_MEMBER(ICE_API) ::Ice::ObjectProxySeq end_addProxies(const ::Ice::AsyncResultPtr& result);
451
899
 
452
900
  private:
453
901
 
@@ -455,48 +903,101 @@ private:
455
903
 
456
904
  public:
457
905
 
906
+ /**
907
+ * Obtains the Slice type ID corresponding to this interface.
908
+ * @return A fully-scoped type ID.
909
+ */
458
910
  ICE_MEMBER(ICE_API) static const ::std::string& ice_staticId();
459
911
 
460
912
  protected:
913
+ /// \cond INTERNAL
461
914
 
462
915
  ICE_MEMBER(ICE_API) virtual ::IceProxy::Ice::Object* _newInstance() const;
916
+ /// \endcond
463
917
  };
464
918
 
465
919
  class ICE_CLASS(ICE_API) RouterFinder : public virtual ::Ice::Proxy<RouterFinder, ::IceProxy::Ice::Object>
466
920
  {
467
921
  public:
468
922
 
923
+ /**
924
+ * Get the router proxy implemented by the process hosting this
925
+ * finder object. The proxy might point to several replicas.
926
+ * @param context The Context map to send with the invocation.
927
+ * @return The router proxy.
928
+ */
469
929
  ICE_MEMBER(ICE_API) ::Ice::RouterPrx getRouter(const ::Ice::Context& context = ::Ice::noExplicitContext)
470
930
  {
471
931
  return end_getRouter(_iceI_begin_getRouter(context, ::IceInternal::dummyCallback, 0, true));
472
932
  }
473
933
 
934
+ /**
935
+ * Get the router proxy implemented by the process hosting this
936
+ * finder object. The proxy might point to several replicas.
937
+ * @param context The Context map to send with the invocation.
938
+ * @return The asynchronous result object for the invocation.
939
+ */
474
940
  ::Ice::AsyncResultPtr begin_getRouter(const ::Ice::Context& context = ::Ice::noExplicitContext)
475
941
  {
476
942
  return _iceI_begin_getRouter(context, ::IceInternal::dummyCallback, 0);
477
943
  }
478
944
 
479
- ::Ice::AsyncResultPtr begin_getRouter(const ::Ice::CallbackPtr& del, const ::Ice::LocalObjectPtr& cookie = 0)
945
+ /**
946
+ * Get the router proxy implemented by the process hosting this
947
+ * finder object. The proxy might point to several replicas.
948
+ * @param cb Asynchronous callback object.
949
+ * @param cookie User-defined data to associate with the invocation.
950
+ * @return The asynchronous result object for the invocation.
951
+ */
952
+ ::Ice::AsyncResultPtr begin_getRouter(const ::Ice::CallbackPtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
480
953
  {
481
- return _iceI_begin_getRouter(::Ice::noExplicitContext, del, cookie);
954
+ return _iceI_begin_getRouter(::Ice::noExplicitContext, cb, cookie);
482
955
  }
483
956
 
484
- ::Ice::AsyncResultPtr begin_getRouter(const ::Ice::Context& context, const ::Ice::CallbackPtr& del, const ::Ice::LocalObjectPtr& cookie = 0)
957
+ /**
958
+ * Get the router proxy implemented by the process hosting this
959
+ * finder object. The proxy might point to several replicas.
960
+ * @param context The Context map to send with the invocation.
961
+ * @param cb Asynchronous callback object.
962
+ * @param cookie User-defined data to associate with the invocation.
963
+ * @return The asynchronous result object for the invocation.
964
+ */
965
+ ::Ice::AsyncResultPtr begin_getRouter(const ::Ice::Context& context, const ::Ice::CallbackPtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
485
966
  {
486
- return _iceI_begin_getRouter(context, del, cookie);
967
+ return _iceI_begin_getRouter(context, cb, cookie);
487
968
  }
488
969
 
489
- ::Ice::AsyncResultPtr begin_getRouter(const ::Ice::Callback_RouterFinder_getRouterPtr& del, const ::Ice::LocalObjectPtr& cookie = 0)
970
+ /**
971
+ * Get the router proxy implemented by the process hosting this
972
+ * finder object. The proxy might point to several replicas.
973
+ * @param cb Asynchronous callback object.
974
+ * @param cookie User-defined data to associate with the invocation.
975
+ * @return The asynchronous result object for the invocation.
976
+ */
977
+ ::Ice::AsyncResultPtr begin_getRouter(const ::Ice::Callback_RouterFinder_getRouterPtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
490
978
  {
491
- return _iceI_begin_getRouter(::Ice::noExplicitContext, del, cookie);
979
+ return _iceI_begin_getRouter(::Ice::noExplicitContext, cb, cookie);
492
980
  }
493
981
 
494
- ::Ice::AsyncResultPtr begin_getRouter(const ::Ice::Context& context, const ::Ice::Callback_RouterFinder_getRouterPtr& del, const ::Ice::LocalObjectPtr& cookie = 0)
982
+ /**
983
+ * Get the router proxy implemented by the process hosting this
984
+ * finder object. The proxy might point to several replicas.
985
+ * @param context The Context map to send with the invocation.
986
+ * @param cb Asynchronous callback object.
987
+ * @param cookie User-defined data to associate with the invocation.
988
+ * @return The asynchronous result object for the invocation.
989
+ */
990
+ ::Ice::AsyncResultPtr begin_getRouter(const ::Ice::Context& context, const ::Ice::Callback_RouterFinder_getRouterPtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
495
991
  {
496
- return _iceI_begin_getRouter(context, del, cookie);
992
+ return _iceI_begin_getRouter(context, cb, cookie);
497
993
  }
498
994
 
499
- ICE_MEMBER(ICE_API) ::Ice::RouterPrx end_getRouter(const ::Ice::AsyncResultPtr&);
995
+ /**
996
+ * Completes an invocation of begin_getRouter.
997
+ * @param result The asynchronous result object for the invocation.
998
+ * @return The router proxy.
999
+ */
1000
+ ICE_MEMBER(ICE_API) ::Ice::RouterPrx end_getRouter(const ::Ice::AsyncResultPtr& result);
500
1001
 
501
1002
  private:
502
1003
 
@@ -504,11 +1005,17 @@ private:
504
1005
 
505
1006
  public:
506
1007
 
1008
+ /**
1009
+ * Obtains the Slice type ID corresponding to this interface.
1010
+ * @return A fully-scoped type ID.
1011
+ */
507
1012
  ICE_MEMBER(ICE_API) static const ::std::string& ice_staticId();
508
1013
 
509
1014
  protected:
1015
+ /// \cond INTERNAL
510
1016
 
511
1017
  ICE_MEMBER(ICE_API) virtual ::IceProxy::Ice::Object* _newInstance() const;
1018
+ /// \endcond
512
1019
  };
513
1020
 
514
1021
  }
@@ -518,7 +1025,13 @@ protected:
518
1025
  namespace Ice
519
1026
  {
520
1027
 
521
- class ICE_API Router : public virtual ::Ice::Object
1028
+ /**
1029
+ * The Ice router interface. Routers can be set either globally with
1030
+ * {@link Communicator#setDefaultRouter}, or with <tt>ice_router</tt> on specific
1031
+ * proxies.
1032
+ * \headerfile Ice/Ice.h
1033
+ */
1034
+ class ICE_API Router : public virtual Object
522
1035
  {
523
1036
  public:
524
1037
 
@@ -527,40 +1040,108 @@ public:
527
1040
 
528
1041
  virtual ~Router();
529
1042
 
530
- virtual bool ice_isA(const ::std::string&, const ::Ice::Current& = ::Ice::emptyCurrent) const;
531
- virtual ::std::vector< ::std::string> ice_ids(const ::Ice::Current& = ::Ice::emptyCurrent) const;
532
- virtual const ::std::string& ice_id(const ::Ice::Current& = ::Ice::emptyCurrent) const;
533
-
1043
+ /**
1044
+ * Determines whether this object supports an interface with the given Slice type ID.
1045
+ * @param id The fully-scoped Slice type ID.
1046
+ * @param current The Current object for the invocation.
1047
+ * @return True if this object supports the interface, false, otherwise.
1048
+ */
1049
+ virtual bool ice_isA(const ::std::string& id, const Current& current = emptyCurrent) const;
1050
+
1051
+ /**
1052
+ * Obtains a list of the Slice type IDs representing the interfaces supported by this object.
1053
+ * @param current The Current object for the invocation.
1054
+ * @return A list of fully-scoped type IDs.
1055
+ */
1056
+ virtual ::std::vector< ::std::string> ice_ids(const Current& current = emptyCurrent) const;
1057
+
1058
+ /**
1059
+ * Obtains a Slice type ID representing the most-derived interface supported by this object.
1060
+ * @param current The Current object for the invocation.
1061
+ * @return A fully-scoped type ID.
1062
+ */
1063
+ virtual const ::std::string& ice_id(const Current& current = emptyCurrent) const;
1064
+
1065
+ /**
1066
+ * Obtains the Slice type ID corresponding to this class.
1067
+ * @return A fully-scoped type ID.
1068
+ */
534
1069
  static const ::std::string& ice_staticId();
535
1070
 
536
- virtual ::Ice::ObjectPrx getClientProxy(IceUtil::Optional<bool>&, const ::Ice::Current& = ::Ice::emptyCurrent) const = 0;
1071
+ /**
1072
+ * Get the router's client proxy, i.e., the proxy to use for
1073
+ * forwarding requests from the client to the router.
1074
+ *
1075
+ * If a null proxy is returned, the client will forward requests
1076
+ * to the router's endpoints.
1077
+ * @param hasRoutingTable Indicates whether or not the router supports a routing
1078
+ * table. If it is supported, the Ice runtime will call addProxies to populate the
1079
+ * routing table. This out parameter is only supported starting with Ice 3.7.
1080
+ * The Ice runtime assumes the router has a routing table if the optional is not
1081
+ * set.
1082
+ * @param current The Current object for the invocation.
1083
+ * @return The router's client proxy.
1084
+ */
1085
+ virtual ObjectPrx getClientProxy(IceUtil::Optional<bool>& hasRoutingTable, const Current& current = emptyCurrent) const = 0;
1086
+ /// \cond INTERNAL
537
1087
  bool _iceD_getClientProxy(::IceInternal::Incoming&, const ::Ice::Current&) const;
538
-
539
- virtual ::Ice::ObjectPrx getServerProxy(const ::Ice::Current& = ::Ice::emptyCurrent) const = 0;
1088
+ /// \endcond
1089
+
1090
+ /**
1091
+ * Get the router's server proxy, i.e., the proxy to use for
1092
+ * forwarding requests from the server to the router.
1093
+ * @param current The Current object for the invocation.
1094
+ * @return The router's server proxy.
1095
+ */
1096
+ virtual ObjectPrx getServerProxy(const Current& current = emptyCurrent) const = 0;
1097
+ /// \cond INTERNAL
540
1098
  bool _iceD_getServerProxy(::IceInternal::Incoming&, const ::Ice::Current&) const;
541
-
542
- virtual ::Ice::ObjectProxySeq addProxies(const ::Ice::ObjectProxySeq&, const ::Ice::Current& = ::Ice::emptyCurrent) = 0;
1099
+ /// \endcond
1100
+
1101
+ /**
1102
+ * Add new proxy information to the router's routing table.
1103
+ * @param proxies The proxies to add.
1104
+ * @param current The Current object for the invocation.
1105
+ * @return Proxies discarded by the router.
1106
+ */
1107
+ virtual ObjectProxySeq addProxies(const ObjectProxySeq& proxies, const Current& current = emptyCurrent) = 0;
1108
+ /// \cond INTERNAL
543
1109
  bool _iceD_addProxies(::IceInternal::Incoming&, const ::Ice::Current&);
1110
+ /// \endcond
544
1111
 
545
- virtual bool _iceDispatch(::IceInternal::Incoming&, const ::Ice::Current&);
1112
+ /// \cond INTERNAL
1113
+ virtual bool _iceDispatch(::IceInternal::Incoming&, const Current&);
1114
+ /// \endcond
546
1115
 
547
1116
  protected:
548
1117
 
549
- virtual void _iceWriteImpl(::Ice::OutputStream*) const;
550
- virtual void _iceReadImpl(::Ice::InputStream*);
1118
+ /// \cond STREAM
1119
+ virtual void _iceWriteImpl(OutputStream*) const;
1120
+ virtual void _iceReadImpl(InputStream*);
1121
+ /// \endcond
551
1122
  };
552
1123
 
1124
+ /// \cond INTERNAL
553
1125
  inline bool operator==(const Router& lhs, const Router& rhs)
554
1126
  {
555
- return static_cast<const ::Ice::Object&>(lhs) == static_cast<const ::Ice::Object&>(rhs);
1127
+ return static_cast<const Object&>(lhs) == static_cast<const Object&>(rhs);
556
1128
  }
557
1129
 
558
1130
  inline bool operator<(const Router& lhs, const Router& rhs)
559
1131
  {
560
- return static_cast<const ::Ice::Object&>(lhs) < static_cast<const ::Ice::Object&>(rhs);
1132
+ return static_cast<const Object&>(lhs) < static_cast<const Object&>(rhs);
561
1133
  }
562
-
563
- class ICE_API RouterFinder : public virtual ::Ice::Object
1134
+ /// \endcond
1135
+
1136
+ /**
1137
+ * This inferface should be implemented by services implementing the
1138
+ * Ice::Router interface. It should be advertised through an Ice
1139
+ * object with the identity `Ice/RouterFinder'. This allows clients to
1140
+ * retrieve the router proxy with just the endpoint information of the
1141
+ * service.
1142
+ * \headerfile Ice/Ice.h
1143
+ */
1144
+ class ICE_API RouterFinder : public virtual Object
564
1145
  {
565
1146
  public:
566
1147
 
@@ -569,43 +1150,86 @@ public:
569
1150
 
570
1151
  virtual ~RouterFinder();
571
1152
 
572
- virtual bool ice_isA(const ::std::string&, const ::Ice::Current& = ::Ice::emptyCurrent) const;
573
- virtual ::std::vector< ::std::string> ice_ids(const ::Ice::Current& = ::Ice::emptyCurrent) const;
574
- virtual const ::std::string& ice_id(const ::Ice::Current& = ::Ice::emptyCurrent) const;
575
-
1153
+ /**
1154
+ * Determines whether this object supports an interface with the given Slice type ID.
1155
+ * @param id The fully-scoped Slice type ID.
1156
+ * @param current The Current object for the invocation.
1157
+ * @return True if this object supports the interface, false, otherwise.
1158
+ */
1159
+ virtual bool ice_isA(const ::std::string& id, const Current& current = emptyCurrent) const;
1160
+
1161
+ /**
1162
+ * Obtains a list of the Slice type IDs representing the interfaces supported by this object.
1163
+ * @param current The Current object for the invocation.
1164
+ * @return A list of fully-scoped type IDs.
1165
+ */
1166
+ virtual ::std::vector< ::std::string> ice_ids(const Current& current = emptyCurrent) const;
1167
+
1168
+ /**
1169
+ * Obtains a Slice type ID representing the most-derived interface supported by this object.
1170
+ * @param current The Current object for the invocation.
1171
+ * @return A fully-scoped type ID.
1172
+ */
1173
+ virtual const ::std::string& ice_id(const Current& current = emptyCurrent) const;
1174
+
1175
+ /**
1176
+ * Obtains the Slice type ID corresponding to this class.
1177
+ * @return A fully-scoped type ID.
1178
+ */
576
1179
  static const ::std::string& ice_staticId();
577
1180
 
578
- virtual ::Ice::RouterPrx getRouter(const ::Ice::Current& = ::Ice::emptyCurrent) = 0;
1181
+ /**
1182
+ * Get the router proxy implemented by the process hosting this
1183
+ * finder object. The proxy might point to several replicas.
1184
+ * @param current The Current object for the invocation.
1185
+ * @return The router proxy.
1186
+ */
1187
+ virtual RouterPrx getRouter(const Current& current = emptyCurrent) = 0;
1188
+ /// \cond INTERNAL
579
1189
  bool _iceD_getRouter(::IceInternal::Incoming&, const ::Ice::Current&);
1190
+ /// \endcond
580
1191
 
581
- virtual bool _iceDispatch(::IceInternal::Incoming&, const ::Ice::Current&);
1192
+ /// \cond INTERNAL
1193
+ virtual bool _iceDispatch(::IceInternal::Incoming&, const Current&);
1194
+ /// \endcond
582
1195
 
583
1196
  protected:
584
1197
 
585
- virtual void _iceWriteImpl(::Ice::OutputStream*) const;
586
- virtual void _iceReadImpl(::Ice::InputStream*);
1198
+ /// \cond STREAM
1199
+ virtual void _iceWriteImpl(OutputStream*) const;
1200
+ virtual void _iceReadImpl(InputStream*);
1201
+ /// \endcond
587
1202
  };
588
1203
 
1204
+ /// \cond INTERNAL
589
1205
  inline bool operator==(const RouterFinder& lhs, const RouterFinder& rhs)
590
1206
  {
591
- return static_cast<const ::Ice::Object&>(lhs) == static_cast<const ::Ice::Object&>(rhs);
1207
+ return static_cast<const Object&>(lhs) == static_cast<const Object&>(rhs);
592
1208
  }
593
1209
 
594
1210
  inline bool operator<(const RouterFinder& lhs, const RouterFinder& rhs)
595
1211
  {
596
- return static_cast<const ::Ice::Object&>(lhs) < static_cast<const ::Ice::Object&>(rhs);
1212
+ return static_cast<const Object&>(lhs) < static_cast<const Object&>(rhs);
597
1213
  }
1214
+ /// \endcond
598
1215
 
599
1216
  }
600
1217
 
1218
+ /// \cond STREAM
601
1219
  namespace Ice
602
1220
  {
603
1221
 
604
1222
  }
1223
+ /// \endcond
605
1224
 
606
1225
  namespace Ice
607
1226
  {
608
1227
 
1228
+ /**
1229
+ * Type-safe asynchronous callback wrapper class used for calls to
1230
+ * IceProxy::Ice::Router::begin_getClientProxy.
1231
+ * Create a wrapper instance by calling ::Ice::newCallback_Router_getClientProxy.
1232
+ */
609
1233
  template<class T>
610
1234
  class CallbackNC_Router_getClientProxy : public Callback_Router_getClientProxy_Base, public ::IceInternal::TwowayCallbackNC<T>
611
1235
  {
@@ -615,18 +1239,19 @@ public:
615
1239
 
616
1240
  typedef void (T::*Exception)(const ::Ice::Exception&);
617
1241
  typedef void (T::*Sent)(bool);
618
- typedef void (T::*Response)(const ::Ice::ObjectPrx&, const IceUtil::Optional<bool>&);
1242
+ typedef void (T::*Response)(const ObjectPrx&, const IceUtil::Optional<bool>&);
619
1243
 
620
1244
  CallbackNC_Router_getClientProxy(const TPtr& obj, Response cb, Exception excb, Sent sentcb)
621
1245
  : ::IceInternal::TwowayCallbackNC<T>(obj, cb != 0, excb, sentcb), _response(cb)
622
1246
  {
623
1247
  }
624
1248
 
625
- virtual void completed(const ::Ice::AsyncResultPtr& result) const
1249
+ /// \cond INTERNAL
1250
+ virtual void completed(const AsyncResultPtr& result) const
626
1251
  {
627
- ::Ice::RouterPrx proxy = ::Ice::RouterPrx::uncheckedCast(result->getProxy());
1252
+ RouterPrx proxy = RouterPrx::uncheckedCast(result->getProxy());
628
1253
  IceUtil::Optional<bool> iceP_hasRoutingTable;
629
- ::Ice::ObjectPrx ret;
1254
+ ObjectPrx ret;
630
1255
  try
631
1256
  {
632
1257
  ret = proxy->end_getClientProxy(iceP_hasRoutingTable, result);
@@ -641,24 +1266,46 @@ public:
641
1266
  (::IceInternal::CallbackNC<T>::_callback.get()->*_response)(ret, iceP_hasRoutingTable);
642
1267
  }
643
1268
  }
1269
+ /// \endcond
644
1270
 
645
1271
  private:
646
1272
 
647
1273
  Response _response;
648
1274
  };
649
1275
 
1276
+ /**
1277
+ * Creates a callback wrapper instance that delegates to your object.
1278
+ * @param instance The callback object.
1279
+ * @param cb The success method of the callback object.
1280
+ * @param excb The exception method of the callback object.
1281
+ * @param sentcb The sent method of the callback object.
1282
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::Ice::Router::begin_getClientProxy.
1283
+ */
650
1284
  template<class T> Callback_Router_getClientProxyPtr
651
- newCallback_Router_getClientProxy(const IceUtil::Handle<T>& instance, void (T::*cb)(const ::Ice::ObjectPrx&, const IceUtil::Optional<bool>&), void (T::*excb)(const ::Ice::Exception&), void (T::*sentcb)(bool) = 0)
1285
+ 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)
652
1286
  {
653
1287
  return new CallbackNC_Router_getClientProxy<T>(instance, cb, excb, sentcb);
654
1288
  }
655
1289
 
1290
+ /**
1291
+ * Creates a callback wrapper instance that delegates to your object.
1292
+ * @param instance The callback object.
1293
+ * @param cb The success method of the callback object.
1294
+ * @param excb The exception method of the callback object.
1295
+ * @param sentcb The sent method of the callback object.
1296
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::Ice::Router::begin_getClientProxy.
1297
+ */
656
1298
  template<class T> Callback_Router_getClientProxyPtr
657
- newCallback_Router_getClientProxy(T* instance, void (T::*cb)(const ::Ice::ObjectPrx&, const IceUtil::Optional<bool>&), void (T::*excb)(const ::Ice::Exception&), void (T::*sentcb)(bool) = 0)
1299
+ 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)
658
1300
  {
659
1301
  return new CallbackNC_Router_getClientProxy<T>(instance, cb, excb, sentcb);
660
1302
  }
661
1303
 
1304
+ /**
1305
+ * Type-safe asynchronous callback wrapper class with cookie support used for calls to
1306
+ * IceProxy::Ice::Router::begin_getClientProxy.
1307
+ * Create a wrapper instance by calling ::Ice::newCallback_Router_getClientProxy.
1308
+ */
662
1309
  template<class T, typename CT>
663
1310
  class Callback_Router_getClientProxy : public Callback_Router_getClientProxy_Base, public ::IceInternal::TwowayCallback<T, CT>
664
1311
  {
@@ -668,18 +1315,19 @@ public:
668
1315
 
669
1316
  typedef void (T::*Exception)(const ::Ice::Exception& , const CT&);
670
1317
  typedef void (T::*Sent)(bool , const CT&);
671
- typedef void (T::*Response)(const ::Ice::ObjectPrx&, const IceUtil::Optional<bool>&, const CT&);
1318
+ typedef void (T::*Response)(const ObjectPrx&, const IceUtil::Optional<bool>&, const CT&);
672
1319
 
673
1320
  Callback_Router_getClientProxy(const TPtr& obj, Response cb, Exception excb, Sent sentcb)
674
1321
  : ::IceInternal::TwowayCallback<T, CT>(obj, cb != 0, excb, sentcb), _response(cb)
675
1322
  {
676
1323
  }
677
1324
 
678
- virtual void completed(const ::Ice::AsyncResultPtr& result) const
1325
+ /// \cond INTERNAL
1326
+ virtual void completed(const AsyncResultPtr& result) const
679
1327
  {
680
- ::Ice::RouterPrx proxy = ::Ice::RouterPrx::uncheckedCast(result->getProxy());
1328
+ RouterPrx proxy = RouterPrx::uncheckedCast(result->getProxy());
681
1329
  IceUtil::Optional<bool> iceP_hasRoutingTable;
682
- ::Ice::ObjectPrx ret;
1330
+ ObjectPrx ret;
683
1331
  try
684
1332
  {
685
1333
  ret = proxy->end_getClientProxy(iceP_hasRoutingTable, result);
@@ -694,24 +1342,48 @@ public:
694
1342
  (::IceInternal::Callback<T, CT>::_callback.get()->*_response)(ret, iceP_hasRoutingTable, CT::dynamicCast(result->getCookie()));
695
1343
  }
696
1344
  }
1345
+ /// \endcond
697
1346
 
698
1347
  private:
699
1348
 
700
1349
  Response _response;
701
1350
  };
702
1351
 
1352
+ /**
1353
+ * Creates a callback wrapper instance that delegates to your object.
1354
+ * Use this overload when your callback methods receive a cookie value.
1355
+ * @param instance The callback object.
1356
+ * @param cb The success method of the callback object.
1357
+ * @param excb The exception method of the callback object.
1358
+ * @param sentcb The sent method of the callback object.
1359
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::Ice::Router::begin_getClientProxy.
1360
+ */
703
1361
  template<class T, typename CT> Callback_Router_getClientProxyPtr
704
- newCallback_Router_getClientProxy(const IceUtil::Handle<T>& instance, void (T::*cb)(const ::Ice::ObjectPrx&, const IceUtil::Optional<bool>&, const CT&), void (T::*excb)(const ::Ice::Exception&, const CT&), void (T::*sentcb)(bool, const CT&) = 0)
1362
+ 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)
705
1363
  {
706
1364
  return new Callback_Router_getClientProxy<T, CT>(instance, cb, excb, sentcb);
707
1365
  }
708
1366
 
1367
+ /**
1368
+ * Creates a callback wrapper instance that delegates to your object.
1369
+ * Use this overload when your callback methods receive a cookie value.
1370
+ * @param instance The callback object.
1371
+ * @param cb The success method of the callback object.
1372
+ * @param excb The exception method of the callback object.
1373
+ * @param sentcb The sent method of the callback object.
1374
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::Ice::Router::begin_getClientProxy.
1375
+ */
709
1376
  template<class T, typename CT> Callback_Router_getClientProxyPtr
710
- newCallback_Router_getClientProxy(T* instance, void (T::*cb)(const ::Ice::ObjectPrx&, const IceUtil::Optional<bool>&, const CT&), void (T::*excb)(const ::Ice::Exception&, const CT&), void (T::*sentcb)(bool, const CT&) = 0)
1377
+ 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)
711
1378
  {
712
1379
  return new Callback_Router_getClientProxy<T, CT>(instance, cb, excb, sentcb);
713
1380
  }
714
1381
 
1382
+ /**
1383
+ * Type-safe asynchronous callback wrapper class used for calls to
1384
+ * IceProxy::Ice::Router::begin_getServerProxy.
1385
+ * Create a wrapper instance by calling ::Ice::newCallback_Router_getServerProxy.
1386
+ */
715
1387
  template<class T>
716
1388
  class CallbackNC_Router_getServerProxy : public Callback_Router_getServerProxy_Base, public ::IceInternal::TwowayCallbackNC<T>
717
1389
  {
@@ -721,17 +1393,18 @@ public:
721
1393
 
722
1394
  typedef void (T::*Exception)(const ::Ice::Exception&);
723
1395
  typedef void (T::*Sent)(bool);
724
- typedef void (T::*Response)(const ::Ice::ObjectPrx&);
1396
+ typedef void (T::*Response)(const ObjectPrx&);
725
1397
 
726
1398
  CallbackNC_Router_getServerProxy(const TPtr& obj, Response cb, Exception excb, Sent sentcb)
727
1399
  : ::IceInternal::TwowayCallbackNC<T>(obj, cb != 0, excb, sentcb), _response(cb)
728
1400
  {
729
1401
  }
730
1402
 
731
- virtual void completed(const ::Ice::AsyncResultPtr& result) const
1403
+ /// \cond INTERNAL
1404
+ virtual void completed(const AsyncResultPtr& result) const
732
1405
  {
733
- ::Ice::RouterPrx proxy = ::Ice::RouterPrx::uncheckedCast(result->getProxy());
734
- ::Ice::ObjectPrx ret;
1406
+ RouterPrx proxy = RouterPrx::uncheckedCast(result->getProxy());
1407
+ ObjectPrx ret;
735
1408
  try
736
1409
  {
737
1410
  ret = proxy->end_getServerProxy(result);
@@ -746,24 +1419,46 @@ public:
746
1419
  (::IceInternal::CallbackNC<T>::_callback.get()->*_response)(ret);
747
1420
  }
748
1421
  }
1422
+ /// \endcond
749
1423
 
750
1424
  private:
751
1425
 
752
1426
  Response _response;
753
1427
  };
754
1428
 
1429
+ /**
1430
+ * Creates a callback wrapper instance that delegates to your object.
1431
+ * @param instance The callback object.
1432
+ * @param cb The success method of the callback object.
1433
+ * @param excb The exception method of the callback object.
1434
+ * @param sentcb The sent method of the callback object.
1435
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::Ice::Router::begin_getServerProxy.
1436
+ */
755
1437
  template<class T> Callback_Router_getServerProxyPtr
756
- newCallback_Router_getServerProxy(const IceUtil::Handle<T>& instance, void (T::*cb)(const ::Ice::ObjectPrx&), void (T::*excb)(const ::Ice::Exception&), void (T::*sentcb)(bool) = 0)
1438
+ newCallback_Router_getServerProxy(const IceUtil::Handle<T>& instance, void (T::*cb)(const ObjectPrx&), void (T::*excb)(const ::Ice::Exception&), void (T::*sentcb)(bool) = 0)
757
1439
  {
758
1440
  return new CallbackNC_Router_getServerProxy<T>(instance, cb, excb, sentcb);
759
1441
  }
760
1442
 
1443
+ /**
1444
+ * Creates a callback wrapper instance that delegates to your object.
1445
+ * @param instance The callback object.
1446
+ * @param cb The success method of the callback object.
1447
+ * @param excb The exception method of the callback object.
1448
+ * @param sentcb The sent method of the callback object.
1449
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::Ice::Router::begin_getServerProxy.
1450
+ */
761
1451
  template<class T> Callback_Router_getServerProxyPtr
762
- newCallback_Router_getServerProxy(T* instance, void (T::*cb)(const ::Ice::ObjectPrx&), void (T::*excb)(const ::Ice::Exception&), void (T::*sentcb)(bool) = 0)
1452
+ newCallback_Router_getServerProxy(T* instance, void (T::*cb)(const ObjectPrx&), void (T::*excb)(const ::Ice::Exception&), void (T::*sentcb)(bool) = 0)
763
1453
  {
764
1454
  return new CallbackNC_Router_getServerProxy<T>(instance, cb, excb, sentcb);
765
1455
  }
766
1456
 
1457
+ /**
1458
+ * Type-safe asynchronous callback wrapper class with cookie support used for calls to
1459
+ * IceProxy::Ice::Router::begin_getServerProxy.
1460
+ * Create a wrapper instance by calling ::Ice::newCallback_Router_getServerProxy.
1461
+ */
767
1462
  template<class T, typename CT>
768
1463
  class Callback_Router_getServerProxy : public Callback_Router_getServerProxy_Base, public ::IceInternal::TwowayCallback<T, CT>
769
1464
  {
@@ -773,17 +1468,18 @@ public:
773
1468
 
774
1469
  typedef void (T::*Exception)(const ::Ice::Exception& , const CT&);
775
1470
  typedef void (T::*Sent)(bool , const CT&);
776
- typedef void (T::*Response)(const ::Ice::ObjectPrx&, const CT&);
1471
+ typedef void (T::*Response)(const ObjectPrx&, const CT&);
777
1472
 
778
1473
  Callback_Router_getServerProxy(const TPtr& obj, Response cb, Exception excb, Sent sentcb)
779
1474
  : ::IceInternal::TwowayCallback<T, CT>(obj, cb != 0, excb, sentcb), _response(cb)
780
1475
  {
781
1476
  }
782
1477
 
783
- virtual void completed(const ::Ice::AsyncResultPtr& result) const
1478
+ /// \cond INTERNAL
1479
+ virtual void completed(const AsyncResultPtr& result) const
784
1480
  {
785
- ::Ice::RouterPrx proxy = ::Ice::RouterPrx::uncheckedCast(result->getProxy());
786
- ::Ice::ObjectPrx ret;
1481
+ RouterPrx proxy = RouterPrx::uncheckedCast(result->getProxy());
1482
+ ObjectPrx ret;
787
1483
  try
788
1484
  {
789
1485
  ret = proxy->end_getServerProxy(result);
@@ -798,24 +1494,48 @@ public:
798
1494
  (::IceInternal::Callback<T, CT>::_callback.get()->*_response)(ret, CT::dynamicCast(result->getCookie()));
799
1495
  }
800
1496
  }
1497
+ /// \endcond
801
1498
 
802
1499
  private:
803
1500
 
804
1501
  Response _response;
805
1502
  };
806
1503
 
1504
+ /**
1505
+ * Creates a callback wrapper instance that delegates to your object.
1506
+ * Use this overload when your callback methods receive a cookie value.
1507
+ * @param instance The callback object.
1508
+ * @param cb The success method of the callback object.
1509
+ * @param excb The exception method of the callback object.
1510
+ * @param sentcb The sent method of the callback object.
1511
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::Ice::Router::begin_getServerProxy.
1512
+ */
807
1513
  template<class T, typename CT> Callback_Router_getServerProxyPtr
808
- newCallback_Router_getServerProxy(const IceUtil::Handle<T>& instance, void (T::*cb)(const ::Ice::ObjectPrx&, const CT&), void (T::*excb)(const ::Ice::Exception&, const CT&), void (T::*sentcb)(bool, const CT&) = 0)
1514
+ 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)
809
1515
  {
810
1516
  return new Callback_Router_getServerProxy<T, CT>(instance, cb, excb, sentcb);
811
1517
  }
812
1518
 
1519
+ /**
1520
+ * Creates a callback wrapper instance that delegates to your object.
1521
+ * Use this overload when your callback methods receive a cookie value.
1522
+ * @param instance The callback object.
1523
+ * @param cb The success method of the callback object.
1524
+ * @param excb The exception method of the callback object.
1525
+ * @param sentcb The sent method of the callback object.
1526
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::Ice::Router::begin_getServerProxy.
1527
+ */
813
1528
  template<class T, typename CT> Callback_Router_getServerProxyPtr
814
- newCallback_Router_getServerProxy(T* instance, void (T::*cb)(const ::Ice::ObjectPrx&, const CT&), void (T::*excb)(const ::Ice::Exception&, const CT&), void (T::*sentcb)(bool, const CT&) = 0)
1529
+ 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)
815
1530
  {
816
1531
  return new Callback_Router_getServerProxy<T, CT>(instance, cb, excb, sentcb);
817
1532
  }
818
1533
 
1534
+ /**
1535
+ * Type-safe asynchronous callback wrapper class used for calls to
1536
+ * IceProxy::Ice::Router::begin_addProxies.
1537
+ * Create a wrapper instance by calling ::Ice::newCallback_Router_addProxies.
1538
+ */
819
1539
  template<class T>
820
1540
  class CallbackNC_Router_addProxies : public Callback_Router_addProxies_Base, public ::IceInternal::TwowayCallbackNC<T>
821
1541
  {
@@ -825,17 +1545,18 @@ public:
825
1545
 
826
1546
  typedef void (T::*Exception)(const ::Ice::Exception&);
827
1547
  typedef void (T::*Sent)(bool);
828
- typedef void (T::*Response)(const ::Ice::ObjectProxySeq&);
1548
+ typedef void (T::*Response)(const ObjectProxySeq&);
829
1549
 
830
1550
  CallbackNC_Router_addProxies(const TPtr& obj, Response cb, Exception excb, Sent sentcb)
831
1551
  : ::IceInternal::TwowayCallbackNC<T>(obj, cb != 0, excb, sentcb), _response(cb)
832
1552
  {
833
1553
  }
834
1554
 
835
- virtual void completed(const ::Ice::AsyncResultPtr& result) const
1555
+ /// \cond INTERNAL
1556
+ virtual void completed(const AsyncResultPtr& result) const
836
1557
  {
837
- ::Ice::RouterPrx proxy = ::Ice::RouterPrx::uncheckedCast(result->getProxy());
838
- ::Ice::ObjectProxySeq ret;
1558
+ RouterPrx proxy = RouterPrx::uncheckedCast(result->getProxy());
1559
+ ObjectProxySeq ret;
839
1560
  try
840
1561
  {
841
1562
  ret = proxy->end_addProxies(result);
@@ -850,24 +1571,46 @@ public:
850
1571
  (::IceInternal::CallbackNC<T>::_callback.get()->*_response)(ret);
851
1572
  }
852
1573
  }
1574
+ /// \endcond
853
1575
 
854
1576
  private:
855
1577
 
856
1578
  Response _response;
857
1579
  };
858
1580
 
1581
+ /**
1582
+ * Creates a callback wrapper instance that delegates to your object.
1583
+ * @param instance The callback object.
1584
+ * @param cb The success method of the callback object.
1585
+ * @param excb The exception method of the callback object.
1586
+ * @param sentcb The sent method of the callback object.
1587
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::Ice::Router::begin_addProxies.
1588
+ */
859
1589
  template<class T> Callback_Router_addProxiesPtr
860
- newCallback_Router_addProxies(const IceUtil::Handle<T>& instance, void (T::*cb)(const ::Ice::ObjectProxySeq&), void (T::*excb)(const ::Ice::Exception&), void (T::*sentcb)(bool) = 0)
1590
+ newCallback_Router_addProxies(const IceUtil::Handle<T>& instance, void (T::*cb)(const ObjectProxySeq&), void (T::*excb)(const ::Ice::Exception&), void (T::*sentcb)(bool) = 0)
861
1591
  {
862
1592
  return new CallbackNC_Router_addProxies<T>(instance, cb, excb, sentcb);
863
1593
  }
864
1594
 
1595
+ /**
1596
+ * Creates a callback wrapper instance that delegates to your object.
1597
+ * @param instance The callback object.
1598
+ * @param cb The success method of the callback object.
1599
+ * @param excb The exception method of the callback object.
1600
+ * @param sentcb The sent method of the callback object.
1601
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::Ice::Router::begin_addProxies.
1602
+ */
865
1603
  template<class T> Callback_Router_addProxiesPtr
866
- newCallback_Router_addProxies(T* instance, void (T::*cb)(const ::Ice::ObjectProxySeq&), void (T::*excb)(const ::Ice::Exception&), void (T::*sentcb)(bool) = 0)
1604
+ newCallback_Router_addProxies(T* instance, void (T::*cb)(const ObjectProxySeq&), void (T::*excb)(const ::Ice::Exception&), void (T::*sentcb)(bool) = 0)
867
1605
  {
868
1606
  return new CallbackNC_Router_addProxies<T>(instance, cb, excb, sentcb);
869
1607
  }
870
1608
 
1609
+ /**
1610
+ * Type-safe asynchronous callback wrapper class with cookie support used for calls to
1611
+ * IceProxy::Ice::Router::begin_addProxies.
1612
+ * Create a wrapper instance by calling ::Ice::newCallback_Router_addProxies.
1613
+ */
871
1614
  template<class T, typename CT>
872
1615
  class Callback_Router_addProxies : public Callback_Router_addProxies_Base, public ::IceInternal::TwowayCallback<T, CT>
873
1616
  {
@@ -877,17 +1620,18 @@ public:
877
1620
 
878
1621
  typedef void (T::*Exception)(const ::Ice::Exception& , const CT&);
879
1622
  typedef void (T::*Sent)(bool , const CT&);
880
- typedef void (T::*Response)(const ::Ice::ObjectProxySeq&, const CT&);
1623
+ typedef void (T::*Response)(const ObjectProxySeq&, const CT&);
881
1624
 
882
1625
  Callback_Router_addProxies(const TPtr& obj, Response cb, Exception excb, Sent sentcb)
883
1626
  : ::IceInternal::TwowayCallback<T, CT>(obj, cb != 0, excb, sentcb), _response(cb)
884
1627
  {
885
1628
  }
886
1629
 
887
- virtual void completed(const ::Ice::AsyncResultPtr& result) const
1630
+ /// \cond INTERNAL
1631
+ virtual void completed(const AsyncResultPtr& result) const
888
1632
  {
889
- ::Ice::RouterPrx proxy = ::Ice::RouterPrx::uncheckedCast(result->getProxy());
890
- ::Ice::ObjectProxySeq ret;
1633
+ RouterPrx proxy = RouterPrx::uncheckedCast(result->getProxy());
1634
+ ObjectProxySeq ret;
891
1635
  try
892
1636
  {
893
1637
  ret = proxy->end_addProxies(result);
@@ -902,24 +1646,48 @@ public:
902
1646
  (::IceInternal::Callback<T, CT>::_callback.get()->*_response)(ret, CT::dynamicCast(result->getCookie()));
903
1647
  }
904
1648
  }
1649
+ /// \endcond
905
1650
 
906
1651
  private:
907
1652
 
908
1653
  Response _response;
909
1654
  };
910
1655
 
1656
+ /**
1657
+ * Creates a callback wrapper instance that delegates to your object.
1658
+ * Use this overload when your callback methods receive a cookie value.
1659
+ * @param instance The callback object.
1660
+ * @param cb The success method of the callback object.
1661
+ * @param excb The exception method of the callback object.
1662
+ * @param sentcb The sent method of the callback object.
1663
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::Ice::Router::begin_addProxies.
1664
+ */
911
1665
  template<class T, typename CT> Callback_Router_addProxiesPtr
912
- newCallback_Router_addProxies(const IceUtil::Handle<T>& instance, void (T::*cb)(const ::Ice::ObjectProxySeq&, const CT&), void (T::*excb)(const ::Ice::Exception&, const CT&), void (T::*sentcb)(bool, const CT&) = 0)
1666
+ 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)
913
1667
  {
914
1668
  return new Callback_Router_addProxies<T, CT>(instance, cb, excb, sentcb);
915
1669
  }
916
1670
 
1671
+ /**
1672
+ * Creates a callback wrapper instance that delegates to your object.
1673
+ * Use this overload when your callback methods receive a cookie value.
1674
+ * @param instance The callback object.
1675
+ * @param cb The success method of the callback object.
1676
+ * @param excb The exception method of the callback object.
1677
+ * @param sentcb The sent method of the callback object.
1678
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::Ice::Router::begin_addProxies.
1679
+ */
917
1680
  template<class T, typename CT> Callback_Router_addProxiesPtr
918
- newCallback_Router_addProxies(T* instance, void (T::*cb)(const ::Ice::ObjectProxySeq&, const CT&), void (T::*excb)(const ::Ice::Exception&, const CT&), void (T::*sentcb)(bool, const CT&) = 0)
1681
+ 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)
919
1682
  {
920
1683
  return new Callback_Router_addProxies<T, CT>(instance, cb, excb, sentcb);
921
1684
  }
922
1685
 
1686
+ /**
1687
+ * Type-safe asynchronous callback wrapper class used for calls to
1688
+ * IceProxy::Ice::RouterFinder::begin_getRouter.
1689
+ * Create a wrapper instance by calling ::Ice::newCallback_RouterFinder_getRouter.
1690
+ */
923
1691
  template<class T>
924
1692
  class CallbackNC_RouterFinder_getRouter : public Callback_RouterFinder_getRouter_Base, public ::IceInternal::TwowayCallbackNC<T>
925
1693
  {
@@ -929,17 +1697,18 @@ public:
929
1697
 
930
1698
  typedef void (T::*Exception)(const ::Ice::Exception&);
931
1699
  typedef void (T::*Sent)(bool);
932
- typedef void (T::*Response)(const ::Ice::RouterPrx&);
1700
+ typedef void (T::*Response)(const RouterPrx&);
933
1701
 
934
1702
  CallbackNC_RouterFinder_getRouter(const TPtr& obj, Response cb, Exception excb, Sent sentcb)
935
1703
  : ::IceInternal::TwowayCallbackNC<T>(obj, cb != 0, excb, sentcb), _response(cb)
936
1704
  {
937
1705
  }
938
1706
 
939
- virtual void completed(const ::Ice::AsyncResultPtr& result) const
1707
+ /// \cond INTERNAL
1708
+ virtual void completed(const AsyncResultPtr& result) const
940
1709
  {
941
- ::Ice::RouterFinderPrx proxy = ::Ice::RouterFinderPrx::uncheckedCast(result->getProxy());
942
- ::Ice::RouterPrx ret;
1710
+ RouterFinderPrx proxy = RouterFinderPrx::uncheckedCast(result->getProxy());
1711
+ RouterPrx ret;
943
1712
  try
944
1713
  {
945
1714
  ret = proxy->end_getRouter(result);
@@ -954,24 +1723,46 @@ public:
954
1723
  (::IceInternal::CallbackNC<T>::_callback.get()->*_response)(ret);
955
1724
  }
956
1725
  }
1726
+ /// \endcond
957
1727
 
958
1728
  private:
959
1729
 
960
1730
  Response _response;
961
1731
  };
962
1732
 
1733
+ /**
1734
+ * Creates a callback wrapper instance that delegates to your object.
1735
+ * @param instance The callback object.
1736
+ * @param cb The success method of the callback object.
1737
+ * @param excb The exception method of the callback object.
1738
+ * @param sentcb The sent method of the callback object.
1739
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::Ice::RouterFinder::begin_getRouter.
1740
+ */
963
1741
  template<class T> Callback_RouterFinder_getRouterPtr
964
- newCallback_RouterFinder_getRouter(const IceUtil::Handle<T>& instance, void (T::*cb)(const ::Ice::RouterPrx&), void (T::*excb)(const ::Ice::Exception&), void (T::*sentcb)(bool) = 0)
1742
+ newCallback_RouterFinder_getRouter(const IceUtil::Handle<T>& instance, void (T::*cb)(const RouterPrx&), void (T::*excb)(const ::Ice::Exception&), void (T::*sentcb)(bool) = 0)
965
1743
  {
966
1744
  return new CallbackNC_RouterFinder_getRouter<T>(instance, cb, excb, sentcb);
967
1745
  }
968
1746
 
1747
+ /**
1748
+ * Creates a callback wrapper instance that delegates to your object.
1749
+ * @param instance The callback object.
1750
+ * @param cb The success method of the callback object.
1751
+ * @param excb The exception method of the callback object.
1752
+ * @param sentcb The sent method of the callback object.
1753
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::Ice::RouterFinder::begin_getRouter.
1754
+ */
969
1755
  template<class T> Callback_RouterFinder_getRouterPtr
970
- newCallback_RouterFinder_getRouter(T* instance, void (T::*cb)(const ::Ice::RouterPrx&), void (T::*excb)(const ::Ice::Exception&), void (T::*sentcb)(bool) = 0)
1756
+ newCallback_RouterFinder_getRouter(T* instance, void (T::*cb)(const RouterPrx&), void (T::*excb)(const ::Ice::Exception&), void (T::*sentcb)(bool) = 0)
971
1757
  {
972
1758
  return new CallbackNC_RouterFinder_getRouter<T>(instance, cb, excb, sentcb);
973
1759
  }
974
1760
 
1761
+ /**
1762
+ * Type-safe asynchronous callback wrapper class with cookie support used for calls to
1763
+ * IceProxy::Ice::RouterFinder::begin_getRouter.
1764
+ * Create a wrapper instance by calling ::Ice::newCallback_RouterFinder_getRouter.
1765
+ */
975
1766
  template<class T, typename CT>
976
1767
  class Callback_RouterFinder_getRouter : public Callback_RouterFinder_getRouter_Base, public ::IceInternal::TwowayCallback<T, CT>
977
1768
  {
@@ -981,17 +1772,18 @@ public:
981
1772
 
982
1773
  typedef void (T::*Exception)(const ::Ice::Exception& , const CT&);
983
1774
  typedef void (T::*Sent)(bool , const CT&);
984
- typedef void (T::*Response)(const ::Ice::RouterPrx&, const CT&);
1775
+ typedef void (T::*Response)(const RouterPrx&, const CT&);
985
1776
 
986
1777
  Callback_RouterFinder_getRouter(const TPtr& obj, Response cb, Exception excb, Sent sentcb)
987
1778
  : ::IceInternal::TwowayCallback<T, CT>(obj, cb != 0, excb, sentcb), _response(cb)
988
1779
  {
989
1780
  }
990
1781
 
991
- virtual void completed(const ::Ice::AsyncResultPtr& result) const
1782
+ /// \cond INTERNAL
1783
+ virtual void completed(const AsyncResultPtr& result) const
992
1784
  {
993
- ::Ice::RouterFinderPrx proxy = ::Ice::RouterFinderPrx::uncheckedCast(result->getProxy());
994
- ::Ice::RouterPrx ret;
1785
+ RouterFinderPrx proxy = RouterFinderPrx::uncheckedCast(result->getProxy());
1786
+ RouterPrx ret;
995
1787
  try
996
1788
  {
997
1789
  ret = proxy->end_getRouter(result);
@@ -1006,20 +1798,39 @@ public:
1006
1798
  (::IceInternal::Callback<T, CT>::_callback.get()->*_response)(ret, CT::dynamicCast(result->getCookie()));
1007
1799
  }
1008
1800
  }
1801
+ /// \endcond
1009
1802
 
1010
1803
  private:
1011
1804
 
1012
1805
  Response _response;
1013
1806
  };
1014
1807
 
1808
+ /**
1809
+ * Creates a callback wrapper instance that delegates to your object.
1810
+ * Use this overload when your callback methods receive a cookie value.
1811
+ * @param instance The callback object.
1812
+ * @param cb The success method of the callback object.
1813
+ * @param excb The exception method of the callback object.
1814
+ * @param sentcb The sent method of the callback object.
1815
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::Ice::RouterFinder::begin_getRouter.
1816
+ */
1015
1817
  template<class T, typename CT> Callback_RouterFinder_getRouterPtr
1016
- newCallback_RouterFinder_getRouter(const IceUtil::Handle<T>& instance, void (T::*cb)(const ::Ice::RouterPrx&, const CT&), void (T::*excb)(const ::Ice::Exception&, const CT&), void (T::*sentcb)(bool, const CT&) = 0)
1818
+ 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)
1017
1819
  {
1018
1820
  return new Callback_RouterFinder_getRouter<T, CT>(instance, cb, excb, sentcb);
1019
1821
  }
1020
1822
 
1823
+ /**
1824
+ * Creates a callback wrapper instance that delegates to your object.
1825
+ * Use this overload when your callback methods receive a cookie value.
1826
+ * @param instance The callback object.
1827
+ * @param cb The success method of the callback object.
1828
+ * @param excb The exception method of the callback object.
1829
+ * @param sentcb The sent method of the callback object.
1830
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::Ice::RouterFinder::begin_getRouter.
1831
+ */
1021
1832
  template<class T, typename CT> Callback_RouterFinder_getRouterPtr
1022
- newCallback_RouterFinder_getRouter(T* instance, void (T::*cb)(const ::Ice::RouterPrx&, const CT&), void (T::*excb)(const ::Ice::Exception&, const CT&), void (T::*sentcb)(bool, const CT&) = 0)
1833
+ 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)
1023
1834
  {
1024
1835
  return new Callback_RouterFinder_getRouter<T, CT>(instance, cb, excb, sentcb);
1025
1836
  }