zeroc-ice 3.7.0 → 3.7.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (684) hide show
  1. checksums.yaml +4 -4
  2. data/ICE_LICENSE +1 -1
  3. data/bin/slice2rb +1 -1
  4. data/ext/Communicator.cpp +72 -2
  5. data/ext/Communicator.h +1 -1
  6. data/ext/Config.h +11 -1
  7. data/ext/Connection.cpp +22 -2
  8. data/ext/Connection.h +4 -1
  9. data/ext/Endpoint.cpp +1 -1
  10. data/ext/Endpoint.h +1 -1
  11. data/ext/ImplicitContext.cpp +1 -1
  12. data/ext/ImplicitContext.h +1 -1
  13. data/ext/Init.cpp +1 -1
  14. data/ext/Logger.cpp +1 -1
  15. data/ext/Logger.h +1 -1
  16. data/ext/Operation.cpp +1 -1
  17. data/ext/Operation.h +1 -1
  18. data/ext/Properties.cpp +1 -1
  19. data/ext/Properties.h +1 -1
  20. data/ext/Proxy.cpp +70 -1
  21. data/ext/Proxy.h +1 -1
  22. data/ext/Slice.cpp +1 -1
  23. data/ext/Slice.h +1 -1
  24. data/ext/Types.cpp +21 -5
  25. data/ext/Types.h +1 -1
  26. data/ext/Util.cpp +1 -1
  27. data/ext/Util.h +1 -1
  28. data/ext/ValueFactoryManager.cpp +2 -2
  29. data/ext/ValueFactoryManager.h +2 -2
  30. data/ext/ice/cpp/include/Ice/Application.h +234 -76
  31. data/ext/ice/cpp/include/Ice/AsyncResult.h +77 -1
  32. data/ext/ice/cpp/include/Ice/AsyncResultF.h +1 -1
  33. data/ext/ice/cpp/include/Ice/BatchRequestInterceptor.h +35 -2
  34. data/ext/ice/cpp/include/Ice/BatchRequestQueueF.h +1 -1
  35. data/ext/ice/cpp/include/Ice/Buffer.h +1 -1
  36. data/ext/ice/cpp/include/Ice/CommunicatorAsync.h +43 -1
  37. data/ext/ice/cpp/include/Ice/Comparable.h +81 -1
  38. data/ext/ice/cpp/include/Ice/Config.h +8 -1
  39. data/ext/ice/cpp/include/Ice/ConnectionAsync.h +97 -1
  40. data/ext/ice/cpp/include/Ice/ConnectionIF.h +3 -1
  41. data/ext/ice/cpp/include/Ice/ConsoleUtil.h +1 -1
  42. data/ext/ice/cpp/include/Ice/DefaultValueFactory.h +1 -1
  43. data/ext/ice/cpp/include/Ice/DispatchInterceptor.h +17 -2
  44. data/ext/ice/cpp/include/Ice/Dispatcher.h +22 -2
  45. data/ext/ice/cpp/include/Ice/DynamicLibrary.h +1 -1
  46. data/ext/ice/cpp/include/Ice/DynamicLibraryF.h +1 -1
  47. data/ext/ice/cpp/include/Ice/Exception.h +57 -15
  48. data/ext/ice/cpp/include/Ice/ExceptionHelpers.h +19 -1
  49. data/ext/ice/cpp/include/Ice/FactoryTable.h +12 -2
  50. data/ext/ice/cpp/include/Ice/FactoryTableInit.h +1 -1
  51. data/ext/ice/cpp/include/Ice/Format.h +13 -14
  52. data/ext/ice/cpp/include/Ice/Functional.h +6 -1
  53. data/ext/ice/cpp/include/Ice/GCObject.h +1 -1
  54. data/ext/ice/cpp/include/Ice/Handle.h +1 -1
  55. data/ext/ice/cpp/include/Ice/Ice.h +1 -1
  56. data/ext/ice/cpp/include/Ice/IconvStringConverter.h +38 -3
  57. data/ext/ice/cpp/include/Ice/Incoming.h +15 -2
  58. data/ext/ice/cpp/include/Ice/IncomingAsync.h +37 -4
  59. data/ext/ice/cpp/include/Ice/IncomingAsyncF.h +1 -1
  60. data/ext/ice/cpp/include/Ice/Initialize.h +764 -98
  61. data/ext/ice/cpp/include/Ice/InputStream.h +637 -112
  62. data/ext/ice/cpp/include/Ice/InstanceF.h +1 -1
  63. data/ext/ice/cpp/include/Ice/InterfaceByValue.h +17 -1
  64. data/ext/ice/cpp/include/Ice/LocalObject.h +5 -1
  65. data/ext/ice/cpp/include/Ice/LocalObjectF.h +1 -1
  66. data/ext/ice/cpp/include/Ice/LoggerUtil.h +37 -6
  67. data/ext/ice/cpp/include/Ice/MetricsAdminI.h +3 -1
  68. data/ext/ice/cpp/include/Ice/MetricsFunctional.h +3 -1
  69. data/ext/ice/cpp/include/Ice/MetricsObserverI.h +3 -1
  70. data/ext/ice/cpp/include/Ice/NativePropertiesAdmin.h +46 -23
  71. data/ext/ice/cpp/include/Ice/Object.h +338 -47
  72. data/ext/ice/cpp/include/Ice/ObjectF.h +5 -1
  73. data/ext/ice/cpp/include/Ice/ObserverHelper.h +1 -1
  74. data/ext/ice/cpp/include/Ice/Optional.h +22 -6
  75. data/ext/ice/cpp/include/Ice/OutgoingAsync.h +15 -1
  76. data/ext/ice/cpp/include/Ice/OutgoingAsyncF.h +1 -1
  77. data/ext/ice/cpp/include/Ice/OutputStream.h +436 -92
  78. data/ext/ice/cpp/include/Ice/Protocol.h +31 -1
  79. data/ext/ice/cpp/include/Ice/Proxy.h +2244 -190
  80. data/ext/ice/cpp/include/Ice/ProxyF.h +3 -1
  81. data/ext/ice/cpp/include/Ice/ProxyFactoryF.h +1 -1
  82. data/ext/ice/cpp/include/Ice/ProxyHandle.h +10 -1
  83. data/ext/ice/cpp/include/Ice/ReferenceF.h +1 -1
  84. data/ext/ice/cpp/include/Ice/RegisterPlugins.h +67 -9
  85. data/ext/ice/cpp/include/Ice/RequestHandlerF.h +1 -1
  86. data/ext/ice/cpp/include/Ice/ResponseHandlerF.h +1 -1
  87. data/ext/ice/cpp/include/Ice/SHA1.h +1 -1
  88. data/ext/ice/cpp/include/Ice/ServantManagerF.h +1 -1
  89. data/ext/ice/cpp/include/Ice/Service.h +267 -138
  90. data/ext/ice/cpp/include/Ice/SliceChecksums.h +5 -1
  91. data/ext/ice/cpp/include/Ice/SlicedData.h +80 -33
  92. data/ext/ice/cpp/include/Ice/SlicedDataF.h +4 -1
  93. data/ext/ice/cpp/include/Ice/StreamHelpers.h +324 -116
  94. data/ext/ice/cpp/include/Ice/StringConverter.h +32 -1
  95. data/ext/ice/cpp/include/Ice/ThreadPoolF.h +1 -1
  96. data/ext/ice/cpp/include/Ice/UUID.h +2 -1
  97. data/ext/ice/cpp/include/Ice/UniquePtr.h +2 -2
  98. data/ext/ice/cpp/include/Ice/UniqueRef.h +6 -2
  99. data/ext/ice/cpp/include/Ice/UserExceptionFactory.h +6 -1
  100. data/ext/ice/cpp/include/Ice/Value.h +41 -1
  101. data/ext/ice/cpp/include/Ice/ValueF.h +3 -1
  102. data/ext/ice/cpp/include/IceSSL/Config.h +1 -1
  103. data/ext/ice/cpp/include/IceSSL/IceSSL.h +1 -1
  104. data/ext/ice/cpp/include/IceSSL/OpenSSL.h +75 -53
  105. data/ext/ice/cpp/include/IceSSL/Plugin.h +323 -218
  106. data/ext/ice/cpp/include/IceSSL/SChannel.h +34 -27
  107. data/ext/ice/cpp/include/IceSSL/SecureTransport.h +35 -28
  108. data/ext/ice/cpp/include/IceSSL/UWP.h +33 -24
  109. data/ext/ice/cpp/include/IceUtil/Atomic.h +1 -1
  110. data/ext/ice/cpp/include/IceUtil/Cond.h +1 -1
  111. data/ext/ice/cpp/include/IceUtil/Config.h +11 -3
  112. data/ext/ice/cpp/include/IceUtil/ConsoleUtil.h +1 -1
  113. data/ext/ice/cpp/include/IceUtil/CountDownLatch.h +1 -1
  114. data/ext/ice/cpp/include/IceUtil/CtrlCHandler.h +59 -31
  115. data/ext/ice/cpp/include/IceUtil/DisableWarnings.h +1 -1
  116. data/ext/ice/cpp/include/IceUtil/Exception.h +1 -1
  117. data/ext/ice/cpp/include/IceUtil/FileUtil.h +1 -1
  118. data/ext/ice/cpp/include/IceUtil/Functional.h +1 -1
  119. data/ext/ice/cpp/include/IceUtil/Handle.h +1 -1
  120. data/ext/ice/cpp/include/IceUtil/IceUtil.h +1 -1
  121. data/ext/ice/cpp/include/IceUtil/InputUtil.h +1 -1
  122. data/ext/ice/cpp/include/IceUtil/Iterator.h +1 -1
  123. data/ext/ice/cpp/include/IceUtil/Lock.h +1 -1
  124. data/ext/ice/cpp/include/IceUtil/Monitor.h +1 -1
  125. data/ext/ice/cpp/include/IceUtil/Mutex.h +2 -5
  126. data/ext/ice/cpp/include/IceUtil/MutexProtocol.h +1 -1
  127. data/ext/ice/cpp/include/IceUtil/MutexPtrLock.h +1 -1
  128. data/ext/ice/cpp/include/IceUtil/MutexPtrTryLock.h +1 -1
  129. data/ext/ice/cpp/include/IceUtil/Optional.h +95 -1
  130. data/ext/ice/cpp/include/IceUtil/Options.h +1 -1
  131. data/ext/ice/cpp/include/IceUtil/OutputUtil.h +1 -1
  132. data/ext/ice/cpp/include/IceUtil/PopDisableWarnings.h +1 -1
  133. data/ext/ice/cpp/include/IceUtil/PushDisableWarnings.h +1 -1
  134. data/ext/ice/cpp/include/IceUtil/Random.h +1 -1
  135. data/ext/ice/cpp/include/IceUtil/RecMutex.h +1 -1
  136. data/ext/ice/cpp/include/IceUtil/ResourceConfig.h +4 -4
  137. data/ext/ice/cpp/include/IceUtil/ScannerConfig.h +5 -3
  138. data/ext/ice/cpp/include/IceUtil/ScopedArray.h +1 -1
  139. data/ext/ice/cpp/include/IceUtil/Shared.h +1 -1
  140. data/ext/ice/cpp/include/IceUtil/StopWatch.h +1 -1
  141. data/ext/ice/cpp/include/IceUtil/StringConverter.h +106 -86
  142. data/ext/ice/cpp/include/IceUtil/StringUtil.h +1 -1
  143. data/ext/ice/cpp/include/IceUtil/Thread.h +1 -1
  144. data/ext/ice/cpp/include/IceUtil/ThreadException.h +1 -1
  145. data/ext/ice/cpp/include/IceUtil/Time.h +1 -1
  146. data/ext/ice/cpp/include/IceUtil/Timer.h +5 -1
  147. data/ext/ice/cpp/include/IceUtil/UUID.h +5 -1
  148. data/ext/ice/cpp/include/IceUtil/UndefSysMacros.h +1 -1
  149. data/ext/ice/cpp/include/generated/Ice/BuiltinSequences.h +80 -20
  150. data/ext/ice/cpp/include/generated/Ice/Communicator.h +927 -130
  151. data/ext/ice/cpp/include/generated/Ice/CommunicatorF.h +13 -5
  152. data/ext/ice/cpp/include/generated/Ice/Connection.h +990 -194
  153. data/ext/ice/cpp/include/generated/Ice/ConnectionF.h +21 -9
  154. data/ext/ice/cpp/include/generated/Ice/Current.h +180 -17
  155. data/ext/ice/cpp/include/generated/Ice/Endpoint.h +484 -118
  156. data/ext/ice/cpp/include/generated/Ice/EndpointF.h +41 -17
  157. data/ext/ice/cpp/include/generated/Ice/EndpointTypes.h +29 -3
  158. data/ext/ice/cpp/include/generated/Ice/FacetMap.h +11 -5
  159. data/ext/ice/cpp/include/generated/Ice/Identity.h +56 -7
  160. data/ext/ice/cpp/include/generated/Ice/ImplicitContext.h +150 -28
  161. data/ext/ice/cpp/include/generated/Ice/ImplicitContextF.h +13 -5
  162. data/ext/ice/cpp/include/generated/Ice/Instrumentation.h +629 -83
  163. data/ext/ice/cpp/include/generated/Ice/InstrumentationF.h +19 -7
  164. data/ext/ice/cpp/include/generated/Ice/LocalException.h +5104 -794
  165. data/ext/ice/cpp/include/generated/Ice/Locator.h +2222 -443
  166. data/ext/ice/cpp/include/generated/Ice/LocatorF.h +27 -9
  167. data/ext/ice/cpp/include/generated/Ice/Logger.h +104 -26
  168. data/ext/ice/cpp/include/generated/Ice/LoggerF.h +13 -5
  169. data/ext/ice/cpp/include/generated/Ice/Metrics.h +2534 -455
  170. data/ext/ice/cpp/include/generated/Ice/ObjectAdapter.h +1004 -126
  171. data/ext/ice/cpp/include/generated/Ice/ObjectAdapterF.h +13 -5
  172. data/ext/ice/cpp/include/generated/Ice/ObjectFactory.h +72 -12
  173. data/ext/ice/cpp/include/generated/Ice/Plugin.h +142 -28
  174. data/ext/ice/cpp/include/generated/Ice/PluginF.h +17 -7
  175. data/ext/ice/cpp/include/generated/Ice/Process.h +511 -71
  176. data/ext/ice/cpp/include/generated/Ice/ProcessF.h +18 -6
  177. data/ext/ice/cpp/include/generated/Ice/Properties.h +306 -58
  178. data/ext/ice/cpp/include/generated/Ice/PropertiesAdmin.h +737 -121
  179. data/ext/ice/cpp/include/generated/Ice/PropertiesF.h +22 -8
  180. data/ext/ice/cpp/include/generated/Ice/RemoteLogger.h +1526 -279
  181. data/ext/ice/cpp/include/generated/Ice/Router.h +1009 -198
  182. data/ext/ice/cpp/include/generated/Ice/RouterF.h +18 -6
  183. data/ext/ice/cpp/include/generated/Ice/ServantLocator.h +174 -18
  184. data/ext/ice/cpp/include/generated/Ice/ServantLocatorF.h +13 -5
  185. data/ext/ice/cpp/include/generated/Ice/SliceChecksumDict.h +13 -3
  186. data/ext/ice/cpp/include/generated/Ice/ValueFactory.h +177 -23
  187. data/ext/ice/cpp/include/generated/Ice/Version.h +43 -13
  188. data/ext/ice/cpp/include/generated/IceSSL/ConnectionInfo.h +71 -15
  189. data/ext/ice/cpp/include/generated/IceSSL/ConnectionInfoF.h +13 -5
  190. data/ext/ice/cpp/include/generated/IceSSL/EndpointInfo.h +39 -9
  191. data/ext/ice/cpp/src/Ice/ACM.cpp +12 -3
  192. data/ext/ice/cpp/src/Ice/ACM.h +1 -1
  193. data/ext/ice/cpp/src/Ice/ACMF.h +1 -1
  194. data/ext/ice/cpp/src/Ice/Acceptor.cpp +1 -1
  195. data/ext/ice/cpp/src/Ice/Acceptor.h +1 -1
  196. data/ext/ice/cpp/src/Ice/AcceptorF.h +1 -1
  197. data/ext/ice/cpp/src/Ice/ArgVector.cpp +1 -1
  198. data/ext/ice/cpp/src/Ice/ArgVector.h +1 -1
  199. data/ext/ice/cpp/src/Ice/AsyncResult.cpp +1 -1
  200. data/ext/ice/cpp/src/Ice/Base64.cpp +1 -1
  201. data/ext/ice/cpp/src/Ice/Base64.h +1 -1
  202. data/ext/ice/cpp/src/Ice/BatchRequestQueue.cpp +1 -1
  203. data/ext/ice/cpp/src/Ice/BatchRequestQueue.h +1 -1
  204. data/ext/ice/cpp/src/Ice/Buffer.cpp +1 -1
  205. data/ext/ice/cpp/src/Ice/BuiltinSequences.cpp +3 -3
  206. data/ext/ice/cpp/src/Ice/CollocatedRequestHandler.cpp +1 -1
  207. data/ext/ice/cpp/src/Ice/CollocatedRequestHandler.h +1 -1
  208. data/ext/ice/cpp/src/Ice/Communicator.cpp +6 -4
  209. data/ext/ice/cpp/src/Ice/CommunicatorF.cpp +3 -3
  210. data/ext/ice/cpp/src/Ice/CommunicatorI.cpp +34 -13
  211. data/ext/ice/cpp/src/Ice/CommunicatorI.h +10 -10
  212. data/ext/ice/cpp/src/Ice/Cond.cpp +1 -1
  213. data/ext/ice/cpp/src/Ice/ConnectRequestHandler.cpp +11 -6
  214. data/ext/ice/cpp/src/Ice/ConnectRequestHandler.h +1 -1
  215. data/ext/ice/cpp/src/Ice/ConnectRequestHandlerF.h +1 -1
  216. data/ext/ice/cpp/src/Ice/Connection.cpp +27 -11
  217. data/ext/ice/cpp/src/Ice/ConnectionF.cpp +3 -3
  218. data/ext/ice/cpp/src/Ice/ConnectionFactory.cpp +24 -19
  219. data/ext/ice/cpp/src/Ice/ConnectionFactory.h +1 -1
  220. data/ext/ice/cpp/src/Ice/ConnectionFactoryF.h +1 -1
  221. data/ext/ice/cpp/src/Ice/ConnectionI.cpp +45 -37
  222. data/ext/ice/cpp/src/Ice/ConnectionI.h +10 -8
  223. data/ext/ice/cpp/src/Ice/ConnectionRequestHandler.cpp +1 -1
  224. data/ext/ice/cpp/src/Ice/ConnectionRequestHandler.h +1 -1
  225. data/ext/ice/cpp/src/Ice/Connector.cpp +1 -1
  226. data/ext/ice/cpp/src/Ice/Connector.h +1 -1
  227. data/ext/ice/cpp/src/Ice/ConnectorF.h +1 -1
  228. data/ext/ice/cpp/src/Ice/CountDownLatch.cpp +1 -1
  229. data/ext/ice/cpp/src/Ice/Current.cpp +3 -3
  230. data/ext/ice/cpp/src/Ice/DefaultsAndOverrides.cpp +5 -7
  231. data/ext/ice/cpp/src/Ice/DefaultsAndOverrides.h +1 -1
  232. data/ext/ice/cpp/src/Ice/DefaultsAndOverridesF.h +1 -1
  233. data/ext/ice/cpp/src/Ice/DispatchInterceptor.cpp +1 -1
  234. data/ext/ice/cpp/src/Ice/DynamicLibrary.cpp +1 -1
  235. data/ext/ice/cpp/src/Ice/Endpoint.cpp +24 -10
  236. data/ext/ice/cpp/src/Ice/EndpointF.cpp +3 -3
  237. data/ext/ice/cpp/src/Ice/EndpointFactory.cpp +1 -1
  238. data/ext/ice/cpp/src/Ice/EndpointFactory.h +1 -1
  239. data/ext/ice/cpp/src/Ice/EndpointFactoryF.h +1 -1
  240. data/ext/ice/cpp/src/Ice/EndpointFactoryManager.cpp +7 -13
  241. data/ext/ice/cpp/src/Ice/EndpointFactoryManager.h +1 -1
  242. data/ext/ice/cpp/src/Ice/EndpointFactoryManagerF.h +1 -1
  243. data/ext/ice/cpp/src/Ice/EndpointI.cpp +2 -2
  244. data/ext/ice/cpp/src/Ice/EndpointI.h +5 -5
  245. data/ext/ice/cpp/src/Ice/EndpointIF.h +1 -1
  246. data/ext/ice/cpp/src/Ice/EndpointTypes.cpp +3 -3
  247. data/ext/ice/cpp/src/Ice/EventHandler.cpp +1 -1
  248. data/ext/ice/cpp/src/Ice/EventHandler.h +1 -1
  249. data/ext/ice/cpp/src/Ice/EventHandlerF.h +1 -1
  250. data/ext/ice/cpp/src/Ice/Exception.cpp +1 -1
  251. data/ext/ice/cpp/src/Ice/FacetMap.cpp +3 -3
  252. data/ext/ice/cpp/src/Ice/FactoryTable.cpp +1 -1
  253. data/ext/ice/cpp/src/Ice/FactoryTableInit.cpp +1 -1
  254. data/ext/ice/cpp/src/Ice/GCObject.cpp +1 -1
  255. data/ext/ice/cpp/src/Ice/HashUtil.h +1 -1
  256. data/ext/ice/cpp/src/Ice/HttpParser.cpp +1 -1
  257. data/ext/ice/cpp/src/Ice/HttpParser.h +1 -1
  258. data/ext/ice/cpp/src/Ice/IPEndpointI.cpp +24 -29
  259. data/ext/ice/cpp/src/Ice/IPEndpointI.h +5 -5
  260. data/ext/ice/cpp/src/Ice/IPEndpointIF.h +1 -1
  261. data/ext/ice/cpp/src/Ice/IconvStringConverter.cpp +1 -1
  262. data/ext/ice/cpp/src/Ice/Identity.cpp +3 -3
  263. data/ext/ice/cpp/src/Ice/ImplicitContext.cpp +6 -4
  264. data/ext/ice/cpp/src/Ice/ImplicitContextF.cpp +3 -3
  265. data/ext/ice/cpp/src/Ice/ImplicitContextI.cpp +2 -13
  266. data/ext/ice/cpp/src/Ice/ImplicitContextI.h +1 -1
  267. data/ext/ice/cpp/src/Ice/Incoming.cpp +1 -1
  268. data/ext/ice/cpp/src/Ice/IncomingAsync.cpp +1 -1
  269. data/ext/ice/cpp/src/Ice/IncomingRequest.h +1 -1
  270. data/ext/ice/cpp/src/Ice/Initialize.cpp +10 -16
  271. data/ext/ice/cpp/src/Ice/InputStream.cpp +1 -1
  272. data/ext/ice/cpp/src/Ice/Instance.cpp +13 -34
  273. data/ext/ice/cpp/src/Ice/Instance.h +1 -1
  274. data/ext/ice/cpp/src/Ice/Instrumentation.cpp +33 -13
  275. data/ext/ice/cpp/src/Ice/InstrumentationF.cpp +3 -3
  276. data/ext/ice/cpp/src/Ice/InstrumentationI.cpp +1 -1
  277. data/ext/ice/cpp/src/Ice/InstrumentationI.h +1 -1
  278. data/ext/ice/cpp/src/Ice/LocalException.cpp +279 -279
  279. data/ext/ice/cpp/src/Ice/LocalObject.cpp +1 -1
  280. data/ext/ice/cpp/src/Ice/Locator.cpp +287 -174
  281. data/ext/ice/cpp/src/Ice/LocatorF.cpp +3 -3
  282. data/ext/ice/cpp/src/Ice/LocatorInfo.cpp +4 -9
  283. data/ext/ice/cpp/src/Ice/LocatorInfo.h +1 -1
  284. data/ext/ice/cpp/src/Ice/LocatorInfoF.h +1 -1
  285. data/ext/ice/cpp/src/Ice/Logger.cpp +6 -4
  286. data/ext/ice/cpp/src/Ice/LoggerAdminI.cpp +1 -1
  287. data/ext/ice/cpp/src/Ice/LoggerAdminI.h +1 -1
  288. data/ext/ice/cpp/src/Ice/LoggerF.cpp +3 -3
  289. data/ext/ice/cpp/src/Ice/LoggerI.cpp +1 -1
  290. data/ext/ice/cpp/src/Ice/LoggerI.h +1 -1
  291. data/ext/ice/cpp/src/Ice/LoggerUtil.cpp +1 -1
  292. data/ext/ice/cpp/src/Ice/Metrics.cpp +297 -109
  293. data/ext/ice/cpp/src/Ice/MetricsAdminI.cpp +2 -7
  294. data/ext/ice/cpp/src/Ice/MetricsObserverI.cpp +1 -1
  295. data/ext/ice/cpp/src/Ice/Network.cpp +188 -225
  296. data/ext/ice/cpp/src/Ice/Network.h +3 -12
  297. data/ext/ice/cpp/src/Ice/NetworkF.h +1 -1
  298. data/ext/ice/cpp/src/Ice/NetworkProxy.cpp +1 -1
  299. data/ext/ice/cpp/src/Ice/NetworkProxy.h +1 -1
  300. data/ext/ice/cpp/src/Ice/NetworkProxyF.h +1 -1
  301. data/ext/ice/cpp/src/Ice/Object.cpp +7 -4
  302. data/ext/ice/cpp/src/Ice/ObjectAdapter.cpp +6 -4
  303. data/ext/ice/cpp/src/Ice/ObjectAdapterF.cpp +3 -3
  304. data/ext/ice/cpp/src/Ice/ObjectAdapterFactory.cpp +53 -19
  305. data/ext/ice/cpp/src/Ice/ObjectAdapterFactory.h +1 -1
  306. data/ext/ice/cpp/src/Ice/ObjectAdapterFactoryF.h +1 -1
  307. data/ext/ice/cpp/src/Ice/ObjectAdapterI.cpp +116 -150
  308. data/ext/ice/cpp/src/Ice/ObjectAdapterI.h +11 -11
  309. data/ext/ice/cpp/src/Ice/ObjectFactory.cpp +6 -4
  310. data/ext/ice/cpp/src/Ice/ObserverHelper.cpp +1 -1
  311. data/ext/ice/cpp/src/Ice/OpaqueEndpointI.cpp +25 -42
  312. data/ext/ice/cpp/src/Ice/OpaqueEndpointI.h +2 -2
  313. data/ext/ice/cpp/src/Ice/OutgoingAsync.cpp +1 -1
  314. data/ext/ice/cpp/src/Ice/OutputStream.cpp +1 -1
  315. data/ext/ice/cpp/src/Ice/Plugin.cpp +9 -5
  316. data/ext/ice/cpp/src/Ice/PluginF.cpp +3 -3
  317. data/ext/ice/cpp/src/Ice/PluginManagerI.cpp +15 -34
  318. data/ext/ice/cpp/src/Ice/PluginManagerI.h +3 -3
  319. data/ext/ice/cpp/src/Ice/Process.cpp +69 -40
  320. data/ext/ice/cpp/src/Ice/ProcessF.cpp +3 -3
  321. data/ext/ice/cpp/src/Ice/Properties.cpp +6 -4
  322. data/ext/ice/cpp/src/Ice/PropertiesAdmin.cpp +89 -54
  323. data/ext/ice/cpp/src/Ice/PropertiesAdminI.cpp +1 -1
  324. data/ext/ice/cpp/src/Ice/PropertiesAdminI.h +1 -1
  325. data/ext/ice/cpp/src/Ice/PropertiesF.cpp +3 -3
  326. data/ext/ice/cpp/src/Ice/PropertiesI.cpp +15 -21
  327. data/ext/ice/cpp/src/Ice/PropertiesI.h +10 -10
  328. data/ext/ice/cpp/src/Ice/PropertyNames.cpp +4 -2
  329. data/ext/ice/cpp/src/Ice/PropertyNames.h +2 -2
  330. data/ext/ice/cpp/src/Ice/Protocol.cpp +5 -13
  331. data/ext/ice/cpp/src/Ice/ProtocolInstance.cpp +1 -1
  332. data/ext/ice/cpp/src/Ice/ProtocolInstance.h +1 -1
  333. data/ext/ice/cpp/src/Ice/ProtocolInstanceF.h +1 -1
  334. data/ext/ice/cpp/src/Ice/ProtocolPluginFacade.cpp +1 -1
  335. data/ext/ice/cpp/src/Ice/ProtocolPluginFacade.h +1 -1
  336. data/ext/ice/cpp/src/Ice/ProtocolPluginFacadeF.h +1 -1
  337. data/ext/ice/cpp/src/Ice/Proxy.cpp +46 -1
  338. data/ext/ice/cpp/src/Ice/ProxyFactory.cpp +1 -1
  339. data/ext/ice/cpp/src/Ice/ProxyFactory.h +1 -1
  340. data/ext/ice/cpp/src/Ice/Reference.cpp +56 -6
  341. data/ext/ice/cpp/src/Ice/Reference.h +13 -2
  342. data/ext/ice/cpp/src/Ice/ReferenceFactory.cpp +51 -90
  343. data/ext/ice/cpp/src/Ice/ReferenceFactory.h +1 -1
  344. data/ext/ice/cpp/src/Ice/ReferenceFactoryF.h +1 -1
  345. data/ext/ice/cpp/src/Ice/RegisterPluginsInit.cpp +1 -1
  346. data/ext/ice/cpp/src/Ice/RegisterPluginsInit.h +1 -1
  347. data/ext/ice/cpp/src/Ice/RemoteLogger.cpp +203 -117
  348. data/ext/ice/cpp/src/Ice/ReplyStatus.h +1 -1
  349. data/ext/ice/cpp/src/Ice/RequestHandler.cpp +1 -1
  350. data/ext/ice/cpp/src/Ice/RequestHandler.h +1 -1
  351. data/ext/ice/cpp/src/Ice/RequestHandlerFactory.cpp +1 -1
  352. data/ext/ice/cpp/src/Ice/RequestHandlerFactory.h +1 -1
  353. data/ext/ice/cpp/src/Ice/ResponseHandler.cpp +1 -1
  354. data/ext/ice/cpp/src/Ice/ResponseHandler.h +1 -1
  355. data/ext/ice/cpp/src/Ice/RetryQueue.cpp +1 -1
  356. data/ext/ice/cpp/src/Ice/RetryQueue.h +1 -1
  357. data/ext/ice/cpp/src/Ice/RetryQueueF.h +1 -1
  358. data/ext/ice/cpp/src/Ice/Router.cpp +167 -89
  359. data/ext/ice/cpp/src/Ice/RouterF.cpp +3 -3
  360. data/ext/ice/cpp/src/Ice/RouterInfo.cpp +6 -28
  361. data/ext/ice/cpp/src/Ice/RouterInfo.h +1 -3
  362. data/ext/ice/cpp/src/Ice/RouterInfoF.h +1 -1
  363. data/ext/ice/cpp/src/Ice/SHA1.cpp +1 -1
  364. data/ext/ice/cpp/src/Ice/Selector.cpp +19 -26
  365. data/ext/ice/cpp/src/Ice/Selector.h +1 -1
  366. data/ext/ice/cpp/src/Ice/ServantLocator.cpp +6 -4
  367. data/ext/ice/cpp/src/Ice/ServantLocatorF.cpp +3 -3
  368. data/ext/ice/cpp/src/Ice/ServantManager.cpp +15 -31
  369. data/ext/ice/cpp/src/Ice/ServantManager.h +1 -1
  370. data/ext/ice/cpp/src/Ice/SharedContext.h +1 -1
  371. data/ext/ice/cpp/src/Ice/SliceChecksumDict.cpp +3 -3
  372. data/ext/ice/cpp/src/Ice/SliceChecksums.cpp +1 -1
  373. data/ext/ice/cpp/src/Ice/SlicedData.cpp +1 -1
  374. data/ext/ice/cpp/src/Ice/StreamSocket.cpp +32 -52
  375. data/ext/ice/cpp/src/Ice/StreamSocket.h +1 -1
  376. data/ext/ice/cpp/src/Ice/StringConverterPlugin.cpp +10 -1
  377. data/ext/ice/cpp/src/Ice/StringUtil.h +1 -1
  378. data/ext/ice/cpp/src/Ice/SysLoggerI.cpp +1 -1
  379. data/ext/ice/cpp/src/Ice/SysLoggerI.h +1 -1
  380. data/ext/ice/cpp/src/Ice/TcpAcceptor.cpp +5 -13
  381. data/ext/ice/cpp/src/Ice/TcpAcceptor.h +1 -1
  382. data/ext/ice/cpp/src/Ice/TcpConnector.cpp +1 -1
  383. data/ext/ice/cpp/src/Ice/TcpConnector.h +1 -1
  384. data/ext/ice/cpp/src/Ice/TcpEndpointI.cpp +8 -11
  385. data/ext/ice/cpp/src/Ice/TcpEndpointI.h +2 -2
  386. data/ext/ice/cpp/src/Ice/TcpTransceiver.cpp +1 -1
  387. data/ext/ice/cpp/src/Ice/TcpTransceiver.h +1 -1
  388. data/ext/ice/cpp/src/Ice/Thread.cpp +1 -1
  389. data/ext/ice/cpp/src/Ice/ThreadPool.cpp +13 -13
  390. data/ext/ice/cpp/src/Ice/ThreadPool.h +1 -1
  391. data/ext/ice/cpp/src/Ice/Timer.cpp +1 -1
  392. data/ext/ice/cpp/src/Ice/TraceLevels.cpp +1 -1
  393. data/ext/ice/cpp/src/Ice/TraceLevels.h +1 -1
  394. data/ext/ice/cpp/src/Ice/TraceLevelsF.h +1 -1
  395. data/ext/ice/cpp/src/Ice/TraceUtil.cpp +1 -1
  396. data/ext/ice/cpp/src/Ice/TraceUtil.h +1 -1
  397. data/ext/ice/cpp/src/Ice/Transceiver.cpp +1 -1
  398. data/ext/ice/cpp/src/Ice/Transceiver.h +1 -1
  399. data/ext/ice/cpp/src/Ice/TransceiverF.h +1 -1
  400. data/ext/ice/cpp/src/Ice/UdpConnector.cpp +1 -1
  401. data/ext/ice/cpp/src/Ice/UdpConnector.h +1 -1
  402. data/ext/ice/cpp/src/Ice/UdpEndpointI.cpp +19 -27
  403. data/ext/ice/cpp/src/Ice/UdpEndpointI.h +2 -2
  404. data/ext/ice/cpp/src/Ice/UdpTransceiver.cpp +17 -54
  405. data/ext/ice/cpp/src/Ice/UdpTransceiver.h +1 -1
  406. data/ext/ice/cpp/src/Ice/Value.cpp +1 -1
  407. data/ext/ice/cpp/src/Ice/ValueFactory.cpp +9 -5
  408. data/ext/ice/cpp/src/Ice/ValueFactoryManagerI.cpp +3 -6
  409. data/ext/ice/cpp/src/Ice/ValueFactoryManagerI.h +2 -2
  410. data/ext/ice/cpp/src/Ice/Version.cpp +3 -3
  411. data/ext/ice/cpp/src/Ice/VirtualShared.h +1 -1
  412. data/ext/ice/cpp/src/Ice/WSAcceptor.cpp +1 -1
  413. data/ext/ice/cpp/src/Ice/WSAcceptor.h +1 -1
  414. data/ext/ice/cpp/src/Ice/WSConnector.cpp +1 -1
  415. data/ext/ice/cpp/src/Ice/WSConnector.h +1 -1
  416. data/ext/ice/cpp/src/Ice/WSEndpoint.cpp +4 -5
  417. data/ext/ice/cpp/src/Ice/WSEndpoint.h +2 -2
  418. data/ext/ice/cpp/src/Ice/WSTransceiver.cpp +8 -9
  419. data/ext/ice/cpp/src/Ice/WSTransceiver.h +1 -1
  420. data/ext/ice/cpp/src/IceDiscovery/IceDiscovery.cpp +85 -27
  421. data/ext/ice/cpp/src/IceDiscovery/IceDiscovery.h +599 -113
  422. data/ext/ice/cpp/src/IceDiscovery/LocatorI.cpp +1 -1
  423. data/ext/ice/cpp/src/IceDiscovery/LocatorI.h +1 -1
  424. data/ext/ice/cpp/src/IceDiscovery/LookupI.cpp +1 -1
  425. data/ext/ice/cpp/src/IceDiscovery/LookupI.h +1 -1
  426. data/ext/ice/cpp/src/IceDiscovery/PluginI.cpp +1 -1
  427. data/ext/ice/cpp/src/IceDiscovery/PluginI.h +1 -1
  428. data/ext/ice/cpp/src/IceLocatorDiscovery/IceLocatorDiscovery.cpp +70 -24
  429. data/ext/ice/cpp/src/IceLocatorDiscovery/IceLocatorDiscovery.h +635 -69
  430. data/ext/ice/cpp/src/IceLocatorDiscovery/Plugin.h +1 -1
  431. data/ext/ice/cpp/src/IceLocatorDiscovery/PluginI.cpp +71 -9
  432. data/ext/ice/cpp/src/IceSSL/AcceptorI.cpp +2 -4
  433. data/ext/ice/cpp/src/IceSSL/AcceptorI.h +1 -1
  434. data/ext/ice/cpp/src/IceSSL/CertificateI.cpp +1 -1
  435. data/ext/ice/cpp/src/IceSSL/CertificateI.h +1 -1
  436. data/ext/ice/cpp/src/IceSSL/ConnectionInfo.cpp +6 -4
  437. data/ext/ice/cpp/src/IceSSL/ConnectionInfoF.cpp +3 -3
  438. data/ext/ice/cpp/src/IceSSL/ConnectorI.cpp +2 -4
  439. data/ext/ice/cpp/src/IceSSL/ConnectorI.h +1 -1
  440. data/ext/ice/cpp/src/IceSSL/EndpointI.cpp +2 -2
  441. data/ext/ice/cpp/src/IceSSL/EndpointI.h +2 -2
  442. data/ext/ice/cpp/src/IceSSL/EndpointInfo.cpp +6 -4
  443. data/ext/ice/cpp/src/IceSSL/Instance.cpp +1 -1
  444. data/ext/ice/cpp/src/IceSSL/Instance.h +1 -1
  445. data/ext/ice/cpp/src/IceSSL/InstanceF.h +1 -1
  446. data/ext/ice/cpp/src/IceSSL/OpenSSLCertificateI.cpp +1 -1
  447. data/ext/ice/cpp/src/IceSSL/OpenSSLEngine.cpp +1 -1
  448. data/ext/ice/cpp/src/IceSSL/OpenSSLEngine.h +1 -1
  449. data/ext/ice/cpp/src/IceSSL/OpenSSLEngineF.h +1 -1
  450. data/ext/ice/cpp/src/IceSSL/OpenSSLPluginI.cpp +1 -1
  451. data/ext/ice/cpp/src/IceSSL/OpenSSLTransceiverI.cpp +25 -62
  452. data/ext/ice/cpp/src/IceSSL/OpenSSLTransceiverI.h +1 -1
  453. data/ext/ice/cpp/src/IceSSL/OpenSSLUtil.cpp +1 -1
  454. data/ext/ice/cpp/src/IceSSL/OpenSSLUtil.h +1 -1
  455. data/ext/ice/cpp/src/IceSSL/PluginI.cpp +1 -1
  456. data/ext/ice/cpp/src/IceSSL/PluginI.h +1 -1
  457. data/ext/ice/cpp/src/IceSSL/RFC2253.cpp +1 -1
  458. data/ext/ice/cpp/src/IceSSL/RFC2253.h +1 -1
  459. data/ext/ice/cpp/src/IceSSL/SChannelCertificateI.cpp +1 -1
  460. data/ext/ice/cpp/src/IceSSL/SChannelEngine.cpp +1 -1
  461. data/ext/ice/cpp/src/IceSSL/SChannelEngine.h +1 -1
  462. data/ext/ice/cpp/src/IceSSL/SChannelEngineF.h +1 -1
  463. data/ext/ice/cpp/src/IceSSL/SChannelPluginI.cpp +1 -1
  464. data/ext/ice/cpp/src/IceSSL/SChannelTransceiverI.cpp +19 -27
  465. data/ext/ice/cpp/src/IceSSL/SChannelTransceiverI.h +1 -1
  466. data/ext/ice/cpp/src/IceSSL/SSLEngine.cpp +7 -16
  467. data/ext/ice/cpp/src/IceSSL/SSLEngine.h +1 -1
  468. data/ext/ice/cpp/src/IceSSL/SSLEngineF.h +1 -1
  469. data/ext/ice/cpp/src/IceSSL/SecureTransportCertificateI.cpp +1 -1
  470. data/ext/ice/cpp/src/IceSSL/SecureTransportEngine.cpp +1 -1
  471. data/ext/ice/cpp/src/IceSSL/SecureTransportEngine.h +1 -1
  472. data/ext/ice/cpp/src/IceSSL/SecureTransportEngineF.h +1 -1
  473. data/ext/ice/cpp/src/IceSSL/SecureTransportPluginI.cpp +1 -1
  474. data/ext/ice/cpp/src/IceSSL/SecureTransportTransceiverI.cpp +1 -1
  475. data/ext/ice/cpp/src/IceSSL/SecureTransportTransceiverI.h +1 -1
  476. data/ext/ice/cpp/src/IceSSL/SecureTransportUtil.cpp +7 -10
  477. data/ext/ice/cpp/src/IceSSL/SecureTransportUtil.h +1 -1
  478. data/ext/ice/cpp/src/IceSSL/TrustManager.cpp +4 -5
  479. data/ext/ice/cpp/src/IceSSL/TrustManager.h +1 -1
  480. data/ext/ice/cpp/src/IceSSL/TrustManagerF.h +1 -1
  481. data/ext/ice/cpp/src/IceSSL/UWPCertificateI.cpp +1 -1
  482. data/ext/ice/cpp/src/IceSSL/UWPEngine.cpp +1 -1
  483. data/ext/ice/cpp/src/IceSSL/UWPEngine.h +1 -1
  484. data/ext/ice/cpp/src/IceSSL/UWPEngineF.h +1 -1
  485. data/ext/ice/cpp/src/IceSSL/UWPPluginI.cpp +1 -1
  486. data/ext/ice/cpp/src/IceSSL/UWPTransceiverI.cpp +1 -1
  487. data/ext/ice/cpp/src/IceSSL/UWPTransceiverI.h +1 -1
  488. data/ext/ice/cpp/src/IceSSL/Util.cpp +1 -1
  489. data/ext/ice/cpp/src/IceSSL/Util.h +1 -1
  490. data/ext/ice/cpp/src/IceUtil/ConsoleUtil.cpp +1 -1
  491. data/ext/ice/cpp/src/IceUtil/ConvertUTF.cpp +1 -1
  492. data/ext/ice/cpp/src/IceUtil/ConvertUTF.h +1 -1
  493. data/ext/ice/cpp/src/IceUtil/CtrlCHandler.cpp +1 -1
  494. data/ext/ice/cpp/src/IceUtil/FileUtil.cpp +5 -5
  495. data/ext/ice/cpp/src/IceUtil/InputUtil.cpp +1 -1
  496. data/ext/ice/cpp/src/IceUtil/MutexProtocol.cpp +1 -1
  497. data/ext/ice/cpp/src/IceUtil/Options.cpp +1 -1
  498. data/ext/ice/cpp/src/IceUtil/OutputUtil.cpp +1 -1
  499. data/ext/ice/cpp/src/IceUtil/Random.cpp +1 -1
  500. data/ext/ice/cpp/src/IceUtil/RecMutex.cpp +1 -5
  501. data/ext/ice/cpp/src/IceUtil/Shared.cpp +1 -1
  502. data/ext/ice/cpp/src/IceUtil/StringConverter.cpp +1 -1
  503. data/ext/ice/cpp/src/IceUtil/StringUtil.cpp +1 -1
  504. data/ext/ice/cpp/src/IceUtil/ThreadException.cpp +1 -1
  505. data/ext/ice/cpp/src/IceUtil/Time.cpp +1 -1
  506. data/ext/ice/cpp/src/IceUtil/UUID.cpp +3 -3
  507. data/ext/ice/cpp/src/IceUtil/Unicode.cpp +1 -1
  508. data/ext/ice/cpp/src/IceUtil/Unicode.h +1 -1
  509. data/ext/ice/cpp/src/IceUtil/UtilException.cpp +1 -1
  510. data/ext/ice/cpp/src/Slice/CPlusPlusUtil.cpp +160 -150
  511. data/ext/ice/cpp/src/Slice/CPlusPlusUtil.h +9 -8
  512. data/ext/ice/cpp/src/Slice/Checksum.cpp +1 -1
  513. data/ext/ice/cpp/src/Slice/Checksum.h +1 -1
  514. data/ext/ice/cpp/src/Slice/FileTracker.cpp +1 -1
  515. data/ext/ice/cpp/src/Slice/FileTracker.h +1 -1
  516. data/ext/ice/cpp/src/Slice/Grammar.cpp +567 -585
  517. data/ext/ice/cpp/src/Slice/Grammar.h +2 -2
  518. data/ext/ice/cpp/src/Slice/GrammarUtil.h +1 -1
  519. data/ext/ice/cpp/src/Slice/JavaUtil.cpp +131 -47
  520. data/ext/ice/cpp/src/Slice/JavaUtil.h +10 -5
  521. data/ext/ice/cpp/src/Slice/MD5.cpp +1 -1
  522. data/ext/ice/cpp/src/Slice/MD5.h +1 -1
  523. data/ext/ice/cpp/src/Slice/PHPUtil.cpp +1 -1
  524. data/ext/ice/cpp/src/Slice/PHPUtil.h +1 -1
  525. data/ext/ice/cpp/src/Slice/Parser.cpp +383 -101
  526. data/ext/ice/cpp/src/Slice/Parser.h +40 -3
  527. data/ext/ice/cpp/src/Slice/Preprocessor.cpp +2 -1
  528. data/ext/ice/cpp/src/Slice/Preprocessor.h +2 -2
  529. data/ext/ice/cpp/src/Slice/Python.cpp +7 -15
  530. data/ext/ice/cpp/src/Slice/PythonUtil.cpp +66 -9
  531. data/ext/ice/cpp/src/Slice/PythonUtil.h +2 -2
  532. data/ext/ice/cpp/src/Slice/Ruby.cpp +1 -1
  533. data/ext/ice/cpp/src/Slice/RubyUtil.cpp +2 -2
  534. data/ext/ice/cpp/src/Slice/RubyUtil.h +1 -1
  535. data/ext/ice/cpp/src/Slice/Scanner.cpp +214 -135
  536. data/ext/ice/cpp/src/Slice/SliceUtil.cpp +1 -1
  537. data/ext/ice/cpp/src/Slice/StringLiteralUtil.cpp +99 -17
  538. data/ext/ice/cpp/src/Slice/Util.h +5 -4
  539. data/ice.gemspec +2 -2
  540. data/lib/Glacier2.rb +1 -1
  541. data/lib/Glacier2/Metrics.rb +2 -2
  542. data/lib/Glacier2/PermissionsVerifier.rb +2 -2
  543. data/lib/Glacier2/PermissionsVerifierF.rb +2 -2
  544. data/lib/Glacier2/Router.rb +2 -2
  545. data/lib/Glacier2/RouterF.rb +2 -2
  546. data/lib/Glacier2/SSLInfo.rb +2 -2
  547. data/lib/Glacier2/Session.rb +2 -2
  548. data/lib/Ice.rb +2 -2
  549. data/lib/Ice/BuiltinSequences.rb +2 -2
  550. data/lib/Ice/Communicator.rb +2 -2
  551. data/lib/Ice/CommunicatorF.rb +2 -2
  552. data/lib/Ice/Connection.rb +2 -2
  553. data/lib/Ice/ConnectionF.rb +2 -2
  554. data/lib/Ice/Current.rb +2 -2
  555. data/lib/Ice/Endpoint.rb +2 -2
  556. data/lib/Ice/EndpointF.rb +2 -2
  557. data/lib/Ice/EndpointTypes.rb +2 -2
  558. data/lib/Ice/FacetMap.rb +2 -2
  559. data/lib/Ice/Identity.rb +2 -2
  560. data/lib/Ice/ImplicitContext.rb +2 -2
  561. data/lib/Ice/ImplicitContextF.rb +2 -2
  562. data/lib/Ice/Instrumentation.rb +2 -2
  563. data/lib/Ice/InstrumentationF.rb +2 -2
  564. data/lib/Ice/LocalException.rb +2 -2
  565. data/lib/Ice/Locator.rb +2 -2
  566. data/lib/Ice/LocatorF.rb +2 -2
  567. data/lib/Ice/Logger.rb +2 -2
  568. data/lib/Ice/LoggerF.rb +2 -2
  569. data/lib/Ice/Metrics.rb +2 -2
  570. data/lib/Ice/ObjectAdapter.rb +2 -2
  571. data/lib/Ice/ObjectAdapterF.rb +2 -2
  572. data/lib/Ice/ObjectFactory.rb +2 -2
  573. data/lib/Ice/Plugin.rb +2 -2
  574. data/lib/Ice/PluginF.rb +2 -2
  575. data/lib/Ice/Process.rb +2 -2
  576. data/lib/Ice/ProcessF.rb +2 -2
  577. data/lib/Ice/Properties.rb +2 -2
  578. data/lib/Ice/PropertiesAdmin.rb +2 -2
  579. data/lib/Ice/PropertiesF.rb +2 -2
  580. data/lib/Ice/RemoteLogger.rb +2 -2
  581. data/lib/Ice/Router.rb +2 -2
  582. data/lib/Ice/RouterF.rb +2 -2
  583. data/lib/Ice/ServantLocator.rb +2 -2
  584. data/lib/Ice/ServantLocatorF.rb +2 -2
  585. data/lib/Ice/SliceChecksumDict.rb +2 -2
  586. data/lib/Ice/ValueFactory.rb +2 -2
  587. data/lib/Ice/Version.rb +2 -2
  588. data/lib/IceBox.rb +1 -1
  589. data/lib/IceBox/IceBox.rb +2 -2
  590. data/lib/IceGrid.rb +1 -1
  591. data/lib/IceGrid/Admin.rb +2 -2
  592. data/lib/IceGrid/Descriptor.rb +2 -2
  593. data/lib/IceGrid/Exception.rb +2 -2
  594. data/lib/IceGrid/FileParser.rb +2 -2
  595. data/lib/IceGrid/PluginFacade.rb +2 -2
  596. data/lib/IceGrid/Registry.rb +2 -2
  597. data/lib/IceGrid/Session.rb +2 -2
  598. data/lib/IceGrid/UserAccountMapper.rb +2 -2
  599. data/lib/IcePatch2.rb +1 -1
  600. data/lib/IcePatch2/FileInfo.rb +2 -2
  601. data/lib/IcePatch2/FileServer.rb +2 -2
  602. data/lib/IceStorm.rb +1 -1
  603. data/lib/IceStorm/IceStorm.rb +2 -2
  604. data/lib/IceStorm/Metrics.rb +2 -2
  605. data/slice/Glacier2/Metrics.ice +2 -2
  606. data/slice/Glacier2/PermissionsVerifier.ice +2 -2
  607. data/slice/Glacier2/PermissionsVerifierF.ice +2 -2
  608. data/slice/Glacier2/Router.ice +2 -2
  609. data/slice/Glacier2/RouterF.ice +2 -2
  610. data/slice/Glacier2/SSLInfo.ice +2 -2
  611. data/slice/Glacier2/Session.ice +2 -2
  612. data/slice/Ice/BuiltinSequences.ice +2 -2
  613. data/slice/Ice/Communicator.ice +66 -73
  614. data/slice/Ice/CommunicatorF.ice +2 -2
  615. data/slice/Ice/Connection.ice +47 -17
  616. data/slice/Ice/ConnectionF.ice +2 -2
  617. data/slice/Ice/Current.ice +4 -5
  618. data/slice/Ice/Endpoint.ice +16 -16
  619. data/slice/Ice/EndpointF.ice +2 -2
  620. data/slice/Ice/EndpointTypes.ice +2 -2
  621. data/slice/Ice/FacetMap.ice +2 -2
  622. data/slice/Ice/Identity.ice +2 -2
  623. data/slice/Ice/ImplicitContext.ice +6 -6
  624. data/slice/Ice/ImplicitContextF.ice +2 -2
  625. data/slice/Ice/Instrumentation.ice +2 -2
  626. data/slice/Ice/InstrumentationF.ice +2 -2
  627. data/slice/Ice/LocalException.ice +2 -2
  628. data/slice/Ice/Locator.ice +3 -3
  629. data/slice/Ice/LocatorF.ice +2 -2
  630. data/slice/Ice/Logger.ice +2 -2
  631. data/slice/Ice/LoggerF.ice +2 -2
  632. data/slice/Ice/Metrics.ice +2 -2
  633. data/slice/Ice/ObjectAdapter.ice +10 -10
  634. data/slice/Ice/ObjectAdapterF.ice +2 -2
  635. data/slice/Ice/ObjectFactory.ice +3 -3
  636. data/slice/Ice/Plugin.ice +4 -4
  637. data/slice/Ice/PluginF.ice +2 -2
  638. data/slice/Ice/Process.ice +2 -2
  639. data/slice/Ice/ProcessF.ice +2 -2
  640. data/slice/Ice/Properties.ice +11 -11
  641. data/slice/Ice/PropertiesAdmin.ice +2 -2
  642. data/slice/Ice/PropertiesF.ice +2 -2
  643. data/slice/Ice/RemoteLogger.ice +12 -23
  644. data/slice/Ice/Router.ice +2 -2
  645. data/slice/Ice/RouterF.ice +2 -2
  646. data/slice/Ice/ServantLocator.ice +2 -2
  647. data/slice/Ice/ServantLocatorF.ice +2 -2
  648. data/slice/Ice/SliceChecksumDict.ice +2 -2
  649. data/slice/Ice/ValueFactory.ice +14 -16
  650. data/slice/Ice/Version.ice +2 -2
  651. data/slice/IceBT/ConnectionInfo.ice +2 -2
  652. data/slice/IceBT/EndpointInfo.ice +2 -2
  653. data/slice/IceBT/Types.ice +2 -2
  654. data/slice/IceBox/IceBox.ice +3 -4
  655. data/slice/IceDiscovery/IceDiscovery.ice +2 -2
  656. data/slice/IceGrid/Admin.ice +2 -2
  657. data/slice/IceGrid/Descriptor.ice +2 -2
  658. data/slice/IceGrid/Exception.ice +2 -2
  659. data/slice/IceGrid/FileParser.ice +2 -2
  660. data/slice/IceGrid/PluginFacade.ice +6 -6
  661. data/slice/IceGrid/Registry.ice +2 -2
  662. data/slice/IceGrid/Session.ice +2 -2
  663. data/slice/IceGrid/UserAccountMapper.ice +2 -2
  664. data/slice/IceIAP/ConnectionInfo.ice +2 -2
  665. data/slice/IceIAP/EndpointInfo.ice +2 -2
  666. data/slice/IceLocatorDiscovery/IceLocatorDiscovery.ice +2 -2
  667. data/slice/IcePatch2/FileInfo.ice +2 -2
  668. data/slice/IcePatch2/FileServer.ice +2 -2
  669. data/slice/IceSSL/ConnectionInfo.ice +2 -2
  670. data/slice/IceSSL/ConnectionInfoF.ice +2 -2
  671. data/slice/IceSSL/EndpointInfo.ice +2 -2
  672. data/slice/IceStorm/IceStorm.ice +5 -6
  673. data/slice/IceStorm/Metrics.ice +2 -2
  674. metadata +3 -13
  675. data/BZIP2_LICENSE +0 -42
  676. data/ext/ice/bzip2/blocksort.c +0 -1094
  677. data/ext/ice/bzip2/bzlib.c +0 -1572
  678. data/ext/ice/bzip2/bzlib.h +0 -282
  679. data/ext/ice/bzip2/bzlib_private.h +0 -509
  680. data/ext/ice/bzip2/compress.c +0 -672
  681. data/ext/ice/bzip2/crctable.c +0 -104
  682. data/ext/ice/bzip2/decompress.c +0 -646
  683. data/ext/ice/bzip2/huffman.c +0 -205
  684. data/ext/ice/bzip2/randtable.c +0 -84
@@ -1,6 +1,6 @@
1
1
  // **********************************************************************
2
2
  //
3
- // Copyright (c) 2003-2017 ZeroC, Inc. All rights reserved.
3
+ // Copyright (c) 2003-2018 ZeroC, Inc. All rights reserved.
4
4
  //
5
5
  // This copy of Ice is licensed to you under the terms described in the
6
6
  // ICE_LICENSE file included in this distribution.
@@ -116,34 +116,64 @@ const ::Ice::Byte FLAG_IS_LAST_SLICE = (1<<5);
116
116
  namespace Ice
117
117
  {
118
118
 
119
+ /** Identifies protocol version 1.0. */
119
120
  ICE_API extern const ProtocolVersion Protocol_1_0;
120
121
 
122
+ /** Identifies encoding version 1.0. */
121
123
  ICE_API extern const EncodingVersion Encoding_1_0;
124
+
125
+ /** Identifies encoding version 1.1. */
122
126
  ICE_API extern const EncodingVersion Encoding_1_1;
123
127
 
128
+ /** Identifies the latest protocol version. */
124
129
  ICE_API extern const ProtocolVersion currentProtocol;
130
+
131
+ /** Identifies the latest protocol encoding version. */
125
132
  ICE_API extern const EncodingVersion currentProtocolEncoding;
126
133
 
134
+ /** Identifies the latest encoding version. */
127
135
  ICE_API extern const EncodingVersion currentEncoding;
128
136
 
137
+ /**
138
+ * Converts a protocol version into a string.
139
+ * @param v The protocol version.
140
+ * @return A string representing the protocol version.
141
+ */
129
142
  inline ::std::string
130
143
  protocolVersionToString(const Ice::ProtocolVersion& v)
131
144
  {
132
145
  return IceInternal::versionToString<ProtocolVersion>(v);
133
146
  }
134
147
 
148
+ /**
149
+ * Converts a string into a protocol version.
150
+ * @param v The string containing a stringified protocol version.
151
+ * @return The protocol version.
152
+ * @throws VersionParseException If the given string is not in the X.Y format.
153
+ */
135
154
  inline ::Ice::ProtocolVersion
136
155
  stringToProtocolVersion(const ::std::string& v)
137
156
  {
138
157
  return IceInternal::stringToVersion<ProtocolVersion>(v);
139
158
  }
140
159
 
160
+ /**
161
+ * Converts an encoding version into a string.
162
+ * @param v The encoding version.
163
+ * @return A string representing the encoding version.
164
+ */
141
165
  inline ::std::string
142
166
  encodingVersionToString(const Ice::EncodingVersion& v)
143
167
  {
144
168
  return IceInternal::versionToString<EncodingVersion>(v);
145
169
  }
146
170
 
171
+ /**
172
+ * Converts a string into an encoding version.
173
+ * @param v The string containing a stringified encoding version.
174
+ * @return The encoding version.
175
+ * @throws VersionParseException If the given string is not in the X.Y format.
176
+ */
147
177
  inline ::Ice::EncodingVersion
148
178
  stringToEncodingVersion(const ::std::string& v)
149
179
  {
@@ -1,6 +1,6 @@
1
1
  // **********************************************************************
2
2
  //
3
- // Copyright (c) 2003-2017 ZeroC, Inc. All rights reserved.
3
+ // Copyright (c) 2003-2018 ZeroC, Inc. All rights reserved.
4
4
  //
5
5
  // This copy of Ice is licensed to you under the terms described in the
6
6
  // ICE_LICENSE file included in this distribution.
@@ -34,6 +34,7 @@
34
34
  namespace Ice
35
35
  {
36
36
 
37
+ /** Marker value used to indicate that no explicit context was passed to a proxy invocation. */
37
38
  ICE_API extern const Context noExplicitContext;
38
39
 
39
40
  }
@@ -49,6 +50,7 @@ namespace IceProxy
49
50
  namespace Ice
50
51
  {
51
52
 
53
+ /** Marker value used to indicate that no explicit context was passed to a proxy invocation. */
52
54
  ICE_API extern const ::Ice::Context noExplicitContext;
53
55
 
54
56
  }
@@ -291,14 +293,22 @@ namespace Ice
291
293
  {
292
294
 
293
295
  class RouterPrx;
296
+ /// \cond INTERNAL
294
297
  using RouterPrxPtr = ::std::shared_ptr<::Ice::RouterPrx>;
298
+ /// \endcond
295
299
 
296
300
  class LocatorPrx;
301
+ /// \cond INTERNAL
297
302
  using LocatorPrxPtr = ::std::shared_ptr<::Ice::LocatorPrx>;
303
+ /// \endcond
298
304
 
299
305
  class LocalException;
300
306
  class OutputStream;
301
307
 
308
+ /**
309
+ * Base class of all object proxies.
310
+ * \headerfile Ice/Ice.h
311
+ */
302
312
  class ICE_API ObjectPrx : public ::std::enable_shared_from_this<ObjectPrx>
303
313
  {
304
314
  public:
@@ -308,16 +318,40 @@ public:
308
318
  friend ICE_API bool operator<(const ObjectPrx&, const ObjectPrx&);
309
319
  friend ICE_API bool operator==(const ObjectPrx&, const ObjectPrx&);
310
320
 
321
+ /**
322
+ * Obtains the communicator that created this proxy.
323
+ * @return The communicator that created this proxy.
324
+ */
311
325
  ::std::shared_ptr<::Ice::Communicator> ice_getCommunicator() const;
312
326
 
327
+ /**
328
+ * Obtains a stringified version of this proxy.
329
+ * @return A stringified proxy.
330
+ */
313
331
  ::std::string ice_toString() const;
314
332
 
333
+ /**
334
+ * Tests whether this object supports a specific Slice interface.
335
+ * @param typeId The type ID of the Slice interface to test against.
336
+ * @param context The context map for the invocation.
337
+ * @return true if the target object has the interface
338
+ * specified by id or derives from the interface specified by id.
339
+ */
315
340
  bool
316
341
  ice_isA(const ::std::string& typeId, const ::Ice::Context& context = ::Ice::noExplicitContext)
317
342
  {
318
343
  return _makePromiseOutgoing<bool>(true, this, &ObjectPrx::_iceI_isA, typeId, context).get();
319
344
  }
320
345
 
346
+ /**
347
+ * Tests whether this object supports a specific Slice interface.
348
+ * @param typeId The type ID of the Slice interface to test against.
349
+ * @param response The response callback.
350
+ * @param ex The exception callback.
351
+ * @param sent The sent callback.
352
+ * @param context The context map for the invocation.
353
+ * @return A function that can be called to cancel the invocation locally.
354
+ */
321
355
  ::std::function<void()>
322
356
  ice_isAAsync(const ::std::string& typeId,
323
357
  ::std::function<void(bool)> response,
@@ -328,6 +362,12 @@ public:
328
362
  return _makeLamdaOutgoing<bool>(response, ex, sent, this, &ObjectPrx::_iceI_isA, typeId, context);
329
363
  }
330
364
 
365
+ /**
366
+ * Tests whether this object supports a specific Slice interface.
367
+ * @param typeId The type ID of the Slice interface to test against.
368
+ * @param context The context map for the invocation.
369
+ * @return The future object for the invocation.
370
+ */
331
371
  template<template<typename> class P = std::promise> auto
332
372
  ice_isAAsync(const ::std::string& typeId, const ::Ice::Context& context = ::Ice::noExplicitContext)
333
373
  -> decltype(std::declval<P<bool>>().get_future())
@@ -335,15 +375,29 @@ public:
335
375
  return _makePromiseOutgoing<bool, P>(false, this, &ObjectPrx::_iceI_isA, typeId, context);
336
376
  }
337
377
 
378
+ /// \cond INTERNAL
338
379
  void
339
380
  _iceI_isA(const ::std::shared_ptr<::IceInternal::OutgoingAsyncT<bool>>&, const ::std::string&, const ::Ice::Context&);
381
+ /// \endcond
340
382
 
383
+ /**
384
+ * Tests whether the target object of this proxy can be reached.
385
+ * @param context The context map for the invocation.
386
+ */
341
387
  void
342
388
  ice_ping(const ::Ice::Context& context = ::Ice::noExplicitContext)
343
389
  {
344
390
  _makePromiseOutgoing<void>(true, this, &ObjectPrx::_iceI_ping, context).get();
345
391
  }
346
392
 
393
+ /**
394
+ * Tests whether the target object of this proxy can be reached.
395
+ * @param response The response callback.
396
+ * @param ex The exception callback.
397
+ * @param sent The sent callback.
398
+ * @param context The context map for the invocation.
399
+ * @return A function that can be called to cancel the invocation locally.
400
+ */
347
401
  ::std::function<void()>
348
402
  ice_pingAsync(::std::function<void()> response,
349
403
  ::std::function<void(::std::exception_ptr)> ex = nullptr,
@@ -353,6 +407,11 @@ public:
353
407
  return _makeLamdaOutgoing<void>(response, ex, sent, this, &ObjectPrx::_iceI_ping, context);
354
408
  }
355
409
 
410
+ /**
411
+ * Tests whether the target object of this proxy can be reached.
412
+ * @param context The context map for the invocation.
413
+ * @return The future object for the invocation.
414
+ */
356
415
  template<template<typename> class P = std::promise>
357
416
  auto ice_pingAsync(const ::Ice::Context& context = ::Ice::noExplicitContext)
358
417
  -> decltype(std::declval<P<void>>().get_future())
@@ -360,15 +419,31 @@ public:
360
419
  return _makePromiseOutgoing<void, P>(false, this, &ObjectPrx::_iceI_ping, context);
361
420
  }
362
421
 
422
+ /// \cond INTERNAL
363
423
  void
364
424
  _iceI_ping(const ::std::shared_ptr<::IceInternal::OutgoingAsyncT<void>>&, const ::Ice::Context&);
365
-
425
+ /// \endcond
426
+
427
+ /**
428
+ * Returns the Slice type IDs of the interfaces supported by the target object of this proxy.
429
+ * @param context The context map for the invocation.
430
+ * @return The Slice type IDs of the interfaces supported by the target object, in base-to-derived
431
+ * order. The first element of the returned array is always "::Ice::Object".
432
+ */
366
433
  ::std::vector<::std::string>
367
434
  ice_ids(const ::Ice::Context& context = ::Ice::noExplicitContext)
368
435
  {
369
436
  return _makePromiseOutgoing<::std::vector<::std::string>>(true, this, &ObjectPrx::_iceI_ids, context).get();
370
437
  }
371
438
 
439
+ /**
440
+ * Returns the Slice type IDs of the interfaces supported by the target object of this proxy.
441
+ * @param response The response callback.
442
+ * @param ex The exception callback.
443
+ * @param sent The sent callback.
444
+ * @param context The context map for the invocation.
445
+ * @return A function that can be called to cancel the invocation locally.
446
+ */
372
447
  ::std::function<void()>
373
448
  ice_idsAsync(::std::function<void(::std::vector<::std::string>)> response,
374
449
  ::std::function<void(::std::exception_ptr)> ex = nullptr,
@@ -378,6 +453,11 @@ public:
378
453
  return _makeLamdaOutgoing<::std::vector<::std::string>>(response, ex, sent, this, &ObjectPrx::_iceI_ids, context);
379
454
  }
380
455
 
456
+ /**
457
+ * Returns the Slice type IDs of the interfaces supported by the target object of this proxy.
458
+ * @param context The context map for the invocation.
459
+ * @return The future object for the invocation.
460
+ */
381
461
  template<template<typename> class P = std::promise> auto
382
462
  ice_idsAsync(const ::Ice::Context& context = ::Ice::noExplicitContext)
383
463
  -> decltype(std::declval<P<::std::vector<::std::string>>>().get_future())
@@ -385,15 +465,30 @@ public:
385
465
  return _makePromiseOutgoing<::std::vector<::std::string>, P>(false, this, &ObjectPrx::_iceI_ids, context);
386
466
  }
387
467
 
468
+ /// \cond INTERNAL
388
469
  void
389
470
  _iceI_ids(const ::std::shared_ptr<::IceInternal::OutgoingAsyncT<::std::vector<::std::string>>>&, const ::Ice::Context&);
471
+ /// \endcond
390
472
 
473
+ /**
474
+ * Returns the Slice type ID of the most-derived interface supported by the target object of this proxy.
475
+ * @param context The context map for the invocation.
476
+ * @return The Slice type ID of the most-derived interface.
477
+ */
391
478
  ::std::string
392
479
  ice_id(const ::Ice::Context& context = ::Ice::noExplicitContext)
393
480
  {
394
481
  return _makePromiseOutgoing<::std::string>(true, this, &ObjectPrx::_iceI_id, context).get();
395
482
  }
396
483
 
484
+ /**
485
+ * Returns the Slice type ID of the most-derived interface supported by the target object of this proxy.
486
+ * @param response The response callback.
487
+ * @param ex The exception callback.
488
+ * @param sent The sent callback.
489
+ * @param context The context map for the invocation.
490
+ * @return A function that can be called to cancel the invocation locally.
491
+ */
397
492
  ::std::function<void()>
398
493
  ice_idAsync(::std::function<void(::std::string)> response,
399
494
  ::std::function<void(::std::exception_ptr)> ex = nullptr,
@@ -403,6 +498,11 @@ public:
403
498
  return _makeLamdaOutgoing<::std::string>(response, ex, sent, this, &ObjectPrx::_iceI_id, context);
404
499
  }
405
500
 
501
+ /**
502
+ * Returns the Slice type ID of the most-derived interface supported by the target object of this proxy.
503
+ * @param context The context map for the invocation.
504
+ * @return The future object for the invocation.
505
+ */
406
506
  template<template<typename> class P = std::promise>
407
507
  auto ice_idAsync(const ::Ice::Context& context = ::Ice::noExplicitContext)
408
508
  -> decltype(std::declval<P<::std::string>>().get_future())
@@ -410,42 +510,75 @@ public:
410
510
  return _makePromiseOutgoing<::std::string, P>(false, this, &ObjectPrx::_iceI_id, context);
411
511
  }
412
512
 
513
+ /// \cond INTERNAL
413
514
  void
414
515
  _iceI_id(const ::std::shared_ptr<::IceInternal::OutgoingAsyncT<::std::string>>&, const ::Ice::Context&);
516
+ /// \endcond
415
517
 
518
+ /**
519
+ * Returns the Slice type ID associated with this type.
520
+ * @return The Slice type ID.
521
+ */
416
522
  static const ::std::string& ice_staticId()
417
523
  {
418
524
  return ::Ice::Object::ice_staticId();
419
525
  }
420
526
 
421
- //
422
- // ice_invoke with default vector mapping for byte-sequence parameters
423
- //
424
-
527
+ /**
528
+ * Invokes an operation dynamically.
529
+ * @param operation The name of the operation to invoke.
530
+ * @param mode The operation mode (normal or idempotent).
531
+ * @param inParams An encapsulation containing the encoded in-parameters for the operation.
532
+ * @param outParams An encapsulation containing the encoded results.
533
+ * @param context The context map for the invocation.
534
+ * @return True if the operation completed successfully, in which case outParams contains
535
+ * the encoded out parameters. False if the operation raised a user exception, in which
536
+ * case outParams contains the encoded user exception. If the operation raises a run-time
537
+ * exception, it throws it directly.
538
+ */
425
539
  bool
426
540
  ice_invoke(const ::std::string& operation,
427
541
  ::Ice::OperationMode mode,
428
- const ::std::vector<Byte>& inP,
542
+ const ::std::vector<Byte>& inParams,
429
543
  ::std::vector<::Ice::Byte>& outParams,
430
544
  const ::Ice::Context& context = ::Ice::noExplicitContext)
431
545
  {
432
- return ice_invoke(operation, mode, ::IceInternal::makePair(inP), outParams, context);
546
+ return ice_invoke(operation, mode, ::IceInternal::makePair(inParams), outParams, context);
433
547
  }
434
548
 
549
+ /**
550
+ * Invokes an operation dynamically.
551
+ * @param operation The name of the operation to invoke.
552
+ * @param mode The operation mode (normal or idempotent).
553
+ * @param inParams An encapsulation containing the encoded in-parameters for the operation.
554
+ * @param context The context map for the invocation.
555
+ * @return The future object for the invocation.
556
+ */
435
557
  template<template<typename> class P = std::promise> auto
436
558
  ice_invokeAsync(const ::std::string& operation,
437
559
  ::Ice::OperationMode mode,
438
- const ::std::vector<Byte>& inP,
560
+ const ::std::vector<Byte>& inParams,
439
561
  const ::Ice::Context& context = ::Ice::noExplicitContext)
440
562
  -> decltype(std::declval<P<::Ice::Object::Ice_invokeResult>>().get_future())
441
563
  {
442
- return ice_invokeAsync<P>(operation, mode, ::IceInternal::makePair(inP), context);
564
+ return ice_invokeAsync<P>(operation, mode, ::IceInternal::makePair(inParams), context);
443
565
  }
444
566
 
567
+ /**
568
+ * Invokes an operation dynamically.
569
+ * @param operation The name of the operation to invoke.
570
+ * @param mode The operation mode (normal or idempotent).
571
+ * @param inParams An encapsulation containing the encoded in-parameters for the operation.
572
+ * @param response The response callback.
573
+ * @param ex The exception callback.
574
+ * @param sent The sent callback.
575
+ * @param context The context map for the invocation.
576
+ * @return A function that can be called to cancel the invocation locally.
577
+ */
445
578
  ::std::function<void()>
446
579
  ice_invokeAsync(const ::std::string& operation,
447
580
  ::Ice::OperationMode mode,
448
- const ::std::vector<::Ice::Byte>& inP,
581
+ const ::std::vector<::Ice::Byte>& inParams,
449
582
  ::std::function<void(bool, ::std::vector<::Ice::Byte>)> response,
450
583
  ::std::function<void(::std::exception_ptr)> ex = nullptr,
451
584
  ::std::function<void(bool)> sent = nullptr,
@@ -461,48 +594,75 @@ public:
461
594
  };
462
595
  }
463
596
  auto outAsync = ::std::make_shared<Outgoing>(shared_from_this(), r, ex, sent);
464
- outAsync->invoke(operation, mode, ::IceInternal::makePair(inP), context);
597
+ outAsync->invoke(operation, mode, ::IceInternal::makePair(inParams), context);
465
598
  return [outAsync]() { outAsync->cancel(); };
466
599
  }
467
600
 
468
- //
469
- // ice_invoke with cpp:array mapping for byte sequence parameters
470
- //
471
-
601
+ /**
602
+ * Invokes an operation dynamically.
603
+ * @param operation The name of the operation to invoke.
604
+ * @param mode The operation mode (normal or idempotent).
605
+ * @param inParams An encapsulation containing the encoded in-parameters for the operation.
606
+ * @param outParams An encapsulation containing the encoded results.
607
+ * @param context The context map for the invocation.
608
+ * @return True if the operation completed successfully, in which case outParams contains
609
+ * the encoded out parameters. False if the operation raised a user exception, in which
610
+ * case outParams contains the encoded user exception. If the operation raises a run-time
611
+ * exception, it throws it directly.
612
+ */
472
613
  bool
473
614
  ice_invoke(const ::std::string& operation,
474
615
  ::Ice::OperationMode mode,
475
- const ::std::pair<const ::Ice::Byte*, const ::Ice::Byte*>& inP,
616
+ const ::std::pair<const ::Ice::Byte*, const ::Ice::Byte*>& inParams,
476
617
  ::std::vector<::Ice::Byte>& outParams,
477
618
  const ::Ice::Context& context = ::Ice::noExplicitContext)
478
619
  {
479
620
  using Outgoing = ::IceInternal::InvokePromiseOutgoing<
480
621
  ::std::promise<::Ice::Object::Ice_invokeResult>, ::Ice::Object::Ice_invokeResult>;
481
622
  auto outAsync = ::std::make_shared<Outgoing>(shared_from_this(), true);
482
- outAsync->invoke(operation, mode, inP, context);
623
+ outAsync->invoke(operation, mode, inParams, context);
483
624
  auto result = outAsync->getFuture().get();
484
625
  outParams.swap(result.outParams);
485
626
  return result.returnValue;
486
627
  }
487
628
 
629
+ /**
630
+ * Invokes an operation dynamically.
631
+ * @param operation The name of the operation to invoke.
632
+ * @param mode The operation mode (normal or idempotent).
633
+ * @param inParams An encapsulation containing the encoded in-parameters for the operation.
634
+ * @param context The context map for the invocation.
635
+ * @return The future object for the invocation.
636
+ */
488
637
  template<template<typename> class P = std::promise> auto
489
638
  ice_invokeAsync(const ::std::string& operation,
490
639
  ::Ice::OperationMode mode,
491
- const ::std::pair<const ::Ice::Byte*, const ::Ice::Byte*>& inP,
640
+ const ::std::pair<const ::Ice::Byte*, const ::Ice::Byte*>& inParams,
492
641
  const ::Ice::Context& context = ::Ice::noExplicitContext)
493
642
  -> decltype(std::declval<P<::Ice::Object::Ice_invokeResult>>().get_future())
494
643
  {
495
644
  using Outgoing =
496
645
  ::IceInternal::InvokePromiseOutgoing<P<::Ice::Object::Ice_invokeResult>, ::Ice::Object::Ice_invokeResult>;
497
646
  auto outAsync = ::std::make_shared<Outgoing>(shared_from_this(), false);
498
- outAsync->invoke(operation, mode, inP, context);
647
+ outAsync->invoke(operation, mode, inParams, context);
499
648
  return outAsync->getFuture();
500
649
  }
501
650
 
651
+ /**
652
+ * Invokes an operation dynamically.
653
+ * @param operation The name of the operation to invoke.
654
+ * @param mode The operation mode (normal or idempotent).
655
+ * @param inParams An encapsulation containing the encoded in-parameters for the operation.
656
+ * @param response The response callback.
657
+ * @param ex The exception callback.
658
+ * @param sent The sent callback.
659
+ * @param context The context map for the invocation.
660
+ * @return A function that can be called to cancel the invocation locally.
661
+ */
502
662
  ::std::function<void()>
503
663
  ice_invokeAsync(const ::std::string& operation,
504
664
  ::Ice::OperationMode mode,
505
- const ::std::pair<const ::Ice::Byte*, const ::Ice::Byte*>& inP,
665
+ const ::std::pair<const ::Ice::Byte*, const ::Ice::Byte*>& inParams,
506
666
  ::std::function<void(bool, ::std::pair<const ::Ice::Byte*, const ::Ice::Byte*>)> response,
507
667
  ::std::function<void(::std::exception_ptr)> ex = nullptr,
508
668
  ::std::function<void(bool)> sent = nullptr,
@@ -520,78 +680,342 @@ public:
520
680
  };
521
681
  }
522
682
  auto outAsync = ::std::make_shared<Outgoing>(shared_from_this(), r, ex, sent);
523
- outAsync->invoke(operation, mode, inP, context);
683
+ outAsync->invoke(operation, mode, inParams, context);
524
684
  return [outAsync]() { outAsync->cancel(); };
525
685
  }
526
686
 
687
+ /**
688
+ * Obtains the identity embedded in this proxy.
689
+ * @return The identity of the target object.
690
+ */
527
691
  ::Ice::Identity ice_getIdentity() const;
528
- ::std::shared_ptr<::Ice::ObjectPrx> ice_identity(const ::Ice::Identity&) const;
529
692
 
693
+ /**
694
+ * Obtains a proxy that is identical to this proxy, except for the identity.
695
+ * @param id The identity for the new proxy.
696
+ * @return A proxy with the new identity.
697
+ */
698
+ ::std::shared_ptr<::Ice::ObjectPrx> ice_identity(const ::Ice::Identity& id) const;
699
+
700
+ /**
701
+ * Obtains the per-proxy context for this proxy.
702
+ * @return The per-proxy context.
703
+ */
530
704
  ::Ice::Context ice_getContext() const;
531
- ::std::shared_ptr<::Ice::ObjectPrx> ice_context(const ::Ice::Context&) const;
532
705
 
706
+ /**
707
+ * Obtains a proxy that is identical to this proxy, except for the per-proxy context.
708
+ * @param context The context for the new proxy.
709
+ * @return A proxy with the new per-proxy context.
710
+ */
711
+ ::std::shared_ptr<::Ice::ObjectPrx> ice_context(const ::Ice::Context& context) const;
712
+
713
+ /**
714
+ * Obtains the facet for this proxy.
715
+ * @return The facet for this proxy. If the proxy uses the default facet, the return value is the empty string.
716
+ */
533
717
  const ::std::string& ice_getFacet() const;
534
- ::std::shared_ptr<::Ice::ObjectPrx> ice_facet(const ::std::string&) const;
535
718
 
719
+ /**
720
+ * Obtains a proxy that is identical to this proxy, except for the facet.
721
+ * @param facet The facet for the new proxy.
722
+ * @return A proxy with the new facet.
723
+ */
724
+ ::std::shared_ptr<::Ice::ObjectPrx> ice_facet(const ::std::string& facet) const;
725
+
726
+ /**
727
+ * Obtains the adapter ID for this proxy.
728
+ * @return The adapter ID. If the proxy does not have an adapter ID, the return value is the empty string.
729
+ */
536
730
  ::std::string ice_getAdapterId() const;
537
- ::std::shared_ptr<::Ice::ObjectPrx> ice_adapterId(const ::std::string&) const;
538
731
 
732
+ /**
733
+ * Obtains a proxy that is identical to this proxy, except for the adapter ID.
734
+ * @param id The adapter ID for the new proxy.
735
+ * @return A proxy with the new adapter ID.
736
+ */
737
+ ::std::shared_ptr<::Ice::ObjectPrx> ice_adapterId(const ::std::string& id) const;
738
+
739
+ /**
740
+ * Obtains the endpoints used by this proxy.
741
+ * @return The endpoints used by this proxy.
742
+ */
539
743
  ::Ice::EndpointSeq ice_getEndpoints() const;
540
- ::std::shared_ptr<::Ice::ObjectPrx> ice_endpoints(const ::Ice::EndpointSeq&) const;
541
744
 
745
+ /**
746
+ * Obtains a proxy that is identical to this proxy, except for the endpoints.
747
+ * @param endpoints The endpoints for the new proxy.
748
+ * @return A proxy with the new endpoints.
749
+ */
750
+ ::std::shared_ptr<::Ice::ObjectPrx> ice_endpoints(const ::Ice::EndpointSeq& endpoints) const;
751
+
752
+ /**
753
+ * Obtains the locator cache timeout of this proxy.
754
+ * @return The locator cache timeout value (in seconds).
755
+ */
542
756
  ::Ice::Int ice_getLocatorCacheTimeout() const;
543
- ::std::shared_ptr<::Ice::ObjectPrx> ice_locatorCacheTimeout(::Ice::Int) const;
544
757
 
758
+ /**
759
+ * Obtains a proxy that is identical to this proxy, except for the locator cache timeout.
760
+ * @param timeout The new locator cache timeout (in seconds).
761
+ * @return A proxy with the new timeout.
762
+ */
763
+ ::std::shared_ptr<::Ice::ObjectPrx> ice_locatorCacheTimeout(::Ice::Int timeout) const;
764
+
765
+ /**
766
+ * Determines whether this proxy caches connections.
767
+ * @return True if this proxy caches connections, false otherwise.
768
+ */
545
769
  bool ice_isConnectionCached() const;
546
- ::std::shared_ptr<::Ice::ObjectPrx> ice_connectionCached(bool) const;
547
770
 
771
+ /**
772
+ * Obtains a proxy that is identical to this proxy, except for connection caching.
773
+ * @param b True if the new proxy should cache connections, false otherwise.
774
+ * @return A proxy with the specified caching policy.
775
+ */
776
+ ::std::shared_ptr<::Ice::ObjectPrx> ice_connectionCached(bool b) const;
777
+
778
+ /**
779
+ * Obtains the endpoint selection policy for this proxy (randomly or ordered).
780
+ * @return The endpoint selection policy.
781
+ */
548
782
  ::Ice::EndpointSelectionType ice_getEndpointSelection() const;
549
- ::std::shared_ptr<::Ice::ObjectPrx> ice_endpointSelection(::Ice::EndpointSelectionType) const;
550
783
 
784
+ /**
785
+ * Obtains a proxy that is identical to this proxy, except for the endpoint selection policy.
786
+ * @param type The new endpoint selection policy.
787
+ * @return A proxy with the specified endpoint selection policy.
788
+ */
789
+ ::std::shared_ptr<::Ice::ObjectPrx> ice_endpointSelection(::Ice::EndpointSelectionType type) const;
790
+
791
+ /**
792
+ * Determines whether this proxy uses only secure endpoints.
793
+ * @return True if this proxy communicates only via secure endpoints, false otherwise.
794
+ */
551
795
  bool ice_isSecure() const;
552
- ::std::shared_ptr<::Ice::ObjectPrx> ice_secure(bool) const;
553
796
 
797
+ /**
798
+ * Obtains a proxy that is identical to this proxy, except for how it selects endpoints.
799
+ * @param b If true, only endpoints that use a secure transport are used by the new proxy.
800
+ * If false, the returned proxy uses both secure and insecure endpoints.
801
+ * @return A proxy with the specified security policy.
802
+ */
803
+ ::std::shared_ptr<::Ice::ObjectPrx> ice_secure(bool b) const;
804
+
805
+ /**
806
+ * Obtains the encoding version used to marshal request parameters.
807
+ * @return The encoding version.
808
+ */
554
809
  ::Ice::EncodingVersion ice_getEncodingVersion() const;
555
- ::std::shared_ptr<::Ice::ObjectPrx> ice_encodingVersion(const ::Ice::EncodingVersion&) const;
556
810
 
811
+ /**
812
+ * Obtains a proxy that is identical to this proxy, except for the encoding used to marshal
813
+ * parameters.
814
+ * @param version The encoding version to use to marshal request parameters.
815
+ * @return A proxy with the specified encoding version.
816
+ */
817
+ ::std::shared_ptr<::Ice::ObjectPrx> ice_encodingVersion(const ::Ice::EncodingVersion& version) const;
818
+
819
+ /**
820
+ * Determines whether this proxy prefers secure endpoints.
821
+ * @return True if the proxy always attempts to invoke via secure endpoints before it
822
+ * attempts to use insecure endpoints, false otherwise.
823
+ */
557
824
  bool ice_isPreferSecure() const;
558
- ::std::shared_ptr<::Ice::ObjectPrx> ice_preferSecure(bool) const;
559
825
 
826
+ /**
827
+ * Obtains a proxy that is identical to this proxy, except for its endpoint selection policy.
828
+ * @param b If true, the new proxy will use secure endpoints for invocations and only use
829
+ * insecure endpoints if an invocation cannot be made via secure endpoints. If false, the
830
+ * proxy prefers insecure endpoints to secure ones.
831
+ * @return A proxy with the specified selection policy.
832
+ */
833
+ ::std::shared_ptr<::Ice::ObjectPrx> ice_preferSecure(bool b) const;
834
+
835
+ /**
836
+ * Obtains the router for this proxy.
837
+ * @return The router for the proxy. If no router is configured for the proxy, the return value
838
+ * is nil.
839
+ */
560
840
  ::std::shared_ptr<::Ice::RouterPrx> ice_getRouter() const;
561
- ::std::shared_ptr<::Ice::ObjectPrx> ice_router(const ::std::shared_ptr<::Ice::RouterPrx>&) const;
562
841
 
842
+ /**
843
+ * Obtains a proxy that is identical to this proxy, except for the router.
844
+ * @param router The router for the new proxy.
845
+ * @return A proxy with the specified router.
846
+ */
847
+ ::std::shared_ptr<::Ice::ObjectPrx> ice_router(const ::std::shared_ptr<::Ice::RouterPrx>& router) const;
848
+
849
+ /**
850
+ * Obtains the locator for this proxy.
851
+ * @return The locator for this proxy. If no locator is configured, the return value is nil.
852
+ */
563
853
  ::std::shared_ptr<::Ice::LocatorPrx> ice_getLocator() const;
564
- ::std::shared_ptr<::Ice::ObjectPrx> ice_locator(const ::std::shared_ptr<::Ice::LocatorPrx>&) const;
565
854
 
855
+ /**
856
+ * Obtains a proxy that is identical to this proxy, except for the locator.
857
+ * @param locator The locator for the new proxy.
858
+ * @return A proxy with the specified locator.
859
+ */
860
+ ::std::shared_ptr<::Ice::ObjectPrx> ice_locator(const ::std::shared_ptr<::Ice::LocatorPrx>& locator) const;
861
+
862
+ /**
863
+ * Determines whether this proxy uses collocation optimization.
864
+ * @return True if the proxy uses collocation optimization, false otherwise.
865
+ */
566
866
  bool ice_isCollocationOptimized() const;
567
- ::std::shared_ptr<::Ice::ObjectPrx> ice_collocationOptimized(bool) const;
568
867
 
868
+ /**
869
+ * Obtains a proxy that is identical to this proxy, except for collocation optimization.
870
+ * @param b True if the new proxy enables collocation optimization, false otherwise.
871
+ * @return A proxy with the specified collocation optimization.
872
+ */
873
+ ::std::shared_ptr<::Ice::ObjectPrx> ice_collocationOptimized(bool b) const;
874
+
875
+ /**
876
+ * Obtains the invocation timeout of this proxy.
877
+ * @return The invocation timeout value (in milliseconds).
878
+ */
569
879
  ::Ice::Int ice_getInvocationTimeout() const;
570
- ::std::shared_ptr<::Ice::ObjectPrx> ice_invocationTimeout(::Ice::Int) const;
571
880
 
881
+ /**
882
+ * Obtains a proxy that is identical to this proxy, except for the invocation timeout.
883
+ * @param timeout The new invocation timeout (in milliseconds).
884
+ * @return A proxy with the new timeout.
885
+ */
886
+ ::std::shared_ptr<::Ice::ObjectPrx> ice_invocationTimeout(::Ice::Int timeout) const;
887
+
888
+ /**
889
+ * Obtains a proxy that is identical to this proxy, but uses twoway invocations.
890
+ * @return A proxy that uses twoway invocations.
891
+ */
572
892
  ::std::shared_ptr<::Ice::ObjectPrx> ice_twoway() const;
893
+
894
+ /**
895
+ * Determines whether this proxy uses twoway invocations.
896
+ * @return True if this proxy uses twoway invocations, false otherwise.
897
+ */
573
898
  bool ice_isTwoway() const;
899
+
900
+ /**
901
+ * Obtains a proxy that is identical to this proxy, but uses oneway invocations.
902
+ * @return A proxy that uses oneway invocations.
903
+ */
574
904
  ::std::shared_ptr<::Ice::ObjectPrx> ice_oneway() const;
905
+
906
+ /**
907
+ * Determines whether this proxy uses oneway invocations.
908
+ * @return True if this proxy uses oneway invocations, false otherwise.
909
+ */
575
910
  bool ice_isOneway() const;
911
+
912
+ /**
913
+ * Obtains a proxy that is identical to this proxy, but uses batch oneway invocations.
914
+ * @return A proxy that uses batch oneway invocations.
915
+ */
576
916
  ::std::shared_ptr<::Ice::ObjectPrx> ice_batchOneway() const;
917
+
918
+ /**
919
+ * Determines whether this proxy uses batch oneway invocations.
920
+ * @return True if this proxy uses batch oneway invocations, false otherwise.
921
+ */
577
922
  bool ice_isBatchOneway() const;
923
+
924
+ /**
925
+ * Obtains a proxy that is identical to this proxy, but uses datagram invocations.
926
+ * @return A proxy that uses datagram invocations.
927
+ */
578
928
  ::std::shared_ptr<::Ice::ObjectPrx> ice_datagram() const;
929
+
930
+ /**
931
+ * Determines whether this proxy uses datagram invocations.
932
+ * @return True if this proxy uses datagram invocations, false otherwise.
933
+ */
579
934
  bool ice_isDatagram() const;
935
+
936
+ /**
937
+ * Obtains a proxy that is identical to this proxy, but uses batch datagram invocations.
938
+ * @return A proxy that uses batch datagram invocations.
939
+ */
580
940
  ::std::shared_ptr<::Ice::ObjectPrx> ice_batchDatagram() const;
581
- bool ice_isBatchDatagram() const;
582
941
 
583
- ::std::shared_ptr<::Ice::ObjectPrx> ice_compress(bool) const;
584
- ::std::shared_ptr<::Ice::ObjectPrx> ice_timeout(int) const;
942
+ /**
943
+ * Determines whether this proxy uses batch datagram invocations.
944
+ * @return True if this proxy uses batch datagram invocations, false otherwise.
945
+ */
946
+ bool ice_isBatchDatagram() const;
585
947
 
586
- ::std::shared_ptr<::Ice::ObjectPrx> ice_connectionId(const ::std::string&) const;
948
+ /**
949
+ * Obtains a proxy that is identical to this proxy, except for its compression setting which
950
+ * overrides the compression setting from the proxy endpoints.
951
+ * @param b True enables compression for the new proxy, false disables compression.
952
+ * @return A proxy with the specified compression override setting.
953
+ */
954
+ ::std::shared_ptr<::Ice::ObjectPrx> ice_compress(bool b) const;
955
+
956
+ /**
957
+ * Obtains the compression override setting of this proxy.
958
+ * @return The compression override setting. If nullopt is returned, no override is set. Otherwise, true
959
+ * if compression is enabled, false otherwise.
960
+ */
961
+ ::Ice::optional<bool> ice_getCompress() const;
962
+
963
+ /**
964
+ * Obtains a proxy that is identical to this proxy, except for its connection timeout setting
965
+ * which overrides the timeot setting from the proxy endpoints.
966
+ * @param timeout The connection timeout override for the proxy (in milliseconds).
967
+ * @return A proxy with the specified timeout override.
968
+ */
969
+ ::std::shared_ptr<::Ice::ObjectPrx> ice_timeout(int timeout) const;
970
+
971
+ /**
972
+ * Obtains the timeout override of this proxy.
973
+ * @return The timeout override. If nullopt is returned, no override is set. Otherwise, returns
974
+ * the timeout override value.
975
+ */
976
+ ::Ice::optional<int> ice_getTimeout() const;
977
+
978
+ /**
979
+ * Obtains a proxy that is identical to this proxy, except for its connection ID.
980
+ * @param id The connection ID for the new proxy. An empty string removes the
981
+ * connection ID.
982
+ * @return A proxy with the specified connection ID.
983
+ */
984
+ ::std::shared_ptr<::Ice::ObjectPrx> ice_connectionId(const ::std::string& id) const;
985
+
986
+ /**
987
+ * Obtains the connection ID of this proxy.
988
+ * @return The connection ID.
989
+ */
587
990
  ::std::string ice_getConnectionId() const;
588
991
 
992
+ /**
993
+ * Obtains a proxy that is identical to this proxy, except it's a fixed proxy bound
994
+ * the given connection.
995
+ * @param connection The fixed proxy connection.
996
+ * @return A fixed proxy bound to the given connection.
997
+ */
998
+ ::std::shared_ptr<::Ice::ObjectPrx> ice_fixed(const ::std::shared_ptr<::Ice::Connection>& connection) const;
999
+
1000
+ /**
1001
+ * Obtains the Connection for this proxy. If the proxy does not yet have an established connection,
1002
+ * it first attempts to create a connection.
1003
+ * @return The connection for this proxy.
1004
+ */
589
1005
  ::std::shared_ptr<::Ice::Connection>
590
1006
  ice_getConnection()
591
1007
  {
592
1008
  return ice_getConnectionAsync().get();
593
1009
  }
594
1010
 
1011
+ /**
1012
+ * Obtains the Connection for this proxy. If the proxy does not yet have an established connection,
1013
+ * it first attempts to create a connection.
1014
+ * @param response The response callback.
1015
+ * @param ex The exception callback.
1016
+ * @param sent The sent callback.
1017
+ * @return A function that can be called to cancel the invocation locally.
1018
+ */
595
1019
  ::std::function<void()>
596
1020
  ice_getConnectionAsync(::std::function<void(::std::shared_ptr<::Ice::Connection>)> response,
597
1021
  ::std::function<void(::std::exception_ptr)> ex = nullptr,
@@ -603,6 +1027,11 @@ public:
603
1027
  return [outAsync]() { outAsync->cancel(); };
604
1028
  }
605
1029
 
1030
+ /**
1031
+ * Obtains the Connection for this proxy. If the proxy does not yet have an established connection,
1032
+ * it first attempts to create a connection.
1033
+ * @return The future object for the invocation.
1034
+ */
606
1035
  template<template<typename> class P = std::promise> auto
607
1036
  ice_getConnectionAsync() -> decltype(std::declval<P<::std::shared_ptr<::Ice::Connection>>>().get_future())
608
1037
  {
@@ -612,15 +1041,32 @@ public:
612
1041
  return outAsync->getFuture();
613
1042
  }
614
1043
 
1044
+ /// \cond INTERNAL
615
1045
  void _iceI_getConnection(const ::std::shared_ptr<::IceInternal::ProxyGetConnection>&);
616
-
1046
+ /// \endcond
1047
+
1048
+ /**
1049
+ * Obtains the cached Connection for this proxy. If the proxy does not yet have an established
1050
+ * connection, it does not attempt to create a connection.
1051
+ * @return The cached connection for this proxy, or nil if the proxy does not have
1052
+ * an established connection.
1053
+ */
617
1054
  ::std::shared_ptr<::Ice::Connection> ice_getCachedConnection() const;
618
1055
 
1056
+ /**
1057
+ * Flushes any pending batched requests for this communicator. The call blocks until the flush is complete.
1058
+ */
619
1059
  void ice_flushBatchRequests()
620
1060
  {
621
1061
  return ice_flushBatchRequestsAsync().get();
622
1062
  }
623
1063
 
1064
+ /**
1065
+ * Flushes any pending batched requests for this communicator. The call blocks until the flush is complete.
1066
+ * @param ex The exception callback.
1067
+ * @param sent The sent callback.
1068
+ * @return A function that can be called to cancel the invocation locally.
1069
+ */
624
1070
  std::function<void()>
625
1071
  ice_flushBatchRequestsAsync(::std::function<void(::std::exception_ptr)> ex,
626
1072
  ::std::function<void(bool)> sent = nullptr)
@@ -631,6 +1077,10 @@ public:
631
1077
  return [outAsync]() { outAsync->cancel(); };
632
1078
  }
633
1079
 
1080
+ /**
1081
+ * Flushes any pending batched requests for this communicator. The call blocks until the flush is complete.
1082
+ * @return The future object for the invocation.
1083
+ */
634
1084
  template<template<typename> class P = std::promise> auto
635
1085
  ice_flushBatchRequestsAsync() -> decltype(std::declval<P<void>>().get_future())
636
1086
  {
@@ -640,6 +1090,7 @@ public:
640
1090
  return outAsync->getFuture();
641
1091
  }
642
1092
 
1093
+ /// \cond INTERNAL
643
1094
  void _iceI_flushBatchRequests(const ::std::shared_ptr<::IceInternal::ProxyFlushBatchAsync>&);
644
1095
 
645
1096
  const ::IceInternal::ReferencePtr& _getReference() const { return _reference; }
@@ -659,9 +1110,11 @@ public:
659
1110
  int _hash() const;
660
1111
 
661
1112
  void _write(OutputStream&) const;
1113
+ /// \endcond
662
1114
 
663
1115
  protected:
664
1116
 
1117
+ /// \cond INTERNAL
665
1118
  template<typename R, template<typename> class P = ::std::promise, typename Obj, typename Fn, typename... Args>
666
1119
  auto _makePromiseOutgoing(bool sync, Obj obj, Fn fn, Args&&... args)
667
1120
  -> decltype(std::declval<P<R>>().get_future())
@@ -682,6 +1135,7 @@ protected:
682
1135
  virtual ::std::shared_ptr<ObjectPrx> _newInstance() const;
683
1136
  ObjectPrx() = default;
684
1137
  friend ::std::shared_ptr<ObjectPrx> IceInternal::createProxy<ObjectPrx>();
1138
+ /// \endcond
685
1139
 
686
1140
  private:
687
1141
 
@@ -718,111 +1172,233 @@ operator!=(const ObjectPrx& lhs, const ObjectPrx& rhs)
718
1172
  return !(lhs == rhs);
719
1173
  }
720
1174
 
1175
+ /**
1176
+ * Helper template that supplies proxy factory functions.
1177
+ * \headerfile Ice/Ice.h
1178
+ */
721
1179
  template<typename Prx, typename... Bases>
722
1180
  class Proxy : public virtual Bases...
723
1181
  {
724
1182
  public:
725
1183
 
1184
+ /**
1185
+ * Obtains a proxy that is identical to this proxy, except for the per-proxy context.
1186
+ * @param context The context for the new proxy.
1187
+ * @return A proxy with the new per-proxy context.
1188
+ */
726
1189
  ::std::shared_ptr<Prx> ice_context(const ::Ice::Context& context) const
727
1190
  {
728
1191
  return ::std::dynamic_pointer_cast<Prx>(ObjectPrx::ice_context(context));
729
1192
  }
730
1193
 
1194
+ /**
1195
+ * Obtains a proxy that is identical to this proxy, except for the adapter ID.
1196
+ * @param id The adapter ID for the new proxy.
1197
+ * @return A proxy with the new adapter ID.
1198
+ */
731
1199
  ::std::shared_ptr<Prx> ice_adapterId(const ::std::string& id) const
732
1200
  {
733
1201
  return ::std::dynamic_pointer_cast<Prx>(ObjectPrx::ice_adapterId(id));
734
1202
  }
735
1203
 
1204
+ /**
1205
+ * Obtains a proxy that is identical to this proxy, except for the endpoints.
1206
+ * @param endpoints The endpoints for the new proxy.
1207
+ * @return A proxy with the new endpoints.
1208
+ */
736
1209
  ::std::shared_ptr<Prx> ice_endpoints(const ::Ice::EndpointSeq& endpoints) const
737
1210
  {
738
1211
  return ::std::dynamic_pointer_cast<Prx>(ObjectPrx::ice_endpoints(endpoints));
739
1212
  }
740
1213
 
1214
+ /**
1215
+ * Obtains a proxy that is identical to this proxy, except for the locator cache timeout.
1216
+ * @param timeout The new locator cache timeout (in seconds).
1217
+ * @return A proxy with the new timeout.
1218
+ */
741
1219
  ::std::shared_ptr<Prx> ice_locatorCacheTimeout(int timeout) const
742
1220
  {
743
1221
  return ::std::dynamic_pointer_cast<Prx>(ObjectPrx::ice_locatorCacheTimeout(timeout));
744
1222
  }
745
1223
 
746
- ::std::shared_ptr<Prx> ice_connectionCached(bool cached) const
1224
+ /**
1225
+ * Obtains a proxy that is identical to this proxy, except for connection caching.
1226
+ * @param b True if the new proxy should cache connections, false otherwise.
1227
+ * @return A proxy with the specified caching policy.
1228
+ */
1229
+ ::std::shared_ptr<Prx> ice_connectionCached(bool b) const
747
1230
  {
748
- return ::std::dynamic_pointer_cast<Prx>(ObjectPrx::ice_connectionCached(cached));
1231
+ return ::std::dynamic_pointer_cast<Prx>(ObjectPrx::ice_connectionCached(b));
749
1232
  }
750
1233
 
751
- ::std::shared_ptr<Prx> ice_endpointSelection(::Ice::EndpointSelectionType selection) const
1234
+ /**
1235
+ * Obtains a proxy that is identical to this proxy, except for the endpoint selection policy.
1236
+ * @param type The new endpoint selection policy.
1237
+ * @return A proxy with the specified endpoint selection policy.
1238
+ */
1239
+ ::std::shared_ptr<Prx> ice_endpointSelection(::Ice::EndpointSelectionType type) const
752
1240
  {
753
- return ::std::dynamic_pointer_cast<Prx>(ObjectPrx::ice_endpointSelection(selection));
1241
+ return ::std::dynamic_pointer_cast<Prx>(ObjectPrx::ice_endpointSelection(type));
754
1242
  }
755
1243
 
756
- ::std::shared_ptr<Prx> ice_secure(bool secure) const
1244
+ /**
1245
+ * Obtains a proxy that is identical to this proxy, except for how it selects endpoints.
1246
+ * @param b If true, only endpoints that use a secure transport are used by the new proxy.
1247
+ * If false, the returned proxy uses both secure and insecure endpoints.
1248
+ * @return A proxy with the specified security policy.
1249
+ */
1250
+ ::std::shared_ptr<Prx> ice_secure(bool b) const
757
1251
  {
758
- return ::std::dynamic_pointer_cast<Prx>(ObjectPrx::ice_secure(secure));
1252
+ return ::std::dynamic_pointer_cast<Prx>(ObjectPrx::ice_secure(b));
759
1253
  }
760
1254
 
761
- ::std::shared_ptr<Prx> ice_preferSecure(bool preferSecure) const
1255
+ /**
1256
+ * Obtains a proxy that is identical to this proxy, except for its endpoint selection policy.
1257
+ * @param b If true, the new proxy will use secure endpoints for invocations and only use
1258
+ * insecure endpoints if an invocation cannot be made via secure endpoints. If false, the
1259
+ * proxy prefers insecure endpoints to secure ones.
1260
+ * @return A proxy with the specified selection policy.
1261
+ */
1262
+ ::std::shared_ptr<Prx> ice_preferSecure(bool b) const
762
1263
  {
763
- return ::std::dynamic_pointer_cast<Prx>(ObjectPrx::ice_preferSecure(preferSecure));
1264
+ return ::std::dynamic_pointer_cast<Prx>(ObjectPrx::ice_preferSecure(b));
764
1265
  }
765
1266
 
1267
+ /**
1268
+ * Obtains a proxy that is identical to this proxy, except for the router.
1269
+ * @param router The router for the new proxy.
1270
+ * @return A proxy with the specified router.
1271
+ */
766
1272
  ::std::shared_ptr<Prx> ice_router(const ::std::shared_ptr<::Ice::RouterPrx>& router) const
767
1273
  {
768
1274
  return ::std::dynamic_pointer_cast<Prx>(ObjectPrx::ice_router(router));
769
1275
  }
770
1276
 
1277
+ /**
1278
+ * Obtains a proxy that is identical to this proxy, except for the locator.
1279
+ * @param locator The locator for the new proxy.
1280
+ * @return A proxy with the specified locator.
1281
+ */
771
1282
  ::std::shared_ptr<Prx> ice_locator(const ::std::shared_ptr<::Ice::LocatorPrx>& locator) const
772
1283
  {
773
1284
  return ::std::dynamic_pointer_cast<Prx>(ObjectPrx::ice_locator(locator));
774
1285
  }
775
1286
 
776
- ::std::shared_ptr<Prx> ice_collocationOptimized(bool collocated) const
1287
+ /**
1288
+ * Obtains a proxy that is identical to this proxy, except for collocation optimization.
1289
+ * @param b True if the new proxy enables collocation optimization, false otherwise.
1290
+ * @return A proxy with the specified collocation optimization.
1291
+ */
1292
+ ::std::shared_ptr<Prx> ice_collocationOptimized(bool b) const
777
1293
  {
778
- return ::std::dynamic_pointer_cast<Prx>(ObjectPrx::ice_collocationOptimized(collocated));
1294
+ return ::std::dynamic_pointer_cast<Prx>(ObjectPrx::ice_collocationOptimized(b));
779
1295
  }
780
1296
 
1297
+ /**
1298
+ * Obtains a proxy that is identical to this proxy, except for the invocation timeout.
1299
+ * @param timeout The new invocation timeout (in milliseconds).
1300
+ * @return A proxy with the new timeout.
1301
+ */
781
1302
  ::std::shared_ptr<Prx> ice_invocationTimeout(int timeout) const
782
1303
  {
783
1304
  return ::std::dynamic_pointer_cast<Prx>(ObjectPrx::ice_invocationTimeout(timeout));
784
1305
  }
785
1306
 
1307
+ /**
1308
+ * Obtains a proxy that is identical to this proxy, but uses twoway invocations.
1309
+ * @return A proxy that uses twoway invocations.
1310
+ */
786
1311
  ::std::shared_ptr<Prx> ice_twoway() const
787
1312
  {
788
1313
  return ::std::dynamic_pointer_cast<Prx>(ObjectPrx::ice_twoway());
789
1314
  }
790
1315
 
1316
+ /**
1317
+ * Obtains a proxy that is identical to this proxy, but uses oneway invocations.
1318
+ * @return A proxy that uses oneway invocations.
1319
+ */
791
1320
  ::std::shared_ptr<Prx> ice_oneway() const
792
1321
  {
793
1322
  return ::std::dynamic_pointer_cast<Prx>(ObjectPrx::ice_oneway());
794
1323
  }
795
1324
 
1325
+ /**
1326
+ * Obtains a proxy that is identical to this proxy, but uses batch oneway invocations.
1327
+ * @return A proxy that uses batch oneway invocations.
1328
+ */
796
1329
  ::std::shared_ptr<Prx> ice_batchOneway() const
797
1330
  {
798
1331
  return ::std::dynamic_pointer_cast<Prx>(ObjectPrx::ice_batchOneway());
799
1332
  }
800
1333
 
1334
+ /**
1335
+ * Obtains a proxy that is identical to this proxy, but uses datagram invocations.
1336
+ * @return A proxy that uses datagram invocations.
1337
+ */
801
1338
  ::std::shared_ptr<Prx> ice_datagram() const
802
1339
  {
803
1340
  return ::std::dynamic_pointer_cast<Prx>(ObjectPrx::ice_datagram());
804
1341
  }
805
1342
 
1343
+ /**
1344
+ * Obtains a proxy that is identical to this proxy, but uses batch datagram invocations.
1345
+ * @return A proxy that uses batch datagram invocations.
1346
+ */
806
1347
  ::std::shared_ptr<Prx> ice_batchDatagram() const
807
1348
  {
808
1349
  return ::std::dynamic_pointer_cast<Prx>(ObjectPrx::ice_batchDatagram());
809
1350
  }
810
1351
 
811
- ::std::shared_ptr<Prx> ice_compress(bool compress) const
1352
+ /**
1353
+ * Obtains a proxy that is identical to this proxy, except for its compression setting which
1354
+ * overrides the compression setting from the proxy endpoints.
1355
+ * @param b True enables compression for the new proxy, false disables compression.
1356
+ * @return A proxy with the specified compression override setting.
1357
+ */
1358
+ ::std::shared_ptr<Prx> ice_compress(bool b) const
812
1359
  {
813
- return ::std::dynamic_pointer_cast<Prx>(ObjectPrx::ice_compress(compress));
1360
+ return ::std::dynamic_pointer_cast<Prx>(ObjectPrx::ice_compress(b));
814
1361
  }
815
1362
 
1363
+ /**
1364
+ * Obtains a proxy that is identical to this proxy, except for its connection timeout setting
1365
+ * which overrides the timeot setting from the proxy endpoints.
1366
+ * @param timeout The connection timeout override for the proxy (in milliseconds).
1367
+ * @return A proxy with the specified timeout override.
1368
+ */
816
1369
  ::std::shared_ptr<Prx> ice_timeout(int timeout) const
817
1370
  {
818
1371
  return ::std::dynamic_pointer_cast<Prx>(ObjectPrx::ice_timeout(timeout));
819
1372
  }
820
1373
 
1374
+ /**
1375
+ * Obtains a proxy that is identical to this proxy, except for its connection ID.
1376
+ * @param id The connection ID for the new proxy. An empty string removes the
1377
+ * connection ID.
1378
+ * @return A proxy with the specified connection ID.
1379
+ */
821
1380
  ::std::shared_ptr<Prx> ice_connectionId(const ::std::string& id) const
822
1381
  {
823
1382
  return ::std::dynamic_pointer_cast<Prx>(ObjectPrx::ice_connectionId(id));
824
1383
  }
825
1384
 
1385
+ /**
1386
+ * Obtains a proxy that is identical to this proxy, except it's a fixed proxy bound
1387
+ * the given connection.
1388
+ * @param connection The fixed proxy connection.
1389
+ * @return A fixed proxy bound to the given connection.
1390
+ */
1391
+ ::std::shared_ptr<Prx> ice_fixed(const ::std::shared_ptr<::Ice::Connection>& connection) const
1392
+ {
1393
+ return ::std::dynamic_pointer_cast<Prx>(ObjectPrx::ice_fixed(connection));
1394
+ }
1395
+
1396
+ /**
1397
+ * Obtains a proxy that is identical to this proxy, except for the encoding used to marshal
1398
+ * parameters.
1399
+ * @param version The encoding version to use to marshal request parameters.
1400
+ * @return A proxy with the specified encoding version.
1401
+ */
826
1402
  ::std::shared_ptr<Prx> ice_encodingVersion(const ::Ice::EncodingVersion& version) const
827
1403
  {
828
1404
  return ::std::dynamic_pointer_cast<Prx>(ObjectPrx::ice_encodingVersion(version));
@@ -830,18 +1406,59 @@ public:
830
1406
 
831
1407
  protected:
832
1408
 
1409
+ /// \cond INTERNAL
833
1410
  virtual ::std::shared_ptr<ObjectPrx> _newInstance() const = 0;
1411
+ /// \endcond
834
1412
  };
835
1413
 
836
1414
  ICE_API ::std::ostream& operator<<(::std::ostream&, const ::Ice::ObjectPrx&);
837
1415
 
838
- ICE_API bool proxyIdentityLess(const ::std::shared_ptr<ObjectPrx>&, const ::std::shared_ptr<ObjectPrx>&);
839
- ICE_API bool proxyIdentityEqual(const ::std::shared_ptr<ObjectPrx>&, const ::std::shared_ptr<ObjectPrx>&);
840
-
841
- ICE_API bool proxyIdentityAndFacetLess(const ::std::shared_ptr<ObjectPrx>&, const ::std::shared_ptr<ObjectPrx>&);
842
- ICE_API bool proxyIdentityAndFacetEqual(const ::std::shared_ptr<ObjectPrx>&, const ::std::shared_ptr<ObjectPrx>&);
843
-
1416
+ /**
1417
+ * Compares the object identities of two proxies.
1418
+ * @param lhs A proxy.
1419
+ * @param rhs A proxy.
1420
+ * @return True if the identity in lhs compares less than the identity in rhs, false otherwise.
1421
+ */
1422
+ ICE_API bool proxyIdentityLess(const ::std::shared_ptr<ObjectPrx>& lhs, const ::std::shared_ptr<ObjectPrx>& rhs);
1423
+
1424
+ /**
1425
+ * Compares the object identities of two proxies.
1426
+ * @param lhs A proxy.
1427
+ * @param rhs A proxy.
1428
+ * @return True if the identity in lhs compares equal to the identity in rhs, false otherwise.
1429
+ */
1430
+ ICE_API bool proxyIdentityEqual(const ::std::shared_ptr<ObjectPrx>& lhs, const ::std::shared_ptr<ObjectPrx>& rhs);
1431
+
1432
+ /**
1433
+ * Compares the object identities and facets of two proxies.
1434
+ * @param lhs A proxy.
1435
+ * @param rhs A proxy.
1436
+ * @return True if the identity and facet in lhs compare less than the identity and facet
1437
+ * in rhs, false otherwise.
1438
+ */
1439
+ ICE_API bool proxyIdentityAndFacetLess(const ::std::shared_ptr<ObjectPrx>& lhs,
1440
+ const ::std::shared_ptr<ObjectPrx>& rhs);
1441
+
1442
+ /**
1443
+ * Compares the object identities and facets of two proxies.
1444
+ * @param lhs A proxy.
1445
+ * @param rhs A proxy.
1446
+ * @return True if the identity and facet in lhs compare equal to the identity and facet
1447
+ * in rhs, false otherwise.
1448
+ */
1449
+ ICE_API bool proxyIdentityAndFacetEqual(const ::std::shared_ptr<ObjectPrx>& lhs,
1450
+ const ::std::shared_ptr<ObjectPrx>& rhs);
1451
+
1452
+ /**
1453
+ * A functor that compares the object identities of two proxies. Evaluates true if the identity in lhs
1454
+ * compares less than the identity in rhs, false otherwise.
1455
+ * \headerfile Ice/Ice.h
1456
+ */
1457
+ #if (ICE_CPLUSPLUS >= 201703L)
1458
+ struct ProxyIdentityLess
1459
+ #else
844
1460
  struct ProxyIdentityLess : std::binary_function<bool, ::std::shared_ptr<ObjectPrx>&, ::std::shared_ptr<ObjectPrx>&>
1461
+ #endif
845
1462
  {
846
1463
  bool operator()(const ::std::shared_ptr<ObjectPrx>& lhs, const ::std::shared_ptr<ObjectPrx>& rhs) const
847
1464
  {
@@ -849,7 +1466,16 @@ struct ProxyIdentityLess : std::binary_function<bool, ::std::shared_ptr<ObjectPr
849
1466
  }
850
1467
  };
851
1468
 
1469
+ /**
1470
+ * A functor that compares the object identities of two proxies. Evaluates true if the identity in lhs
1471
+ * compares equal to the identity in rhs, false otherwise.
1472
+ * \headerfile Ice/Ice.h
1473
+ */
1474
+ #if (ICE_CPLUSPLUS >= 201703L)
1475
+ struct ProxyIdentityEqual
1476
+ #else
852
1477
  struct ProxyIdentityEqual : std::binary_function<bool, ::std::shared_ptr<ObjectPrx>&, ::std::shared_ptr<ObjectPrx>&>
1478
+ #endif
853
1479
  {
854
1480
  bool operator()(const ::std::shared_ptr<ObjectPrx>& lhs, const ::std::shared_ptr<ObjectPrx>& rhs) const
855
1481
  {
@@ -857,7 +1483,16 @@ struct ProxyIdentityEqual : std::binary_function<bool, ::std::shared_ptr<ObjectP
857
1483
  }
858
1484
  };
859
1485
 
1486
+ /**
1487
+ * A functor that compares the object identities and facets of two proxies. Evaluates true if the identity
1488
+ * and facet in lhs compare less than the identity and facet in rhs, false otherwise.
1489
+ * \headerfile Ice/Ice.h
1490
+ */
1491
+ #if (ICE_CPLUSPLUS >= 201703L)
1492
+ struct ProxyIdentityAndFacetLess
1493
+ #else
860
1494
  struct ProxyIdentityAndFacetLess : std::binary_function<bool, ::std::shared_ptr<ObjectPrx>&, ::std::shared_ptr<ObjectPrx>&>
1495
+ #endif
861
1496
  {
862
1497
  bool operator()(const ::std::shared_ptr<ObjectPrx>& lhs, const ::std::shared_ptr<ObjectPrx>& rhs) const
863
1498
  {
@@ -865,7 +1500,16 @@ struct ProxyIdentityAndFacetLess : std::binary_function<bool, ::std::shared_ptr<
865
1500
  }
866
1501
  };
867
1502
 
1503
+ /**
1504
+ * A functor that compares the object identities and facets of two proxies. Evaluates true if the identity
1505
+ * and facet in lhs compare equal to the identity and facet in rhs, false otherwise.
1506
+ * \headerfile Ice/Ice.h
1507
+ */
1508
+ #if (ICE_CPLUSPLUS >= 201703L)
1509
+ struct ProxyIdentityAndFacetEqual
1510
+ #else
868
1511
  struct ProxyIdentityAndFacetEqual : std::binary_function<bool, ::std::shared_ptr<ObjectPrx>&, ::std::shared_ptr<ObjectPrx>&>
1512
+ #endif
869
1513
  {
870
1514
  bool operator()(const ::std::shared_ptr<ObjectPrx>& lhs, const ::std::shared_ptr<ObjectPrx>& rhs) const
871
1515
  {
@@ -873,6 +1517,11 @@ struct ProxyIdentityAndFacetEqual : std::binary_function<bool, ::std::shared_ptr
873
1517
  }
874
1518
  };
875
1519
 
1520
+ /**
1521
+ * Downcasts a proxy without confirming the target object's type via a remote invocation.
1522
+ * @param b The target proxy.
1523
+ * @return A proxy with the requested type.
1524
+ */
876
1525
  template<typename P,
877
1526
  typename T,
878
1527
  typename ::std::enable_if<::std::is_base_of<::Ice::ObjectPrx, P>::value>::type* = nullptr,
@@ -892,6 +1541,12 @@ uncheckedCast(const ::std::shared_ptr<T>& b)
892
1541
  return r;
893
1542
  }
894
1543
 
1544
+ /**
1545
+ * Downcasts a proxy without confirming the target object's type via a remote invocation.
1546
+ * @param b The target proxy.
1547
+ * @param f A facet name.
1548
+ * @return A proxy with the requested type and facet.
1549
+ */
895
1550
  template<typename P,
896
1551
  typename T,
897
1552
  typename ::std::enable_if<::std::is_base_of<::Ice::ObjectPrx, P>::value>::type* = nullptr,
@@ -907,6 +1562,13 @@ uncheckedCast(const ::std::shared_ptr<T>& b, const std::string& f)
907
1562
  return r;
908
1563
  }
909
1564
 
1565
+ /**
1566
+ * Downcasts a proxy after confirming the target object's type via a remote invocation.
1567
+ * @param b The target proxy.
1568
+ * @param context The context map for the invocation.
1569
+ * @return A proxy with the requested type, or nil if the target proxy is nil or the target
1570
+ * object does not support the requested type.
1571
+ */
910
1572
  template<typename P,
911
1573
  typename T,
912
1574
  typename ::std::enable_if<::std::is_base_of<::Ice::ObjectPrx, P>::value>::type* = nullptr,
@@ -925,6 +1587,14 @@ checkedCast(const ::std::shared_ptr<T>& b, const ::Ice::Context& context = Ice::
925
1587
  return r;
926
1588
  }
927
1589
 
1590
+ /**
1591
+ * Downcasts a proxy after confirming the target object's type via a remote invocation.
1592
+ * @param b The target proxy.
1593
+ * @param f A facet name.
1594
+ * @param context The context map for the invocation.
1595
+ * @return A proxy with the requested type and facet, or nil if the target proxy is nil or the target
1596
+ * object does not support the requested type.
1597
+ */
928
1598
  template<typename P,
929
1599
  typename T,
930
1600
  typename ::std::enable_if<::std::is_base_of<::Ice::ObjectPrx, P>::value>::type* = nullptr,
@@ -962,11 +1632,13 @@ namespace IceProxy
962
1632
  namespace Ice
963
1633
  {
964
1634
 
1635
+ /// \cond INTERNAL
965
1636
  class Locator;
966
1637
  ICE_API ::IceProxy::Ice::Object* upCast(::IceProxy::Ice::Locator*);
967
1638
 
968
1639
  class Router;
969
1640
  ICE_API ::IceProxy::Ice::Object* upCast(::IceProxy::Ice::Router*);
1641
+ /// \endcond
970
1642
 
971
1643
  }
972
1644
 
@@ -983,24 +1655,66 @@ typedef LocatorPrx LocatorPrxPtr;
983
1655
  class LocalException;
984
1656
  class OutputStream;
985
1657
 
1658
+ /**
1659
+ * Base class for asynchronous callback wrapper classes used for calls to
1660
+ * IceProxy::Ice::Object::begin_ice_isA.
1661
+ * Create a wrapper instance by calling ::Ice::newCallback_Object_ice_isA.
1662
+ * \headerfile Ice/Ice.h
1663
+ */
986
1664
  class Callback_Object_ice_isA_Base : public virtual ::IceInternal::CallbackBase { };
987
1665
  typedef ::IceUtil::Handle< Callback_Object_ice_isA_Base> Callback_Object_ice_isAPtr;
988
1666
 
1667
+ /**
1668
+ * Base class for asynchronous callback wrapper classes used for calls to
1669
+ * IceProxy::Ice::Object::begin_ice_ping.
1670
+ * Create a wrapper instance by calling ::Ice::newCallback_Object_ice_ping.
1671
+ * \headerfile Ice/Ice.h
1672
+ */
989
1673
  class Callback_Object_ice_ping_Base : public virtual ::IceInternal::CallbackBase { };
990
1674
  typedef ::IceUtil::Handle< Callback_Object_ice_ping_Base> Callback_Object_ice_pingPtr;
991
1675
 
1676
+ /**
1677
+ * Base class for asynchronous callback wrapper classes used for calls to
1678
+ * IceProxy::Ice::Object::begin_ice_ids.
1679
+ * Create a wrapper instance by calling ::Ice::newCallback_Object_ice_ids.
1680
+ * \headerfile Ice/Ice.h
1681
+ */
992
1682
  class Callback_Object_ice_ids_Base : public virtual ::IceInternal::CallbackBase { };
993
1683
  typedef ::IceUtil::Handle< Callback_Object_ice_ids_Base> Callback_Object_ice_idsPtr;
994
1684
 
1685
+ /**
1686
+ * Base class for asynchronous callback wrapper classes used for calls to
1687
+ * IceProxy::Ice::Object::begin_ice_id.
1688
+ * Create a wrapper instance by calling ::Ice::newCallback_Object_ice_id.
1689
+ * \headerfile Ice/Ice.h
1690
+ */
995
1691
  class Callback_Object_ice_id_Base : public virtual ::IceInternal::CallbackBase { };
996
1692
  typedef ::IceUtil::Handle< Callback_Object_ice_id_Base> Callback_Object_ice_idPtr;
997
1693
 
1694
+ /**
1695
+ * Base class for asynchronous callback wrapper classes used for calls to
1696
+ * IceProxy::Ice::Object::begin_ice_invoke.
1697
+ * Create a wrapper instance by calling ::Ice::newCallback_Object_ice_invoke.
1698
+ * \headerfile Ice/Ice.h
1699
+ */
998
1700
  class Callback_Object_ice_invoke_Base : public virtual ::IceInternal::CallbackBase { };
999
1701
  typedef ::IceUtil::Handle< Callback_Object_ice_invoke_Base> Callback_Object_ice_invokePtr;
1000
1702
 
1703
+ /**
1704
+ * Base class for asynchronous callback wrapper classes used for calls to
1705
+ * IceProxy::Ice::Object::begin_ice_flushBatchRequests.
1706
+ * Create a wrapper instance by calling ::Ice::newCallback_Object_ice_flushBatchRequests.
1707
+ * \headerfile Ice/Ice.h
1708
+ */
1001
1709
  class Callback_Object_ice_flushBatchRequests_Base : public virtual ::IceInternal::CallbackBase { };
1002
1710
  typedef ::IceUtil::Handle< Callback_Object_ice_flushBatchRequests_Base> Callback_Object_ice_flushBatchRequestsPtr;
1003
1711
 
1712
+ /**
1713
+ * Base class for asynchronous callback wrapper classes used for calls to
1714
+ * IceProxy::Ice::Object::begin_ice_getConnection.
1715
+ * Create a wrapper instance by calling ::Ice::newCallback_Object_ice_getConnection.
1716
+ * \headerfile Ice/Ice.h
1717
+ */
1004
1718
  class Callback_Object_ice_getConnection_Base : public virtual ::IceInternal::CallbackBase { };
1005
1719
  typedef ::IceUtil::Handle< Callback_Object_ice_getConnection_Base> Callback_Object_ice_getConnectionPtr;
1006
1720
 
@@ -1009,6 +1723,10 @@ typedef ::IceUtil::Handle< Callback_Object_ice_getConnection_Base> Callback_Obje
1009
1723
  namespace IceProxy { namespace Ice
1010
1724
  {
1011
1725
 
1726
+ /**
1727
+ * Base class of all object proxies.
1728
+ * \headerfile Ice/Ice.h
1729
+ */
1012
1730
  class ICE_API Object : public ::IceUtil::Shared
1013
1731
  {
1014
1732
  public:
@@ -1016,408 +1734,1047 @@ public:
1016
1734
  bool operator==(const Object&) const;
1017
1735
  bool operator<(const Object&) const;
1018
1736
 
1737
+ /**
1738
+ * Obtains the communicator that created this proxy.
1739
+ * @return The communicator that created this proxy.
1740
+ */
1019
1741
  ::Ice::CommunicatorPtr ice_getCommunicator() const;
1020
1742
 
1743
+ /**
1744
+ * Obtains a stringified version of this proxy.
1745
+ * @return A stringified proxy.
1746
+ */
1021
1747
  ::std::string ice_toString() const;
1022
1748
 
1749
+ /**
1750
+ * Tests whether this object supports a specific Slice interface.
1751
+ * @param typeId The type ID of the Slice interface to test against.
1752
+ * @param context The context map for the invocation.
1753
+ * @return True if the target object has the interface
1754
+ * specified by id or derives from the interface specified by id.
1755
+ */
1023
1756
  bool ice_isA(const ::std::string& typeId, const ::Ice::Context& context = ::Ice::noExplicitContext)
1024
1757
  {
1025
1758
  return end_ice_isA(_iceI_begin_ice_isA(typeId, context, ::IceInternal::dummyCallback, 0, true));
1026
1759
  }
1027
1760
 
1761
+ /**
1762
+ * Tests whether this object supports a specific Slice interface.
1763
+ * @param typeId The type ID of the Slice interface to test against.
1764
+ * @param context The context map for the invocation.
1765
+ * @return The asynchronous result object for the invocation.
1766
+ */
1028
1767
  ::Ice::AsyncResultPtr begin_ice_isA(const ::std::string& typeId,
1029
1768
  const ::Ice::Context& context = ::Ice::noExplicitContext)
1030
1769
  {
1031
1770
  return _iceI_begin_ice_isA(typeId, context, ::IceInternal::dummyCallback, 0);
1032
1771
  }
1033
1772
 
1773
+ /**
1774
+ * Tests whether this object supports a specific Slice interface.
1775
+ * @param typeId The type ID of the Slice interface to test against.
1776
+ * @param cb Asynchronous callback object.
1777
+ * @param cookie User-defined data to associate with the invocation.
1778
+ * @return The asynchronous result object for the invocation.
1779
+ */
1034
1780
  ::Ice::AsyncResultPtr begin_ice_isA(const ::std::string& typeId,
1035
- const ::Ice::CallbackPtr& del,
1781
+ const ::Ice::CallbackPtr& cb,
1036
1782
  const ::Ice::LocalObjectPtr& cookie = 0)
1037
1783
  {
1038
- return _iceI_begin_ice_isA(typeId, ::Ice::noExplicitContext, del, cookie);
1784
+ return _iceI_begin_ice_isA(typeId, ::Ice::noExplicitContext, cb, cookie);
1039
1785
  }
1040
1786
 
1787
+ /**
1788
+ * Tests whether this object supports a specific Slice interface.
1789
+ * @param typeId The type ID of the Slice interface to test against.
1790
+ * @param context The context map for the invocation.
1791
+ * @param cb Asynchronous callback object.
1792
+ * @param cookie User-defined data to associate with the invocation.
1793
+ * @return The asynchronous result object for the invocation.
1794
+ */
1041
1795
  ::Ice::AsyncResultPtr begin_ice_isA(const ::std::string& typeId,
1042
1796
  const ::Ice::Context& context,
1043
- const ::Ice::CallbackPtr& del,
1797
+ const ::Ice::CallbackPtr& cb,
1044
1798
  const ::Ice::LocalObjectPtr& cookie = 0)
1045
1799
  {
1046
- return _iceI_begin_ice_isA(typeId, context, del, cookie);
1800
+ return _iceI_begin_ice_isA(typeId, context, cb, cookie);
1047
1801
  }
1048
1802
 
1803
+ /**
1804
+ * Tests whether this object supports a specific Slice interface.
1805
+ * @param typeId The type ID of the Slice interface to test against.
1806
+ * @param cb Asynchronous callback object.
1807
+ * @param cookie User-defined data to associate with the invocation.
1808
+ * @return The asynchronous result object for the invocation.
1809
+ */
1049
1810
  ::Ice::AsyncResultPtr begin_ice_isA(const ::std::string& typeId,
1050
- const ::Ice::Callback_Object_ice_isAPtr& del,
1811
+ const ::Ice::Callback_Object_ice_isAPtr& cb,
1051
1812
  const ::Ice::LocalObjectPtr& cookie = 0)
1052
1813
  {
1053
- return _iceI_begin_ice_isA(typeId, ::Ice::noExplicitContext, del, cookie);
1814
+ return _iceI_begin_ice_isA(typeId, ::Ice::noExplicitContext, cb, cookie);
1054
1815
  }
1055
1816
 
1817
+ /**
1818
+ * Tests whether this object supports a specific Slice interface.
1819
+ * @param typeId The type ID of the Slice interface to test against.
1820
+ * @param context The context map for the invocation.
1821
+ * @param cb Asynchronous callback object.
1822
+ * @param cookie User-defined data to associate with the invocation.
1823
+ * @return The asynchronous result object for the invocation.
1824
+ */
1056
1825
  ::Ice::AsyncResultPtr begin_ice_isA(const ::std::string& typeId,
1057
1826
  const ::Ice::Context& context,
1058
- const ::Ice::Callback_Object_ice_isAPtr& del,
1827
+ const ::Ice::Callback_Object_ice_isAPtr& cb,
1059
1828
  const ::Ice::LocalObjectPtr& cookie = 0)
1060
1829
  {
1061
- return _iceI_begin_ice_isA(typeId, context, del, cookie);
1830
+ return _iceI_begin_ice_isA(typeId, context, cb, cookie);
1062
1831
  }
1063
1832
 
1064
- bool end_ice_isA(const ::Ice::AsyncResultPtr&);
1833
+ /**
1834
+ * Completes an invocation of begin_ice_isA.
1835
+ * @param result The asynchronous result object for the invocation.
1836
+ * @return True if the target object has the interface
1837
+ * specified by id or derives from the interface specified by id.
1838
+ */
1839
+ bool end_ice_isA(const ::Ice::AsyncResultPtr& result);
1065
1840
 
1841
+ /**
1842
+ * Tests whether the target object of this proxy can be reached.
1843
+ * @param context The context map for the invocation.
1844
+ */
1066
1845
  void ice_ping(const ::Ice::Context& context = ::Ice::noExplicitContext)
1067
1846
  {
1068
1847
  end_ice_ping(_iceI_begin_ice_ping(context, ::IceInternal::dummyCallback, 0, true));
1069
1848
  }
1070
1849
 
1850
+ /**
1851
+ * Tests whether the target object of this proxy can be reached.
1852
+ * @param context The context map for the invocation.
1853
+ * @return The asynchronous result object for the invocation.
1854
+ */
1071
1855
  ::Ice::AsyncResultPtr begin_ice_ping(const ::Ice::Context& context = ::Ice::noExplicitContext)
1072
1856
  {
1073
1857
  return _iceI_begin_ice_ping(context, ::IceInternal::dummyCallback, 0);
1074
1858
  }
1075
1859
 
1076
- ::Ice::AsyncResultPtr begin_ice_ping(const ::Ice::CallbackPtr& del, const ::Ice::LocalObjectPtr& cookie = 0)
1860
+ /**
1861
+ * Tests whether the target object of this proxy can be reached.
1862
+ * @param cb Asynchronous callback object.
1863
+ * @param cookie User-defined data to associate with the invocation.
1864
+ * @return The asynchronous result object for the invocation.
1865
+ */
1866
+ ::Ice::AsyncResultPtr begin_ice_ping(const ::Ice::CallbackPtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
1077
1867
  {
1078
- return _iceI_begin_ice_ping(::Ice::noExplicitContext, del, cookie);
1868
+ return _iceI_begin_ice_ping(::Ice::noExplicitContext, cb, cookie);
1079
1869
  }
1080
1870
 
1081
- ::Ice::AsyncResultPtr begin_ice_ping(const ::Ice::Context& context, const ::Ice::CallbackPtr& del,
1871
+ /**
1872
+ * Tests whether the target object of this proxy can be reached.
1873
+ * @param context The context map for the invocation.
1874
+ * @param cb Asynchronous callback object.
1875
+ * @param cookie User-defined data to associate with the invocation.
1876
+ * @return The asynchronous result object for the invocation.
1877
+ */
1878
+ ::Ice::AsyncResultPtr begin_ice_ping(const ::Ice::Context& context, const ::Ice::CallbackPtr& cb,
1082
1879
  const ::Ice::LocalObjectPtr& cookie = 0)
1083
1880
  {
1084
- return _iceI_begin_ice_ping(context, del, cookie);
1881
+ return _iceI_begin_ice_ping(context, cb, cookie);
1085
1882
  }
1086
1883
 
1087
- ::Ice::AsyncResultPtr begin_ice_ping(const ::Ice::Callback_Object_ice_pingPtr& del,
1884
+ /**
1885
+ * Tests whether the target object of this proxy can be reached.
1886
+ * @param cb Asynchronous callback object.
1887
+ * @param cookie User-defined data to associate with the invocation.
1888
+ * @return The asynchronous result object for the invocation.
1889
+ */
1890
+ ::Ice::AsyncResultPtr begin_ice_ping(const ::Ice::Callback_Object_ice_pingPtr& cb,
1088
1891
  const ::Ice::LocalObjectPtr& cookie = 0)
1089
1892
  {
1090
- return _iceI_begin_ice_ping(::Ice::noExplicitContext, del, cookie);
1893
+ return _iceI_begin_ice_ping(::Ice::noExplicitContext, cb, cookie);
1091
1894
  }
1092
1895
 
1093
- ::Ice::AsyncResultPtr begin_ice_ping(const ::Ice::Context& context, const ::Ice::Callback_Object_ice_pingPtr& del,
1896
+ /**
1897
+ * Tests whether the target object of this proxy can be reached.
1898
+ * @param context The context map for the invocation.
1899
+ * @param cb Asynchronous callback object.
1900
+ * @param cookie User-defined data to associate with the invocation.
1901
+ * @return The asynchronous result object for the invocation.
1902
+ */
1903
+ ::Ice::AsyncResultPtr begin_ice_ping(const ::Ice::Context& context, const ::Ice::Callback_Object_ice_pingPtr& cb,
1094
1904
  const ::Ice::LocalObjectPtr& cookie = 0)
1095
1905
  {
1096
- return _iceI_begin_ice_ping(context, del, cookie);
1906
+ return _iceI_begin_ice_ping(context, cb, cookie);
1097
1907
  }
1098
1908
 
1099
- void end_ice_ping(const ::Ice::AsyncResultPtr&);
1909
+ /**
1910
+ * Completes an invocation of begin_ice_ping.
1911
+ * @param result The asynchronous result object for the invocation.
1912
+ */
1913
+ void end_ice_ping(const ::Ice::AsyncResultPtr& result);
1100
1914
 
1915
+ /**
1916
+ * Returns the Slice type IDs of the interfaces supported by the target object of this proxy.
1917
+ * @param context The context map for the invocation.
1918
+ * @return The Slice type IDs of the interfaces supported by the target object, in base-to-derived
1919
+ * order. The first element of the returned array is always "::Ice::Object".
1920
+ */
1101
1921
  ::std::vector< ::std::string> ice_ids(const ::Ice::Context& context = ::Ice::noExplicitContext)
1102
1922
  {
1103
1923
  return end_ice_ids(_iceI_begin_ice_ids(context, ::IceInternal::dummyCallback, 0, true));
1104
1924
  }
1105
1925
 
1926
+ /**
1927
+ * Returns the Slice type IDs of the interfaces supported by the target object of this proxy.
1928
+ * @param context The context map for the invocation.
1929
+ * @return The asynchronous result object for the invocation.
1930
+ */
1106
1931
  ::Ice::AsyncResultPtr begin_ice_ids(const ::Ice::Context& context = ::Ice::noExplicitContext)
1107
1932
  {
1108
1933
  return _iceI_begin_ice_ids(context, ::IceInternal::dummyCallback, 0);
1109
1934
  }
1110
1935
 
1111
- ::Ice::AsyncResultPtr begin_ice_ids(const ::Ice::CallbackPtr& del,
1936
+ /**
1937
+ * Returns the Slice type IDs of the interfaces supported by the target object of this proxy.
1938
+ * @param cb Asynchronous callback object.
1939
+ * @param cookie User-defined data to associate with the invocation.
1940
+ * @return The asynchronous result object for the invocation.
1941
+ */
1942
+ ::Ice::AsyncResultPtr begin_ice_ids(const ::Ice::CallbackPtr& cb,
1112
1943
  const ::Ice::LocalObjectPtr& cookie = 0)
1113
1944
  {
1114
- return _iceI_begin_ice_ids(::Ice::noExplicitContext, del, cookie);
1945
+ return _iceI_begin_ice_ids(::Ice::noExplicitContext, cb, cookie);
1115
1946
  }
1116
1947
 
1948
+ /**
1949
+ * Returns the Slice type IDs of the interfaces supported by the target object of this proxy.
1950
+ * @param context The context map for the invocation.
1951
+ * @param cb Asynchronous callback object.
1952
+ * @param cookie User-defined data to associate with the invocation.
1953
+ * @return The asynchronous result object for the invocation.
1954
+ */
1117
1955
  ::Ice::AsyncResultPtr begin_ice_ids(const ::Ice::Context& context,
1118
- const ::Ice::CallbackPtr& del,
1956
+ const ::Ice::CallbackPtr& cb,
1119
1957
  const ::Ice::LocalObjectPtr& cookie = 0)
1120
1958
  {
1121
- return _iceI_begin_ice_ids(context, del, cookie);
1959
+ return _iceI_begin_ice_ids(context, cb, cookie);
1122
1960
  }
1123
1961
 
1124
- ::Ice::AsyncResultPtr begin_ice_ids(const ::Ice::Callback_Object_ice_idsPtr& del,
1962
+ /**
1963
+ * Returns the Slice type IDs of the interfaces supported by the target object of this proxy.
1964
+ * @param cb Asynchronous callback object.
1965
+ * @param cookie User-defined data to associate with the invocation.
1966
+ * @return The asynchronous result object for the invocation.
1967
+ */
1968
+ ::Ice::AsyncResultPtr begin_ice_ids(const ::Ice::Callback_Object_ice_idsPtr& cb,
1125
1969
  const ::Ice::LocalObjectPtr& cookie = 0)
1126
1970
  {
1127
- return _iceI_begin_ice_ids(::Ice::noExplicitContext, del, cookie);
1971
+ return _iceI_begin_ice_ids(::Ice::noExplicitContext, cb, cookie);
1128
1972
  }
1129
1973
 
1974
+ /**
1975
+ * Returns the Slice type IDs of the interfaces supported by the target object of this proxy.
1976
+ * @param context The context map for the invocation.
1977
+ * @param cb Asynchronous callback object.
1978
+ * @param cookie User-defined data to associate with the invocation.
1979
+ * @return The asynchronous result object for the invocation.
1980
+ */
1130
1981
  ::Ice::AsyncResultPtr begin_ice_ids(const ::Ice::Context& context,
1131
- const ::Ice::Callback_Object_ice_idsPtr& del,
1982
+ const ::Ice::Callback_Object_ice_idsPtr& cb,
1132
1983
  const ::Ice::LocalObjectPtr& cookie = 0)
1133
1984
  {
1134
- return _iceI_begin_ice_ids(context, del, cookie);
1985
+ return _iceI_begin_ice_ids(context, cb, cookie);
1135
1986
  }
1136
1987
 
1137
- ::std::vector< ::std::string> end_ice_ids(const ::Ice::AsyncResultPtr&);
1988
+ /**
1989
+ * Completes an invocation of begin_ice_ids.
1990
+ * @param result The asynchronous result object for the invocation.
1991
+ * @return The Slice type IDs of the interfaces supported by the target object, in base-to-derived
1992
+ * order. The first element of the returned array is always "::Ice::Object".
1993
+ */
1994
+ ::std::vector< ::std::string> end_ice_ids(const ::Ice::AsyncResultPtr& result);
1138
1995
 
1996
+ /**
1997
+ * Returns the Slice type ID of the most-derived interface supported by the target object of this proxy.
1998
+ * @param context The context map for the invocation.
1999
+ * @return The Slice type ID of the most-derived interface.
2000
+ */
1139
2001
  ::std::string ice_id(const ::Ice::Context& context = ::Ice::noExplicitContext)
1140
2002
  {
1141
2003
  return end_ice_id(_iceI_begin_ice_id(context, ::IceInternal::dummyCallback, 0, true));
1142
2004
  }
1143
2005
 
2006
+ /**
2007
+ * Returns the Slice type ID of the most-derived interface supported by the target object of this proxy.
2008
+ * @param context The context map for the invocation.
2009
+ * @return The asynchronous result object for the invocation.
2010
+ */
1144
2011
  ::Ice::AsyncResultPtr begin_ice_id(const ::Ice::Context& context = ::Ice::noExplicitContext)
1145
2012
  {
1146
2013
  return _iceI_begin_ice_id(context, ::IceInternal::dummyCallback, 0);
1147
2014
  }
1148
2015
 
1149
- ::Ice::AsyncResultPtr begin_ice_id(const ::Ice::CallbackPtr& del,
2016
+ /**
2017
+ * Returns the Slice type ID of the most-derived interface supported by the target object of this proxy.
2018
+ * @param cb Asynchronous callback object.
2019
+ * @param cookie User-defined data to associate with the invocation.
2020
+ * @return The asynchronous result object for the invocation.
2021
+ */
2022
+ ::Ice::AsyncResultPtr begin_ice_id(const ::Ice::CallbackPtr& cb,
1150
2023
  const ::Ice::LocalObjectPtr& cookie = 0)
1151
2024
  {
1152
- return _iceI_begin_ice_id(::Ice::noExplicitContext, del, cookie);
2025
+ return _iceI_begin_ice_id(::Ice::noExplicitContext, cb, cookie);
1153
2026
  }
1154
2027
 
2028
+ /**
2029
+ * Returns the Slice type ID of the most-derived interface supported by the target object of this proxy.
2030
+ * @param context The context map for the invocation.
2031
+ * @param cb Asynchronous callback object.
2032
+ * @param cookie User-defined data to associate with the invocation.
2033
+ * @return The asynchronous result object for the invocation.
2034
+ */
1155
2035
  ::Ice::AsyncResultPtr begin_ice_id(const ::Ice::Context& context,
1156
- const ::Ice::CallbackPtr& del,
2036
+ const ::Ice::CallbackPtr& cb,
1157
2037
  const ::Ice::LocalObjectPtr& cookie = 0)
1158
2038
  {
1159
- return _iceI_begin_ice_id(context, del, cookie);
2039
+ return _iceI_begin_ice_id(context, cb, cookie);
1160
2040
  }
1161
2041
 
1162
- ::Ice::AsyncResultPtr begin_ice_id(const ::Ice::Callback_Object_ice_idPtr& del,
2042
+ /**
2043
+ * Returns the Slice type ID of the most-derived interface supported by the target object of this proxy.
2044
+ * @param cb Asynchronous callback object.
2045
+ * @param cookie User-defined data to associate with the invocation.
2046
+ * @return The asynchronous result object for the invocation.
2047
+ */
2048
+ ::Ice::AsyncResultPtr begin_ice_id(const ::Ice::Callback_Object_ice_idPtr& cb,
1163
2049
  const ::Ice::LocalObjectPtr& cookie = 0)
1164
2050
  {
1165
- return _iceI_begin_ice_id(::Ice::noExplicitContext, del, cookie);
2051
+ return _iceI_begin_ice_id(::Ice::noExplicitContext, cb, cookie);
1166
2052
  }
1167
2053
 
2054
+ /**
2055
+ * Returns the Slice type ID of the most-derived interface supported by the target object of this proxy.
2056
+ * @param context The context map for the invocation.
2057
+ * @param cb Asynchronous callback object.
2058
+ * @param cookie User-defined data to associate with the invocation.
2059
+ * @return The asynchronous result object for the invocation.
2060
+ */
1168
2061
  ::Ice::AsyncResultPtr begin_ice_id(const ::Ice::Context& context,
1169
- const ::Ice::Callback_Object_ice_idPtr& del,
2062
+ const ::Ice::Callback_Object_ice_idPtr& cb,
1170
2063
  const ::Ice::LocalObjectPtr& cookie = 0)
1171
2064
  {
1172
- return _iceI_begin_ice_id(context, del, cookie);
2065
+ return _iceI_begin_ice_id(context, cb, cookie);
1173
2066
  }
1174
2067
 
1175
- ::std::string end_ice_id(const ::Ice::AsyncResultPtr&);
2068
+ /**
2069
+ * Completes an invocation of begin_ice_id.
2070
+ * @param result The asynchronous result object for the invocation.
2071
+ * @return The Slice type ID of the most-derived interface.
2072
+ */
2073
+ ::std::string end_ice_id(const ::Ice::AsyncResultPtr& result);
1176
2074
 
2075
+ /**
2076
+ * Returns the Slice type ID associated with this type.
2077
+ * @return The Slice type ID.
2078
+ */
1177
2079
  static const ::std::string& ice_staticId()
1178
2080
  {
1179
2081
  return ::Ice::Object::ice_staticId();
1180
2082
  }
1181
2083
 
1182
- // Returns true if ok, false if user exception.
1183
- bool ice_invoke(const ::std::string&,
1184
- ::Ice::OperationMode,
1185
- const ::std::vector< ::Ice::Byte>&,
1186
- ::std::vector< ::Ice::Byte>&,
1187
- const ::Ice::Context& = ::Ice::noExplicitContext);
1188
-
1189
- ::Ice::AsyncResultPtr begin_ice_invoke(const ::std::string& op,
2084
+ /**
2085
+ * Invokes an operation dynamically.
2086
+ * @param operation The name of the operation to invoke.
2087
+ * @param mode The operation mode (normal or idempotent).
2088
+ * @param inParams An encapsulation containing the encoded in-parameters for the operation.
2089
+ * @param outParams An encapsulation containing the encoded results.
2090
+ * @param context The context map for the invocation.
2091
+ * @return True if the operation completed successfully, in which case outParams contains
2092
+ * the encoded out parameters. False if the operation raised a user exception, in which
2093
+ * case outParams contains the encoded user exception. If the operation raises a run-time
2094
+ * exception, it throws it directly.
2095
+ */
2096
+ bool ice_invoke(const ::std::string& operation,
2097
+ ::Ice::OperationMode mode,
2098
+ const ::std::vector< ::Ice::Byte>& inParams,
2099
+ ::std::vector< ::Ice::Byte>& outParams,
2100
+ const ::Ice::Context& context = ::Ice::noExplicitContext);
2101
+
2102
+ /**
2103
+ * Invokes an operation dynamically.
2104
+ * @param operation The name of the operation to invoke.
2105
+ * @param mode The operation mode (normal or idempotent).
2106
+ * @param inParams An encapsulation containing the encoded in-parameters for the operation.
2107
+ * @return The asynchronous result object for the invocation.
2108
+ */
2109
+ ::Ice::AsyncResultPtr begin_ice_invoke(const ::std::string& operation,
1190
2110
  ::Ice::OperationMode mode,
1191
2111
  const ::std::vector< ::Ice::Byte>& inParams)
1192
2112
  {
1193
- return _iceI_begin_ice_invoke(op, mode, inParams, ::Ice::noExplicitContext, ::IceInternal::dummyCallback, 0);
2113
+ return _iceI_begin_ice_invoke(operation, mode, inParams, ::Ice::noExplicitContext,
2114
+ ::IceInternal::dummyCallback, 0);
1194
2115
  }
1195
2116
 
1196
- ::Ice::AsyncResultPtr begin_ice_invoke(const ::std::string& op,
2117
+ /**
2118
+ * Invokes an operation dynamically.
2119
+ * @param operation The name of the operation to invoke.
2120
+ * @param mode The operation mode (normal or idempotent).
2121
+ * @param inParams An encapsulation containing the encoded in-parameters for the operation.
2122
+ * @param context The context map for the invocation.
2123
+ * @return The asynchronous result object for the invocation.
2124
+ */
2125
+ ::Ice::AsyncResultPtr begin_ice_invoke(const ::std::string& operation,
1197
2126
  ::Ice::OperationMode mode,
1198
2127
  const ::std::vector< ::Ice::Byte>& inParams,
1199
2128
  const ::Ice::Context& context)
1200
2129
  {
1201
- return _iceI_begin_ice_invoke(op, mode, inParams, context, ::IceInternal::dummyCallback, 0);
2130
+ return _iceI_begin_ice_invoke(operation, mode, inParams, context, ::IceInternal::dummyCallback, 0);
1202
2131
  }
1203
2132
 
1204
- ::Ice::AsyncResultPtr begin_ice_invoke(const ::std::string& op,
2133
+ /**
2134
+ * Invokes an operation dynamically.
2135
+ * @param operation The name of the operation to invoke.
2136
+ * @param mode The operation mode (normal or idempotent).
2137
+ * @param inParams An encapsulation containing the encoded in-parameters for the operation.
2138
+ * @param cb Asynchronous callback object.
2139
+ * @param cookie User-defined data to associate with the invocation.
2140
+ * @return The asynchronous result object for the invocation.
2141
+ */
2142
+ ::Ice::AsyncResultPtr begin_ice_invoke(const ::std::string& operation,
1205
2143
  ::Ice::OperationMode mode,
1206
2144
  const ::std::vector< ::Ice::Byte>& inParams,
1207
- const ::Ice::CallbackPtr& del,
2145
+ const ::Ice::CallbackPtr& cb,
1208
2146
  const ::Ice::LocalObjectPtr& cookie = 0)
1209
2147
  {
1210
- return _iceI_begin_ice_invoke(op, mode, inParams, ::Ice::noExplicitContext, del, cookie);
2148
+ return _iceI_begin_ice_invoke(operation, mode, inParams, ::Ice::noExplicitContext, cb, cookie);
1211
2149
  }
1212
2150
 
1213
- ::Ice::AsyncResultPtr begin_ice_invoke(const ::std::string& op,
2151
+ /**
2152
+ * Invokes an operation dynamically.
2153
+ * @param operation The name of the operation to invoke.
2154
+ * @param mode The operation mode (normal or idempotent).
2155
+ * @param inParams An encapsulation containing the encoded in-parameters for the operation.
2156
+ * @param context The context map for the invocation.
2157
+ * @param cb Asynchronous callback object.
2158
+ * @param cookie User-defined data to associate with the invocation.
2159
+ * @return The asynchronous result object for the invocation.
2160
+ */
2161
+ ::Ice::AsyncResultPtr begin_ice_invoke(const ::std::string& operation,
1214
2162
  ::Ice::OperationMode mode,
1215
2163
  const ::std::vector< ::Ice::Byte>& inParams,
1216
2164
  const ::Ice::Context& context,
1217
- const ::Ice::CallbackPtr& del,
2165
+ const ::Ice::CallbackPtr& cb,
1218
2166
  const ::Ice::LocalObjectPtr& cookie = 0)
1219
2167
  {
1220
- return _iceI_begin_ice_invoke(op, mode, inParams, context, del, cookie);
2168
+ return _iceI_begin_ice_invoke(operation, mode, inParams, context, cb, cookie);
1221
2169
  }
1222
2170
 
1223
- ::Ice::AsyncResultPtr begin_ice_invoke(const ::std::string& op,
2171
+ /**
2172
+ * Invokes an operation dynamically.
2173
+ * @param operation The name of the operation to invoke.
2174
+ * @param mode The operation mode (normal or idempotent).
2175
+ * @param inParams An encapsulation containing the encoded in-parameters for the operation.
2176
+ * @param cb Asynchronous callback object.
2177
+ * @param cookie User-defined data to associate with the invocation.
2178
+ * @return The asynchronous result object for the invocation.
2179
+ */
2180
+ ::Ice::AsyncResultPtr begin_ice_invoke(const ::std::string& operation,
1224
2181
  ::Ice::OperationMode mode,
1225
2182
  const ::std::vector< ::Ice::Byte>& inParams,
1226
- const ::Ice::Callback_Object_ice_invokePtr& del,
2183
+ const ::Ice::Callback_Object_ice_invokePtr& cb,
1227
2184
  const ::Ice::LocalObjectPtr& cookie = 0)
1228
2185
  {
1229
- return _iceI_begin_ice_invoke(op, mode, inParams, ::Ice::noExplicitContext, del, cookie);
2186
+ return _iceI_begin_ice_invoke(operation, mode, inParams, ::Ice::noExplicitContext, cb, cookie);
1230
2187
  }
1231
2188
 
1232
- ::Ice::AsyncResultPtr begin_ice_invoke(const ::std::string& op,
2189
+ /**
2190
+ * Invokes an operation dynamically.
2191
+ * @param operation The name of the operation to invoke.
2192
+ * @param mode The operation mode (normal or idempotent).
2193
+ * @param inParams An encapsulation containing the encoded in-parameters for the operation.
2194
+ * @param context The context map for the invocation.
2195
+ * @param cb Asynchronous callback object.
2196
+ * @param cookie User-defined data to associate with the invocation.
2197
+ * @return The asynchronous result object for the invocation.
2198
+ */
2199
+ ::Ice::AsyncResultPtr begin_ice_invoke(const ::std::string& operation,
1233
2200
  ::Ice::OperationMode mode,
1234
2201
  const ::std::vector< ::Ice::Byte>& inParams,
1235
2202
  const ::Ice::Context& context,
1236
- const ::Ice::Callback_Object_ice_invokePtr& del,
2203
+ const ::Ice::Callback_Object_ice_invokePtr& cb,
1237
2204
  const ::Ice::LocalObjectPtr& cookie = 0)
1238
2205
  {
1239
- return _iceI_begin_ice_invoke(op, mode, inParams, context, del, cookie);
1240
- }
1241
-
1242
- bool end_ice_invoke(::std::vector< ::Ice::Byte>&, const ::Ice::AsyncResultPtr&);
1243
-
1244
- bool ice_invoke(const ::std::string& op,
2206
+ return _iceI_begin_ice_invoke(operation, mode, inParams, context, cb, cookie);
2207
+ }
2208
+
2209
+ /**
2210
+ * Invokes an operation dynamically.
2211
+ * @param outParams An encapsulation containing the encoded results.
2212
+ * @param result The asynchronous result object for the invocation.
2213
+ * @return True if the operation completed successfully, in which case outParams contains
2214
+ * the encoded out parameters. False if the operation raised a user exception, in which
2215
+ * case outParams contains the encoded user exception. If the operation raises a run-time
2216
+ * exception, it throws it directly.
2217
+ */
2218
+ bool end_ice_invoke(::std::vector< ::Ice::Byte>& outParams, const ::Ice::AsyncResultPtr& result);
2219
+
2220
+ /**
2221
+ * Invokes an operation dynamically.
2222
+ * @param operation The name of the operation to invoke.
2223
+ * @param mode The operation mode (normal or idempotent).
2224
+ * @param inParams An encapsulation containing the encoded in-parameters for the operation.
2225
+ * @param outParams An encapsulation containing the encoded results.
2226
+ * @param context The context map for the invocation.
2227
+ * @return True if the operation completed successfully, in which case outParams contains
2228
+ * the encoded out parameters. False if the operation raised a user exception, in which
2229
+ * case outParams contains the encoded user exception. If the operation raises a run-time
2230
+ * exception, it throws it directly.
2231
+ */
2232
+ bool ice_invoke(const ::std::string& operation,
1245
2233
  ::Ice::OperationMode mode,
1246
- const ::std::pair<const ::Ice::Byte*, const ::Ice::Byte*>& inP,
1247
- ::std::vector< ::Ice::Byte>& outP,
2234
+ const ::std::pair<const ::Ice::Byte*, const ::Ice::Byte*>& inParams,
2235
+ ::std::vector< ::Ice::Byte>& outParams,
1248
2236
  const ::Ice::Context& context = ::Ice::noExplicitContext)
1249
2237
  {
1250
- return end_ice_invoke(outP, _iceI_begin_ice_invoke(op, mode, inP, context, ::IceInternal::dummyCallback, 0, true));
2238
+ return end_ice_invoke(outParams, _iceI_begin_ice_invoke(operation, mode, inParams, context,
2239
+ ::IceInternal::dummyCallback, 0, true));
1251
2240
  }
1252
2241
 
1253
- ::Ice::AsyncResultPtr begin_ice_invoke(const ::std::string& op,
2242
+ /**
2243
+ * Invokes an operation dynamically.
2244
+ * @param operation The name of the operation to invoke.
2245
+ * @param mode The operation mode (normal or idempotent).
2246
+ * @param inParams An encapsulation containing the encoded in-parameters for the operation.
2247
+ * @return The asynchronous result object for the invocation.
2248
+ */
2249
+ ::Ice::AsyncResultPtr begin_ice_invoke(const ::std::string& operation,
1254
2250
  ::Ice::OperationMode mode,
1255
2251
  const ::std::pair<const ::Ice::Byte*, const ::Ice::Byte*>& inParams)
1256
2252
  {
1257
- return _iceI_begin_ice_invoke(op, mode, inParams, ::Ice::noExplicitContext, ::IceInternal::dummyCallback, 0);
2253
+ return _iceI_begin_ice_invoke(operation, mode, inParams, ::Ice::noExplicitContext,
2254
+ ::IceInternal::dummyCallback, 0);
1258
2255
  }
1259
2256
 
1260
- ::Ice::AsyncResultPtr begin_ice_invoke(const ::std::string& op,
2257
+ /**
2258
+ * Invokes an operation dynamically.
2259
+ * @param operation The name of the operation to invoke.
2260
+ * @param mode The operation mode (normal or idempotent).
2261
+ * @param inParams An encapsulation containing the encoded in-parameters for the operation.
2262
+ * @param context The context map for the invocation.
2263
+ * @param cookie User-defined data to associate with the invocation.
2264
+ * @return The asynchronous result object for the invocation.
2265
+ */
2266
+ ::Ice::AsyncResultPtr begin_ice_invoke(const ::std::string& operation,
1261
2267
  ::Ice::OperationMode mode,
1262
2268
  const ::std::pair<const ::Ice::Byte*, const ::Ice::Byte*>& inParams,
1263
2269
  const ::Ice::Context& context,
1264
2270
  const ::Ice::LocalObjectPtr& cookie = 0)
1265
2271
  {
1266
- return _iceI_begin_ice_invoke(op, mode, inParams, context, ::IceInternal::dummyCallback, cookie);
2272
+ return _iceI_begin_ice_invoke(operation, mode, inParams, context, ::IceInternal::dummyCallback, cookie);
1267
2273
  }
1268
2274
 
1269
- ::Ice::AsyncResultPtr begin_ice_invoke(const ::std::string& op,
2275
+ /**
2276
+ * Invokes an operation dynamically.
2277
+ * @param operation The name of the operation to invoke.
2278
+ * @param mode The operation mode (normal or idempotent).
2279
+ * @param inParams An encapsulation containing the encoded in-parameters for the operation.
2280
+ * @param cb Asynchronous callback object.
2281
+ * @param cookie User-defined data to associate with the invocation.
2282
+ * @return The asynchronous result object for the invocation.
2283
+ */
2284
+ ::Ice::AsyncResultPtr begin_ice_invoke(const ::std::string& operation,
1270
2285
  ::Ice::OperationMode mode,
1271
2286
  const ::std::pair<const ::Ice::Byte*, const ::Ice::Byte*>& inParams,
1272
- const ::Ice::CallbackPtr& del,
2287
+ const ::Ice::CallbackPtr& cb,
1273
2288
  const ::Ice::LocalObjectPtr& cookie = 0)
1274
2289
  {
1275
- return _iceI_begin_ice_invoke(op, mode, inParams, ::Ice::noExplicitContext, del, cookie);
2290
+ return _iceI_begin_ice_invoke(operation, mode, inParams, ::Ice::noExplicitContext, cb, cookie);
1276
2291
  }
1277
2292
 
1278
- ::Ice::AsyncResultPtr begin_ice_invoke(const ::std::string& op,
2293
+ /**
2294
+ * Invokes an operation dynamically.
2295
+ * @param operation The name of the operation to invoke.
2296
+ * @param mode The operation mode (normal or idempotent).
2297
+ * @param inParams An encapsulation containing the encoded in-parameters for the operation.
2298
+ * @param context The context map for the invocation.
2299
+ * @param cb Asynchronous callback object.
2300
+ * @param cookie User-defined data to associate with the invocation.
2301
+ * @return The asynchronous result object for the invocation.
2302
+ */
2303
+ ::Ice::AsyncResultPtr begin_ice_invoke(const ::std::string& operation,
1279
2304
  ::Ice::OperationMode mode,
1280
2305
  const ::std::pair<const ::Ice::Byte*, const ::Ice::Byte*>& inParams,
1281
2306
  const ::Ice::Context& context,
1282
- const ::Ice::CallbackPtr& del,
2307
+ const ::Ice::CallbackPtr& cb,
1283
2308
  const ::Ice::LocalObjectPtr& cookie = 0)
1284
2309
  {
1285
- return _iceI_begin_ice_invoke(op, mode, inParams, context, del, cookie);
2310
+ return _iceI_begin_ice_invoke(operation, mode, inParams, context, cb, cookie);
1286
2311
  }
1287
2312
 
1288
- ::Ice::AsyncResultPtr begin_ice_invoke(const ::std::string& op,
2313
+ /**
2314
+ * Invokes an operation dynamically.
2315
+ * @param operation The name of the operation to invoke.
2316
+ * @param mode The operation mode (normal or idempotent).
2317
+ * @param inParams An encapsulation containing the encoded in-parameters for the operation.
2318
+ * @param cb Asynchronous callback object.
2319
+ * @param cookie User-defined data to associate with the invocation.
2320
+ * @return The asynchronous result object for the invocation.
2321
+ */
2322
+ ::Ice::AsyncResultPtr begin_ice_invoke(const ::std::string& operation,
1289
2323
  ::Ice::OperationMode mode,
1290
2324
  const ::std::pair<const ::Ice::Byte*, const ::Ice::Byte*>& inParams,
1291
- const ::Ice::Callback_Object_ice_invokePtr& del,
2325
+ const ::Ice::Callback_Object_ice_invokePtr& cb,
1292
2326
  const ::Ice::LocalObjectPtr& cookie = 0)
1293
2327
  {
1294
- return _iceI_begin_ice_invoke(op, mode, inParams, ::Ice::noExplicitContext, del, cookie);
2328
+ return _iceI_begin_ice_invoke(operation, mode, inParams, ::Ice::noExplicitContext, cb, cookie);
1295
2329
  }
1296
2330
 
1297
- ::Ice::AsyncResultPtr begin_ice_invoke(const ::std::string& op,
2331
+ /**
2332
+ * Invokes an operation dynamically.
2333
+ * @param operation The name of the operation to invoke.
2334
+ * @param mode The operation mode (normal or idempotent).
2335
+ * @param inParams An encapsulation containing the encoded in-parameters for the operation.
2336
+ * @param context The context map for the invocation.
2337
+ * @param cb Asynchronous callback object.
2338
+ * @param cookie User-defined data to associate with the invocation.
2339
+ * @return The asynchronous result object for the invocation.
2340
+ */
2341
+ ::Ice::AsyncResultPtr begin_ice_invoke(const ::std::string& operation,
1298
2342
  ::Ice::OperationMode mode,
1299
2343
  const ::std::pair<const ::Ice::Byte*, const ::Ice::Byte*>& inParams,
1300
2344
  const ::Ice::Context& context,
1301
- const ::Ice::Callback_Object_ice_invokePtr& del,
2345
+ const ::Ice::Callback_Object_ice_invokePtr& cb,
1302
2346
  const ::Ice::LocalObjectPtr& cookie = 0)
1303
2347
  {
1304
- return _iceI_begin_ice_invoke(op, mode, inParams, context, del, cookie);
2348
+ return _iceI_begin_ice_invoke(operation, mode, inParams, context, cb, cookie);
1305
2349
  }
1306
2350
 
2351
+ /// \cond INTERNAL
1307
2352
  bool _iceI_end_ice_invoke(::std::pair<const ::Ice::Byte*, const ::Ice::Byte*>&, const ::Ice::AsyncResultPtr&);
2353
+ /// \endcond
1308
2354
 
2355
+ /**
2356
+ * Obtains the identity embedded in this proxy.
2357
+ * @return The identity of the target object.
2358
+ */
1309
2359
  ::Ice::Identity ice_getIdentity() const;
1310
- ::Ice::ObjectPrx ice_identity(const ::Ice::Identity&) const;
1311
2360
 
2361
+ /**
2362
+ * Obtains a proxy that is identical to this proxy, except for the identity.
2363
+ * @param id The identity for the new proxy.
2364
+ * @return A proxy with the new identity.
2365
+ */
2366
+ ::Ice::ObjectPrx ice_identity(const ::Ice::Identity& id) const;
2367
+
2368
+ /**
2369
+ * Obtains the per-proxy context for this proxy.
2370
+ * @return The per-proxy context.
2371
+ */
1312
2372
  ::Ice::Context ice_getContext() const;
1313
- ::Ice::ObjectPrx ice_context(const ::Ice::Context&) const;
1314
2373
 
2374
+ /**
2375
+ * Obtains a proxy that is identical to this proxy, except for the per-proxy context.
2376
+ * @param context The context for the new proxy.
2377
+ * @return A proxy with the new per-proxy context.
2378
+ */
2379
+ ::Ice::ObjectPrx ice_context(const ::Ice::Context& context) const;
2380
+
2381
+ /**
2382
+ * Obtains the facet for this proxy.
2383
+ * @return The facet for this proxy. If the proxy uses the default facet, the return value is the empty string.
2384
+ */
1315
2385
  const ::std::string& ice_getFacet() const;
1316
- ::Ice::ObjectPrx ice_facet(const ::std::string&) const;
1317
2386
 
2387
+ /**
2388
+ * Obtains a proxy that is identical to this proxy, except for the facet.
2389
+ * @param facet The facet for the new proxy.
2390
+ * @return A proxy with the new facet.
2391
+ */
2392
+ ::Ice::ObjectPrx ice_facet(const ::std::string& facet) const;
2393
+
2394
+ /**
2395
+ * Obtains the adapter ID for this proxy.
2396
+ * @return The adapter ID. If the proxy does not have an adapter ID, the return value is the empty string.
2397
+ */
1318
2398
  ::std::string ice_getAdapterId() const;
1319
- ::Ice::ObjectPrx ice_adapterId(const ::std::string&) const;
1320
2399
 
2400
+ /**
2401
+ * Obtains a proxy that is identical to this proxy, except for the adapter ID.
2402
+ * @param id The adapter ID for the new proxy.
2403
+ * @return A proxy with the new adapter ID.
2404
+ */
2405
+ ::Ice::ObjectPrx ice_adapterId(const ::std::string& id) const;
2406
+
2407
+ /**
2408
+ * Obtains the endpoints used by this proxy.
2409
+ * @return The endpoints used by this proxy.
2410
+ */
1321
2411
  ::Ice::EndpointSeq ice_getEndpoints() const;
1322
- ::Ice::ObjectPrx ice_endpoints(const ::Ice::EndpointSeq&) const;
1323
2412
 
2413
+ /**
2414
+ * Obtains a proxy that is identical to this proxy, except for the endpoints.
2415
+ * @param endpoints The endpoints for the new proxy.
2416
+ * @return A proxy with the new endpoints.
2417
+ */
2418
+ ::Ice::ObjectPrx ice_endpoints(const ::Ice::EndpointSeq& endpoints) const;
2419
+
2420
+ /**
2421
+ * Obtains the locator cache timeout of this proxy.
2422
+ * @return The locator cache timeout value (in seconds).
2423
+ */
1324
2424
  ::Ice::Int ice_getLocatorCacheTimeout() const;
1325
- ::Ice::ObjectPrx ice_locatorCacheTimeout(::Ice::Int) const;
1326
2425
 
2426
+ /**
2427
+ * Obtains a proxy that is identical to this proxy, except for the locator cache timeout.
2428
+ * @param timeout The new locator cache timeout (in seconds).
2429
+ * @return A proxy with the new timeout.
2430
+ */
2431
+ ::Ice::ObjectPrx ice_locatorCacheTimeout(::Ice::Int timeout) const;
2432
+
2433
+ /**
2434
+ * Determines whether this proxy caches connections.
2435
+ * @return True if this proxy caches connections, false otherwise.
2436
+ */
1327
2437
  bool ice_isConnectionCached() const;
1328
- ::Ice::ObjectPrx ice_connectionCached(bool) const;
1329
2438
 
2439
+ /**
2440
+ * Obtains a proxy that is identical to this proxy, except for connection caching.
2441
+ * @param b True if the new proxy should cache connections, false otherwise.
2442
+ * @return A proxy with the specified caching policy.
2443
+ */
2444
+ ::Ice::ObjectPrx ice_connectionCached(bool b) const;
2445
+
2446
+ /**
2447
+ * Obtains the endpoint selection policy for this proxy (randomly or ordered).
2448
+ * @return The endpoint selection policy.
2449
+ */
1330
2450
  ::Ice::EndpointSelectionType ice_getEndpointSelection() const;
1331
- ::Ice::ObjectPrx ice_endpointSelection(::Ice::EndpointSelectionType) const;
1332
2451
 
2452
+ /**
2453
+ * Obtains a proxy that is identical to this proxy, except for the endpoint selection policy.
2454
+ * @param type The new endpoint selection policy.
2455
+ * @return A proxy with the specified endpoint selection policy.
2456
+ */
2457
+ ::Ice::ObjectPrx ice_endpointSelection(::Ice::EndpointSelectionType type) const;
2458
+
2459
+ /**
2460
+ * Determines whether this proxy uses only secure endpoints.
2461
+ * @return True if this proxy communicates only via secure endpoints, false otherwise.
2462
+ */
1333
2463
  bool ice_isSecure() const;
1334
- ::Ice::ObjectPrx ice_secure(bool) const;
1335
2464
 
2465
+ /**
2466
+ * Obtains a proxy that is identical to this proxy, except for how it selects endpoints.
2467
+ * @param b If true, only endpoints that use a secure transport are used by the new proxy.
2468
+ * If false, the returned proxy uses both secure and insecure endpoints.
2469
+ * @return A proxy with the specified security policy.
2470
+ */
2471
+ ::Ice::ObjectPrx ice_secure(bool b) const;
2472
+
2473
+ /**
2474
+ * Obtains the encoding version used to marshal request parameters.
2475
+ * @return The encoding version.
2476
+ */
1336
2477
  ::Ice::EncodingVersion ice_getEncodingVersion() const;
1337
- ::Ice::ObjectPrx ice_encodingVersion(const ::Ice::EncodingVersion&) const;
1338
2478
 
2479
+ /**
2480
+ * Obtains a proxy that is identical to this proxy, except for the encoding used to marshal
2481
+ * parameters.
2482
+ * @param version The encoding version to use to marshal request parameters.
2483
+ * @return A proxy with the specified encoding version.
2484
+ */
2485
+ ::Ice::ObjectPrx ice_encodingVersion(const ::Ice::EncodingVersion& version) const;
2486
+
2487
+ /**
2488
+ * Determines whether this proxy prefers secure endpoints.
2489
+ * @return True if the proxy always attempts to invoke via secure endpoints before it
2490
+ * attempts to use insecure endpoints, false otherwise.
2491
+ */
1339
2492
  bool ice_isPreferSecure() const;
1340
- ::Ice::ObjectPrx ice_preferSecure(bool) const;
1341
2493
 
2494
+ /**
2495
+ * Obtains a proxy that is identical to this proxy, except for its endpoint selection policy.
2496
+ * @param b If true, the new proxy will use secure endpoints for invocations and only use
2497
+ * insecure endpoints if an invocation cannot be made via secure endpoints. If false, the
2498
+ * proxy prefers insecure endpoints to secure ones.
2499
+ * @return A proxy with the specified selection policy.
2500
+ */
2501
+ ::Ice::ObjectPrx ice_preferSecure(bool b) const;
2502
+
2503
+ /**
2504
+ * Obtains the router for this proxy.
2505
+ * @return The router for the proxy. If no router is configured for the proxy, the return value
2506
+ * is nil.
2507
+ */
1342
2508
  ::Ice::RouterPrx ice_getRouter() const;
1343
- ::Ice::ObjectPrx ice_router(const ::Ice::RouterPrx&) const;
1344
2509
 
2510
+ /**
2511
+ * Obtains a proxy that is identical to this proxy, except for the router.
2512
+ * @param router The router for the new proxy.
2513
+ * @return A proxy with the specified router.
2514
+ */
2515
+ ::Ice::ObjectPrx ice_router(const ::Ice::RouterPrx& router) const;
2516
+
2517
+ /**
2518
+ * Obtains the locator for this proxy.
2519
+ * @return The locator for this proxy. If no locator is configured, the return value is nil.
2520
+ */
1345
2521
  ::Ice::LocatorPrx ice_getLocator() const;
1346
- ::Ice::ObjectPrx ice_locator(const ::Ice::LocatorPrx&) const;
1347
2522
 
2523
+ /**
2524
+ * Obtains a proxy that is identical to this proxy, except for the locator.
2525
+ * @param locator The locator for the new proxy.
2526
+ * @return A proxy with the specified locator.
2527
+ */
2528
+ ::Ice::ObjectPrx ice_locator(const ::Ice::LocatorPrx& locator) const;
2529
+
2530
+ /**
2531
+ * Determines whether this proxy uses collocation optimization.
2532
+ * @return True if the proxy uses collocation optimization, false otherwise.
2533
+ */
1348
2534
  bool ice_isCollocationOptimized() const;
1349
- ::Ice::ObjectPrx ice_collocationOptimized(bool) const;
1350
2535
 
2536
+ /**
2537
+ * Obtains a proxy that is identical to this proxy, except for collocation optimization.
2538
+ * @param b True if the new proxy enables collocation optimization, false otherwise.
2539
+ * @return A proxy with the specified collocation optimization.
2540
+ */
2541
+ ::Ice::ObjectPrx ice_collocationOptimized(bool b) const;
2542
+
2543
+ /**
2544
+ * Obtains the invocation timeout of this proxy.
2545
+ * @return The invocation timeout value (in milliseconds).
2546
+ */
1351
2547
  ::Ice::Int ice_getInvocationTimeout() const;
1352
- ::Ice::ObjectPrx ice_invocationTimeout(::Ice::Int) const;
1353
2548
 
2549
+ /**
2550
+ * Obtains a proxy that is identical to this proxy, except for the invocation timeout.
2551
+ * @param timeout The new invocation timeout (in milliseconds).
2552
+ * @return A proxy with the new timeout.
2553
+ */
2554
+ ::Ice::ObjectPrx ice_invocationTimeout(::Ice::Int timeout) const;
2555
+
2556
+ /**
2557
+ * Obtains a proxy that is identical to this proxy, but uses twoway invocations.
2558
+ * @return A proxy that uses twoway invocations.
2559
+ */
1354
2560
  ::Ice::ObjectPrx ice_twoway() const;
2561
+
2562
+ /**
2563
+ * Determines whether this proxy uses twoway invocations.
2564
+ * @return True if this proxy uses twoway invocations, false otherwise.
2565
+ */
1355
2566
  bool ice_isTwoway() const;
2567
+
2568
+ /**
2569
+ * Obtains a proxy that is identical to this proxy, but uses oneway invocations.
2570
+ * @return A proxy that uses oneway invocations.
2571
+ */
1356
2572
  ::Ice::ObjectPrx ice_oneway() const;
2573
+
2574
+ /**
2575
+ * Determines whether this proxy uses oneway invocations.
2576
+ * @return True if this proxy uses oneway invocations, false otherwise.
2577
+ */
1357
2578
  bool ice_isOneway() const;
2579
+
2580
+ /**
2581
+ * Obtains a proxy that is identical to this proxy, but uses batch oneway invocations.
2582
+ * @return A proxy that uses batch oneway invocations.
2583
+ */
1358
2584
  ::Ice::ObjectPrx ice_batchOneway() const;
2585
+
2586
+ /**
2587
+ * Determines whether this proxy uses batch oneway invocations.
2588
+ * @return True if this proxy uses batch oneway invocations, false otherwise.
2589
+ */
1359
2590
  bool ice_isBatchOneway() const;
2591
+
2592
+ /**
2593
+ * Obtains a proxy that is identical to this proxy, but uses datagram invocations.
2594
+ * @return A proxy that uses datagram invocations.
2595
+ */
1360
2596
  ::Ice::ObjectPrx ice_datagram() const;
2597
+
2598
+ /**
2599
+ * Determines whether this proxy uses datagram invocations.
2600
+ * @return True if this proxy uses datagram invocations, false otherwise.
2601
+ */
1361
2602
  bool ice_isDatagram() const;
2603
+
2604
+ /**
2605
+ * Obtains a proxy that is identical to this proxy, but uses batch datagram invocations.
2606
+ * @return A proxy that uses batch datagram invocations.
2607
+ */
1362
2608
  ::Ice::ObjectPrx ice_batchDatagram() const;
1363
- bool ice_isBatchDatagram() const;
1364
2609
 
1365
- ::Ice::ObjectPrx ice_compress(bool) const;
1366
- ::Ice::ObjectPrx ice_timeout(int) const;
2610
+ /**
2611
+ * Determines whether this proxy uses batch datagram invocations.
2612
+ * @return True if this proxy uses batch datagram invocations, false otherwise.
2613
+ */
2614
+ bool ice_isBatchDatagram() const;
1367
2615
 
1368
- ::Ice::ObjectPrx ice_connectionId(const ::std::string&) const;
2616
+ /**
2617
+ * Obtains a proxy that is identical to this proxy, except for its compression setting which
2618
+ * overrides the compression setting from the proxy endpoints.
2619
+ * @param b True enables compression for the new proxy, false disables compression.
2620
+ * @return A proxy with the specified compression override setting.
2621
+ */
2622
+ ::Ice::ObjectPrx ice_compress(bool b) const;
2623
+
2624
+ /**
2625
+ * Obtains the compression override setting of this proxy.
2626
+ * @return The compression override setting. If nullopt is returned, no override is set. Otherwise, true
2627
+ * if compression is enabled, false otherwise.
2628
+ */
2629
+ ::IceUtil::Optional<bool> ice_getCompress() const;
2630
+
2631
+ /**
2632
+ * Obtains a proxy that is identical to this proxy, except for its connection timeout setting
2633
+ * which overrides the timeot setting from the proxy endpoints.
2634
+ * @param timeout The connection timeout override for the proxy (in milliseconds).
2635
+ * @return A proxy with the specified timeout override.
2636
+ */
2637
+ ::Ice::ObjectPrx ice_timeout(int timeout) const;
2638
+
2639
+ /**
2640
+ * Obtains the timeout override of this proxy.
2641
+ * @return The timeout override. If nullopt is returned, no override is set. Otherwise, returns
2642
+ * the timeout override value.
2643
+ */
2644
+ ::IceUtil::Optional<int> ice_getTimeout() const;
2645
+
2646
+ /**
2647
+ * Obtains a proxy that is identical to this proxy, except for its connection ID.
2648
+ * @param id The connection ID for the new proxy. An empty string removes the
2649
+ * connection ID.
2650
+ * @return A proxy with the specified connection ID.
2651
+ */
2652
+ ::Ice::ObjectPrx ice_connectionId(const ::std::string& id) const;
2653
+
2654
+ /**
2655
+ * Obtains the connection ID of this proxy.
2656
+ * @return The connection ID.
2657
+ */
1369
2658
  ::std::string ice_getConnectionId() const;
1370
2659
 
2660
+ /**
2661
+ * Obtains a proxy that is identical to this proxy, except it's a fixed proxy bound
2662
+ * the given connection.
2663
+ * @param connection The fixed proxy connection.
2664
+ * @return A fixed proxy bound to the given connection.
2665
+ */
2666
+ ::Ice::ObjectPrx ice_fixed(const ::Ice::ConnectionPtr& connection) const;
2667
+
2668
+ /**
2669
+ * Obtains the Connection for this proxy. If the proxy does not yet have an established connection,
2670
+ * it first attempts to create a connection.
2671
+ * @return The connection for this proxy.
2672
+ */
1371
2673
  ::Ice::ConnectionPtr ice_getConnection()
1372
2674
  {
1373
2675
  return end_ice_getConnection(begin_ice_getConnection());
1374
2676
  }
1375
2677
 
2678
+ /**
2679
+ * Obtains the Connection for this proxy. If the proxy does not yet have an established connection,
2680
+ * it first attempts to create a connection.
2681
+ * @return The asynchronous result object for the invocation.
2682
+ */
1376
2683
  ::Ice::AsyncResultPtr begin_ice_getConnection()
1377
2684
  {
1378
2685
  return _iceI_begin_ice_getConnection(::IceInternal::dummyCallback, 0);
1379
2686
  }
1380
2687
 
1381
- ::Ice::AsyncResultPtr begin_ice_getConnection(const ::Ice::CallbackPtr& del,
2688
+ /**
2689
+ * Obtains the Connection for this proxy. If the proxy does not yet have an established connection,
2690
+ * it first attempts to create a connection.
2691
+ * @param cb Asynchronous callback object.
2692
+ * @param cookie User-defined data to associate with the invocation.
2693
+ * @return The asynchronous result object for the invocation.
2694
+ */
2695
+ ::Ice::AsyncResultPtr begin_ice_getConnection(const ::Ice::CallbackPtr& cb,
1382
2696
  const ::Ice::LocalObjectPtr& cookie = 0)
1383
2697
  {
1384
- return _iceI_begin_ice_getConnection(del, cookie);
2698
+ return _iceI_begin_ice_getConnection(cb, cookie);
1385
2699
  }
1386
2700
 
1387
- ::Ice::AsyncResultPtr begin_ice_getConnection(const ::Ice::Callback_Object_ice_getConnectionPtr& del,
2701
+ /**
2702
+ * Obtains the Connection for this proxy. If the proxy does not yet have an established connection,
2703
+ * it first attempts to create a connection.
2704
+ * @param cb Asynchronous callback object.
2705
+ * @param cookie User-defined data to associate with the invocation.
2706
+ * @return The asynchronous result object for the invocation.
2707
+ */
2708
+ ::Ice::AsyncResultPtr begin_ice_getConnection(const ::Ice::Callback_Object_ice_getConnectionPtr& cb,
1388
2709
  const ::Ice::LocalObjectPtr& cookie = 0)
1389
2710
  {
1390
- return _iceI_begin_ice_getConnection(del, cookie);
2711
+ return _iceI_begin_ice_getConnection(cb, cookie);
1391
2712
  }
1392
2713
 
1393
- ::Ice::ConnectionPtr end_ice_getConnection(const ::Ice::AsyncResultPtr&);
2714
+ /**
2715
+ * Completes an invocation of begin_ice_getConnection.
2716
+ * @param result The asynchronous result object for the invocation.
2717
+ * @return The connection for this proxy.
2718
+ */
2719
+ ::Ice::ConnectionPtr end_ice_getConnection(const ::Ice::AsyncResultPtr& result);
1394
2720
 
2721
+ /**
2722
+ * Returns the cached connection for this proxy. If the proxy does not yet have an established
2723
+ * connection, it does not attempt to create a connection.
2724
+ *
2725
+ * @return The cached connection for this proxy, or nil if the proxy does not have
2726
+ * an established connection.
2727
+ */
1395
2728
  ::Ice::ConnectionPtr ice_getCachedConnection() const;
1396
2729
 
2730
+ /**
2731
+ * Flushes any pending batched requests for this proxy. The call blocks until the flush is complete.
2732
+ */
1397
2733
  void ice_flushBatchRequests()
1398
2734
  {
1399
2735
  return end_ice_flushBatchRequests(begin_ice_flushBatchRequests());
1400
2736
  }
1401
2737
 
2738
+ /**
2739
+ * Flushes any pending batched requests for this proxy. The call blocks until the flush is complete.
2740
+ * @return The asynchronous result object for the invocation.
2741
+ */
1402
2742
  ::Ice::AsyncResultPtr begin_ice_flushBatchRequests()
1403
2743
  {
1404
2744
  return _iceI_begin_ice_flushBatchRequests(::IceInternal::dummyCallback, 0);
1405
2745
  }
1406
2746
 
1407
- ::Ice::AsyncResultPtr begin_ice_flushBatchRequests(const ::Ice::CallbackPtr& del,
2747
+ /**
2748
+ * Flushes any pending batched requests for this proxy. The call blocks until the flush is complete.
2749
+ * @param cb Asynchronous callback object.
2750
+ * @param cookie User-defined data to associate with the invocation.
2751
+ * @return The asynchronous result object for the invocation.
2752
+ */
2753
+ ::Ice::AsyncResultPtr begin_ice_flushBatchRequests(const ::Ice::CallbackPtr& cb,
1408
2754
  const ::Ice::LocalObjectPtr& cookie = 0)
1409
2755
  {
1410
- return _iceI_begin_ice_flushBatchRequests(del, cookie);
2756
+ return _iceI_begin_ice_flushBatchRequests(cb, cookie);
1411
2757
  }
1412
2758
 
1413
- ::Ice::AsyncResultPtr begin_ice_flushBatchRequests(const ::Ice::Callback_Object_ice_flushBatchRequestsPtr& del,
2759
+ /**
2760
+ * Flushes any pending batched requests for this proxy. The call blocks until the flush is complete.
2761
+ * @param cb Asynchronous callback object.
2762
+ * @param cookie User-defined data to associate with the invocation.
2763
+ * @return The asynchronous result object for the invocation.
2764
+ */
2765
+ ::Ice::AsyncResultPtr begin_ice_flushBatchRequests(const ::Ice::Callback_Object_ice_flushBatchRequestsPtr& cb,
1414
2766
  const ::Ice::LocalObjectPtr& cookie = 0)
1415
2767
  {
1416
- return _iceI_begin_ice_flushBatchRequests(del, cookie);
2768
+ return _iceI_begin_ice_flushBatchRequests(cb, cookie);
1417
2769
  }
1418
2770
 
1419
- void end_ice_flushBatchRequests(const ::Ice::AsyncResultPtr&);
2771
+ /**
2772
+ * Completes an invocation of begin_ice_flushBatchRequests.
2773
+ * @param result The asynchronous result object for the invocation.
2774
+ */
2775
+ void end_ice_flushBatchRequests(const ::Ice::AsyncResultPtr& result);
1420
2776
 
2777
+ /// \cond INTERNAL
1421
2778
  const ::IceInternal::ReferencePtr& _getReference() const { return _reference; }
1422
2779
 
1423
2780
  ::Ice::Int _hash() const;
@@ -1437,10 +2794,13 @@ public:
1437
2794
  void _updateRequestHandler(const ::IceInternal::RequestHandlerPtr&, const ::IceInternal::RequestHandlerPtr&);
1438
2795
 
1439
2796
  void _write(::Ice::OutputStream&) const;
2797
+ /// \endcond
1440
2798
 
1441
2799
  protected:
1442
2800
 
2801
+ /// \cond INTERNAL
1443
2802
  virtual Object* _newInstance() const;
2803
+ /// \endcond
1444
2804
 
1445
2805
  private:
1446
2806
 
@@ -1503,111 +2863,233 @@ ICE_API ::std::ostream& operator<<(::std::ostream&, const ::IceProxy::Ice::Objec
1503
2863
  namespace Ice
1504
2864
  {
1505
2865
 
2866
+ /**
2867
+ * Helper template that supplies proxy factory functions.
2868
+ * \headerfile Ice/Ice.h
2869
+ */
1506
2870
  template<typename Prx, typename Base>
1507
2871
  class Proxy : public virtual Base
1508
2872
  {
1509
2873
  public:
1510
2874
 
2875
+ /**
2876
+ * Obtains a proxy that is identical to this proxy, except for the per-proxy context.
2877
+ * @param context The context for the new proxy.
2878
+ * @return A proxy with the new per-proxy context.
2879
+ */
1511
2880
  IceInternal::ProxyHandle<Prx> ice_context(const ::Ice::Context& context) const
1512
2881
  {
1513
2882
  return dynamic_cast<Prx*>(::IceProxy::Ice::Object::ice_context(context).get());
1514
2883
  }
1515
2884
 
2885
+ /**
2886
+ * Obtains a proxy that is identical to this proxy, except for the adapter ID.
2887
+ * @param id The adapter ID for the new proxy.
2888
+ * @return A proxy with the new adapter ID.
2889
+ */
1516
2890
  IceInternal::ProxyHandle<Prx> ice_adapterId(const ::std::string& id) const
1517
2891
  {
1518
2892
  return dynamic_cast<Prx*>(::IceProxy::Ice::Object::ice_adapterId(id).get());
1519
2893
  }
1520
2894
 
2895
+ /**
2896
+ * Obtains a proxy that is identical to this proxy, except for the endpoints.
2897
+ * @param endpoints The endpoints for the new proxy.
2898
+ * @return A proxy with the new endpoints.
2899
+ */
1521
2900
  IceInternal::ProxyHandle<Prx> ice_endpoints(const ::Ice::EndpointSeq& endpoints) const
1522
2901
  {
1523
2902
  return dynamic_cast<Prx*>(::IceProxy::Ice::Object::ice_endpoints(endpoints).get());
1524
2903
  }
1525
2904
 
2905
+ /**
2906
+ * Obtains a proxy that is identical to this proxy, except for the locator cache timeout.
2907
+ * @param timeout The new locator cache timeout (in seconds).
2908
+ * @return A proxy with the new timeout.
2909
+ */
1526
2910
  IceInternal::ProxyHandle<Prx> ice_locatorCacheTimeout(int timeout) const
1527
2911
  {
1528
2912
  return dynamic_cast<Prx*>(::IceProxy::Ice::Object::ice_locatorCacheTimeout(timeout).get());
1529
2913
  }
1530
2914
 
1531
- IceInternal::ProxyHandle<Prx> ice_connectionCached(bool cached) const
2915
+ /**
2916
+ * Obtains a proxy that is identical to this proxy, except for connection caching.
2917
+ * @param b True if the new proxy should cache connections, false otherwise.
2918
+ * @return A proxy with the specified caching policy.
2919
+ */
2920
+ IceInternal::ProxyHandle<Prx> ice_connectionCached(bool b) const
1532
2921
  {
1533
- return dynamic_cast<Prx*>(::IceProxy::Ice::Object::ice_connectionCached(cached).get());
2922
+ return dynamic_cast<Prx*>(::IceProxy::Ice::Object::ice_connectionCached(b).get());
1534
2923
  }
1535
2924
 
1536
- IceInternal::ProxyHandle<Prx> ice_endpointSelection(::Ice::EndpointSelectionType selection) const
2925
+ /**
2926
+ * Obtains a proxy that is identical to this proxy, except for the endpoint selection policy.
2927
+ * @param type The new endpoint selection policy.
2928
+ * @return A proxy with the specified endpoint selection policy.
2929
+ */
2930
+ IceInternal::ProxyHandle<Prx> ice_endpointSelection(::Ice::EndpointSelectionType type) const
1537
2931
  {
1538
- return dynamic_cast<Prx*>(::IceProxy::Ice::Object::ice_endpointSelection(selection).get());
2932
+ return dynamic_cast<Prx*>(::IceProxy::Ice::Object::ice_endpointSelection(type).get());
1539
2933
  }
1540
2934
 
1541
- IceInternal::ProxyHandle<Prx> ice_secure(bool secure) const
2935
+ /**
2936
+ * Obtains a proxy that is identical to this proxy, except for how it selects endpoints.
2937
+ * @param b If true, only endpoints that use a secure transport are used by the new proxy.
2938
+ * If false, the returned proxy uses both secure and insecure endpoints.
2939
+ * @return A proxy with the specified security policy.
2940
+ */
2941
+ IceInternal::ProxyHandle<Prx> ice_secure(bool b) const
1542
2942
  {
1543
- return dynamic_cast<Prx*>(::IceProxy::Ice::Object::ice_secure(secure).get());
2943
+ return dynamic_cast<Prx*>(::IceProxy::Ice::Object::ice_secure(b).get());
1544
2944
  }
1545
2945
 
1546
- IceInternal::ProxyHandle<Prx> ice_preferSecure(bool preferSecure) const
2946
+ /**
2947
+ * Obtains a proxy that is identical to this proxy, except for its endpoint selection policy.
2948
+ * @param b If true, the new proxy will use secure endpoints for invocations and only use
2949
+ * insecure endpoints if an invocation cannot be made via secure endpoints. If false, the
2950
+ * proxy prefers insecure endpoints to secure ones.
2951
+ * @return A proxy with the specified selection policy.
2952
+ */
2953
+ IceInternal::ProxyHandle<Prx> ice_preferSecure(bool b) const
1547
2954
  {
1548
- return dynamic_cast<Prx*>(::IceProxy::Ice::Object::ice_preferSecure(preferSecure).get());
2955
+ return dynamic_cast<Prx*>(::IceProxy::Ice::Object::ice_preferSecure(b).get());
1549
2956
  }
1550
2957
 
2958
+ /**
2959
+ * Obtains a proxy that is identical to this proxy, except for the router.
2960
+ * @param router The router for the new proxy.
2961
+ * @return A proxy with the specified router.
2962
+ */
1551
2963
  IceInternal::ProxyHandle<Prx> ice_router(const ::Ice::RouterPrx& router) const
1552
2964
  {
1553
2965
  return dynamic_cast<Prx*>(::IceProxy::Ice::Object::ice_router(router).get());
1554
2966
  }
1555
2967
 
2968
+ /**
2969
+ * Obtains a proxy that is identical to this proxy, except for the locator.
2970
+ * @param locator The locator for the new proxy.
2971
+ * @return A proxy with the specified locator.
2972
+ */
1556
2973
  IceInternal::ProxyHandle<Prx> ice_locator(const ::Ice::LocatorPrx& locator) const
1557
2974
  {
1558
2975
  return dynamic_cast<Prx*>(::IceProxy::Ice::Object::ice_locator(locator).get());
1559
2976
  }
1560
2977
 
1561
- IceInternal::ProxyHandle<Prx> ice_collocationOptimized(bool collocated) const
2978
+ /**
2979
+ * Obtains a proxy that is identical to this proxy, except for collocation optimization.
2980
+ * @param b True if the new proxy enables collocation optimization, false otherwise.
2981
+ * @return A proxy with the specified collocation optimization.
2982
+ */
2983
+ IceInternal::ProxyHandle<Prx> ice_collocationOptimized(bool b) const
1562
2984
  {
1563
- return dynamic_cast<Prx*>(::IceProxy::Ice::Object::ice_collocationOptimized(collocated).get());
2985
+ return dynamic_cast<Prx*>(::IceProxy::Ice::Object::ice_collocationOptimized(b).get());
1564
2986
  }
1565
2987
 
2988
+ /**
2989
+ * Obtains a proxy that is identical to this proxy, except for the invocation timeout.
2990
+ * @param timeout The new invocation timeout (in milliseconds).
2991
+ * @return A proxy with the new timeout.
2992
+ */
1566
2993
  IceInternal::ProxyHandle<Prx> ice_invocationTimeout(int timeout) const
1567
2994
  {
1568
2995
  return dynamic_cast<Prx*>(::IceProxy::Ice::Object::ice_invocationTimeout(timeout).get());
1569
2996
  }
1570
2997
 
2998
+ /**
2999
+ * Obtains a proxy that is identical to this proxy, but uses twoway invocations.
3000
+ * @return A proxy that uses twoway invocations.
3001
+ */
1571
3002
  IceInternal::ProxyHandle<Prx> ice_twoway() const
1572
3003
  {
1573
3004
  return dynamic_cast<Prx*>(::IceProxy::Ice::Object::ice_twoway().get());
1574
3005
  }
1575
3006
 
3007
+ /**
3008
+ * Obtains a proxy that is identical to this proxy, but uses oneway invocations.
3009
+ * @return A proxy that uses oneway invocations.
3010
+ */
1576
3011
  IceInternal::ProxyHandle<Prx> ice_oneway() const
1577
3012
  {
1578
3013
  return dynamic_cast<Prx*>(::IceProxy::Ice::Object::ice_oneway().get());
1579
3014
  }
1580
3015
 
3016
+ /**
3017
+ * Obtains a proxy that is identical to this proxy, but uses batch oneway invocations.
3018
+ * @return A proxy that uses batch oneway invocations.
3019
+ */
1581
3020
  IceInternal::ProxyHandle<Prx> ice_batchOneway() const
1582
3021
  {
1583
3022
  return dynamic_cast<Prx*>(::IceProxy::Ice::Object::ice_batchOneway().get());
1584
3023
  }
1585
3024
 
3025
+ /**
3026
+ * Obtains a proxy that is identical to this proxy, but uses datagram invocations.
3027
+ * @return A proxy that uses datagram invocations.
3028
+ */
1586
3029
  IceInternal::ProxyHandle<Prx> ice_datagram() const
1587
3030
  {
1588
3031
  return dynamic_cast<Prx*>(::IceProxy::Ice::Object::ice_datagram().get());
1589
3032
  }
1590
3033
 
3034
+ /**
3035
+ * Obtains a proxy that is identical to this proxy, but uses batch datagram invocations.
3036
+ * @return A proxy that uses batch datagram invocations.
3037
+ */
1591
3038
  IceInternal::ProxyHandle<Prx> ice_batchDatagram() const
1592
3039
  {
1593
3040
  return dynamic_cast<Prx*>(::IceProxy::Ice::Object::ice_batchDatagram().get());
1594
3041
  }
1595
3042
 
1596
- IceInternal::ProxyHandle<Prx> ice_compress(bool compress) const
3043
+ /**
3044
+ * Obtains a proxy that is identical to this proxy, except for its compression setting which
3045
+ * overrides the compression setting from the proxy endpoints.
3046
+ * @param b True enables compression for the new proxy, false disables compression.
3047
+ * @return A proxy with the specified compression override setting.
3048
+ */
3049
+ IceInternal::ProxyHandle<Prx> ice_compress(bool b) const
1597
3050
  {
1598
- return dynamic_cast<Prx*>(::IceProxy::Ice::Object::ice_compress(compress).get());
3051
+ return dynamic_cast<Prx*>(::IceProxy::Ice::Object::ice_compress(b).get());
1599
3052
  }
1600
3053
 
3054
+ /**
3055
+ * Obtains a proxy that is identical to this proxy, except for its connection timeout setting
3056
+ * which overrides the timeot setting from the proxy endpoints.
3057
+ * @param timeout The connection timeout override for the proxy (in milliseconds).
3058
+ * @return A proxy with the specified timeout override.
3059
+ */
1601
3060
  IceInternal::ProxyHandle<Prx> ice_timeout(int timeout) const
1602
3061
  {
1603
3062
  return dynamic_cast<Prx*>(::IceProxy::Ice::Object::ice_timeout(timeout).get());
1604
3063
  }
1605
3064
 
3065
+ /**
3066
+ * Obtains a proxy that is identical to this proxy, except for its connection ID.
3067
+ * @param id The connection ID for the new proxy. An empty string removes the
3068
+ * connection ID.
3069
+ * @return A proxy with the specified connection ID.
3070
+ */
1606
3071
  IceInternal::ProxyHandle<Prx> ice_connectionId(const ::std::string& id) const
1607
3072
  {
1608
3073
  return dynamic_cast<Prx*>(::IceProxy::Ice::Object::ice_connectionId(id).get());
1609
3074
  }
1610
3075
 
3076
+ /**
3077
+ * Obtains a proxy that is identical to this proxy, except it's a fixed proxy bound
3078
+ * the given connection.
3079
+ * @param connection The fixed proxy connection.
3080
+ * @return A fixed proxy bound to the given connection.
3081
+ */
3082
+ IceInternal::ProxyHandle<Prx> ice_fixed(const ::Ice::ConnectionPtr& connection) const
3083
+ {
3084
+ return dynamic_cast<Prx*>(::IceProxy::Ice::Object::ice_fixed(connection).get());
3085
+ }
3086
+
3087
+ /**
3088
+ * Obtains a proxy that is identical to this proxy, except for the encoding used to marshal
3089
+ * parameters.
3090
+ * @param version The encoding version to use to marshal request parameters.
3091
+ * @return A proxy with the specified encoding version.
3092
+ */
1611
3093
  IceInternal::ProxyHandle<Prx> ice_encodingVersion(const ::Ice::EncodingVersion& version) const
1612
3094
  {
1613
3095
  return dynamic_cast<Prx*>(::IceProxy::Ice::Object::ice_encodingVersion(version).get());
@@ -1615,15 +3097,50 @@ public:
1615
3097
 
1616
3098
  protected:
1617
3099
 
3100
+ /// \cond INTERNAL
1618
3101
  virtual ::IceProxy::Ice::Object* _newInstance() const = 0;
3102
+ /// \endcond
1619
3103
  };
1620
3104
 
1621
- ICE_API bool proxyIdentityLess(const ObjectPrx&, const ObjectPrx&);
1622
- ICE_API bool proxyIdentityEqual(const ObjectPrx&, const ObjectPrx&);
1623
-
1624
- ICE_API bool proxyIdentityAndFacetLess(const ObjectPrx&, const ObjectPrx&);
1625
- ICE_API bool proxyIdentityAndFacetEqual(const ObjectPrx&, const ObjectPrx&);
1626
-
3105
+ /**
3106
+ * Compares the object identities of two proxies.
3107
+ * @param lhs A proxy.
3108
+ * @param rhs A proxy.
3109
+ * @return True if the identity in lhs compares less than the identity in rhs, false otherwise.
3110
+ */
3111
+ ICE_API bool proxyIdentityLess(const ObjectPrx& lhs, const ObjectPrx& rhs);
3112
+
3113
+ /**
3114
+ * Compares the object identities of two proxies.
3115
+ * @param lhs A proxy.
3116
+ * @param rhs A proxy.
3117
+ * @return True if the identity in lhs compares equal to the identity in rhs, false otherwise.
3118
+ */
3119
+ ICE_API bool proxyIdentityEqual(const ObjectPrx& lhs, const ObjectPrx& rhs);
3120
+
3121
+ /**
3122
+ * Compares the object identities and facets of two proxies.
3123
+ * @param lhs A proxy.
3124
+ * @param rhs A proxy.
3125
+ * @return True if the identity and facet in lhs compare less than the identity and facet
3126
+ * in rhs, false otherwise.
3127
+ */
3128
+ ICE_API bool proxyIdentityAndFacetLess(const ObjectPrx& lhs, const ObjectPrx& rhs);
3129
+
3130
+ /**
3131
+ * Compares the object identities and facets of two proxies.
3132
+ * @param lhs A proxy.
3133
+ * @param rhs A proxy.
3134
+ * @return True if the identity and facet in lhs compare equal to the identity and facet
3135
+ * in rhs, false otherwise.
3136
+ */
3137
+ ICE_API bool proxyIdentityAndFacetEqual(const ObjectPrx& lhs, const ObjectPrx& rhs);
3138
+
3139
+ /**
3140
+ * A functor that compares the object identities of two proxies. Evaluates true if the identity in lhs
3141
+ * compares less than the identity in rhs, false otherwise.
3142
+ * \headerfile Ice/Ice.h
3143
+ */
1627
3144
  struct ProxyIdentityLess : std::binary_function<bool, ObjectPrx&, ObjectPrx&>
1628
3145
  {
1629
3146
  bool operator()(const ObjectPrx& lhs, const ObjectPrx& rhs) const
@@ -1632,6 +3149,11 @@ struct ProxyIdentityLess : std::binary_function<bool, ObjectPrx&, ObjectPrx&>
1632
3149
  }
1633
3150
  };
1634
3151
 
3152
+ /**
3153
+ * A functor that compares the object identities of two proxies. Evaluates true if the identity in lhs
3154
+ * compares equal to the identity in rhs, false otherwise.
3155
+ * \headerfile Ice/Ice.h
3156
+ */
1635
3157
  struct ProxyIdentityEqual : std::binary_function<bool, ObjectPrx&, ObjectPrx&>
1636
3158
  {
1637
3159
  bool operator()(const ObjectPrx& lhs, const ObjectPrx& rhs) const
@@ -1640,6 +3162,11 @@ struct ProxyIdentityEqual : std::binary_function<bool, ObjectPrx&, ObjectPrx&>
1640
3162
  }
1641
3163
  };
1642
3164
 
3165
+ /**
3166
+ * A functor that compares the object identities and facets of two proxies. Evaluates true if the identity
3167
+ * and facet in lhs compare less than the identity and facet in rhs, false otherwise.
3168
+ * \headerfile Ice/Ice.h
3169
+ */
1643
3170
  struct ProxyIdentityAndFacetLess : std::binary_function<bool, ObjectPrx&, ObjectPrx&>
1644
3171
  {
1645
3172
  bool operator()(const ObjectPrx& lhs, const ObjectPrx& rhs) const
@@ -1648,6 +3175,11 @@ struct ProxyIdentityAndFacetLess : std::binary_function<bool, ObjectPrx&, Object
1648
3175
  }
1649
3176
  };
1650
3177
 
3178
+ /**
3179
+ * A functor that compares the object identities and facets of two proxies. Evaluates true if the identity
3180
+ * and facet in lhs compare equal to the identity and facet in rhs, false otherwise.
3181
+ * \headerfile Ice/Ice.h
3182
+ */
1651
3183
  struct ProxyIdentityAndFacetEqual : std::binary_function<bool, ObjectPrx&, ObjectPrx&>
1652
3184
  {
1653
3185
  bool operator()(const ObjectPrx& lhs, const ObjectPrx& rhs) const
@@ -1826,6 +3358,13 @@ uncheckedCastImpl(const ::Ice::ObjectPrx& b, const std::string& f)
1826
3358
  namespace Ice
1827
3359
  {
1828
3360
 
3361
+ /**
3362
+ * Downcasts a proxy after confirming the target object's type via a remote invocation.
3363
+ * @param b The target proxy.
3364
+ * @param context The context map for the invocation.
3365
+ * @return A proxy with the requested type, or nil if the target proxy is nil or the target
3366
+ * object does not support the requested type.
3367
+ */
1829
3368
  template<typename P, typename Y> inline P
1830
3369
  checkedCast(const ::IceInternal::ProxyHandle<Y>& b, const ::Ice::Context& context = ::Ice::noExplicitContext)
1831
3370
  {
@@ -1833,6 +3372,11 @@ checkedCast(const ::IceInternal::ProxyHandle<Y>& b, const ::Ice::Context& contex
1833
3372
  return ::IceInternal::checkedCastHelper<typename P::element_type>(b, tag, context);
1834
3373
  }
1835
3374
 
3375
+ /**
3376
+ * Downcasts a proxy without confirming the target object's type via a remote invocation.
3377
+ * @param b The target proxy.
3378
+ * @return A proxy with the requested type.
3379
+ */
1836
3380
  template<typename P, typename Y> inline P
1837
3381
  uncheckedCast(const ::IceInternal::ProxyHandle<Y>& b)
1838
3382
  {
@@ -1840,12 +3384,26 @@ uncheckedCast(const ::IceInternal::ProxyHandle<Y>& b)
1840
3384
  return ::IceInternal::uncheckedCastHelper<typename P::element_type>(b, tag);
1841
3385
  }
1842
3386
 
3387
+ /**
3388
+ * Downcasts a proxy after confirming the target object's type via a remote invocation.
3389
+ * @param b The target proxy.
3390
+ * @param f A facet name.
3391
+ * @param context The context map for the invocation.
3392
+ * @return A proxy with the requested type and facet, or nil if the target proxy is nil or the target
3393
+ * object does not support the requested type.
3394
+ */
1843
3395
  template<typename P> inline P
1844
3396
  checkedCast(const ::Ice::ObjectPrx& b, const std::string& f, const ::Ice::Context& context = ::Ice::noExplicitContext)
1845
3397
  {
1846
3398
  return ::IceInternal::checkedCastImpl<P>(b, f, context);
1847
3399
  }
1848
3400
 
3401
+ /**
3402
+ * Downcasts a proxy without confirming the target object's type via a remote invocation.
3403
+ * @param b The target proxy.
3404
+ * @param f A facet name.
3405
+ * @return A proxy with the requested type and facet.
3406
+ */
1849
3407
  template<typename P> inline P
1850
3408
  uncheckedCast(const ::Ice::ObjectPrx& b, const std::string& f)
1851
3409
  {
@@ -2094,6 +3652,12 @@ private:
2094
3652
  namespace Ice
2095
3653
  {
2096
3654
 
3655
+ /**
3656
+ * Type-safe asynchronous callback wrapper class used for calls to
3657
+ * IceProxy::Ice::Object::begin_ice_isA.
3658
+ * Create a wrapper instance by calling ::Ice::newCallback_Object_ice_isA.
3659
+ * \headerfile Ice/Ice.h
3660
+ */
2097
3661
  template<class T>
2098
3662
  class CallbackNC_Object_ice_isA : public Callback_Object_ice_isA_Base, public ::IceInternal::TwowayCallbackNC<T>
2099
3663
  {
@@ -2110,6 +3674,7 @@ public:
2110
3674
  {
2111
3675
  }
2112
3676
 
3677
+ /// \cond INTERNAL
2113
3678
  virtual void completed(const ::Ice::AsyncResultPtr& result) const
2114
3679
  {
2115
3680
  bool ret;
@@ -2127,12 +3692,19 @@ public:
2127
3692
  (::IceInternal::CallbackNC<T>::_callback.get()->*_response)(ret);
2128
3693
  }
2129
3694
  }
3695
+ /// \endcond
2130
3696
 
2131
3697
  private:
2132
3698
 
2133
3699
  Response _response;
2134
3700
  };
2135
3701
 
3702
+ /**
3703
+ * Type-safe asynchronous callback wrapper class with cookie support used for calls to
3704
+ * IceProxy::Ice::Object::begin_ice_isA.
3705
+ * Create a wrapper instance by calling ::Ice::newCallback_Object_ice_isA.
3706
+ * \headerfile Ice/Ice.h
3707
+ */
2136
3708
  template<class T, typename CT>
2137
3709
  class Callback_Object_ice_isA : public Callback_Object_ice_isA_Base, public ::IceInternal::TwowayCallback<T, CT>
2138
3710
  {
@@ -2149,6 +3721,7 @@ public:
2149
3721
  {
2150
3722
  }
2151
3723
 
3724
+ /// \cond INTERNAL
2152
3725
  virtual void completed(const ::Ice::AsyncResultPtr& result) const
2153
3726
  {
2154
3727
  bool ret;
@@ -2167,12 +3740,19 @@ public:
2167
3740
  CT::dynamicCast(result->getCookie()));
2168
3741
  }
2169
3742
  }
3743
+ /// \endcond
2170
3744
 
2171
3745
  private:
2172
3746
 
2173
3747
  Response _response;
2174
3748
  };
2175
3749
 
3750
+ /**
3751
+ * Type-safe asynchronous callback wrapper class used for calls to
3752
+ * IceProxy::Ice::Object::begin_ice_ping.
3753
+ * Create a wrapper instance by calling ::Ice::newCallback_Object_ice_ping.
3754
+ * \headerfile Ice/Ice.h
3755
+ */
2176
3756
  template<class T>
2177
3757
  class CallbackNC_Object_ice_ping : public Callback_Object_ice_ping_Base, public ::IceInternal::OnewayCallbackNC<T>
2178
3758
  {
@@ -2190,6 +3770,12 @@ public:
2190
3770
  }
2191
3771
  };
2192
3772
 
3773
+ /**
3774
+ * Type-safe asynchronous callback wrapper class with cookie support used for calls to
3775
+ * IceProxy::Ice::Object::begin_ice_ping.
3776
+ * Create a wrapper instance by calling ::Ice::newCallback_Object_ice_ping.
3777
+ * \headerfile Ice/Ice.h
3778
+ */
2193
3779
  template<class T, typename CT>
2194
3780
  class Callback_Object_ice_ping : public Callback_Object_ice_ping_Base, public ::IceInternal::OnewayCallback<T, CT>
2195
3781
  {
@@ -2207,6 +3793,12 @@ public:
2207
3793
  }
2208
3794
  };
2209
3795
 
3796
+ /**
3797
+ * Type-safe asynchronous callback wrapper class used for calls to
3798
+ * IceProxy::Ice::Object::begin_ice_ids.
3799
+ * Create a wrapper instance by calling ::Ice::newCallback_Object_ice_ids.
3800
+ * \headerfile Ice/Ice.h
3801
+ */
2210
3802
  template<class T>
2211
3803
  class CallbackNC_Object_ice_ids : public Callback_Object_ice_ids_Base, public ::IceInternal::TwowayCallbackNC<T>
2212
3804
  {
@@ -2223,6 +3815,7 @@ public:
2223
3815
  {
2224
3816
  }
2225
3817
 
3818
+ /// \cond INTERNAL
2226
3819
  virtual void completed(const ::Ice::AsyncResultPtr& result) const
2227
3820
  {
2228
3821
  ::std::vector< ::std::string> ret;
@@ -2240,12 +3833,19 @@ public:
2240
3833
  (::IceInternal::CallbackNC<T>::_callback.get()->*_response)(ret);
2241
3834
  }
2242
3835
  }
3836
+ /// \endcond
2243
3837
 
2244
3838
  private:
2245
3839
 
2246
3840
  Response _response;
2247
3841
  };
2248
3842
 
3843
+ /**
3844
+ * Type-safe asynchronous callback wrapper class with cookie support used for calls to
3845
+ * IceProxy::Ice::Object::begin_ice_ids.
3846
+ * Create a wrapper instance by calling ::Ice::newCallback_Object_ice_ids.
3847
+ * \headerfile Ice/Ice.h
3848
+ */
2249
3849
  template<class T, typename CT>
2250
3850
  class Callback_Object_ice_ids : public Callback_Object_ice_ids_Base, public ::IceInternal::TwowayCallback<T, CT>
2251
3851
  {
@@ -2262,6 +3862,7 @@ public:
2262
3862
  {
2263
3863
  }
2264
3864
 
3865
+ /// \cond INTERNAL
2265
3866
  virtual void completed(const ::Ice::AsyncResultPtr& result) const
2266
3867
  {
2267
3868
  ::std::vector< ::std::string> ret;
@@ -2280,12 +3881,19 @@ public:
2280
3881
  CT::dynamicCast(result->getCookie()));
2281
3882
  }
2282
3883
  }
3884
+ /// \endcond
2283
3885
 
2284
3886
  private:
2285
3887
 
2286
3888
  Response _response;
2287
3889
  };
2288
3890
 
3891
+ /**
3892
+ * Type-safe asynchronous callback wrapper class used for calls to
3893
+ * IceProxy::Ice::Object::begin_ice_id.
3894
+ * Create a wrapper instance by calling ::Ice::newCallback_Object_ice_id.
3895
+ * \headerfile Ice/Ice.h
3896
+ */
2289
3897
  template<class T>
2290
3898
  class CallbackNC_Object_ice_id : public Callback_Object_ice_id_Base, public ::IceInternal::TwowayCallbackNC<T>
2291
3899
  {
@@ -2302,6 +3910,7 @@ public:
2302
3910
  {
2303
3911
  }
2304
3912
 
3913
+ /// \cond INTERNAL
2305
3914
  virtual void completed(const ::Ice::AsyncResultPtr& result) const
2306
3915
  {
2307
3916
  ::std::string ret;
@@ -2319,12 +3928,19 @@ public:
2319
3928
  (::IceInternal::CallbackNC<T>::_callback.get()->*_response)(ret);
2320
3929
  }
2321
3930
  }
3931
+ /// \endcond
2322
3932
 
2323
3933
  private:
2324
3934
 
2325
3935
  Response _response;
2326
3936
  };
2327
3937
 
3938
+ /**
3939
+ * Type-safe asynchronous callback wrapper class with cookie support used for calls to
3940
+ * IceProxy::Ice::Object::begin_ice_id.
3941
+ * Create a wrapper instance by calling ::Ice::newCallback_Object_ice_id.
3942
+ * \headerfile Ice/Ice.h
3943
+ */
2328
3944
  template<class T, typename CT>
2329
3945
  class Callback_Object_ice_id : public Callback_Object_ice_id_Base, public ::IceInternal::TwowayCallback<T, CT>
2330
3946
  {
@@ -2341,6 +3957,7 @@ public:
2341
3957
  {
2342
3958
  }
2343
3959
 
3960
+ /// \cond INTERNAL
2344
3961
  virtual void completed(const ::Ice::AsyncResultPtr& result) const
2345
3962
  {
2346
3963
  ::std::string ret;
@@ -2359,12 +3976,19 @@ public:
2359
3976
  CT::dynamicCast(result->getCookie()));
2360
3977
  }
2361
3978
  }
3979
+ /// \endcond
2362
3980
 
2363
3981
  private:
2364
3982
 
2365
3983
  Response _response;
2366
3984
  };
2367
3985
 
3986
+ /**
3987
+ * Type-safe asynchronous callback wrapper class used for calls to
3988
+ * IceProxy::Ice::Object::begin_ice_invoke.
3989
+ * Create a wrapper instance by calling ::Ice::newCallback_Object_ice_invoke.
3990
+ * \headerfile Ice/Ice.h
3991
+ */
2368
3992
  template<class T>
2369
3993
  class CallbackNC_Object_ice_invoke : public Callback_Object_ice_invoke_Base, public ::IceInternal::TwowayCallbackNC<T>
2370
3994
  {
@@ -2387,6 +4011,7 @@ public:
2387
4011
  {
2388
4012
  }
2389
4013
 
4014
+ /// \cond INTERNAL
2390
4015
  virtual void completed(const ::Ice::AsyncResultPtr& result) const
2391
4016
  {
2392
4017
  if(_response)
@@ -2423,6 +4048,7 @@ public:
2423
4048
  }
2424
4049
  }
2425
4050
  }
4051
+ /// \endcond
2426
4052
 
2427
4053
  private:
2428
4054
 
@@ -2430,6 +4056,12 @@ private:
2430
4056
  ResponseArray _responseArray;
2431
4057
  };
2432
4058
 
4059
+ /**
4060
+ * Type-safe asynchronous callback wrapper class with cookie support used for calls to
4061
+ * IceProxy::Ice::Object::begin_ice_invoke.
4062
+ * Create a wrapper instance by calling ::Ice::newCallback_Object_ice_invoke.
4063
+ * \headerfile Ice/Ice.h
4064
+ */
2433
4065
  template<class T, typename CT>
2434
4066
  class Callback_Object_ice_invoke : public Callback_Object_ice_invoke_Base, public ::IceInternal::TwowayCallback<T, CT>
2435
4067
  {
@@ -2452,6 +4084,7 @@ public:
2452
4084
  {
2453
4085
  }
2454
4086
 
4087
+ /// \cond INTERNAL
2455
4088
  virtual void completed(const ::Ice::AsyncResultPtr& result) const
2456
4089
  {
2457
4090
  if(_response)
@@ -2493,6 +4126,7 @@ public:
2493
4126
  }
2494
4127
  }
2495
4128
  }
4129
+ /// \endcond
2496
4130
 
2497
4131
  private:
2498
4132
 
@@ -2500,6 +4134,12 @@ private:
2500
4134
  ResponseArray _responseArray;
2501
4135
  };
2502
4136
 
4137
+ /**
4138
+ * Type-safe asynchronous callback wrapper class used for calls to
4139
+ * IceProxy::Ice::Object::begin_ice_getConnection.
4140
+ * Create a wrapper instance by calling ::Ice::newCallback_Object_ice_getConnection.
4141
+ * \headerfile Ice/Ice.h
4142
+ */
2503
4143
  template<class T>
2504
4144
  class CallbackNC_Object_ice_getConnection : public Callback_Object_ice_getConnection_Base,
2505
4145
  public ::IceInternal::CallbackNC<T>
@@ -2517,6 +4157,7 @@ public:
2517
4157
  {
2518
4158
  }
2519
4159
 
4160
+ /// \cond INTERNAL
2520
4161
  virtual void completed(const ::Ice::AsyncResultPtr& result) const
2521
4162
  {
2522
4163
  ::Ice::ConnectionPtr ret;
@@ -2534,12 +4175,19 @@ public:
2534
4175
  (::IceInternal::CallbackNC<T>::_callback.get()->*_response)(ret);
2535
4176
  }
2536
4177
  }
4178
+ /// \endcond
2537
4179
 
2538
4180
  private:
2539
4181
 
2540
4182
  Response _response;
2541
4183
  };
2542
4184
 
4185
+ /**
4186
+ * Type-safe asynchronous callback wrapper class with cookie support used for calls to
4187
+ * IceProxy::Ice::Object::begin_ice_getConnection.
4188
+ * Create a wrapper instance by calling ::Ice::newCallback_Object_ice_getConnection.
4189
+ * \headerfile Ice/Ice.h
4190
+ */
2543
4191
  template<class T, typename CT>
2544
4192
  class Callback_Object_ice_getConnection : public Callback_Object_ice_getConnection_Base,
2545
4193
  public ::IceInternal::Callback<T, CT>
@@ -2557,6 +4205,7 @@ public:
2557
4205
  {
2558
4206
  }
2559
4207
 
4208
+ /// \cond INTERNAL
2560
4209
  virtual void completed(const ::Ice::AsyncResultPtr& result) const
2561
4210
  {
2562
4211
  ::Ice::ConnectionPtr ret;
@@ -2575,12 +4224,19 @@ public:
2575
4224
  CT::dynamicCast(result->getCookie()));
2576
4225
  }
2577
4226
  }
4227
+ /// \endcond
2578
4228
 
2579
4229
  private:
2580
4230
 
2581
4231
  Response _response;
2582
4232
  };
2583
4233
 
4234
+ /**
4235
+ * Type-safe asynchronous callback wrapper class used for calls to
4236
+ * IceProxy::Ice::Object::begin_ice_flushBatchRequests.
4237
+ * Create a wrapper instance by calling ::Ice::newCallback_Object_ice_flushBatchRequests.
4238
+ * \headerfile Ice/Ice.h
4239
+ */
2584
4240
  template<class T>
2585
4241
  class CallbackNC_Object_ice_flushBatchRequests : public Callback_Object_ice_flushBatchRequests_Base,
2586
4242
  public ::IceInternal::OnewayCallbackNC<T>
@@ -2598,6 +4254,12 @@ public:
2598
4254
  }
2599
4255
  };
2600
4256
 
4257
+ /**
4258
+ * Type-safe asynchronous callback wrapper class with cookie support used for calls to
4259
+ * IceProxy::Ice::Object::begin_ice_flushBatchRequests.
4260
+ * Create a wrapper instance by calling ::Ice::newCallback_Object_ice_flushBatchRequests.
4261
+ * \headerfile Ice/Ice.h
4262
+ */
2601
4263
  template<class T, typename CT>
2602
4264
  class Callback_Object_ice_flushBatchRequests : public Callback_Object_ice_flushBatchRequests_Base,
2603
4265
  public ::IceInternal::OnewayCallback<T, CT>
@@ -2615,6 +4277,14 @@ public:
2615
4277
  }
2616
4278
  };
2617
4279
 
4280
+ /**
4281
+ * Creates a callback wrapper instance that delegates to your object.
4282
+ * @param instance The callback object.
4283
+ * @param cb The success method of the callback object.
4284
+ * @param excb The exception method of the callback object.
4285
+ * @param sentcb The sent method of the callback object.
4286
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::Ice::Object::begin_ice_isA.
4287
+ */
2618
4288
  template<class T> Callback_Object_ice_isAPtr
2619
4289
  newCallback_Object_ice_isA(const IceUtil::Handle<T>& instance,
2620
4290
  void (T::*cb)(bool),
@@ -2624,6 +4294,14 @@ newCallback_Object_ice_isA(const IceUtil::Handle<T>& instance,
2624
4294
  return new CallbackNC_Object_ice_isA<T>(instance, cb, excb, sentcb);
2625
4295
  }
2626
4296
 
4297
+ /**
4298
+ * Creates a callback wrapper instance that delegates to your object.
4299
+ * @param instance The callback object.
4300
+ * @param cb The success method of the callback object.
4301
+ * @param excb The exception method of the callback object.
4302
+ * @param sentcb The sent method of the callback object.
4303
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::Ice::Object::begin_ice_isA.
4304
+ */
2627
4305
  template<class T, typename CT> Callback_Object_ice_isAPtr
2628
4306
  newCallback_Object_ice_isA(const IceUtil::Handle<T>& instance,
2629
4307
  void (T::*cb)(bool, const CT&),
@@ -2633,6 +4311,13 @@ newCallback_Object_ice_isA(const IceUtil::Handle<T>& instance,
2633
4311
  return new Callback_Object_ice_isA<T, CT>(instance, cb, excb, sentcb);
2634
4312
  }
2635
4313
 
4314
+ /**
4315
+ * Creates a callback wrapper instance that delegates to your object.
4316
+ * @param instance The callback object.
4317
+ * @param excb The exception method of the callback object.
4318
+ * @param sentcb The sent method of the callback object.
4319
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::Ice::Object::begin_ice_isA.
4320
+ */
2636
4321
  template<class T> Callback_Object_ice_isAPtr
2637
4322
  newCallback_Object_ice_isA(const IceUtil::Handle<T>& instance,
2638
4323
  void (T::*excb)(const ::Ice::Exception&),
@@ -2641,6 +4326,13 @@ newCallback_Object_ice_isA(const IceUtil::Handle<T>& instance,
2641
4326
  return new CallbackNC_Object_ice_isA<T>(instance, 0, excb, sentcb);
2642
4327
  }
2643
4328
 
4329
+ /**
4330
+ * Creates a callback wrapper instance that delegates to your object.
4331
+ * @param instance The callback object.
4332
+ * @param excb The exception method of the callback object.
4333
+ * @param sentcb The sent method of the callback object.
4334
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::Ice::Object::begin_ice_isA.
4335
+ */
2644
4336
  template<class T, typename CT> Callback_Object_ice_isAPtr
2645
4337
  newCallback_Object_ice_isA(const IceUtil::Handle<T>& instance,
2646
4338
  void (T::*excb)(const ::Ice::Exception&, const CT&),
@@ -2649,6 +4341,14 @@ newCallback_Object_ice_isA(const IceUtil::Handle<T>& instance,
2649
4341
  return new Callback_Object_ice_isA<T, CT>(instance, 0, excb, sentcb);
2650
4342
  }
2651
4343
 
4344
+ /**
4345
+ * Creates a callback wrapper instance that delegates to your object.
4346
+ * @param instance The callback object.
4347
+ * @param cb The success method of the callback object.
4348
+ * @param excb The exception method of the callback object.
4349
+ * @param sentcb The sent method of the callback object.
4350
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::Ice::Object::begin_ice_isA.
4351
+ */
2652
4352
  template<class T> Callback_Object_ice_isAPtr
2653
4353
  newCallback_Object_ice_isA(T* instance,
2654
4354
  void (T::*cb)(bool),
@@ -2658,6 +4358,14 @@ newCallback_Object_ice_isA(T* instance,
2658
4358
  return new CallbackNC_Object_ice_isA<T>(instance, cb, excb, sentcb);
2659
4359
  }
2660
4360
 
4361
+ /**
4362
+ * Creates a callback wrapper instance that delegates to your object.
4363
+ * @param instance The callback object.
4364
+ * @param cb The success method of the callback object.
4365
+ * @param excb The exception method of the callback object.
4366
+ * @param sentcb The sent method of the callback object.
4367
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::Ice::Object::begin_ice_isA.
4368
+ */
2661
4369
  template<class T, typename CT> Callback_Object_ice_isAPtr
2662
4370
  newCallback_Object_ice_isA(T* instance,
2663
4371
  void (T::*cb)(bool, const CT&),
@@ -2667,6 +4375,13 @@ newCallback_Object_ice_isA(T* instance,
2667
4375
  return new Callback_Object_ice_isA<T, CT>(instance, cb, excb, sentcb);
2668
4376
  }
2669
4377
 
4378
+ /**
4379
+ * Creates a callback wrapper instance that delegates to your object.
4380
+ * @param instance The callback object.
4381
+ * @param excb The exception method of the callback object.
4382
+ * @param sentcb The sent method of the callback object.
4383
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::Ice::Object::begin_ice_isA.
4384
+ */
2670
4385
  template<class T> Callback_Object_ice_isAPtr
2671
4386
  newCallback_Object_ice_isA(T* instance,
2672
4387
  void (T::*excb)(const ::Ice::Exception&),
@@ -2675,6 +4390,13 @@ newCallback_Object_ice_isA(T* instance,
2675
4390
  return new CallbackNC_Object_ice_isA<T>(instance, 0, excb, sentcb);
2676
4391
  }
2677
4392
 
4393
+ /**
4394
+ * Creates a callback wrapper instance that delegates to your object.
4395
+ * @param instance The callback object.
4396
+ * @param excb The exception method of the callback object.
4397
+ * @param sentcb The sent method of the callback object.
4398
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::Ice::Object::begin_ice_isA.
4399
+ */
2678
4400
  template<class T, typename CT> Callback_Object_ice_isAPtr
2679
4401
  newCallback_Object_ice_isA(T* instance,
2680
4402
  void (T::*excb)(const ::Ice::Exception&, const CT&),
@@ -2683,6 +4405,14 @@ newCallback_Object_ice_isA(T* instance,
2683
4405
  return new Callback_Object_ice_isA<T, CT>(instance, 0, excb, sentcb);
2684
4406
  }
2685
4407
 
4408
+ /**
4409
+ * Creates a callback wrapper instance that delegates to your object.
4410
+ * @param instance The callback object.
4411
+ * @param cb The success method of the callback object.
4412
+ * @param excb The exception method of the callback object.
4413
+ * @param sentcb The sent method of the callback object.
4414
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::Ice::Object::begin_ice_ping.
4415
+ */
2686
4416
  template<class T> Callback_Object_ice_pingPtr
2687
4417
  newCallback_Object_ice_ping(const IceUtil::Handle<T>& instance,
2688
4418
  void (T::*cb)(),
@@ -2692,6 +4422,14 @@ newCallback_Object_ice_ping(const IceUtil::Handle<T>& instance,
2692
4422
  return new CallbackNC_Object_ice_ping<T>(instance, cb, excb, sentcb);
2693
4423
  }
2694
4424
 
4425
+ /**
4426
+ * Creates a callback wrapper instance that delegates to your object.
4427
+ * @param instance The callback object.
4428
+ * @param cb The success method of the callback object.
4429
+ * @param excb The exception method of the callback object.
4430
+ * @param sentcb The sent method of the callback object.
4431
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::Ice::Object::begin_ice_ping.
4432
+ */
2695
4433
  template<class T, typename CT> Callback_Object_ice_pingPtr
2696
4434
  newCallback_Object_ice_ping(const IceUtil::Handle<T>& instance,
2697
4435
  void (T::*cb)(const CT&),
@@ -2701,6 +4439,13 @@ newCallback_Object_ice_ping(const IceUtil::Handle<T>& instance,
2701
4439
  return new Callback_Object_ice_ping<T, CT>(instance, cb, excb, sentcb);
2702
4440
  }
2703
4441
 
4442
+ /**
4443
+ * Creates a callback wrapper instance that delegates to your object.
4444
+ * @param instance The callback object.
4445
+ * @param excb The exception method of the callback object.
4446
+ * @param sentcb The sent method of the callback object.
4447
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::Ice::Object::begin_ice_ping.
4448
+ */
2704
4449
  template<class T> Callback_Object_ice_pingPtr
2705
4450
  newCallback_Object_ice_ping(const IceUtil::Handle<T>& instance,
2706
4451
  void (T::*excb)(const ::Ice::Exception&),
@@ -2709,6 +4454,13 @@ newCallback_Object_ice_ping(const IceUtil::Handle<T>& instance,
2709
4454
  return new CallbackNC_Object_ice_ping<T>(instance, 0, excb, sentcb);
2710
4455
  }
2711
4456
 
4457
+ /**
4458
+ * Creates a callback wrapper instance that delegates to your object.
4459
+ * @param instance The callback object.
4460
+ * @param excb The exception method of the callback object.
4461
+ * @param sentcb The sent method of the callback object.
4462
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::Ice::Object::begin_ice_ping.
4463
+ */
2712
4464
  template<class T, typename CT> Callback_Object_ice_pingPtr
2713
4465
  newCallback_Object_ice_ping(const IceUtil::Handle<T>& instance,
2714
4466
  void (T::*excb)(const ::Ice::Exception&, const CT&),
@@ -2717,6 +4469,14 @@ newCallback_Object_ice_ping(const IceUtil::Handle<T>& instance,
2717
4469
  return new Callback_Object_ice_ping<T, CT>(instance, 0, excb, sentcb);
2718
4470
  }
2719
4471
 
4472
+ /**
4473
+ * Creates a callback wrapper instance that delegates to your object.
4474
+ * @param instance The callback object.
4475
+ * @param cb The success method of the callback object.
4476
+ * @param excb The exception method of the callback object.
4477
+ * @param sentcb The sent method of the callback object.
4478
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::Ice::Object::begin_ice_ping.
4479
+ */
2720
4480
  template<class T> Callback_Object_ice_pingPtr
2721
4481
  newCallback_Object_ice_ping(T* instance,
2722
4482
  void (T::*cb)(),
@@ -2726,6 +4486,14 @@ newCallback_Object_ice_ping(T* instance,
2726
4486
  return new CallbackNC_Object_ice_ping<T>(instance, cb, excb, sentcb);
2727
4487
  }
2728
4488
 
4489
+ /**
4490
+ * Creates a callback wrapper instance that delegates to your object.
4491
+ * @param instance The callback object.
4492
+ * @param cb The success method of the callback object.
4493
+ * @param excb The exception method of the callback object.
4494
+ * @param sentcb The sent method of the callback object.
4495
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::Ice::Object::begin_ice_ping.
4496
+ */
2729
4497
  template<class T, typename CT> Callback_Object_ice_pingPtr
2730
4498
  newCallback_Object_ice_ping(T* instance,
2731
4499
  void (T::*cb)(const CT&),
@@ -2735,6 +4503,13 @@ newCallback_Object_ice_ping(T* instance,
2735
4503
  return new Callback_Object_ice_ping<T, CT>(instance, cb, excb, sentcb);
2736
4504
  }
2737
4505
 
4506
+ /**
4507
+ * Creates a callback wrapper instance that delegates to your object.
4508
+ * @param instance The callback object.
4509
+ * @param excb The exception method of the callback object.
4510
+ * @param sentcb The sent method of the callback object.
4511
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::Ice::Object::begin_ice_ping.
4512
+ */
2738
4513
  template<class T> Callback_Object_ice_pingPtr
2739
4514
  newCallback_Object_ice_ping(T* instance,
2740
4515
  void (T::*excb)(const ::Ice::Exception&),
@@ -2743,6 +4518,13 @@ newCallback_Object_ice_ping(T* instance,
2743
4518
  return new CallbackNC_Object_ice_ping<T>(instance, 0, excb, sentcb);
2744
4519
  }
2745
4520
 
4521
+ /**
4522
+ * Creates a callback wrapper instance that delegates to your object.
4523
+ * @param instance The callback object.
4524
+ * @param excb The exception method of the callback object.
4525
+ * @param sentcb The sent method of the callback object.
4526
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::Ice::Object::begin_ice_ping.
4527
+ */
2746
4528
  template<class T, typename CT> Callback_Object_ice_pingPtr
2747
4529
  newCallback_Object_ice_ping(T* instance,
2748
4530
  void (T::*excb)(const ::Ice::Exception&, const CT&),
@@ -2751,6 +4533,14 @@ newCallback_Object_ice_ping(T* instance,
2751
4533
  return new Callback_Object_ice_ping<T, CT>(instance, 0, excb, sentcb);
2752
4534
  }
2753
4535
 
4536
+ /**
4537
+ * Creates a callback wrapper instance that delegates to your object.
4538
+ * @param instance The callback object.
4539
+ * @param cb The success method of the callback object.
4540
+ * @param excb The exception method of the callback object.
4541
+ * @param sentcb The sent method of the callback object.
4542
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::Ice::Object::begin_ice_ids.
4543
+ */
2754
4544
  template<class T> Callback_Object_ice_idsPtr
2755
4545
  newCallback_Object_ice_ids(const IceUtil::Handle<T>& instance,
2756
4546
  void (T::*cb)(const ::std::vector< ::std::string>&),
@@ -2760,6 +4550,14 @@ newCallback_Object_ice_ids(const IceUtil::Handle<T>& instance,
2760
4550
  return new CallbackNC_Object_ice_ids<T>(instance, cb, excb, sentcb);
2761
4551
  }
2762
4552
 
4553
+ /**
4554
+ * Creates a callback wrapper instance that delegates to your object.
4555
+ * @param instance The callback object.
4556
+ * @param cb The success method of the callback object.
4557
+ * @param excb The exception method of the callback object.
4558
+ * @param sentcb The sent method of the callback object.
4559
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::Ice::Object::begin_ice_ids.
4560
+ */
2763
4561
  template<class T, typename CT> Callback_Object_ice_idsPtr
2764
4562
  newCallback_Object_ice_ids(const IceUtil::Handle<T>& instance,
2765
4563
  void (T::*cb)(const ::std::vector< ::std::string>&, const CT&),
@@ -2769,6 +4567,13 @@ newCallback_Object_ice_ids(const IceUtil::Handle<T>& instance,
2769
4567
  return new Callback_Object_ice_ids<T, CT>(instance, cb, excb, sentcb);
2770
4568
  }
2771
4569
 
4570
+ /**
4571
+ * Creates a callback wrapper instance that delegates to your object.
4572
+ * @param instance The callback object.
4573
+ * @param excb The exception method of the callback object.
4574
+ * @param sentcb The sent method of the callback object.
4575
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::Ice::Object::begin_ice_ids.
4576
+ */
2772
4577
  template<class T> Callback_Object_ice_idsPtr
2773
4578
  newCallback_Object_ice_ids(const IceUtil::Handle<T>& instance,
2774
4579
  void (T::*excb)(const ::Ice::Exception&),
@@ -2777,6 +4582,13 @@ newCallback_Object_ice_ids(const IceUtil::Handle<T>& instance,
2777
4582
  return new CallbackNC_Object_ice_ids<T>(instance, 0, excb, sentcb);
2778
4583
  }
2779
4584
 
4585
+ /**
4586
+ * Creates a callback wrapper instance that delegates to your object.
4587
+ * @param instance The callback object.
4588
+ * @param excb The exception method of the callback object.
4589
+ * @param sentcb The sent method of the callback object.
4590
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::Ice::Object::begin_ice_ids.
4591
+ */
2780
4592
  template<class T, typename CT> Callback_Object_ice_idsPtr
2781
4593
  newCallback_Object_ice_ids(const IceUtil::Handle<T>& instance,
2782
4594
  void (T::*excb)(const ::Ice::Exception&, const CT&),
@@ -2785,6 +4597,14 @@ newCallback_Object_ice_ids(const IceUtil::Handle<T>& instance,
2785
4597
  return new Callback_Object_ice_ids<T, CT>(instance, 0, excb, sentcb);
2786
4598
  }
2787
4599
 
4600
+ /**
4601
+ * Creates a callback wrapper instance that delegates to your object.
4602
+ * @param instance The callback object.
4603
+ * @param cb The success method of the callback object.
4604
+ * @param excb The exception method of the callback object.
4605
+ * @param sentcb The sent method of the callback object.
4606
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::Ice::Object::begin_ice_ids.
4607
+ */
2788
4608
  template<class T> Callback_Object_ice_idsPtr
2789
4609
  newCallback_Object_ice_ids(T* instance,
2790
4610
  void (T::*cb)(const ::std::vector< ::std::string>&),
@@ -2794,6 +4614,14 @@ newCallback_Object_ice_ids(T* instance,
2794
4614
  return new CallbackNC_Object_ice_ids<T>(instance, cb, excb, sentcb);
2795
4615
  }
2796
4616
 
4617
+ /**
4618
+ * Creates a callback wrapper instance that delegates to your object.
4619
+ * @param instance The callback object.
4620
+ * @param cb The success method of the callback object.
4621
+ * @param excb The exception method of the callback object.
4622
+ * @param sentcb The sent method of the callback object.
4623
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::Ice::Object::begin_ice_ids.
4624
+ */
2797
4625
  template<class T, typename CT> Callback_Object_ice_idsPtr
2798
4626
  newCallback_Object_ice_ids(T* instance,
2799
4627
  void (T::*cb)(const ::std::vector< ::std::string>&, const CT&),
@@ -2803,6 +4631,13 @@ newCallback_Object_ice_ids(T* instance,
2803
4631
  return new Callback_Object_ice_ids<T, CT>(instance, cb, excb, sentcb);
2804
4632
  }
2805
4633
 
4634
+ /**
4635
+ * Creates a callback wrapper instance that delegates to your object.
4636
+ * @param instance The callback object.
4637
+ * @param excb The exception method of the callback object.
4638
+ * @param sentcb The sent method of the callback object.
4639
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::Ice::Object::begin_ice_ids.
4640
+ */
2806
4641
  template<class T> Callback_Object_ice_idsPtr
2807
4642
  newCallback_Object_ice_ids(T* instance,
2808
4643
  void (T::*excb)(const ::Ice::Exception&),
@@ -2811,6 +4646,13 @@ newCallback_Object_ice_ids(T* instance,
2811
4646
  return new CallbackNC_Object_ice_ids<T>(instance, 0, excb, sentcb);
2812
4647
  }
2813
4648
 
4649
+ /**
4650
+ * Creates a callback wrapper instance that delegates to your object.
4651
+ * @param instance The callback object.
4652
+ * @param excb The exception method of the callback object.
4653
+ * @param sentcb The sent method of the callback object.
4654
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::Ice::Object::begin_ice_ids.
4655
+ */
2814
4656
  template<class T, typename CT> Callback_Object_ice_idsPtr
2815
4657
  newCallback_Object_ice_ids(T* instance,
2816
4658
  void (T::*excb)(const ::Ice::Exception&, const CT&),
@@ -2819,6 +4661,14 @@ newCallback_Object_ice_ids(T* instance,
2819
4661
  return new Callback_Object_ice_ids<T, CT>(instance, 0, excb, sentcb);
2820
4662
  }
2821
4663
 
4664
+ /**
4665
+ * Creates a callback wrapper instance that delegates to your object.
4666
+ * @param instance The callback object.
4667
+ * @param cb The success method of the callback object.
4668
+ * @param excb The exception method of the callback object.
4669
+ * @param sentcb The sent method of the callback object.
4670
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::Ice::Object::begin_ice_id.
4671
+ */
2822
4672
  template<class T> Callback_Object_ice_idPtr
2823
4673
  newCallback_Object_ice_id(const IceUtil::Handle<T>& instance,
2824
4674
  void (T::*cb)(const ::std::string&),
@@ -2828,6 +4678,14 @@ newCallback_Object_ice_id(const IceUtil::Handle<T>& instance,
2828
4678
  return new CallbackNC_Object_ice_id<T>(instance, cb, excb, sentcb);
2829
4679
  }
2830
4680
 
4681
+ /**
4682
+ * Creates a callback wrapper instance that delegates to your object.
4683
+ * @param instance The callback object.
4684
+ * @param cb The success method of the callback object.
4685
+ * @param excb The exception method of the callback object.
4686
+ * @param sentcb The sent method of the callback object.
4687
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::Ice::Object::begin_ice_id.
4688
+ */
2831
4689
  template<class T, typename CT> Callback_Object_ice_idPtr
2832
4690
  newCallback_Object_ice_id(const IceUtil::Handle<T>& instance,
2833
4691
  void (T::*cb)(const ::std::string&, const CT&),
@@ -2837,6 +4695,13 @@ newCallback_Object_ice_id(const IceUtil::Handle<T>& instance,
2837
4695
  return new Callback_Object_ice_id<T, CT>(instance, cb, excb, sentcb);
2838
4696
  }
2839
4697
 
4698
+ /**
4699
+ * Creates a callback wrapper instance that delegates to your object.
4700
+ * @param instance The callback object.
4701
+ * @param excb The exception method of the callback object.
4702
+ * @param sentcb The sent method of the callback object.
4703
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::Ice::Object::begin_ice_id.
4704
+ */
2840
4705
  template<class T> Callback_Object_ice_idPtr
2841
4706
  newCallback_Object_ice_id(const IceUtil::Handle<T>& instance,
2842
4707
  void (T::*excb)(const ::Ice::Exception&),
@@ -2845,6 +4710,13 @@ newCallback_Object_ice_id(const IceUtil::Handle<T>& instance,
2845
4710
  return new CallbackNC_Object_ice_id<T>(instance, 0, excb, sentcb);
2846
4711
  }
2847
4712
 
4713
+ /**
4714
+ * Creates a callback wrapper instance that delegates to your object.
4715
+ * @param instance The callback object.
4716
+ * @param excb The exception method of the callback object.
4717
+ * @param sentcb The sent method of the callback object.
4718
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::Ice::Object::begin_ice_id.
4719
+ */
2848
4720
  template<class T, typename CT> Callback_Object_ice_idPtr
2849
4721
  newCallback_Object_ice_id(const IceUtil::Handle<T>& instance,
2850
4722
  void (T::*excb)(const ::Ice::Exception&, const CT&),
@@ -2853,6 +4725,14 @@ newCallback_Object_ice_id(const IceUtil::Handle<T>& instance,
2853
4725
  return new Callback_Object_ice_id<T, CT>(instance, 0, excb, sentcb);
2854
4726
  }
2855
4727
 
4728
+ /**
4729
+ * Creates a callback wrapper instance that delegates to your object.
4730
+ * @param instance The callback object.
4731
+ * @param cb The success method of the callback object.
4732
+ * @param excb The exception method of the callback object.
4733
+ * @param sentcb The sent method of the callback object.
4734
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::Ice::Object::begin_ice_id.
4735
+ */
2856
4736
  template<class T> Callback_Object_ice_idPtr
2857
4737
  newCallback_Object_ice_id(T* instance,
2858
4738
  void (T::*cb)(const ::std::string&),
@@ -2862,6 +4742,14 @@ newCallback_Object_ice_id(T* instance,
2862
4742
  return new CallbackNC_Object_ice_id<T>(instance, cb, excb, sentcb);
2863
4743
  }
2864
4744
 
4745
+ /**
4746
+ * Creates a callback wrapper instance that delegates to your object.
4747
+ * @param instance The callback object.
4748
+ * @param cb The success method of the callback object.
4749
+ * @param excb The exception method of the callback object.
4750
+ * @param sentcb The sent method of the callback object.
4751
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::Ice::Object::begin_ice_id.
4752
+ */
2865
4753
  template<class T, typename CT> Callback_Object_ice_idPtr
2866
4754
  newCallback_Object_ice_id(T* instance,
2867
4755
  void (T::*cb)(const ::std::string&, const CT&),
@@ -2871,6 +4759,13 @@ newCallback_Object_ice_id(T* instance,
2871
4759
  return new Callback_Object_ice_id<T, CT>(instance, cb, excb, sentcb);
2872
4760
  }
2873
4761
 
4762
+ /**
4763
+ * Creates a callback wrapper instance that delegates to your object.
4764
+ * @param instance The callback object.
4765
+ * @param excb The exception method of the callback object.
4766
+ * @param sentcb The sent method of the callback object.
4767
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::Ice::Object::begin_ice_id.
4768
+ */
2874
4769
  template<class T> Callback_Object_ice_idPtr
2875
4770
  newCallback_Object_ice_id(T* instance,
2876
4771
  void (T::*excb)(const ::Ice::Exception&),
@@ -2879,6 +4774,13 @@ newCallback_Object_ice_id(T* instance,
2879
4774
  return new CallbackNC_Object_ice_id<T>(instance, 0, excb, sentcb);
2880
4775
  }
2881
4776
 
4777
+ /**
4778
+ * Creates a callback wrapper instance that delegates to your object.
4779
+ * @param instance The callback object.
4780
+ * @param excb The exception method of the callback object.
4781
+ * @param sentcb The sent method of the callback object.
4782
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::Ice::Object::begin_ice_id.
4783
+ */
2882
4784
  template<class T, typename CT> Callback_Object_ice_idPtr
2883
4785
  newCallback_Object_ice_id(T* instance,
2884
4786
  void (T::*excb)(const ::Ice::Exception&, const CT&),
@@ -2887,6 +4789,14 @@ newCallback_Object_ice_id(T* instance,
2887
4789
  return new Callback_Object_ice_id<T, CT>(instance, 0, excb, sentcb);
2888
4790
  }
2889
4791
 
4792
+ /**
4793
+ * Creates a callback wrapper instance that delegates to your object.
4794
+ * @param instance The callback object.
4795
+ * @param cb The success method of the callback object.
4796
+ * @param excb The exception method of the callback object.
4797
+ * @param sentcb The sent method of the callback object.
4798
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::Ice::Object::begin_ice_invoke.
4799
+ */
2890
4800
  template<class T> Callback_Object_ice_invokePtr
2891
4801
  newCallback_Object_ice_invoke(const IceUtil::Handle<T>& instance,
2892
4802
  void (T::*cb)(bool, const std::vector<Ice::Byte>&),
@@ -2896,6 +4806,14 @@ newCallback_Object_ice_invoke(const IceUtil::Handle<T>& instance,
2896
4806
  return new CallbackNC_Object_ice_invoke<T>(instance, cb, excb, sentcb);
2897
4807
  }
2898
4808
 
4809
+ /**
4810
+ * Creates a callback wrapper instance that delegates to your object.
4811
+ * @param instance The callback object.
4812
+ * @param cb The success method of the callback object.
4813
+ * @param excb The exception method of the callback object.
4814
+ * @param sentcb The sent method of the callback object.
4815
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::Ice::Object::begin_ice_invoke.
4816
+ */
2899
4817
  template<class T> Callback_Object_ice_invokePtr
2900
4818
  newCallback_Object_ice_invoke(const IceUtil::Handle<T>& instance,
2901
4819
  void (T::*cb)(bool, const std::pair<const Byte*, const Byte*>&),
@@ -2905,6 +4823,14 @@ newCallback_Object_ice_invoke(const IceUtil::Handle<T>& instance,
2905
4823
  return new CallbackNC_Object_ice_invoke<T>(instance, cb, excb, sentcb);
2906
4824
  }
2907
4825
 
4826
+ /**
4827
+ * Creates a callback wrapper instance that delegates to your object.
4828
+ * @param instance The callback object.
4829
+ * @param cb The success method of the callback object.
4830
+ * @param excb The exception method of the callback object.
4831
+ * @param sentcb The sent method of the callback object.
4832
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::Ice::Object::begin_ice_invoke.
4833
+ */
2908
4834
  template<class T, typename CT> Callback_Object_ice_invokePtr
2909
4835
  newCallback_Object_ice_invoke(const IceUtil::Handle<T>& instance,
2910
4836
  void (T::*cb)(bool, const std::vector<Ice::Byte>&, const CT&),
@@ -2914,6 +4840,14 @@ newCallback_Object_ice_invoke(const IceUtil::Handle<T>& instance,
2914
4840
  return new Callback_Object_ice_invoke<T, CT>(instance, cb, excb, sentcb);
2915
4841
  }
2916
4842
 
4843
+ /**
4844
+ * Creates a callback wrapper instance that delegates to your object.
4845
+ * @param instance The callback object.
4846
+ * @param cb The success method of the callback object.
4847
+ * @param excb The exception method of the callback object.
4848
+ * @param sentcb The sent method of the callback object.
4849
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::Ice::Object::begin_ice_invoke.
4850
+ */
2917
4851
  template<class T, typename CT> Callback_Object_ice_invokePtr
2918
4852
  newCallback_Object_ice_invoke(const IceUtil::Handle<T>& instance,
2919
4853
  void (T::*cb)(bool, const std::pair<const Byte*, const Byte*>&,
@@ -2924,6 +4858,13 @@ newCallback_Object_ice_invoke(const IceUtil::Handle<T>& instance,
2924
4858
  return new Callback_Object_ice_invoke<T, CT>(instance, cb, excb, sentcb);
2925
4859
  }
2926
4860
 
4861
+ /**
4862
+ * Creates a callback wrapper instance that delegates to your object.
4863
+ * @param instance The callback object.
4864
+ * @param excb The exception method of the callback object.
4865
+ * @param sentcb The sent method of the callback object.
4866
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::Ice::Object::begin_ice_invoke.
4867
+ */
2927
4868
  template<class T> Callback_Object_ice_invokePtr
2928
4869
  newCallback_Object_ice_invoke(const IceUtil::Handle<T>& instance,
2929
4870
  void (T::*excb)(const ::Ice::Exception&),
@@ -2932,6 +4873,13 @@ newCallback_Object_ice_invoke(const IceUtil::Handle<T>& instance,
2932
4873
  return new CallbackNC_Object_ice_invoke<T>(instance, 0, excb, sentcb);
2933
4874
  }
2934
4875
 
4876
+ /**
4877
+ * Creates a callback wrapper instance that delegates to your object.
4878
+ * @param instance The callback object.
4879
+ * @param excb The exception method of the callback object.
4880
+ * @param sentcb The sent method of the callback object.
4881
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::Ice::Object::begin_ice_invoke.
4882
+ */
2935
4883
  template<class T, typename CT> Callback_Object_ice_invokePtr
2936
4884
  newCallback_Object_ice_invoke(const IceUtil::Handle<T>& instance,
2937
4885
  void (T::*excb)(const ::Ice::Exception&, const CT&),
@@ -2940,6 +4888,14 @@ newCallback_Object_ice_invoke(const IceUtil::Handle<T>& instance,
2940
4888
  return new Callback_Object_ice_invoke<T, CT>(instance, 0, excb, sentcb);
2941
4889
  }
2942
4890
 
4891
+ /**
4892
+ * Creates a callback wrapper instance that delegates to your object.
4893
+ * @param instance The callback object.
4894
+ * @param cb The success method of the callback object.
4895
+ * @param excb The exception method of the callback object.
4896
+ * @param sentcb The sent method of the callback object.
4897
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::Ice::Object::begin_ice_invoke.
4898
+ */
2943
4899
  template<class T> Callback_Object_ice_invokePtr
2944
4900
  newCallback_Object_ice_invoke(T* instance,
2945
4901
  void (T::*cb)(bool, const std::vector<Ice::Byte>&),
@@ -2949,6 +4905,14 @@ newCallback_Object_ice_invoke(T* instance,
2949
4905
  return new CallbackNC_Object_ice_invoke<T>(instance, cb, excb, sentcb);
2950
4906
  }
2951
4907
 
4908
+ /**
4909
+ * Creates a callback wrapper instance that delegates to your object.
4910
+ * @param instance The callback object.
4911
+ * @param cb The success method of the callback object.
4912
+ * @param excb The exception method of the callback object.
4913
+ * @param sentcb The sent method of the callback object.
4914
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::Ice::Object::begin_ice_invoke.
4915
+ */
2952
4916
  template<class T> Callback_Object_ice_invokePtr
2953
4917
  newCallback_Object_ice_invoke(T* instance,
2954
4918
  void (T::*cb)(bool, const std::pair<const Byte*, const Byte*>&),
@@ -2958,6 +4922,14 @@ newCallback_Object_ice_invoke(T* instance,
2958
4922
  return new CallbackNC_Object_ice_invoke<T>(instance, cb, excb, sentcb);
2959
4923
  }
2960
4924
 
4925
+ /**
4926
+ * Creates a callback wrapper instance that delegates to your object.
4927
+ * @param instance The callback object.
4928
+ * @param cb The success method of the callback object.
4929
+ * @param excb The exception method of the callback object.
4930
+ * @param sentcb The sent method of the callback object.
4931
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::Ice::Object::begin_ice_invoke.
4932
+ */
2961
4933
  template<class T, typename CT> Callback_Object_ice_invokePtr
2962
4934
  newCallback_Object_ice_invoke(T* instance,
2963
4935
  void (T::*cb)(bool, const std::vector<Ice::Byte>&, const CT&),
@@ -2967,6 +4939,14 @@ newCallback_Object_ice_invoke(T* instance,
2967
4939
  return new Callback_Object_ice_invoke<T, CT>(instance, cb, excb, sentcb);
2968
4940
  }
2969
4941
 
4942
+ /**
4943
+ * Creates a callback wrapper instance that delegates to your object.
4944
+ * @param instance The callback object.
4945
+ * @param cb The success method of the callback object.
4946
+ * @param excb The exception method of the callback object.
4947
+ * @param sentcb The sent method of the callback object.
4948
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::Ice::Object::begin_ice_invoke.
4949
+ */
2970
4950
  template<class T, typename CT> Callback_Object_ice_invokePtr
2971
4951
  newCallback_Object_ice_invoke(T* instance,
2972
4952
  void (T::*cb)(bool, const std::pair<const Byte*, const Byte*>&, const CT&),
@@ -2976,6 +4956,13 @@ newCallback_Object_ice_invoke(T* instance,
2976
4956
  return new Callback_Object_ice_invoke<T, CT>(instance, cb, excb, sentcb);
2977
4957
  }
2978
4958
 
4959
+ /**
4960
+ * Creates a callback wrapper instance that delegates to your object.
4961
+ * @param instance The callback object.
4962
+ * @param excb The exception method of the callback object.
4963
+ * @param sentcb The sent method of the callback object.
4964
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::Ice::Object::begin_ice_invoke.
4965
+ */
2979
4966
  template<class T> Callback_Object_ice_invokePtr
2980
4967
  newCallback_Object_ice_invoke(T* instance,
2981
4968
  void (T::*excb)(const ::Ice::Exception&),
@@ -2985,6 +4972,13 @@ newCallback_Object_ice_invoke(T* instance,
2985
4972
  instance, static_cast<void (T::*)(bool, const std::vector<Ice::Byte>&)>(0), excb, sentcb);
2986
4973
  }
2987
4974
 
4975
+ /**
4976
+ * Creates a callback wrapper instance that delegates to your object.
4977
+ * @param instance The callback object.
4978
+ * @param excb The exception method of the callback object.
4979
+ * @param sentcb The sent method of the callback object.
4980
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::Ice::Object::begin_ice_invoke.
4981
+ */
2988
4982
  template<class T, typename CT> Callback_Object_ice_invokePtr
2989
4983
  newCallback_Object_ice_invoke(T* instance,
2990
4984
  void (T::*excb)(const ::Ice::Exception&, const CT&),
@@ -2994,6 +4988,13 @@ newCallback_Object_ice_invoke(T* instance,
2994
4988
  instance, static_cast<void (T::*)(bool, const std::vector<Ice::Byte>&, const CT&)>(0), excb, sentcb);
2995
4989
  }
2996
4990
 
4991
+ /**
4992
+ * Creates a callback wrapper instance that delegates to your object.
4993
+ * @param instance The callback object.
4994
+ * @param cb The success method of the callback object.
4995
+ * @param excb The exception method of the callback object.
4996
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::Ice::Object::begin_ice_getConnection.
4997
+ */
2997
4998
  template<class T> Callback_Object_ice_getConnectionPtr
2998
4999
  newCallback_Object_ice_getConnection(const IceUtil::Handle<T>& instance,
2999
5000
  void (T::*cb)(const ::Ice::ConnectionPtr&),
@@ -3002,6 +5003,13 @@ newCallback_Object_ice_getConnection(const IceUtil::Handle<T>& instance,
3002
5003
  return new CallbackNC_Object_ice_getConnection<T>(instance, cb, excb, 0);
3003
5004
  }
3004
5005
 
5006
+ /**
5007
+ * Creates a callback wrapper instance that delegates to your object.
5008
+ * @param instance The callback object.
5009
+ * @param cb The success method of the callback object.
5010
+ * @param excb The exception method of the callback object.
5011
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::Ice::Object::begin_ice_getConnection.
5012
+ */
3005
5013
  template<class T, typename CT> Callback_Object_ice_getConnectionPtr
3006
5014
  newCallback_Object_ice_getConnection(const IceUtil::Handle<T>& instance,
3007
5015
  void (T::*cb)(const ::Ice::ConnectionPtr&, const CT&),
@@ -3010,6 +5018,13 @@ newCallback_Object_ice_getConnection(const IceUtil::Handle<T>& instance,
3010
5018
  return new Callback_Object_ice_getConnection<T, CT>(instance, cb, excb, 0);
3011
5019
  }
3012
5020
 
5021
+ /**
5022
+ * Creates a callback wrapper instance that delegates to your object.
5023
+ * @param instance The callback object.
5024
+ * @param cb The success method of the callback object.
5025
+ * @param excb The exception method of the callback object.
5026
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::Ice::Object::begin_ice_getConnection.
5027
+ */
3013
5028
  template<class T> Callback_Object_ice_getConnectionPtr
3014
5029
  newCallback_Object_ice_getConnection(T* instance,
3015
5030
  void (T::*cb)(const ::Ice::ConnectionPtr&),
@@ -3018,6 +5033,13 @@ newCallback_Object_ice_getConnection(T* instance,
3018
5033
  return new CallbackNC_Object_ice_getConnection<T>(instance, cb, excb, 0);
3019
5034
  }
3020
5035
 
5036
+ /**
5037
+ * Creates a callback wrapper instance that delegates to your object.
5038
+ * @param instance The callback object.
5039
+ * @param cb The success method of the callback object.
5040
+ * @param excb The exception method of the callback object.
5041
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::Ice::Object::begin_ice_getConnection.
5042
+ */
3021
5043
  template<class T, typename CT> Callback_Object_ice_getConnectionPtr
3022
5044
  newCallback_Object_ice_getConnection(T* instance,
3023
5045
  void (T::*cb)(const ::Ice::ConnectionPtr&, const CT&),
@@ -3026,6 +5048,14 @@ newCallback_Object_ice_getConnection(T* instance,
3026
5048
  return new Callback_Object_ice_getConnection<T, CT>(instance, cb, excb, 0);
3027
5049
  }
3028
5050
 
5051
+ /**
5052
+ * Creates a callback wrapper instance that delegates to your object.
5053
+ * @param instance The callback object.
5054
+ * @param excb The exception method of the callback object.
5055
+ * @param sentcb The sent method of the callback object.
5056
+ * @return An object that can be passed to an asynchronous invocation of
5057
+ * IceProxy::Ice::Object::begin_ice_flushBatchRequests.
5058
+ */
3029
5059
  template<class T> Callback_Object_ice_flushBatchRequestsPtr
3030
5060
  newCallback_Object_ice_flushBatchRequests(const IceUtil::Handle<T>& instance,
3031
5061
  void (T::*excb)(const ::Ice::Exception&),
@@ -3034,6 +5064,14 @@ newCallback_Object_ice_flushBatchRequests(const IceUtil::Handle<T>& instance,
3034
5064
  return new CallbackNC_Object_ice_flushBatchRequests<T>(instance, excb, sentcb);
3035
5065
  }
3036
5066
 
5067
+ /**
5068
+ * Creates a callback wrapper instance that delegates to your object.
5069
+ * @param instance The callback object.
5070
+ * @param excb The exception method of the callback object.
5071
+ * @param sentcb The sent method of the callback object.
5072
+ * @return An object that can be passed to an asynchronous invocation of
5073
+ * IceProxy::Ice::Object::begin_ice_flushBatchRequests.
5074
+ */
3037
5075
  template<class T, typename CT> Callback_Object_ice_flushBatchRequestsPtr
3038
5076
  newCallback_Object_ice_flushBatchRequests(const IceUtil::Handle<T>& instance,
3039
5077
  void (T::*excb)(const ::Ice::Exception&, const CT&),
@@ -3042,6 +5080,14 @@ newCallback_Object_ice_flushBatchRequests(const IceUtil::Handle<T>& instance,
3042
5080
  return new Callback_Object_ice_flushBatchRequests<T, CT>(instance, excb, sentcb);
3043
5081
  }
3044
5082
 
5083
+ /**
5084
+ * Creates a callback wrapper instance that delegates to your object.
5085
+ * @param instance The callback object.
5086
+ * @param excb The exception method of the callback object.
5087
+ * @param sentcb The sent method of the callback object.
5088
+ * @return An object that can be passed to an asynchronous invocation of
5089
+ * IceProxy::Ice::Object::begin_ice_flushBatchRequests.
5090
+ */
3045
5091
  template<class T> Callback_Object_ice_flushBatchRequestsPtr
3046
5092
  newCallback_Object_ice_flushBatchRequests(T* instance,
3047
5093
  void (T::*excb)(const ::Ice::Exception&),
@@ -3050,6 +5096,14 @@ newCallback_Object_ice_flushBatchRequests(T* instance,
3050
5096
  return new CallbackNC_Object_ice_flushBatchRequests<T>(instance, excb, sentcb);
3051
5097
  }
3052
5098
 
5099
+ /**
5100
+ * Creates a callback wrapper instance that delegates to your object.
5101
+ * @param instance The callback object.
5102
+ * @param excb The exception method of the callback object.
5103
+ * @param sentcb The sent method of the callback object.
5104
+ * @return An object that can be passed to an asynchronous invocation of
5105
+ * IceProxy::Ice::Object::begin_ice_flushBatchRequests.
5106
+ */
3053
5107
  template<class T, typename CT> Callback_Object_ice_flushBatchRequestsPtr
3054
5108
  newCallback_Object_ice_flushBatchRequests(T* instance,
3055
5109
  void (T::*excb)(const ::Ice::Exception&, const CT&),