zeroc-ice 3.7.0 → 3.7.5

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