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.
@@ -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.
@@ -19,20 +19,36 @@
19
19
  namespace Ice
20
20
  {
21
21
 
22
+ /**
23
+ * Represents an instance of a Slice interface that was marshaled by value.
24
+ * \headerfile Ice/Ice.h
25
+ */
22
26
  template<typename T>
23
27
  class InterfaceByValue : public ValueHelper<InterfaceByValue<T>, Value>
24
28
  {
25
29
  public:
30
+ /**
31
+ * Obtains the Slice type ID of this exception.
32
+ * @return The fully-scoped type ID.
33
+ */
26
34
  virtual std::string ice_id() const
27
35
  {
28
36
  return T::ice_staticId();
29
37
  }
30
38
 
39
+ /**
40
+ * Obtains the Slice type ID of this exception.
41
+ * @return The fully-scoped type ID.
42
+ */
31
43
  static const std::string& ice_staticId()
32
44
  {
33
45
  return T::ice_staticId();
34
46
  }
35
47
 
48
+ /**
49
+ * Returns an empty tuple.
50
+ * @return The empty tuple.
51
+ */
36
52
  std::tuple<> ice_tuple() const
37
53
  {
38
54
  return std::tie();
@@ -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.
@@ -22,6 +22,10 @@
22
22
  namespace Ice
23
23
  {
24
24
 
25
+ /**
26
+ * Base class for local Slice classes and interfaces.
27
+ * \headerfile Ice/Ice.h
28
+ */
25
29
  class ICE_API LocalObject : public virtual ::IceUtil::Shared
26
30
  {
27
31
  public:
@@ -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.
@@ -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.
@@ -18,19 +18,27 @@
18
18
  namespace Ice
19
19
  {
20
20
 
21
+ /**
22
+ * Base class for logger output utility classes.
23
+ * \headerfile Ice/Ice.h
24
+ */
21
25
  class ICE_API LoggerOutputBase : private IceUtil::noncopyable
22
26
  {
23
27
  public:
24
28
 
29
+ /** Obtains the collected output. */
25
30
  std::string str() const;
26
31
 
32
+ /// \cond INTERNAL
27
33
  std::ostringstream& _stream(); // For internal use only. Don't use in your code.
34
+ /// \endcond
28
35
 
29
36
  private:
30
37
 
31
38
  std::ostringstream _os;
32
39
  };
33
40
 
41
+ /// \cond INTERNAL
34
42
  ICE_API LoggerOutputBase& loggerInsert(LoggerOutputBase& out, const IceUtil::Exception& ex);
35
43
 
36
44
  template<typename T>
@@ -92,7 +100,12 @@ operator<<(LoggerOutputBase& out, const ::std::exception& ex)
92
100
  }
93
101
 
94
102
  ICE_API LoggerOutputBase& operator<<(LoggerOutputBase&, std::ios_base& (*)(std::ios_base&));
103
+ /// \endcond
95
104
 
105
+ /**
106
+ * Collects output and flushes it via a logger method.
107
+ * \headerfile Ice/Ice.h
108
+ */
96
109
  template<class L, class LPtr, void (L::*output)(const std::string&)>
97
110
  class LoggerOutput : public LoggerOutputBase
98
111
  {
@@ -106,6 +119,7 @@ public:
106
119
  flush();
107
120
  }
108
121
 
122
+ /** Flushes the colleted output to the logger method. */
109
123
  inline void flush()
110
124
  {
111
125
  std::string s = _stream().str();
@@ -122,10 +136,19 @@ private:
122
136
  LPtr _logger;
123
137
  };
124
138
 
139
+ /** Flushes output to Logger::print. */
125
140
  typedef LoggerOutput<Logger, LoggerPtr, &Logger::print> Print;
141
+
142
+ /** Flushes output to Logger::warning. */
126
143
  typedef LoggerOutput<Logger, LoggerPtr, &Logger::warning> Warning;
144
+
145
+ /** Flushes output to Logger::error. */
127
146
  typedef LoggerOutput<Logger, LoggerPtr, &Logger::error> Error;
128
147
 
148
+ /**
149
+ * Flushes output to Logger::trace.
150
+ * \headerfile Ice/Ice.h
151
+ */
129
152
  class ICE_API Trace : public LoggerOutputBase
130
153
  {
131
154
  public:
@@ -139,18 +162,26 @@ private:
139
162
  std::string _category;
140
163
  };
141
164
 
142
- //
143
- // A special plug-in that installs a logger during a communicator's initialization.
144
- // Both initialize and destroy are no-op. See Ice::InitializationData.
145
- //
165
+ /**
166
+ * A special plug-in that installs a logger during a communicator's initialization.
167
+ * Both initialize and destroy are no-op. See Ice::InitializationData.
168
+ * \headerfile Ice/Ice.h
169
+ */
146
170
  class ICE_API LoggerPlugin : public Ice::Plugin
147
171
  {
148
172
  public:
149
173
 
150
- LoggerPlugin(const CommunicatorPtr& communicator, const LoggerPtr&);
174
+ /**
175
+ * Constructs the plug-in with a target communicator and a logger.
176
+ * @param communicator The communicator in which to install the logger.
177
+ * @param logger The logger to be installed.
178
+ */
179
+ LoggerPlugin(const CommunicatorPtr& communicator, const LoggerPtr& logger);
151
180
 
181
+ /** This method is a no-op. */
152
182
  virtual void initialize();
153
183
 
184
+ /** This method is a no-op. */
154
185
  virtual void destroy();
155
186
  };
156
187
 
@@ -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.
@@ -36,8 +36,10 @@
36
36
  namespace IceMX
37
37
  {
38
38
 
39
+ /// \cond INTERNAL
39
40
  class Updater;
40
41
  template<typename T> class MetricsHelperT;
42
+ /// \endcond
41
43
 
42
44
  }
43
45
 
@@ -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.
@@ -92,6 +92,7 @@ template<typename R> struct ReferenceWrapper<const R&>
92
92
  namespace IceMX
93
93
  {
94
94
 
95
+ /// \cond INTERNAL
95
96
  template<class T, typename Y, typename Func> struct ApplyOnMember
96
97
  {
97
98
  ApplyOnMember(Y T::*m, Func f) : func(f), member(m)
@@ -156,6 +157,7 @@ template<class T, typename Y> ApplyOnMember<T, Y, Decrement<Y> > dec(Y T::*membe
156
157
  {
157
158
  return applyOnMember(member, Decrement<Y>());
158
159
  }
160
+ /// \endcond
159
161
 
160
162
  }
161
163
 
@@ -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.
@@ -26,6 +26,7 @@
26
26
  namespace IceMX
27
27
  {
28
28
 
29
+ /// \cond INTERNAL
29
30
  template<typename T> class MetricsHelperT
30
31
  {
31
32
  public:
@@ -652,6 +653,7 @@ private:
652
653
  };
653
654
 
654
655
  typedef ObserverT<Metrics> ObserverI;
656
+ /// \endcond
655
657
 
656
658
  }
657
659
 
@@ -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.
@@ -15,36 +15,47 @@
15
15
  namespace Ice
16
16
  {
17
17
 
18
- //
19
- // An application can be notified when its configuration properties are modified
20
- // via the Properties admin facet. The application must define a subclass of
21
- // PropertiesAdminUpdateCallback and register it with the facet. The facet
22
- // implements the class NativePropertiesAdmin, so the application needs to
23
- // downcast the facet to this type in order to register the callback.
24
- //
25
- // For example:
26
- //
27
- // Ice::ObjectPtr obj = communicator->findAdminFacet("Properties");
28
- // assert(obj); // May be null if the facet is not enabled
29
- // NativePropertiesAdminPtr facet = NativePropertiesAdminPtr::dynamicCast(obj);
30
- // PropertiesAdminUpdateCallbackPtr myCallback = ...;
31
- // facet->addUpdateCallback(myCallback);
32
- //
33
- // Ice ignores any exceptions raised by the callback.
34
- //
35
-
36
18
  #ifndef ICE_CPP11_MAPPING
19
+ /**
20
+ * An application can be notified when its configuration properties are modified
21
+ * via the Properties admin facet. The application must define a subclass of
22
+ * PropertiesAdminUpdateCallback and register it with the facet. The facet
23
+ * implements the class NativePropertiesAdmin, so the application needs to
24
+ * downcast the facet to this type in order to register the callback.
25
+ *
26
+ * For example:
27
+ *
28
+ * \code
29
+ * Ice::ObjectPtr obj = communicator->findAdminFacet("Properties");
30
+ * assert(obj); // May be null if the facet is not enabled
31
+ * NativePropertiesAdminPtr facet = NativePropertiesAdminPtr::dynamicCast(obj);
32
+ * PropertiesAdminUpdateCallbackPtr myCallback = ...;
33
+ * facet->addUpdateCallback(myCallback);
34
+ * \endcode
35
+ *
36
+ * Ice ignores any exceptions raised by the callback.
37
+ * \headerfile Ice/Ice.h
38
+ */
37
39
  class ICE_API PropertiesAdminUpdateCallback : public virtual Ice::LocalObject
38
40
  {
39
41
  public:
40
42
 
41
43
  virtual ~PropertiesAdminUpdateCallback();
42
44
 
43
- virtual void updated(const PropertyDict&) = 0;
45
+ /**
46
+ * Called when the communicator's properties have been updated.
47
+ * @param d A dictionary containing the properties that were added, changed or removed,
48
+ * with a removed property denoted by an entry whose value is an empty string.
49
+ */
50
+ virtual void updated(const PropertyDict& d) = 0;
44
51
  };
45
52
  typedef IceUtil::Handle<PropertiesAdminUpdateCallback> PropertiesAdminUpdateCallbackPtr;
46
53
  #endif
47
54
 
55
+ /**
56
+ * Base class for the Properties admin facet.
57
+ * \headerfile Ice/Ice.h
58
+ */
48
59
  class ICE_API NativePropertiesAdmin
49
60
  #ifndef ICE_CPP11_MAPPING
50
61
  : public virtual IceUtil::Shared
@@ -55,10 +66,22 @@ public:
55
66
  virtual ~NativePropertiesAdmin();
56
67
 
57
68
  #ifdef ICE_CPP11_MAPPING
58
- virtual std::function<void()> addUpdateCallback(std::function<void(const PropertyDict&)>) = 0;
69
+ /**
70
+ * Register an update callback that will be invoked when property updates occur.
71
+ * @param cb The callback.
72
+ */
73
+ virtual std::function<void()> addUpdateCallback(std::function<void(const PropertyDict&)> cb) = 0;
59
74
  #else
60
- virtual void addUpdateCallback(const PropertiesAdminUpdateCallbackPtr&) = 0;
61
- virtual void removeUpdateCallback(const PropertiesAdminUpdateCallbackPtr&) = 0;
75
+ /**
76
+ * Register an update callback that will be invoked when property updates occur.
77
+ * @param cb The callback.
78
+ */
79
+ virtual void addUpdateCallback(const PropertiesAdminUpdateCallbackPtr& cb) = 0;
80
+ /**
81
+ * Remove an update callback.
82
+ * @param cb The callback to be removed.
83
+ */
84
+ virtual void removeUpdateCallback(const PropertiesAdminUpdateCallbackPtr& cb) = 0;
62
85
  #endif
63
86
  };
64
87
  ICE_DEFINE_PTR(NativePropertiesAdminPtr, NativePropertiesAdmin);
@@ -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.
@@ -39,68 +39,161 @@ class GCVisitor;
39
39
  namespace Ice
40
40
  {
41
41
 
42
+ /** A default-initialized Current instance. */
42
43
  ICE_API extern const Current emptyCurrent;
43
44
 
44
45
  #ifndef ICE_CPP11_MAPPING
46
+ /**
47
+ * Abstract callback class for an asynchronous dispatch interceptor.
48
+ * \headerfile Ice/Ice.h
49
+ */
45
50
  class ICE_API DispatchInterceptorAsyncCallback : public virtual IceUtil::Shared
46
51
  {
47
52
  public:
48
53
 
49
54
  virtual ~DispatchInterceptorAsyncCallback();
50
55
 
56
+ /** Called when the dispatch completes successfully. */
51
57
  virtual bool response() = 0;
52
- virtual bool exception(const std::exception&) = 0;
58
+
59
+ /**
60
+ * Called when the dispatch fails with an exception.
61
+ * @param ex The exception that caused the failure.
62
+ */
63
+ virtual bool exception(const std::exception& ex) = 0;
64
+
65
+ /**
66
+ * Called when the dispatch fails with an unknown exception.
67
+ */
53
68
  virtual bool exception() = 0;
54
69
  };
55
70
  ICE_DEFINE_PTR(DispatchInterceptorAsyncCallbackPtr, DispatchInterceptorAsyncCallback);
56
71
  #endif
57
72
 
73
+ /**
74
+ * Encapsulates details about a dispatch request.
75
+ * \headerfile Ice/Ice.h
76
+ */
58
77
  class ICE_API Request
59
78
  {
60
79
  public:
61
80
 
62
81
  virtual ~Request();
82
+
83
+ /**
84
+ * Obtains the Current object associated with the request.
85
+ * @return The Current object.
86
+ */
63
87
  virtual const Current& getCurrent() = 0;
64
88
  };
65
89
 
66
90
  #ifdef ICE_CPP11_MAPPING
91
+ /**
92
+ * The base class for servants.
93
+ * \headerfile Ice/Ice.h
94
+ */
67
95
  class ICE_API Object
68
96
  {
69
97
  public:
70
98
 
71
99
  virtual ~Object() = default;
72
100
 
73
- virtual bool ice_isA(std::string, const Current&) const;
101
+ /**
102
+ * Tests whether this object supports a specific Slice interface.
103
+ * @param s The type ID of the Slice interface to test against.
104
+ * @param current The Current object for the invocation.
105
+ * @return True if this object has the interface
106
+ * specified by s or derives from the interface
107
+ * specified by s.
108
+ */
109
+ virtual bool ice_isA(std::string s, const Current& current) const;
110
+ /// \cond INTERNAL
74
111
  bool _iceD_ice_isA(IceInternal::Incoming&, const Current&);
75
-
76
- virtual void ice_ping(const Current&) const;
112
+ /// \endcond
113
+
114
+ /**
115
+ * Tests whether this object can be reached.
116
+ * @param current The Current object for the invocation.
117
+ */
118
+ virtual void ice_ping(const Current& current) const;
119
+ /// \cond INTERNAL
77
120
  bool _iceD_ice_ping(IceInternal::Incoming&, const Current&);
78
-
79
- virtual std::vector< std::string> ice_ids(const Current&) const;
121
+ /// \endcond
122
+
123
+ /**
124
+ * Returns the Slice type IDs of the interfaces supported by this object.
125
+ * @param current The Current object for the invocation.
126
+ * @return The Slice type IDs of the interfaces supported by this object, in base-to-derived
127
+ * order. The first element of the returned array is always "::Ice::Object".
128
+ */
129
+ virtual std::vector< std::string> ice_ids(const Current& current) const;
130
+ /// \cond INTERNAL
80
131
  bool _iceD_ice_ids(IceInternal::Incoming&, const Current&);
81
-
82
- virtual std::string ice_id(const Current&) const;
132
+ /// \endcond
133
+
134
+ /**
135
+ * Returns the Slice type ID of the most-derived interface supported by this object.
136
+ * @param current The Current object for the invocation.
137
+ * @return The Slice type ID of the most-derived interface.
138
+ */
139
+ virtual std::string ice_id(const Current& current) const;
140
+ /// \cond INTERNAL
83
141
  bool _iceD_ice_id(IceInternal::Incoming&, const Current&);
142
+ /// \endcond
84
143
 
144
+ /**
145
+ * Obtains the Slice type ID of this type.
146
+ * @return The return value is always "::Ice::Object".
147
+ */
85
148
  static const std::string& ice_staticId();
86
149
 
87
- virtual bool ice_dispatch(Ice::Request&,
88
- std::function<bool()> = nullptr,
89
- std::function<bool(std::exception_ptr)> = nullptr);
90
-
150
+ /**
151
+ * Dispatches an invocation to a servant. This method is used by dispatch interceptors to forward an invocation
152
+ * to a servant (or to another interceptor).
153
+ * @param request The details of the invocation.
154
+ * @param response A function that should return true if Ice should send the response to the client. A null
155
+ * value is equivalent to a function that returns true.
156
+ * @param error A function that should return true if Ice should send the exception to the client. A null
157
+ * value is equivalent to a function that returns true.
158
+ * @return True if the request completed synchronously, false if the request will be completed asynchronously.
159
+ * @throws UserException A user exception that propagates out of this method will be marshaled as the result.
160
+ */
161
+ virtual bool ice_dispatch(Ice::Request& request,
162
+ std::function<bool()> response = nullptr,
163
+ std::function<bool(std::exception_ptr)> error = nullptr);
164
+
165
+ /// \cond INTERNAL
91
166
  virtual bool _iceDispatch(IceInternal::Incoming&, const Current&);
167
+ /// \endcond
92
168
 
169
+ /**
170
+ * Holds the results of a call to ice_invoke.
171
+ */
93
172
  struct Ice_invokeResult
94
173
  {
174
+ /**
175
+ * Indicates whether the invocation resulted in success (true) or a user exception (false).
176
+ */
95
177
  bool returnValue;
178
+
179
+ /**
180
+ * Holds an encapsulation of the encoded results. If returnValue is true, this contains the encoded
181
+ * out parameters. If returnValue is false, this contains the encoded user exception.
182
+ */
96
183
  std::vector<::Ice::Byte> outParams;
97
184
  };
98
185
 
99
186
  protected:
100
187
 
188
+ /// \cond INTERNAL
101
189
  static void _iceCheckMode(OperationMode, OperationMode);
190
+ /// \endcond
102
191
  };
103
192
  #else
193
+ /**
194
+ * The base class for servants.
195
+ * \headerfile Ice/Ice.h
196
+ */
104
197
  class ICE_API Object : public virtual IceUtil::Shared
105
198
  {
106
199
  public:
@@ -108,37 +201,135 @@ public:
108
201
  virtual bool operator==(const Object&) const;
109
202
  virtual bool operator<(const Object&) const;
110
203
 
111
- virtual bool ice_isA(const std::string&, const Current& = Ice::emptyCurrent) const;
204
+ /**
205
+ * Tests whether this object supports a specific Slice interface.
206
+ * @param s The type ID of the Slice interface to test against.
207
+ * @param current The Current object for the invocation.
208
+ * @return True if this object has the interface
209
+ * specified by s or derives from the interface
210
+ * specified by s.
211
+ */
212
+ virtual bool ice_isA(const std::string& s, const Current& current = Ice::emptyCurrent) const;
213
+ /// \cond INTERNAL
112
214
  bool _iceD_ice_isA(IceInternal::Incoming&, const Current&);
113
-
114
- virtual void ice_ping(const Current& = Ice::emptyCurrent) const;
215
+ /// \endcond
216
+
217
+ /**
218
+ * Tests whether this object can be reached.
219
+ * @param current The Current object for the invocation.
220
+ */
221
+ virtual void ice_ping(const Current& current = Ice::emptyCurrent) const;
222
+ /// \cond INTERNAL
115
223
  bool _iceD_ice_ping(IceInternal::Incoming&, const Current&);
116
-
117
- virtual std::vector< std::string> ice_ids(const Current& = Ice::emptyCurrent) const;
224
+ /// \endcond
225
+
226
+ /**
227
+ * Returns the Slice type IDs of the interfaces supported by this object.
228
+ * @param current The Current object for the invocation.
229
+ * @return The Slice type IDs of the interfaces supported by this object, in base-to-derived
230
+ * order. The first element of the returned array is always "::Ice::Object".
231
+ */
232
+ virtual std::vector< std::string> ice_ids(const Current& current = Ice::emptyCurrent) const;
233
+ /// \cond INTERNAL
118
234
  bool _iceD_ice_ids(IceInternal::Incoming&, const Current&);
119
-
120
- virtual const std::string& ice_id(const Current& = Ice::emptyCurrent) const;
235
+ /// \endcond
236
+
237
+ /**
238
+ * Returns the Slice type ID of the most-derived interface supported by this object.
239
+ * @param current The Current object for the invocation.
240
+ * @return The Slice type ID of the most-derived interface.
241
+ */
242
+ virtual const std::string& ice_id(const Current& current = Ice::emptyCurrent) const;
243
+ /// \cond INTERNAL
121
244
  bool _iceD_ice_id(IceInternal::Incoming&, const Current&);
122
-
123
- virtual Int ice_operationAttributes(const std::string&) const;
124
-
245
+ /// \endcond
246
+
247
+ /**
248
+ * Returns the Freeze metadata attributes for an operation.
249
+ *
250
+ * @param operation The name of the operation.
251
+ * @return The least significant bit indicates whether the operation is a read
252
+ * or write operation. If the bit is set, the operation is a write operation.
253
+ * The expression ice_operationAttributes("op") &amp; 0x1 is true if
254
+ * the operation has a <code>["freeze:write"]</code> metadata directive.
255
+ * <p>
256
+ * The second and third least significant bit indicate the transactional mode
257
+ * of the operation. The expression <code>ice_operationAttributes("op") &amp; 0x6 &gt;&gt; 1</code>
258
+ * indicates the transactional mode as follows:
259
+ * <dl>
260
+ * <dt>0</dt>
261
+ * <dd><code>["freeze:read:supports"]</code></dd>
262
+ * <dt>1</dt>
263
+ * <dd><code>["freeze:read:mandatory"]</code> or <code>["freeze:write:mandatory"]</code></dd>
264
+ * <dt>2</dt>
265
+ * <dd><code>["freeze:read:required"]</code> or <code>["freeze:write:required"]</code></dd>
266
+ * <dt>3</dt>
267
+ * <dd><code>["freeze:read:never"]</code></dd>
268
+ * </dl>
269
+ *
270
+ * Refer to the Freeze manual for more information on the TransactionalEvictor.
271
+ */
272
+ virtual Int ice_operationAttributes(const std::string& operation) const;
273
+
274
+ /// \cond STREAM
125
275
  virtual void _iceWrite(Ice::OutputStream*) const;
126
276
  virtual void _iceRead(Ice::InputStream*);
277
+ /// \endcond
127
278
 
279
+ /// \cond INTERNAL
128
280
  virtual bool _iceGcVisit(IceInternal::GCVisitor&) { return false; }
129
- virtual void ice_collectable(bool) { }
130
-
281
+ /// \endcond
282
+
283
+ /**
284
+ * Determines whether this object, and by extension the graph of all objects reachable from this object,
285
+ * are eligible for garbage collection when all external references to the graph have been released.
286
+ * @param b True if the object is eligible, false otherwise.
287
+ */
288
+ virtual void ice_collectable(bool b);
289
+
290
+ /**
291
+ * The Ice run time invokes this method prior to marshaling an object's data members. This allows a subclass
292
+ * to override this method in order to validate its data members.
293
+ */
131
294
  virtual void ice_preMarshal();
295
+
296
+ /**
297
+ * The Ice run time invokes this method vafter unmarshaling an object's data members. This allows a
298
+ * subclass to override this method in order to perform additional initialization.
299
+ */
132
300
  virtual void ice_postUnmarshal();
133
301
 
302
+ /**
303
+ * Obtains the Slice type ID of this type.
304
+ * @return The return value is always "::Ice::Object".
305
+ */
134
306
  static const std::string& ice_staticId();
135
307
 
308
+ /**
309
+ * Returns a shallow copy of the object.
310
+ * @return The cloned object.
311
+ */
136
312
  virtual ObjectPtr ice_clone() const;
137
313
 
314
+ /**
315
+ * Obtains the sliced data associated with this instance.
316
+ * @return The sliced data if the value has a preserved-slice base class and has been sliced during
317
+ * unmarshaling of the value, nil otherwise.
318
+ */
138
319
  virtual SlicedDataPtr ice_getSlicedData() const;
139
320
 
140
- virtual bool ice_dispatch(Ice::Request&, const DispatchInterceptorAsyncCallbackPtr& = 0);
321
+ /**
322
+ * Dispatches an invocation to a servant. This method is used by dispatch interceptors to forward an invocation
323
+ * to a servant (or to another interceptor).
324
+ * @param request The details of the invocation.
325
+ * @param cb The asynchronous callback object.
326
+ * @return True if the request completed synchronously, false if the request will be completed asynchronously.
327
+ * @throws UserException A user exception that propagates out of this method will be marshaled as the result.
328
+ */
329
+ virtual bool ice_dispatch(Ice::Request& request, const DispatchInterceptorAsyncCallbackPtr& cb = 0);
330
+ /// \cond INTERNAL
141
331
  virtual bool _iceDispatch(IceInternal::Incoming&, const Current&);
332
+ /// \endcond
142
333
 
143
334
  protected:
144
335
 
@@ -147,66 +338,166 @@ protected:
147
338
 
148
339
  protected:
149
340
 
341
+ /// \cond STREAM
150
342
  virtual void _iceWriteImpl(Ice::OutputStream*) const {}
151
343
  virtual void _iceReadImpl(Ice::InputStream*) {}
344
+ /// \endcond
152
345
 
346
+ /// \cond INTERNAL
153
347
  static void _iceCheckMode(OperationMode, OperationMode);
348
+ /// \endcond
154
349
  };
155
350
  #endif
156
351
 
352
+ /**
353
+ * Base class for dynamic dispatch servants. A server application derives a concrete servant class
354
+ * from Blobject that implements the ice_invoke method.
355
+ * \headerfile Ice/Ice.h
356
+ */
157
357
  class ICE_API Blobject : public virtual Object
158
358
  {
159
359
  public:
160
360
 
161
- //
162
- // Returns true if ok, false if user exception.
163
- //
164
- virtual bool ice_invoke(ICE_IN(std::vector<Byte>), std::vector<Byte>&, const Current&) = 0;
165
-
361
+ /**
362
+ * Dispatch an incoming request.
363
+ *
364
+ * @param inEncaps An encapsulation containing the encoded in-parameters for the operation.
365
+ * @param outEncaps An encapsulation containing the encoded results for the operation.
366
+ * @param current The Current object for the invocation.
367
+ * @return True if the operation completed successfully, in which case outEncaps contains
368
+ * an encapsulation of the encoded results, or false if the operation raised a user exception,
369
+ * in which case outEncaps contains an encapsulation of the encoded user exception.
370
+ * @throws UserException A user exception can be raised directly and the
371
+ * run time will marshal it.
372
+ */
373
+ virtual bool ice_invoke(ICE_IN(std::vector<Byte>) inEncaps, std::vector<Byte>& outEncaps,
374
+ const Current& current) = 0;
375
+
376
+ /// \cond INTERNAL
166
377
  virtual bool _iceDispatch(IceInternal::Incoming&, const Current&);
378
+ /// \endcond
167
379
  };
168
380
 
381
+ /**
382
+ * Base class for dynamic dispatch servants that uses the array mapping. A server application
383
+ * derives a concrete servant class from Blobject that implements the ice_invoke method.
384
+ * \headerfile Ice/Ice.h
385
+ */
169
386
  class ICE_API BlobjectArray : public virtual Object
170
387
  {
171
388
  public:
172
389
 
173
- //
174
- // Returns true if ok, false if user exception.
175
- //
176
- virtual bool ice_invoke(ICE_IN(std::pair<const Byte*, const Byte*>), std::vector<Byte>&, const Current&) = 0;
177
-
390
+ /**
391
+ * Dispatch an incoming request.
392
+ *
393
+ * @param inEncaps An encapsulation containing the encoded in-parameters for the operation.
394
+ * @param outEncaps An encapsulation containing the encoded results for the operation.
395
+ * @param current The Current object for the invocation.
396
+ * @return True if the operation completed successfully, in which case outEncaps contains
397
+ * an encapsulation of the encoded results, or false if the operation raised a user exception,
398
+ * in which case outEncaps contains an encapsulation of the encoded user exception.
399
+ * @throws UserException A user exception can be raised directly and the
400
+ * run time will marshal it.
401
+ */
402
+ virtual bool ice_invoke(ICE_IN(std::pair<const Byte*, const Byte*>) inEncaps, std::vector<Byte>& outEncaps,
403
+ const Current& current) = 0;
404
+
405
+ /// \cond INTERNAL
178
406
  virtual bool _iceDispatch(IceInternal::Incoming&, const Current&);
407
+ /// \endcond
179
408
  };
180
409
 
410
+ /**
411
+ * Base class for asynchronous dynamic dispatch servants. A server application derives a concrete
412
+ * servant class from Blobject that implements the ice_invokeAsync method.
413
+ * \headerfile Ice/Ice.h
414
+ */
181
415
  class ICE_API BlobjectAsync : public virtual Object
182
416
  {
183
417
  public:
184
418
 
185
419
  #ifdef ICE_CPP11_MAPPING
186
- virtual void ice_invokeAsync(std::vector<Byte>,
187
- std::function<void(bool, const std::vector<Byte>&)>,
188
- std::function<void(std::exception_ptr)>,
189
- const Current&) = 0;
420
+ /**
421
+ * Dispatch an incoming request asynchronously.
422
+ *
423
+ * @param inEncaps An encapsulation containing the encoded in-parameters for the operation.
424
+ * @param response A callback the implementation should invoke when the invocation completes
425
+ * successfully or with a user exception. See the description of Blobject::ice_invoke for
426
+ * the semantics.
427
+ * @param error A callback the implementation should invoke when the invocation completes
428
+ * with an exception.
429
+ * @param current The Current object for the invocation.
430
+ * @throws UserException A user exception can be raised directly and the
431
+ * run time will marshal it.
432
+ */
433
+ virtual void ice_invokeAsync(std::vector<Byte> inEncaps,
434
+ std::function<void(bool, const std::vector<Byte>&)> response,
435
+ std::function<void(std::exception_ptr)> error,
436
+ const Current& current) = 0;
190
437
  #else
191
- virtual void ice_invoke_async(const AMD_Object_ice_invokePtr&, const std::vector<Byte>&, const Current&) = 0;
438
+ /**
439
+ * Dispatch an incoming request asynchronously.
440
+ *
441
+ * @param cb The callback to invoke when the invocation completes.
442
+ * @param inEncaps An encapsulation containing the encoded in-parameters for the operation.
443
+ * @param current The Current object for the invocation.
444
+ * @throws UserException A user exception can be raised directly and the
445
+ * run time will marshal it.
446
+ */
447
+ virtual void ice_invoke_async(const AMD_Object_ice_invokePtr& cb, const std::vector<Byte>& inEncaps,
448
+ const Current& current) = 0;
192
449
  #endif
450
+
451
+ /// \cond INTERNAL
193
452
  virtual bool _iceDispatch(IceInternal::Incoming&, const Current&);
453
+ /// \endcond
194
454
  };
195
455
 
456
+ /**
457
+ * Base class for asynchronous dynamic dispatch servants that uses the array mapping. A server application
458
+ * derives a concrete servant class from Blobject that implements the ice_invokeAsync method.
459
+ * \headerfile Ice/Ice.h
460
+ */
196
461
  class ICE_API BlobjectArrayAsync : public virtual Object
197
462
  {
198
463
  public:
199
464
 
200
465
  #ifdef ICE_CPP11_MAPPING
201
- virtual void ice_invokeAsync(std::pair<const Byte*, const Byte*>,
202
- std::function<void(bool, const std::pair<const Byte*, const Byte*>&)>,
203
- std::function<void(std::exception_ptr)>,
204
- const Current&) = 0;
466
+ /**
467
+ * Dispatch an incoming request asynchronously.
468
+ *
469
+ * @param inEncaps An encapsulation containing the encoded in-parameters for the operation.
470
+ * @param response A callback the implementation should invoke when the invocation completes
471
+ * successfully or with a user exception. See the description of Blobject::ice_invoke for
472
+ * the semantics.
473
+ * @param error A callback the implementation should invoke when the invocation completes
474
+ * with an exception.
475
+ * @param current The Current object for the invocation.
476
+ * @throws UserException A user exception can be raised directly and the
477
+ * run time will marshal it.
478
+ */
479
+ virtual void ice_invokeAsync(std::pair<const Byte*, const Byte*> inEncaps,
480
+ std::function<void(bool, const std::pair<const Byte*, const Byte*>&)> response,
481
+ std::function<void(std::exception_ptr)> error,
482
+ const Current& current) = 0;
205
483
  #else
206
- virtual void ice_invoke_async(const AMD_Object_ice_invokePtr&, const std::pair<const Byte*, const Byte*>&,
207
- const Current&) = 0;
484
+ /**
485
+ * Dispatch an incoming request asynchronously.
486
+ *
487
+ * @param cb The callback to invoke when the invocation completes.
488
+ * @param inEncaps An encapsulation containing the encoded in-parameters for the operation.
489
+ * @param current The Current object for the invocation.
490
+ * @throws UserException A user exception can be raised directly and the
491
+ * run time will marshal it.
492
+ */
493
+ virtual void ice_invoke_async(const AMD_Object_ice_invokePtr& cb,
494
+ const std::pair<const Byte*, const Byte*>& inEncaps,
495
+ const Current& current) = 0;
208
496
  #endif
497
+
498
+ /// \cond INTERNAL
209
499
  virtual bool _iceDispatch(IceInternal::Incoming&, const Current&);
500
+ /// \endcond
210
501
  };
211
502
 
212
503
  }