zeroc-ice 3.7.0 → 3.7.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (691) hide show
  1. checksums.yaml +5 -5
  2. data/ICE_LICENSE +1 -1
  3. data/bin/slice2rb +1 -6
  4. data/ext/Communicator.cpp +78 -10
  5. data/ext/Communicator.h +1 -6
  6. data/ext/Config.h +35 -6
  7. data/ext/Connection.cpp +22 -11
  8. data/ext/Connection.h +4 -6
  9. data/ext/Endpoint.cpp +1 -10
  10. data/ext/Endpoint.h +1 -6
  11. data/ext/ImplicitContext.cpp +1 -6
  12. data/ext/ImplicitContext.h +1 -6
  13. data/ext/Init.cpp +1 -6
  14. data/ext/Logger.cpp +1 -6
  15. data/ext/Logger.h +1 -6
  16. data/ext/Operation.cpp +6 -11
  17. data/ext/Operation.h +1 -6
  18. data/ext/Properties.cpp +3 -8
  19. data/ext/Properties.h +1 -6
  20. data/ext/Proxy.cpp +90 -14
  21. data/ext/Proxy.h +1 -6
  22. data/ext/Slice.cpp +3 -18
  23. data/ext/Slice.h +1 -6
  24. data/ext/Types.cpp +92 -60
  25. data/ext/Types.h +1 -6
  26. data/ext/Util.cpp +61 -32
  27. data/ext/Util.h +108 -33
  28. data/ext/ValueFactoryManager.cpp +2 -7
  29. data/ext/ValueFactoryManager.h +2 -7
  30. data/ext/extconf.rb +5 -3
  31. data/ext/ice/cpp/include/Ice/Application.h +234 -81
  32. data/ext/ice/cpp/include/Ice/AsyncResult.h +77 -6
  33. data/ext/ice/cpp/include/Ice/AsyncResultF.h +1 -6
  34. data/ext/ice/cpp/include/Ice/BatchRequestInterceptor.h +35 -7
  35. data/ext/ice/cpp/include/Ice/BatchRequestQueueF.h +1 -6
  36. data/ext/ice/cpp/include/Ice/Buffer.h +1 -6
  37. data/ext/ice/cpp/include/Ice/CommunicatorAsync.h +43 -6
  38. data/ext/ice/cpp/include/Ice/Comparable.h +81 -6
  39. data/ext/ice/cpp/include/Ice/Config.h +12 -6
  40. data/ext/ice/cpp/include/Ice/ConnectionAsync.h +97 -6
  41. data/ext/ice/cpp/include/Ice/ConnectionIF.h +3 -6
  42. data/ext/ice/cpp/include/Ice/ConsoleUtil.h +1 -6
  43. data/ext/ice/cpp/include/Ice/DefaultValueFactory.h +1 -6
  44. data/ext/ice/cpp/include/Ice/DispatchInterceptor.h +17 -7
  45. data/ext/ice/cpp/include/Ice/Dispatcher.h +22 -7
  46. data/ext/ice/cpp/include/Ice/DynamicLibrary.h +1 -6
  47. data/ext/ice/cpp/include/Ice/DynamicLibraryF.h +1 -6
  48. data/ext/ice/cpp/include/Ice/Exception.h +57 -20
  49. data/ext/ice/cpp/include/Ice/ExceptionHelpers.h +11 -6
  50. data/ext/ice/cpp/include/Ice/FactoryTable.h +12 -7
  51. data/ext/ice/cpp/include/Ice/FactoryTableInit.h +2 -7
  52. data/ext/ice/cpp/include/Ice/Format.h +13 -19
  53. data/ext/ice/cpp/include/Ice/Functional.h +6 -6
  54. data/ext/ice/cpp/include/Ice/GCObject.h +1 -6
  55. data/ext/ice/cpp/include/Ice/Handle.h +1 -6
  56. data/ext/ice/cpp/include/Ice/Ice.h +1 -6
  57. data/ext/ice/cpp/include/Ice/IconvStringConverter.h +47 -18
  58. data/ext/ice/cpp/include/Ice/Incoming.h +27 -9
  59. data/ext/ice/cpp/include/Ice/IncomingAsync.h +47 -9
  60. data/ext/ice/cpp/include/Ice/IncomingAsyncF.h +1 -6
  61. data/ext/ice/cpp/include/Ice/Initialize.h +775 -103
  62. data/ext/ice/cpp/include/Ice/InputStream.h +642 -122
  63. data/ext/ice/cpp/include/Ice/InstanceF.h +1 -6
  64. data/ext/ice/cpp/include/Ice/InterfaceByValue.h +17 -6
  65. data/ext/ice/cpp/include/Ice/LocalObject.h +5 -6
  66. data/ext/ice/cpp/include/Ice/LocalObjectF.h +1 -6
  67. data/ext/ice/cpp/include/Ice/LoggerUtil.h +37 -11
  68. data/ext/ice/cpp/include/Ice/MetricsAdminI.h +11 -7
  69. data/ext/ice/cpp/include/Ice/MetricsFunctional.h +3 -6
  70. data/ext/ice/cpp/include/Ice/MetricsObserverI.h +18 -7
  71. data/ext/ice/cpp/include/Ice/NativePropertiesAdmin.h +46 -28
  72. data/ext/ice/cpp/include/Ice/Object.h +338 -52
  73. data/ext/ice/cpp/include/Ice/ObjectF.h +5 -6
  74. data/ext/ice/cpp/include/Ice/ObserverHelper.h +1 -6
  75. data/ext/ice/cpp/include/Ice/Optional.h +42 -12
  76. data/ext/ice/cpp/include/Ice/OutgoingAsync.h +32 -8
  77. data/ext/ice/cpp/include/Ice/OutgoingAsyncF.h +1 -6
  78. data/ext/ice/cpp/include/Ice/OutputStream.h +441 -102
  79. data/ext/ice/cpp/include/Ice/Protocol.h +31 -6
  80. data/ext/ice/cpp/include/Ice/Proxy.h +2288 -207
  81. data/ext/ice/cpp/include/Ice/ProxyF.h +3 -6
  82. data/ext/ice/cpp/include/Ice/ProxyFactoryF.h +1 -6
  83. data/ext/ice/cpp/include/Ice/ProxyHandle.h +10 -6
  84. data/ext/ice/cpp/include/Ice/ReferenceF.h +1 -6
  85. data/ext/ice/cpp/include/Ice/RegisterPlugins.h +67 -14
  86. data/ext/ice/cpp/include/Ice/RequestHandlerF.h +1 -6
  87. data/ext/ice/cpp/include/Ice/ResponseHandlerF.h +1 -6
  88. data/ext/ice/cpp/include/Ice/SHA1.h +1 -6
  89. data/ext/ice/cpp/include/Ice/ServantManagerF.h +1 -6
  90. data/ext/ice/cpp/include/Ice/Service.h +267 -143
  91. data/ext/ice/cpp/include/Ice/SliceChecksums.h +5 -6
  92. data/ext/ice/cpp/include/Ice/SlicedData.h +80 -38
  93. data/ext/ice/cpp/include/Ice/SlicedDataF.h +4 -6
  94. data/ext/ice/cpp/include/Ice/StreamHelpers.h +325 -122
  95. data/ext/ice/cpp/include/Ice/StringConverter.h +32 -6
  96. data/ext/ice/cpp/include/Ice/ThreadPoolF.h +1 -6
  97. data/ext/ice/cpp/include/Ice/UUID.h +2 -6
  98. data/ext/ice/cpp/include/Ice/UniquePtr.h +2 -7
  99. data/ext/ice/cpp/include/Ice/UniqueRef.h +6 -7
  100. data/ext/ice/cpp/include/Ice/UserExceptionFactory.h +6 -6
  101. data/ext/ice/cpp/include/Ice/Value.h +41 -6
  102. data/ext/ice/cpp/include/Ice/ValueF.h +3 -6
  103. data/ext/ice/cpp/include/IceSSL/Config.h +1 -6
  104. data/ext/ice/cpp/include/IceSSL/IceSSL.h +1 -6
  105. data/ext/ice/cpp/include/IceSSL/OpenSSL.h +75 -58
  106. data/ext/ice/cpp/include/IceSSL/Plugin.h +323 -223
  107. data/ext/ice/cpp/include/IceSSL/SChannel.h +41 -35
  108. data/ext/ice/cpp/include/IceSSL/SecureTransport.h +39 -33
  109. data/ext/ice/cpp/include/IceSSL/UWP.h +33 -29
  110. data/ext/ice/cpp/include/IceUtil/Atomic.h +2 -7
  111. data/ext/ice/cpp/include/IceUtil/Cond.h +1 -6
  112. data/ext/ice/cpp/include/IceUtil/Config.h +35 -14
  113. data/ext/ice/cpp/include/IceUtil/ConsoleUtil.h +5 -10
  114. data/ext/ice/cpp/include/IceUtil/CountDownLatch.h +1 -6
  115. data/ext/ice/cpp/include/IceUtil/CtrlCHandler.h +52 -36
  116. data/ext/ice/cpp/include/IceUtil/DisableWarnings.h +5 -11
  117. data/ext/ice/cpp/include/IceUtil/Exception.h +130 -11
  118. data/ext/ice/cpp/include/IceUtil/FileUtil.h +1 -6
  119. data/ext/ice/cpp/include/IceUtil/Functional.h +5 -6
  120. data/ext/ice/cpp/include/IceUtil/Handle.h +1 -6
  121. data/ext/ice/cpp/include/IceUtil/IceUtil.h +1 -6
  122. data/ext/ice/cpp/include/IceUtil/InputUtil.h +1 -6
  123. data/ext/ice/cpp/include/IceUtil/Iterator.h +1 -6
  124. data/ext/ice/cpp/include/IceUtil/Lock.h +1 -6
  125. data/ext/ice/cpp/include/IceUtil/Monitor.h +1 -6
  126. data/ext/ice/cpp/include/IceUtil/Mutex.h +3 -13
  127. data/ext/ice/cpp/include/IceUtil/MutexProtocol.h +1 -6
  128. data/ext/ice/cpp/include/IceUtil/MutexPtrLock.h +1 -6
  129. data/ext/ice/cpp/include/IceUtil/MutexPtrTryLock.h +1 -6
  130. data/ext/ice/cpp/include/IceUtil/Optional.h +103 -6
  131. data/ext/ice/cpp/include/IceUtil/Options.h +1 -6
  132. data/ext/ice/cpp/include/IceUtil/OutputUtil.h +18 -20
  133. data/ext/ice/cpp/include/IceUtil/PopDisableWarnings.h +1 -6
  134. data/ext/ice/cpp/include/IceUtil/PushDisableWarnings.h +8 -6
  135. data/ext/ice/cpp/include/IceUtil/Random.h +37 -6
  136. data/ext/ice/cpp/include/IceUtil/RecMutex.h +1 -6
  137. data/ext/ice/cpp/include/IceUtil/ResourceConfig.h +4 -9
  138. data/ext/ice/cpp/include/IceUtil/ScannerConfig.h +12 -9
  139. data/ext/ice/cpp/include/IceUtil/ScopedArray.h +1 -6
  140. data/ext/ice/cpp/include/IceUtil/Shared.h +1 -6
  141. data/ext/ice/cpp/include/IceUtil/StopWatch.h +1 -6
  142. data/ext/ice/cpp/include/IceUtil/StringConverter.h +107 -92
  143. data/ext/ice/cpp/include/IceUtil/StringUtil.h +1 -6
  144. data/ext/ice/cpp/include/IceUtil/Thread.h +1 -6
  145. data/ext/ice/cpp/include/IceUtil/ThreadException.h +1 -6
  146. data/ext/ice/cpp/include/IceUtil/Time.h +1 -6
  147. data/ext/ice/cpp/include/IceUtil/Timer.h +5 -6
  148. data/ext/ice/cpp/include/IceUtil/UUID.h +5 -6
  149. data/ext/ice/cpp/include/IceUtil/UndefSysMacros.h +1 -6
  150. data/ext/ice/cpp/include/generated/Ice/BuiltinSequences.h +81 -26
  151. data/ext/ice/cpp/include/generated/Ice/Communicator.h +928 -136
  152. data/ext/ice/cpp/include/generated/Ice/CommunicatorF.h +14 -11
  153. data/ext/ice/cpp/include/generated/Ice/Connection.h +968 -180
  154. data/ext/ice/cpp/include/generated/Ice/ConnectionF.h +22 -15
  155. data/ext/ice/cpp/include/generated/Ice/Current.h +166 -9
  156. data/ext/ice/cpp/include/generated/Ice/Endpoint.h +476 -115
  157. data/ext/ice/cpp/include/generated/Ice/EndpointF.h +42 -23
  158. data/ext/ice/cpp/include/generated/Ice/EndpointTypes.h +30 -9
  159. data/ext/ice/cpp/include/generated/Ice/FacetMap.h +12 -11
  160. data/ext/ice/cpp/include/generated/Ice/Identity.h +56 -13
  161. data/ext/ice/cpp/include/generated/Ice/ImplicitContext.h +151 -34
  162. data/ext/ice/cpp/include/generated/Ice/ImplicitContextF.h +14 -11
  163. data/ext/ice/cpp/include/generated/Ice/Instrumentation.h +630 -89
  164. data/ext/ice/cpp/include/generated/Ice/InstrumentationF.h +20 -13
  165. data/ext/ice/cpp/include/generated/Ice/LocalException.h +5009 -770
  166. data/ext/ice/cpp/include/generated/Ice/Locator.h +2255 -441
  167. data/ext/ice/cpp/include/generated/Ice/LocatorF.h +32 -19
  168. data/ext/ice/cpp/include/generated/Ice/Logger.h +105 -32
  169. data/ext/ice/cpp/include/generated/Ice/LoggerF.h +14 -11
  170. data/ext/ice/cpp/include/generated/Ice/Metrics.h +2539 -471
  171. data/ext/ice/cpp/include/generated/Ice/ObjectAdapter.h +1005 -132
  172. data/ext/ice/cpp/include/generated/Ice/ObjectAdapterF.h +14 -11
  173. data/ext/ice/cpp/include/generated/Ice/ObjectFactory.h +73 -18
  174. data/ext/ice/cpp/include/generated/Ice/Plugin.h +143 -34
  175. data/ext/ice/cpp/include/generated/Ice/PluginF.h +18 -13
  176. data/ext/ice/cpp/include/generated/Ice/Process.h +514 -79
  177. data/ext/ice/cpp/include/generated/Ice/ProcessF.h +21 -14
  178. data/ext/ice/cpp/include/generated/Ice/Properties.h +307 -64
  179. data/ext/ice/cpp/include/generated/Ice/PropertiesAdmin.h +738 -127
  180. data/ext/ice/cpp/include/generated/Ice/PropertiesF.h +25 -16
  181. data/ext/ice/cpp/include/generated/Ice/RemoteLogger.h +1524 -284
  182. data/ext/ice/cpp/include/generated/Ice/Router.h +1007 -201
  183. data/ext/ice/cpp/include/generated/Ice/RouterF.h +21 -14
  184. data/ext/ice/cpp/include/generated/Ice/ServantLocator.h +175 -24
  185. data/ext/ice/cpp/include/generated/Ice/ServantLocatorF.h +14 -11
  186. data/ext/ice/cpp/include/generated/Ice/SliceChecksumDict.h +14 -9
  187. data/ext/ice/cpp/include/generated/Ice/ValueFactory.h +178 -29
  188. data/ext/ice/cpp/include/generated/Ice/Version.h +32 -9
  189. data/ext/ice/cpp/include/generated/IceSSL/ConnectionInfo.h +72 -21
  190. data/ext/ice/cpp/include/generated/IceSSL/ConnectionInfoF.h +14 -11
  191. data/ext/ice/cpp/include/generated/IceSSL/EndpointInfo.h +40 -15
  192. data/ext/ice/cpp/src/Ice/ACM.cpp +21 -14
  193. data/ext/ice/cpp/src/Ice/ACM.h +1 -6
  194. data/ext/ice/cpp/src/Ice/ACMF.h +1 -6
  195. data/ext/ice/cpp/src/Ice/Acceptor.cpp +1 -6
  196. data/ext/ice/cpp/src/Ice/Acceptor.h +1 -6
  197. data/ext/ice/cpp/src/Ice/AcceptorF.h +1 -6
  198. data/ext/ice/cpp/src/Ice/ArgVector.cpp +8 -13
  199. data/ext/ice/cpp/src/Ice/ArgVector.h +1 -6
  200. data/ext/ice/cpp/src/Ice/AsyncResult.cpp +1 -7
  201. data/ext/ice/cpp/src/Ice/Base64.cpp +12 -18
  202. data/ext/ice/cpp/src/Ice/Base64.h +1 -6
  203. data/ext/ice/cpp/src/Ice/BatchRequestQueue.cpp +2 -7
  204. data/ext/ice/cpp/src/Ice/BatchRequestQueue.h +1 -6
  205. data/ext/ice/cpp/src/Ice/Buffer.cpp +3 -8
  206. data/ext/ice/cpp/src/Ice/BuiltinSequences.cpp +4 -9
  207. data/ext/ice/cpp/src/Ice/CollocatedRequestHandler.cpp +2 -8
  208. data/ext/ice/cpp/src/Ice/CollocatedRequestHandler.h +1 -6
  209. data/ext/ice/cpp/src/Ice/Communicator.cpp +7 -10
  210. data/ext/ice/cpp/src/Ice/CommunicatorF.cpp +4 -9
  211. data/ext/ice/cpp/src/Ice/CommunicatorI.cpp +56 -22
  212. data/ext/ice/cpp/src/Ice/CommunicatorI.h +15 -16
  213. data/ext/ice/cpp/src/Ice/Cond.cpp +1 -6
  214. data/ext/ice/cpp/src/Ice/ConnectRequestHandler.cpp +11 -11
  215. data/ext/ice/cpp/src/Ice/ConnectRequestHandler.h +5 -10
  216. data/ext/ice/cpp/src/Ice/ConnectRequestHandlerF.h +1 -6
  217. data/ext/ice/cpp/src/Ice/Connection.cpp +28 -17
  218. data/ext/ice/cpp/src/Ice/ConnectionF.cpp +4 -9
  219. data/ext/ice/cpp/src/Ice/ConnectionFactory.cpp +167 -52
  220. data/ext/ice/cpp/src/Ice/ConnectionFactory.h +4 -6
  221. data/ext/ice/cpp/src/Ice/ConnectionFactoryF.h +1 -6
  222. data/ext/ice/cpp/src/Ice/ConnectionI.cpp +78 -60
  223. data/ext/ice/cpp/src/Ice/ConnectionI.h +10 -13
  224. data/ext/ice/cpp/src/Ice/ConnectionRequestHandler.cpp +1 -6
  225. data/ext/ice/cpp/src/Ice/ConnectionRequestHandler.h +2 -7
  226. data/ext/ice/cpp/src/Ice/Connector.cpp +1 -6
  227. data/ext/ice/cpp/src/Ice/Connector.h +1 -6
  228. data/ext/ice/cpp/src/Ice/ConnectorF.h +1 -6
  229. data/ext/ice/cpp/src/Ice/CountDownLatch.cpp +1 -6
  230. data/ext/ice/cpp/src/Ice/Current.cpp +4 -9
  231. data/ext/ice/cpp/src/Ice/DefaultsAndOverrides.cpp +5 -12
  232. data/ext/ice/cpp/src/Ice/DefaultsAndOverrides.h +1 -6
  233. data/ext/ice/cpp/src/Ice/DefaultsAndOverridesF.h +1 -6
  234. data/ext/ice/cpp/src/Ice/DispatchInterceptor.cpp +14 -6
  235. data/ext/ice/cpp/src/Ice/DynamicLibrary.cpp +7 -11
  236. data/ext/ice/cpp/src/Ice/Endpoint.cpp +25 -16
  237. data/ext/ice/cpp/src/Ice/EndpointF.cpp +4 -9
  238. data/ext/ice/cpp/src/Ice/EndpointFactory.cpp +1 -6
  239. data/ext/ice/cpp/src/Ice/EndpointFactory.h +1 -6
  240. data/ext/ice/cpp/src/Ice/EndpointFactoryF.h +1 -6
  241. data/ext/ice/cpp/src/Ice/EndpointFactoryManager.cpp +7 -18
  242. data/ext/ice/cpp/src/Ice/EndpointFactoryManager.h +1 -6
  243. data/ext/ice/cpp/src/Ice/EndpointFactoryManagerF.h +1 -6
  244. data/ext/ice/cpp/src/Ice/EndpointI.cpp +2 -7
  245. data/ext/ice/cpp/src/Ice/EndpointI.h +5 -10
  246. data/ext/ice/cpp/src/Ice/EndpointIF.h +1 -6
  247. data/ext/ice/cpp/src/Ice/EndpointTypes.cpp +4 -9
  248. data/ext/ice/cpp/src/Ice/EventHandler.cpp +1 -6
  249. data/ext/ice/cpp/src/Ice/EventHandler.h +1 -6
  250. data/ext/ice/cpp/src/Ice/EventHandlerF.h +1 -6
  251. data/ext/ice/cpp/src/Ice/Exception.cpp +8 -13
  252. data/ext/ice/cpp/src/Ice/FacetMap.cpp +4 -9
  253. data/ext/ice/cpp/src/Ice/FactoryTable.cpp +1 -6
  254. data/ext/ice/cpp/src/Ice/FactoryTableInit.cpp +1 -6
  255. data/ext/ice/cpp/src/Ice/GCObject.cpp +2 -7
  256. data/ext/ice/cpp/src/Ice/HashUtil.h +2 -7
  257. data/ext/ice/cpp/src/Ice/HttpParser.cpp +1 -6
  258. data/ext/ice/cpp/src/Ice/HttpParser.h +1 -6
  259. data/ext/ice/cpp/src/Ice/IPEndpointI.cpp +37 -59
  260. data/ext/ice/cpp/src/Ice/IPEndpointI.h +5 -10
  261. data/ext/ice/cpp/src/Ice/IPEndpointIF.h +1 -6
  262. data/ext/ice/cpp/src/Ice/IconvStringConverter.cpp +1 -6
  263. data/ext/ice/cpp/src/Ice/Identity.cpp +4 -9
  264. data/ext/ice/cpp/src/Ice/ImplicitContext.cpp +7 -10
  265. data/ext/ice/cpp/src/Ice/ImplicitContextF.cpp +4 -9
  266. data/ext/ice/cpp/src/Ice/ImplicitContextI.cpp +3 -20
  267. data/ext/ice/cpp/src/Ice/ImplicitContextI.h +1 -6
  268. data/ext/ice/cpp/src/Ice/Incoming.cpp +11 -13
  269. data/ext/ice/cpp/src/Ice/IncomingAsync.cpp +1 -6
  270. data/ext/ice/cpp/src/Ice/IncomingRequest.h +1 -6
  271. data/ext/ice/cpp/src/Ice/Initialize.cpp +15 -26
  272. data/ext/ice/cpp/src/Ice/InputStream.cpp +45 -77
  273. data/ext/ice/cpp/src/Ice/Instance.cpp +70 -46
  274. data/ext/ice/cpp/src/Ice/Instance.h +3 -6
  275. data/ext/ice/cpp/src/Ice/Instrumentation.cpp +34 -19
  276. data/ext/ice/cpp/src/Ice/InstrumentationF.cpp +4 -9
  277. data/ext/ice/cpp/src/Ice/InstrumentationI.cpp +2 -7
  278. data/ext/ice/cpp/src/Ice/InstrumentationI.h +1 -6
  279. data/ext/ice/cpp/src/Ice/LocalException.cpp +280 -285
  280. data/ext/ice/cpp/src/Ice/LocalObject.cpp +1 -6
  281. data/ext/ice/cpp/src/Ice/Locator.cpp +274 -166
  282. data/ext/ice/cpp/src/Ice/LocatorF.cpp +4 -9
  283. data/ext/ice/cpp/src/Ice/LocatorInfo.cpp +28 -30
  284. data/ext/ice/cpp/src/Ice/LocatorInfo.h +3 -8
  285. data/ext/ice/cpp/src/Ice/LocatorInfoF.h +1 -6
  286. data/ext/ice/cpp/src/Ice/Logger.cpp +7 -10
  287. data/ext/ice/cpp/src/Ice/LoggerAdminI.cpp +8 -19
  288. data/ext/ice/cpp/src/Ice/LoggerAdminI.h +1 -6
  289. data/ext/ice/cpp/src/Ice/LoggerF.cpp +4 -9
  290. data/ext/ice/cpp/src/Ice/LoggerI.cpp +13 -12
  291. data/ext/ice/cpp/src/Ice/LoggerI.h +1 -6
  292. data/ext/ice/cpp/src/Ice/LoggerUtil.cpp +1 -6
  293. data/ext/ice/cpp/src/Ice/Metrics.cpp +296 -113
  294. data/ext/ice/cpp/src/Ice/MetricsAdminI.cpp +10 -15
  295. data/ext/ice/cpp/src/Ice/MetricsObserverI.cpp +1 -6
  296. data/ext/ice/cpp/src/Ice/Network.cpp +252 -271
  297. data/ext/ice/cpp/src/Ice/Network.h +6 -20
  298. data/ext/ice/cpp/src/Ice/NetworkF.h +1 -6
  299. data/ext/ice/cpp/src/Ice/NetworkProxy.cpp +2 -8
  300. data/ext/ice/cpp/src/Ice/NetworkProxy.h +1 -6
  301. data/ext/ice/cpp/src/Ice/NetworkProxyF.h +1 -6
  302. data/ext/ice/cpp/src/Ice/OSLogLoggerI.cpp +57 -0
  303. data/ext/ice/cpp/src/Ice/OSLogLoggerI.h +40 -0
  304. data/ext/ice/cpp/src/Ice/Object.cpp +16 -17
  305. data/ext/ice/cpp/src/Ice/ObjectAdapter.cpp +7 -10
  306. data/ext/ice/cpp/src/Ice/ObjectAdapterF.cpp +4 -9
  307. data/ext/ice/cpp/src/Ice/ObjectAdapterFactory.cpp +53 -24
  308. data/ext/ice/cpp/src/Ice/ObjectAdapterFactory.h +1 -6
  309. data/ext/ice/cpp/src/Ice/ObjectAdapterFactoryF.h +1 -6
  310. data/ext/ice/cpp/src/Ice/ObjectAdapterI.cpp +137 -156
  311. data/ext/ice/cpp/src/Ice/ObjectAdapterI.h +15 -16
  312. data/ext/ice/cpp/src/Ice/ObjectFactory.cpp +7 -10
  313. data/ext/ice/cpp/src/Ice/ObserverHelper.cpp +1 -6
  314. data/ext/ice/cpp/src/Ice/OpaqueEndpointI.cpp +29 -51
  315. data/ext/ice/cpp/src/Ice/OpaqueEndpointI.h +2 -7
  316. data/ext/ice/cpp/src/Ice/OutgoingAsync.cpp +6 -9
  317. data/ext/ice/cpp/src/Ice/OutputStream.cpp +29 -61
  318. data/ext/ice/cpp/src/Ice/Plugin.cpp +10 -11
  319. data/ext/ice/cpp/src/Ice/PluginF.cpp +4 -9
  320. data/ext/ice/cpp/src/Ice/PluginManagerI.cpp +15 -39
  321. data/ext/ice/cpp/src/Ice/PluginManagerI.h +3 -8
  322. data/ext/ice/cpp/src/Ice/Process.cpp +66 -42
  323. data/ext/ice/cpp/src/Ice/ProcessF.cpp +4 -9
  324. data/ext/ice/cpp/src/Ice/Properties.cpp +7 -10
  325. data/ext/ice/cpp/src/Ice/PropertiesAdmin.cpp +84 -54
  326. data/ext/ice/cpp/src/Ice/PropertiesAdminI.cpp +3 -8
  327. data/ext/ice/cpp/src/Ice/PropertiesAdminI.h +1 -6
  328. data/ext/ice/cpp/src/Ice/PropertiesF.cpp +4 -9
  329. data/ext/ice/cpp/src/Ice/PropertiesI.cpp +25 -35
  330. data/ext/ice/cpp/src/Ice/PropertiesI.h +10 -15
  331. data/ext/ice/cpp/src/Ice/PropertyNames.cpp +45 -8
  332. data/ext/ice/cpp/src/Ice/PropertyNames.h +2 -7
  333. data/ext/ice/cpp/src/Ice/Protocol.cpp +5 -18
  334. data/ext/ice/cpp/src/Ice/ProtocolInstance.cpp +1 -6
  335. data/ext/ice/cpp/src/Ice/ProtocolInstance.h +1 -6
  336. data/ext/ice/cpp/src/Ice/ProtocolInstanceF.h +1 -6
  337. data/ext/ice/cpp/src/Ice/ProtocolPluginFacade.cpp +1 -6
  338. data/ext/ice/cpp/src/Ice/ProtocolPluginFacade.h +1 -6
  339. data/ext/ice/cpp/src/Ice/ProtocolPluginFacadeF.h +1 -6
  340. data/ext/ice/cpp/src/Ice/Proxy.cpp +54 -8
  341. data/ext/ice/cpp/src/Ice/ProxyFactory.cpp +11 -7
  342. data/ext/ice/cpp/src/Ice/ProxyFactory.h +1 -6
  343. data/ext/ice/cpp/src/Ice/Reference.cpp +116 -38
  344. data/ext/ice/cpp/src/Ice/Reference.h +13 -7
  345. data/ext/ice/cpp/src/Ice/ReferenceFactory.cpp +52 -98
  346. data/ext/ice/cpp/src/Ice/ReferenceFactory.h +1 -6
  347. data/ext/ice/cpp/src/Ice/ReferenceFactoryF.h +1 -6
  348. data/ext/ice/cpp/src/Ice/RegisterPluginsInit.cpp +4 -8
  349. data/ext/ice/cpp/src/Ice/RegisterPluginsInit.h +1 -6
  350. data/ext/ice/cpp/src/Ice/RemoteLogger.cpp +194 -113
  351. data/ext/ice/cpp/src/Ice/ReplyStatus.h +1 -6
  352. data/ext/ice/cpp/src/Ice/RequestHandler.cpp +1 -6
  353. data/ext/ice/cpp/src/Ice/RequestHandler.h +1 -6
  354. data/ext/ice/cpp/src/Ice/RequestHandlerFactory.cpp +1 -6
  355. data/ext/ice/cpp/src/Ice/RequestHandlerFactory.h +1 -6
  356. data/ext/ice/cpp/src/Ice/ResponseHandler.cpp +1 -6
  357. data/ext/ice/cpp/src/Ice/ResponseHandler.h +1 -6
  358. data/ext/ice/cpp/src/Ice/RetryQueue.cpp +7 -9
  359. data/ext/ice/cpp/src/Ice/RetryQueue.h +1 -6
  360. data/ext/ice/cpp/src/Ice/RetryQueueF.h +1 -6
  361. data/ext/ice/cpp/src/Ice/Router.cpp +160 -87
  362. data/ext/ice/cpp/src/Ice/RouterF.cpp +4 -9
  363. data/ext/ice/cpp/src/Ice/RouterInfo.cpp +8 -35
  364. data/ext/ice/cpp/src/Ice/RouterInfo.h +1 -8
  365. data/ext/ice/cpp/src/Ice/RouterInfoF.h +1 -6
  366. data/ext/ice/cpp/src/Ice/SHA1.cpp +3 -8
  367. data/ext/ice/cpp/src/Ice/Selector.cpp +76 -49
  368. data/ext/ice/cpp/src/Ice/Selector.h +1 -6
  369. data/ext/ice/cpp/src/Ice/ServantLocator.cpp +7 -10
  370. data/ext/ice/cpp/src/Ice/ServantLocatorF.cpp +4 -9
  371. data/ext/ice/cpp/src/Ice/ServantManager.cpp +21 -42
  372. data/ext/ice/cpp/src/Ice/ServantManager.h +1 -6
  373. data/ext/ice/cpp/src/Ice/SharedContext.h +1 -6
  374. data/ext/ice/cpp/src/Ice/SliceChecksumDict.cpp +4 -9
  375. data/ext/ice/cpp/src/Ice/SliceChecksums.cpp +1 -6
  376. data/ext/ice/cpp/src/Ice/SlicedData.cpp +1 -6
  377. data/ext/ice/cpp/src/Ice/StreamSocket.cpp +46 -69
  378. data/ext/ice/cpp/src/Ice/StreamSocket.h +1 -6
  379. data/ext/ice/cpp/src/Ice/StringConverterPlugin.cpp +10 -6
  380. data/ext/ice/cpp/src/Ice/StringUtil.h +1 -6
  381. data/ext/ice/cpp/src/Ice/SysLoggerI.cpp +3 -8
  382. data/ext/ice/cpp/src/Ice/SysLoggerI.h +1 -6
  383. data/ext/ice/cpp/src/Ice/SystemdJournalI.cpp +66 -0
  384. data/ext/ice/cpp/src/Ice/SystemdJournalI.h +39 -0
  385. data/ext/ice/cpp/src/Ice/TcpAcceptor.cpp +13 -19
  386. data/ext/ice/cpp/src/Ice/TcpAcceptor.h +1 -6
  387. data/ext/ice/cpp/src/Ice/TcpConnector.cpp +6 -6
  388. data/ext/ice/cpp/src/Ice/TcpConnector.h +1 -6
  389. data/ext/ice/cpp/src/Ice/TcpEndpointI.cpp +13 -16
  390. data/ext/ice/cpp/src/Ice/TcpEndpointI.h +2 -7
  391. data/ext/ice/cpp/src/Ice/TcpTransceiver.cpp +6 -6
  392. data/ext/ice/cpp/src/Ice/TcpTransceiver.h +1 -6
  393. data/ext/ice/cpp/src/Ice/Thread.cpp +18 -14
  394. data/ext/ice/cpp/src/Ice/ThreadPool.cpp +79 -19
  395. data/ext/ice/cpp/src/Ice/ThreadPool.h +11 -12
  396. data/ext/ice/cpp/src/Ice/Timer.cpp +11 -6
  397. data/ext/ice/cpp/src/Ice/TraceLevels.cpp +1 -6
  398. data/ext/ice/cpp/src/Ice/TraceLevels.h +1 -6
  399. data/ext/ice/cpp/src/Ice/TraceLevelsF.h +1 -6
  400. data/ext/ice/cpp/src/Ice/TraceUtil.cpp +1 -6
  401. data/ext/ice/cpp/src/Ice/TraceUtil.h +1 -6
  402. data/ext/ice/cpp/src/Ice/Transceiver.cpp +1 -6
  403. data/ext/ice/cpp/src/Ice/Transceiver.h +1 -6
  404. data/ext/ice/cpp/src/Ice/TransceiverF.h +3 -8
  405. data/ext/ice/cpp/src/Ice/UdpConnector.cpp +4 -6
  406. data/ext/ice/cpp/src/Ice/UdpConnector.h +1 -6
  407. data/ext/ice/cpp/src/Ice/UdpEndpointI.cpp +30 -33
  408. data/ext/ice/cpp/src/Ice/UdpEndpointI.h +2 -7
  409. data/ext/ice/cpp/src/Ice/UdpTransceiver.cpp +49 -79
  410. data/ext/ice/cpp/src/Ice/UdpTransceiver.h +1 -6
  411. data/ext/ice/cpp/src/Ice/Value.cpp +1 -6
  412. data/ext/ice/cpp/src/Ice/ValueFactory.cpp +10 -11
  413. data/ext/ice/cpp/src/Ice/ValueFactoryManagerI.cpp +3 -12
  414. data/ext/ice/cpp/src/Ice/ValueFactoryManagerI.h +2 -7
  415. data/ext/ice/cpp/src/Ice/Version.cpp +4 -9
  416. data/ext/ice/cpp/src/Ice/VirtualShared.h +1 -6
  417. data/ext/ice/cpp/src/Ice/WSAcceptor.cpp +1 -6
  418. data/ext/ice/cpp/src/Ice/WSAcceptor.h +1 -6
  419. data/ext/ice/cpp/src/Ice/WSConnector.cpp +1 -6
  420. data/ext/ice/cpp/src/Ice/WSConnector.h +1 -6
  421. data/ext/ice/cpp/src/Ice/WSEndpoint.cpp +4 -10
  422. data/ext/ice/cpp/src/Ice/WSEndpoint.h +2 -7
  423. data/ext/ice/cpp/src/Ice/WSTransceiver.cpp +25 -30
  424. data/ext/ice/cpp/src/Ice/WSTransceiver.h +1 -7
  425. data/ext/ice/cpp/src/IceDiscovery/IceDiscovery.cpp +86 -33
  426. data/ext/ice/cpp/src/IceDiscovery/IceDiscovery.h +1083 -129
  427. data/ext/ice/cpp/src/IceDiscovery/LocatorI.cpp +4 -7
  428. data/ext/ice/cpp/src/IceDiscovery/LocatorI.h +1 -6
  429. data/ext/ice/cpp/src/IceDiscovery/LookupI.cpp +5 -10
  430. data/ext/ice/cpp/src/IceDiscovery/LookupI.h +1 -6
  431. data/ext/ice/cpp/src/IceDiscovery/PluginI.cpp +1 -6
  432. data/ext/ice/cpp/src/IceDiscovery/PluginI.h +1 -6
  433. data/ext/ice/cpp/src/IceLocatorDiscovery/IceLocatorDiscovery.cpp +71 -30
  434. data/ext/ice/cpp/src/IceLocatorDiscovery/IceLocatorDiscovery.h +640 -79
  435. data/ext/ice/cpp/src/IceLocatorDiscovery/Plugin.h +1 -6
  436. data/ext/ice/cpp/src/IceLocatorDiscovery/PluginI.cpp +122 -25
  437. data/ext/ice/cpp/src/IceSSL/AcceptorI.cpp +2 -9
  438. data/ext/ice/cpp/src/IceSSL/AcceptorI.h +1 -6
  439. data/ext/ice/cpp/src/IceSSL/CertificateI.cpp +4 -9
  440. data/ext/ice/cpp/src/IceSSL/CertificateI.h +1 -6
  441. data/ext/ice/cpp/src/IceSSL/ConnectionInfo.cpp +7 -10
  442. data/ext/ice/cpp/src/IceSSL/ConnectionInfoF.cpp +4 -9
  443. data/ext/ice/cpp/src/IceSSL/ConnectorI.cpp +2 -9
  444. data/ext/ice/cpp/src/IceSSL/ConnectorI.h +1 -6
  445. data/ext/ice/cpp/src/IceSSL/EndpointI.cpp +9 -14
  446. data/ext/ice/cpp/src/IceSSL/EndpointI.h +3 -8
  447. data/ext/ice/cpp/src/IceSSL/EndpointInfo.cpp +7 -10
  448. data/ext/ice/cpp/src/IceSSL/Instance.cpp +1 -6
  449. data/ext/ice/cpp/src/IceSSL/Instance.h +1 -6
  450. data/ext/ice/cpp/src/IceSSL/InstanceF.h +1 -6
  451. data/ext/ice/cpp/src/IceSSL/OpenSSLCertificateI.cpp +11 -19
  452. data/ext/ice/cpp/src/IceSSL/OpenSSLEngine.cpp +100 -46
  453. data/ext/ice/cpp/src/IceSSL/OpenSSLEngine.h +3 -8
  454. data/ext/ice/cpp/src/IceSSL/OpenSSLEngineF.h +1 -6
  455. data/ext/ice/cpp/src/IceSSL/OpenSSLPluginI.cpp +1 -6
  456. data/ext/ice/cpp/src/IceSSL/OpenSSLTransceiverI.cpp +190 -206
  457. data/ext/ice/cpp/src/IceSSL/OpenSSLTransceiverI.h +2 -11
  458. data/ext/ice/cpp/src/IceSSL/OpenSSLUtil.cpp +1 -6
  459. data/ext/ice/cpp/src/IceSSL/OpenSSLUtil.h +1 -6
  460. data/ext/ice/cpp/src/IceSSL/PluginI.cpp +1 -6
  461. data/ext/ice/cpp/src/IceSSL/PluginI.h +1 -6
  462. data/ext/ice/cpp/src/IceSSL/RFC2253.cpp +1 -7
  463. data/ext/ice/cpp/src/IceSSL/RFC2253.h +1 -6
  464. data/ext/ice/cpp/src/IceSSL/SChannelCertificateI.cpp +5 -10
  465. data/ext/ice/cpp/src/IceSSL/SChannelEngine.cpp +69 -36
  466. data/ext/ice/cpp/src/IceSSL/SChannelEngine.h +5 -8
  467. data/ext/ice/cpp/src/IceSSL/SChannelEngineF.h +5 -6
  468. data/ext/ice/cpp/src/IceSSL/SChannelPluginI.cpp +1 -6
  469. data/ext/ice/cpp/src/IceSSL/SChannelTransceiverI.cpp +71 -62
  470. data/ext/ice/cpp/src/IceSSL/SChannelTransceiverI.h +7 -6
  471. data/ext/ice/cpp/src/IceSSL/SSLEngine.cpp +26 -28
  472. data/ext/ice/cpp/src/IceSSL/SSLEngine.h +3 -6
  473. data/ext/ice/cpp/src/IceSSL/SSLEngineF.h +1 -6
  474. data/ext/ice/cpp/src/IceSSL/SecureTransportCertificateI.cpp +37 -31
  475. data/ext/ice/cpp/src/IceSSL/SecureTransportEngine.cpp +44 -18
  476. data/ext/ice/cpp/src/IceSSL/SecureTransportEngine.h +5 -6
  477. data/ext/ice/cpp/src/IceSSL/SecureTransportEngineF.h +4 -6
  478. data/ext/ice/cpp/src/IceSSL/SecureTransportPluginI.cpp +1 -6
  479. data/ext/ice/cpp/src/IceSSL/SecureTransportTransceiverI.cpp +47 -27
  480. data/ext/ice/cpp/src/IceSSL/SecureTransportTransceiverI.h +6 -7
  481. data/ext/ice/cpp/src/IceSSL/SecureTransportUtil.cpp +41 -34
  482. data/ext/ice/cpp/src/IceSSL/SecureTransportUtil.h +5 -6
  483. data/ext/ice/cpp/src/IceSSL/TrustManager.cpp +4 -10
  484. data/ext/ice/cpp/src/IceSSL/TrustManager.h +1 -6
  485. data/ext/ice/cpp/src/IceSSL/TrustManagerF.h +1 -6
  486. data/ext/ice/cpp/src/IceSSL/UWPCertificateI.cpp +4 -9
  487. data/ext/ice/cpp/src/IceSSL/UWPEngine.cpp +4 -9
  488. data/ext/ice/cpp/src/IceSSL/UWPEngine.h +1 -6
  489. data/ext/ice/cpp/src/IceSSL/UWPEngineF.h +1 -6
  490. data/ext/ice/cpp/src/IceSSL/UWPPluginI.cpp +1 -6
  491. data/ext/ice/cpp/src/IceSSL/UWPTransceiverI.cpp +5 -10
  492. data/ext/ice/cpp/src/IceSSL/UWPTransceiverI.h +1 -6
  493. data/ext/ice/cpp/src/IceSSL/Util.cpp +12 -11
  494. data/ext/ice/cpp/src/IceSSL/Util.h +1 -6
  495. data/ext/ice/cpp/src/IceUtil/ConsoleUtil.cpp +1 -6
  496. data/ext/ice/cpp/src/IceUtil/ConvertUTF.cpp +1 -6
  497. data/ext/ice/cpp/src/IceUtil/ConvertUTF.h +1 -6
  498. data/ext/ice/cpp/src/IceUtil/CtrlCHandler.cpp +3 -6
  499. data/ext/ice/cpp/src/IceUtil/FileUtil.cpp +6 -11
  500. data/ext/ice/cpp/src/IceUtil/InputUtil.cpp +1 -6
  501. data/ext/ice/cpp/src/IceUtil/MutexProtocol.cpp +1 -6
  502. data/ext/ice/cpp/src/IceUtil/Options.cpp +25 -15
  503. data/ext/ice/cpp/src/IceUtil/OutputUtil.cpp +41 -16
  504. data/ext/ice/cpp/src/IceUtil/Random.cpp +3 -8
  505. data/ext/ice/cpp/src/IceUtil/RecMutex.cpp +2 -11
  506. data/ext/ice/cpp/src/IceUtil/Shared.cpp +1 -6
  507. data/ext/ice/cpp/src/IceUtil/StringConverter.cpp +6 -11
  508. data/ext/ice/cpp/src/IceUtil/StringUtil.cpp +45 -12
  509. data/ext/ice/cpp/src/IceUtil/ThreadException.cpp +1 -6
  510. data/ext/ice/cpp/src/IceUtil/Time.cpp +10 -17
  511. data/ext/ice/cpp/src/IceUtil/UUID.cpp +8 -13
  512. data/ext/ice/cpp/src/IceUtil/Unicode.cpp +1 -6
  513. data/ext/ice/cpp/src/IceUtil/Unicode.h +1 -6
  514. data/ext/ice/cpp/src/IceUtil/UtilException.cpp +17 -16
  515. data/ext/ice/cpp/src/Slice/CPlusPlusUtil.cpp +178 -170
  516. data/ext/ice/cpp/src/Slice/CPlusPlusUtil.h +8 -12
  517. data/ext/ice/cpp/src/Slice/Checksum.cpp +1 -6
  518. data/ext/ice/cpp/src/Slice/Checksum.h +1 -6
  519. data/ext/ice/cpp/src/Slice/FileTracker.cpp +1 -6
  520. data/ext/ice/cpp/src/Slice/FileTracker.h +1 -6
  521. data/ext/ice/cpp/src/Slice/Grammar.cpp +424 -438
  522. data/ext/ice/cpp/src/Slice/Grammar.h +7 -7
  523. data/ext/ice/cpp/src/Slice/GrammarUtil.h +1 -7
  524. data/ext/ice/cpp/src/Slice/JavaUtil.cpp +195 -122
  525. data/ext/ice/cpp/src/Slice/JavaUtil.h +12 -12
  526. data/ext/ice/cpp/src/Slice/MD5.cpp +1 -6
  527. data/ext/ice/cpp/src/Slice/MD5.h +1 -6
  528. data/ext/ice/cpp/src/Slice/MD5I.cpp +8 -0
  529. data/ext/ice/cpp/src/Slice/PHPUtil.cpp +6 -6
  530. data/ext/ice/cpp/src/Slice/PHPUtil.h +1 -6
  531. data/ext/ice/cpp/src/Slice/Parser.cpp +535 -266
  532. data/ext/ice/cpp/src/Slice/Parser.h +72 -12
  533. data/ext/ice/cpp/src/Slice/Preprocessor.cpp +26 -17
  534. data/ext/ice/cpp/src/Slice/Preprocessor.h +2 -7
  535. data/ext/ice/cpp/src/Slice/Python.cpp +28 -42
  536. data/ext/ice/cpp/src/Slice/PythonUtil.cpp +137 -53
  537. data/ext/ice/cpp/src/Slice/PythonUtil.h +2 -7
  538. data/ext/ice/cpp/src/Slice/Ruby.cpp +5 -10
  539. data/ext/ice/cpp/src/Slice/RubyUtil.cpp +13 -15
  540. data/ext/ice/cpp/src/Slice/RubyUtil.h +1 -6
  541. data/ext/ice/cpp/src/Slice/Scanner.cpp +296 -217
  542. data/ext/ice/cpp/src/Slice/SliceUtil.cpp +2 -8
  543. data/ext/ice/cpp/src/Slice/StringLiteralUtil.cpp +109 -27
  544. data/ext/ice/cpp/src/Slice/Util.h +5 -9
  545. data/ext/ice/mcpp/Makefile +2 -5
  546. data/ice.gemspec +3 -5
  547. data/lib/Glacier2.rb +1 -6
  548. data/lib/Glacier2/Metrics.rb +3 -8
  549. data/lib/Glacier2/PermissionsVerifier.rb +3 -8
  550. data/lib/Glacier2/PermissionsVerifierF.rb +3 -8
  551. data/lib/Glacier2/Router.rb +3 -8
  552. data/lib/Glacier2/RouterF.rb +3 -8
  553. data/lib/Glacier2/SSLInfo.rb +3 -8
  554. data/lib/Glacier2/Session.rb +3 -8
  555. data/lib/Ice.rb +2 -7
  556. data/lib/Ice/BuiltinSequences.rb +3 -8
  557. data/lib/Ice/Communicator.rb +3 -8
  558. data/lib/Ice/CommunicatorF.rb +3 -8
  559. data/lib/Ice/Connection.rb +3 -8
  560. data/lib/Ice/ConnectionF.rb +3 -8
  561. data/lib/Ice/Current.rb +3 -8
  562. data/lib/Ice/Endpoint.rb +3 -8
  563. data/lib/Ice/EndpointF.rb +3 -8
  564. data/lib/Ice/EndpointTypes.rb +3 -8
  565. data/lib/Ice/FacetMap.rb +3 -8
  566. data/lib/Ice/Identity.rb +3 -8
  567. data/lib/Ice/ImplicitContext.rb +3 -8
  568. data/lib/Ice/ImplicitContextF.rb +3 -8
  569. data/lib/Ice/Instrumentation.rb +3 -8
  570. data/lib/Ice/InstrumentationF.rb +3 -8
  571. data/lib/Ice/LocalException.rb +3 -8
  572. data/lib/Ice/Locator.rb +3 -8
  573. data/lib/Ice/LocatorF.rb +3 -8
  574. data/lib/Ice/Logger.rb +3 -8
  575. data/lib/Ice/LoggerF.rb +3 -8
  576. data/lib/Ice/Metrics.rb +3 -8
  577. data/lib/Ice/ObjectAdapter.rb +3 -8
  578. data/lib/Ice/ObjectAdapterF.rb +3 -8
  579. data/lib/Ice/ObjectFactory.rb +3 -8
  580. data/lib/Ice/Plugin.rb +3 -8
  581. data/lib/Ice/PluginF.rb +3 -8
  582. data/lib/Ice/Process.rb +3 -8
  583. data/lib/Ice/ProcessF.rb +3 -8
  584. data/lib/Ice/Properties.rb +3 -8
  585. data/lib/Ice/PropertiesAdmin.rb +3 -8
  586. data/lib/Ice/PropertiesF.rb +3 -8
  587. data/lib/Ice/RemoteLogger.rb +3 -8
  588. data/lib/Ice/Router.rb +3 -8
  589. data/lib/Ice/RouterF.rb +3 -8
  590. data/lib/Ice/ServantLocator.rb +3 -8
  591. data/lib/Ice/ServantLocatorF.rb +3 -8
  592. data/lib/Ice/SliceChecksumDict.rb +3 -8
  593. data/lib/Ice/ValueFactory.rb +3 -8
  594. data/lib/Ice/Version.rb +3 -8
  595. data/lib/IceBox.rb +1 -6
  596. data/lib/IceBox/IceBox.rb +3 -8
  597. data/lib/IceGrid.rb +1 -6
  598. data/lib/IceGrid/Admin.rb +3 -8
  599. data/lib/IceGrid/Descriptor.rb +3 -8
  600. data/lib/IceGrid/Exception.rb +3 -8
  601. data/lib/IceGrid/FileParser.rb +3 -8
  602. data/lib/IceGrid/PluginFacade.rb +3 -8
  603. data/lib/IceGrid/Registry.rb +3 -8
  604. data/lib/IceGrid/Session.rb +3 -8
  605. data/lib/IceGrid/UserAccountMapper.rb +3 -8
  606. data/lib/IcePatch2.rb +1 -6
  607. data/lib/IcePatch2/FileInfo.rb +3 -8
  608. data/lib/IcePatch2/FileServer.rb +3 -8
  609. data/lib/IceStorm.rb +1 -6
  610. data/lib/IceStorm/IceStorm.rb +3 -8
  611. data/lib/IceStorm/Metrics.rb +3 -8
  612. data/slice/Glacier2/Metrics.ice +14 -8
  613. data/slice/Glacier2/PermissionsVerifier.ice +11 -7
  614. data/slice/Glacier2/PermissionsVerifierF.ice +11 -7
  615. data/slice/Glacier2/Router.ice +12 -8
  616. data/slice/Glacier2/RouterF.ice +11 -7
  617. data/slice/Glacier2/SSLInfo.ice +11 -7
  618. data/slice/Glacier2/Session.ice +11 -7
  619. data/slice/Ice/BuiltinSequences.ice +13 -7
  620. data/slice/Ice/Communicator.ice +143 -102
  621. data/slice/Ice/CommunicatorF.ice +13 -7
  622. data/slice/Ice/Connection.ice +65 -29
  623. data/slice/Ice/ConnectionF.ice +13 -7
  624. data/slice/Ice/Current.ice +31 -26
  625. data/slice/Ice/Endpoint.ice +24 -21
  626. data/slice/Ice/EndpointF.ice +14 -8
  627. data/slice/Ice/EndpointTypes.ice +15 -9
  628. data/slice/Ice/FacetMap.ice +14 -8
  629. data/slice/Ice/Identity.ice +13 -7
  630. data/slice/Ice/ImplicitContext.ice +31 -25
  631. data/slice/Ice/ImplicitContextF.ice +12 -7
  632. data/slice/Ice/Instrumentation.ice +19 -13
  633. data/slice/Ice/InstrumentationF.ice +13 -7
  634. data/slice/Ice/LocalException.ice +35 -29
  635. data/slice/Ice/Locator.ice +14 -8
  636. data/slice/Ice/LocatorF.ice +13 -7
  637. data/slice/Ice/Logger.ice +19 -13
  638. data/slice/Ice/LoggerF.ice +13 -7
  639. data/slice/Ice/Metrics.ice +26 -18
  640. data/slice/Ice/ObjectAdapter.ice +63 -45
  641. data/slice/Ice/ObjectAdapterF.ice +13 -7
  642. data/slice/Ice/ObjectFactory.ice +20 -12
  643. data/slice/Ice/Plugin.ice +19 -10
  644. data/slice/Ice/PluginF.ice +17 -7
  645. data/slice/Ice/Process.ice +13 -7
  646. data/slice/Ice/ProcessF.ice +13 -7
  647. data/slice/Ice/Properties.ice +35 -24
  648. data/slice/Ice/PropertiesAdmin.ice +13 -7
  649. data/slice/Ice/PropertiesF.ice +13 -7
  650. data/slice/Ice/RemoteLogger.ice +23 -28
  651. data/slice/Ice/Router.ice +14 -8
  652. data/slice/Ice/RouterF.ice +13 -7
  653. data/slice/Ice/ServantLocator.ice +31 -23
  654. data/slice/Ice/ServantLocatorF.ice +13 -7
  655. data/slice/Ice/SliceChecksumDict.ice +13 -7
  656. data/slice/Ice/ValueFactory.ice +31 -26
  657. data/slice/Ice/Version.ice +13 -7
  658. data/slice/IceBT/ConnectionInfo.ice +12 -7
  659. data/slice/IceBT/EndpointInfo.ice +13 -8
  660. data/slice/IceBT/Types.ice +12 -7
  661. data/slice/IceBox/IceBox.ice +30 -11
  662. data/slice/IceDiscovery/IceDiscovery.ice +68 -7
  663. data/slice/IceGrid/Admin.ice +41 -35
  664. data/slice/IceGrid/Descriptor.ice +15 -10
  665. data/slice/IceGrid/Exception.ice +15 -10
  666. data/slice/IceGrid/FileParser.ice +14 -8
  667. data/slice/IceGrid/PluginFacade.ice +17 -11
  668. data/slice/IceGrid/Registry.ice +13 -7
  669. data/slice/IceGrid/Session.ice +18 -12
  670. data/slice/IceGrid/UserAccountMapper.ice +16 -10
  671. data/slice/IceIAP/ConnectionInfo.ice +11 -8
  672. data/slice/IceIAP/EndpointInfo.ice +11 -8
  673. data/slice/IceLocatorDiscovery/IceLocatorDiscovery.ice +12 -7
  674. data/slice/IcePatch2/FileInfo.ice +12 -7
  675. data/slice/IcePatch2/FileServer.ice +13 -8
  676. data/slice/IceSSL/ConnectionInfo.ice +16 -9
  677. data/slice/IceSSL/ConnectionInfoF.ice +14 -8
  678. data/slice/IceSSL/EndpointInfo.ice +14 -8
  679. data/slice/IceStorm/IceStorm.ice +20 -15
  680. data/slice/IceStorm/Metrics.ice +12 -8
  681. metadata +7 -13
  682. data/BZIP2_LICENSE +0 -42
  683. data/ext/ice/bzip2/blocksort.c +0 -1094
  684. data/ext/ice/bzip2/bzlib.c +0 -1572
  685. data/ext/ice/bzip2/bzlib.h +0 -282
  686. data/ext/ice/bzip2/bzlib_private.h +0 -509
  687. data/ext/ice/bzip2/compress.c +0 -672
  688. data/ext/ice/bzip2/crctable.c +0 -104
  689. data/ext/ice/bzip2/decompress.c +0 -646
  690. data/ext/ice/bzip2/huffman.c +0 -205
  691. data/ext/ice/bzip2/randtable.c +0 -84
@@ -1,11 +1,6 @@
1
- // **********************************************************************
2
1
  //
3
- // Copyright (c) 2003-2017 ZeroC, Inc. All rights reserved.
2
+ // Copyright (c) ZeroC, Inc. All rights reserved.
4
3
  //
5
- // This copy of Ice is licensed to you under the terms described in the
6
- // ICE_LICENSE file included in this distribution.
7
- //
8
- // **********************************************************************
9
4
 
10
5
  #ifndef ICE_INSTANCE_F_H
11
6
  #define ICE_INSTANCE_F_H
@@ -1,11 +1,6 @@
1
- // **********************************************************************
2
1
  //
3
- // Copyright (c) 2003-2017 ZeroC, Inc. All rights reserved.
2
+ // Copyright (c) ZeroC, Inc. All rights reserved.
4
3
  //
5
- // This copy of Ice is licensed to you under the terms described in the
6
- // ICE_LICENSE file included in this distribution.
7
- //
8
- // **********************************************************************
9
4
 
10
5
  #ifndef ICE_INTERFACE_BY_VALUE_H
11
6
  #define ICE_INTERFACE_BY_VALUE_H
@@ -19,20 +14,36 @@
19
14
  namespace Ice
20
15
  {
21
16
 
17
+ /**
18
+ * Represents an instance of a Slice interface that was marshaled by value.
19
+ * \headerfile Ice/Ice.h
20
+ */
22
21
  template<typename T>
23
22
  class InterfaceByValue : public ValueHelper<InterfaceByValue<T>, Value>
24
23
  {
25
24
  public:
25
+ /**
26
+ * Obtains the Slice type ID of this exception.
27
+ * @return The fully-scoped type ID.
28
+ */
26
29
  virtual std::string ice_id() const
27
30
  {
28
31
  return T::ice_staticId();
29
32
  }
30
33
 
34
+ /**
35
+ * Obtains the Slice type ID of this exception.
36
+ * @return The fully-scoped type ID.
37
+ */
31
38
  static const std::string& ice_staticId()
32
39
  {
33
40
  return T::ice_staticId();
34
41
  }
35
42
 
43
+ /**
44
+ * Returns an empty tuple.
45
+ * @return The empty tuple.
46
+ */
36
47
  std::tuple<> ice_tuple() const
37
48
  {
38
49
  return std::tie();
@@ -1,11 +1,6 @@
1
- // **********************************************************************
2
1
  //
3
- // Copyright (c) 2003-2017 ZeroC, Inc. All rights reserved.
2
+ // Copyright (c) ZeroC, Inc. All rights reserved.
4
3
  //
5
- // This copy of Ice is licensed to you under the terms described in the
6
- // ICE_LICENSE file included in this distribution.
7
- //
8
- // **********************************************************************
9
4
 
10
5
  #ifndef ICE_LOCAL_OBJECT_H
11
6
  #define ICE_LOCAL_OBJECT_H
@@ -22,6 +17,10 @@
22
17
  namespace Ice
23
18
  {
24
19
 
20
+ /**
21
+ * Base class for local Slice classes and interfaces.
22
+ * \headerfile Ice/Ice.h
23
+ */
25
24
  class ICE_API LocalObject : public virtual ::IceUtil::Shared
26
25
  {
27
26
  public:
@@ -1,11 +1,6 @@
1
- // **********************************************************************
2
1
  //
3
- // Copyright (c) 2003-2017 ZeroC, Inc. All rights reserved.
2
+ // Copyright (c) ZeroC, Inc. All rights reserved.
4
3
  //
5
- // This copy of Ice is licensed to you under the terms described in the
6
- // ICE_LICENSE file included in this distribution.
7
- //
8
- // **********************************************************************
9
4
 
10
5
  #ifndef ICE_LOCAL_OBJECT_F_H
11
6
  #define ICE_LOCAL_OBJECT_F_H
@@ -1,11 +1,6 @@
1
- // **********************************************************************
2
1
  //
3
- // Copyright (c) 2003-2017 ZeroC, Inc. All rights reserved.
2
+ // Copyright (c) ZeroC, Inc. All rights reserved.
4
3
  //
5
- // This copy of Ice is licensed to you under the terms described in the
6
- // ICE_LICENSE file included in this distribution.
7
- //
8
- // **********************************************************************
9
4
 
10
5
  #ifndef ICE_LOGGER_UTIL_H
11
6
  #define ICE_LOGGER_UTIL_H
@@ -18,19 +13,27 @@
18
13
  namespace Ice
19
14
  {
20
15
 
16
+ /**
17
+ * Base class for logger output utility classes.
18
+ * \headerfile Ice/Ice.h
19
+ */
21
20
  class ICE_API LoggerOutputBase : private IceUtil::noncopyable
22
21
  {
23
22
  public:
24
23
 
24
+ /** Obtains the collected output. */
25
25
  std::string str() const;
26
26
 
27
+ /// \cond INTERNAL
27
28
  std::ostringstream& _stream(); // For internal use only. Don't use in your code.
29
+ /// \endcond
28
30
 
29
31
  private:
30
32
 
31
33
  std::ostringstream _os;
32
34
  };
33
35
 
36
+ /// \cond INTERNAL
34
37
  ICE_API LoggerOutputBase& loggerInsert(LoggerOutputBase& out, const IceUtil::Exception& ex);
35
38
 
36
39
  template<typename T>
@@ -92,7 +95,12 @@ operator<<(LoggerOutputBase& out, const ::std::exception& ex)
92
95
  }
93
96
 
94
97
  ICE_API LoggerOutputBase& operator<<(LoggerOutputBase&, std::ios_base& (*)(std::ios_base&));
98
+ /// \endcond
95
99
 
100
+ /**
101
+ * Collects output and flushes it via a logger method.
102
+ * \headerfile Ice/Ice.h
103
+ */
96
104
  template<class L, class LPtr, void (L::*output)(const std::string&)>
97
105
  class LoggerOutput : public LoggerOutputBase
98
106
  {
@@ -106,6 +114,7 @@ public:
106
114
  flush();
107
115
  }
108
116
 
117
+ /** Flushes the colleted output to the logger method. */
109
118
  inline void flush()
110
119
  {
111
120
  std::string s = _stream().str();
@@ -122,10 +131,19 @@ private:
122
131
  LPtr _logger;
123
132
  };
124
133
 
134
+ /** Flushes output to Logger::print. */
125
135
  typedef LoggerOutput<Logger, LoggerPtr, &Logger::print> Print;
136
+
137
+ /** Flushes output to Logger::warning. */
126
138
  typedef LoggerOutput<Logger, LoggerPtr, &Logger::warning> Warning;
139
+
140
+ /** Flushes output to Logger::error. */
127
141
  typedef LoggerOutput<Logger, LoggerPtr, &Logger::error> Error;
128
142
 
143
+ /**
144
+ * Flushes output to Logger::trace.
145
+ * \headerfile Ice/Ice.h
146
+ */
129
147
  class ICE_API Trace : public LoggerOutputBase
130
148
  {
131
149
  public:
@@ -139,18 +157,26 @@ private:
139
157
  std::string _category;
140
158
  };
141
159
 
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
- //
160
+ /**
161
+ * A special plug-in that installs a logger during a communicator's initialization.
162
+ * Both initialize and destroy are no-op. See Ice::InitializationData.
163
+ * \headerfile Ice/Ice.h
164
+ */
146
165
  class ICE_API LoggerPlugin : public Ice::Plugin
147
166
  {
148
167
  public:
149
168
 
150
- LoggerPlugin(const CommunicatorPtr& communicator, const LoggerPtr&);
169
+ /**
170
+ * Constructs the plug-in with a target communicator and a logger.
171
+ * @param communicator The communicator in which to install the logger.
172
+ * @param logger The logger to be installed.
173
+ */
174
+ LoggerPlugin(const CommunicatorPtr& communicator, const LoggerPtr& logger);
151
175
 
176
+ /** This method is a no-op. */
152
177
  virtual void initialize();
153
178
 
179
+ /** This method is a no-op. */
154
180
  virtual void destroy();
155
181
  };
156
182
 
@@ -1,11 +1,6 @@
1
- // **********************************************************************
2
1
  //
3
- // Copyright (c) 2003-2017 ZeroC, Inc. All rights reserved.
2
+ // Copyright (c) ZeroC, Inc. All rights reserved.
4
3
  //
5
- // This copy of Ice is licensed to you under the terms described in the
6
- // ICE_LICENSE file included in this distribution.
7
- //
8
- // **********************************************************************
9
4
 
10
5
  #ifndef ICE_METRICSADMIN_I_H
11
6
  #define ICE_METRICSADMIN_I_H
@@ -36,8 +31,10 @@
36
31
  namespace IceMX
37
32
  {
38
33
 
34
+ /// \cond INTERNAL
39
35
  class Updater;
40
36
  template<typename T> class MetricsHelperT;
37
+ /// \endcond
41
38
 
42
39
  }
43
40
 
@@ -323,7 +320,14 @@ public:
323
320
  }
324
321
  }
325
322
 
326
- MetricsMapT(const MetricsMapT& other) : MetricsMapI(other), _destroyed(false)
323
+ MetricsMapT(const MetricsMapT& other)
324
+ :
325
+ #ifndef ICE_CPP11_MAPPING
326
+ IceUtil::Shared(),
327
+ #endif
328
+ MetricsMapI(other),
329
+ IceUtil::Mutex(),
330
+ _destroyed(false)
327
331
  {
328
332
  }
329
333
 
@@ -1,11 +1,6 @@
1
- // **********************************************************************
2
1
  //
3
- // Copyright (c) 2003-2017 ZeroC, Inc. All rights reserved.
2
+ // Copyright (c) ZeroC, Inc. All rights reserved.
4
3
  //
5
- // This copy of Ice is licensed to you under the terms described in the
6
- // ICE_LICENSE file included in this distribution.
7
- //
8
- // **********************************************************************
9
4
 
10
5
  #ifndef ICE_METRICSFUNCTIONAL_H
11
6
  #define ICE_METRICSFUNCTIONAL_H
@@ -92,6 +87,7 @@ template<typename R> struct ReferenceWrapper<const R&>
92
87
  namespace IceMX
93
88
  {
94
89
 
90
+ /// \cond INTERNAL
95
91
  template<class T, typename Y, typename Func> struct ApplyOnMember
96
92
  {
97
93
  ApplyOnMember(Y T::*m, Func f) : func(f), member(m)
@@ -156,6 +152,7 @@ template<class T, typename Y> ApplyOnMember<T, Y, Decrement<Y> > dec(Y T::*membe
156
152
  {
157
153
  return applyOnMember(member, Decrement<Y>());
158
154
  }
155
+ /// \endcond
159
156
 
160
157
  }
161
158
 
@@ -1,11 +1,6 @@
1
- // **********************************************************************
2
1
  //
3
- // Copyright (c) 2003-2017 ZeroC, Inc. All rights reserved.
2
+ // Copyright (c) ZeroC, Inc. All rights reserved.
4
3
  //
5
- // This copy of Ice is licensed to you under the terms described in the
6
- // ICE_LICENSE file included in this distribution.
7
- //
8
- // **********************************************************************
9
4
 
10
5
  #ifndef ICEMX_METRICSOBSERVER_I_H
11
6
  #define ICEMX_METRICSOBSERVER_I_H
@@ -26,6 +21,7 @@
26
21
  namespace IceMX
27
22
  {
28
23
 
24
+ /// \cond INTERNAL
29
25
  template<typename T> class MetricsHelperT
30
26
  {
31
27
  public:
@@ -131,6 +127,20 @@ protected:
131
127
  memberFn)));
132
128
  }
133
129
 
130
+ #if ICE_CPLUSPLUS >= 201703L
131
+ //
132
+ // Since C++17 the noexcept-specification is part of the function type and we need a separate
133
+ // overload to handle memberFn being noexcept
134
+ //
135
+ template<typename I, typename O, typename Y> void
136
+ add(const std::string& name, O (Helper::*getFn)() const, Y (I::*memberFn)() const noexcept)
137
+ {
138
+ _attributes.insert(typename std::map<std::string,
139
+ Resolver*>::value_type(name, new MemberFunctionResolver<I, O, Y>(name, getFn,
140
+ memberFn)));
141
+ }
142
+ #endif
143
+
134
144
  private:
135
145
 
136
146
  template<typename Y> class HelperMemberResolver : public Resolver
@@ -316,7 +326,7 @@ public:
316
326
  };
317
327
  ICE_DEFINE_PTR(UpdaterPtr, Updater);
318
328
 
319
- template<typename T> class UpdaterT : public Updater
329
+ template<typename T> class UpdaterT ICE_FINAL : public Updater
320
330
  {
321
331
  public:
322
332
 
@@ -652,6 +662,7 @@ private:
652
662
  };
653
663
 
654
664
  typedef ObserverT<Metrics> ObserverI;
665
+ /// \endcond
655
666
 
656
667
  }
657
668
 
@@ -1,11 +1,6 @@
1
- // **********************************************************************
2
1
  //
3
- // Copyright (c) 2003-2017 ZeroC, Inc. All rights reserved.
2
+ // Copyright (c) ZeroC, Inc. All rights reserved.
4
3
  //
5
- // This copy of Ice is licensed to you under the terms described in the
6
- // ICE_LICENSE file included in this distribution.
7
- //
8
- // **********************************************************************
9
4
 
10
5
  #ifndef ICE_PROPERTIES_ADMIN_H
11
6
  #define ICE_PROPERTIES_ADMIN_H
@@ -15,36 +10,47 @@
15
10
  namespace Ice
16
11
  {
17
12
 
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
13
  #ifndef ICE_CPP11_MAPPING
14
+ /**
15
+ * An application can be notified when its configuration properties are modified
16
+ * via the Properties admin facet. The application must define a subclass of
17
+ * PropertiesAdminUpdateCallback and register it with the facet. The facet
18
+ * implements the class NativePropertiesAdmin, so the application needs to
19
+ * downcast the facet to this type in order to register the callback.
20
+ *
21
+ * For example:
22
+ *
23
+ * \code
24
+ * Ice::ObjectPtr obj = communicator->findAdminFacet("Properties");
25
+ * assert(obj); // May be null if the facet is not enabled
26
+ * NativePropertiesAdminPtr facet = NativePropertiesAdminPtr::dynamicCast(obj);
27
+ * PropertiesAdminUpdateCallbackPtr myCallback = ...;
28
+ * facet->addUpdateCallback(myCallback);
29
+ * \endcode
30
+ *
31
+ * Ice ignores any exceptions raised by the callback.
32
+ * \headerfile Ice/Ice.h
33
+ */
37
34
  class ICE_API PropertiesAdminUpdateCallback : public virtual Ice::LocalObject
38
35
  {
39
36
  public:
40
37
 
41
38
  virtual ~PropertiesAdminUpdateCallback();
42
39
 
43
- virtual void updated(const PropertyDict&) = 0;
40
+ /**
41
+ * Called when the communicator's properties have been updated.
42
+ * @param d A dictionary containing the properties that were added, changed or removed,
43
+ * with a removed property denoted by an entry whose value is an empty string.
44
+ */
45
+ virtual void updated(const PropertyDict& d) = 0;
44
46
  };
45
47
  typedef IceUtil::Handle<PropertiesAdminUpdateCallback> PropertiesAdminUpdateCallbackPtr;
46
48
  #endif
47
49
 
50
+ /**
51
+ * Base class for the Properties admin facet.
52
+ * \headerfile Ice/Ice.h
53
+ */
48
54
  class ICE_API NativePropertiesAdmin
49
55
  #ifndef ICE_CPP11_MAPPING
50
56
  : public virtual IceUtil::Shared
@@ -55,10 +61,22 @@ public:
55
61
  virtual ~NativePropertiesAdmin();
56
62
 
57
63
  #ifdef ICE_CPP11_MAPPING
58
- virtual std::function<void()> addUpdateCallback(std::function<void(const PropertyDict&)>) = 0;
64
+ /**
65
+ * Register an update callback that will be invoked when property updates occur.
66
+ * @param cb The callback.
67
+ */
68
+ virtual std::function<void()> addUpdateCallback(std::function<void(const PropertyDict&)> cb) = 0;
59
69
  #else
60
- virtual void addUpdateCallback(const PropertiesAdminUpdateCallbackPtr&) = 0;
61
- virtual void removeUpdateCallback(const PropertiesAdminUpdateCallbackPtr&) = 0;
70
+ /**
71
+ * Register an update callback that will be invoked when property updates occur.
72
+ * @param cb The callback.
73
+ */
74
+ virtual void addUpdateCallback(const PropertiesAdminUpdateCallbackPtr& cb) = 0;
75
+ /**
76
+ * Remove an update callback.
77
+ * @param cb The callback to be removed.
78
+ */
79
+ virtual void removeUpdateCallback(const PropertiesAdminUpdateCallbackPtr& cb) = 0;
62
80
  #endif
63
81
  };
64
82
  ICE_DEFINE_PTR(NativePropertiesAdminPtr, NativePropertiesAdmin);
@@ -1,11 +1,6 @@
1
- // **********************************************************************
2
1
  //
3
- // Copyright (c) 2003-2017 ZeroC, Inc. All rights reserved.
2
+ // Copyright (c) ZeroC, Inc. All rights reserved.
4
3
  //
5
- // This copy of Ice is licensed to you under the terms described in the
6
- // ICE_LICENSE file included in this distribution.
7
- //
8
- // **********************************************************************
9
4
 
10
5
  #ifndef ICE_OBJECT_H
11
6
  #define ICE_OBJECT_H
@@ -39,68 +34,161 @@ class GCVisitor;
39
34
  namespace Ice
40
35
  {
41
36
 
37
+ /** A default-initialized Current instance. */
42
38
  ICE_API extern const Current emptyCurrent;
43
39
 
44
40
  #ifndef ICE_CPP11_MAPPING
41
+ /**
42
+ * Abstract callback class for an asynchronous dispatch interceptor.
43
+ * \headerfile Ice/Ice.h
44
+ */
45
45
  class ICE_API DispatchInterceptorAsyncCallback : public virtual IceUtil::Shared
46
46
  {
47
47
  public:
48
48
 
49
49
  virtual ~DispatchInterceptorAsyncCallback();
50
50
 
51
+ /** Called when the dispatch completes successfully. */
51
52
  virtual bool response() = 0;
52
- virtual bool exception(const std::exception&) = 0;
53
+
54
+ /**
55
+ * Called when the dispatch fails with an exception.
56
+ * @param ex The exception that caused the failure.
57
+ */
58
+ virtual bool exception(const std::exception& ex) = 0;
59
+
60
+ /**
61
+ * Called when the dispatch fails with an unknown exception.
62
+ */
53
63
  virtual bool exception() = 0;
54
64
  };
55
65
  ICE_DEFINE_PTR(DispatchInterceptorAsyncCallbackPtr, DispatchInterceptorAsyncCallback);
56
66
  #endif
57
67
 
68
+ /**
69
+ * Encapsulates details about a dispatch request.
70
+ * \headerfile Ice/Ice.h
71
+ */
58
72
  class ICE_API Request
59
73
  {
60
74
  public:
61
75
 
62
76
  virtual ~Request();
77
+
78
+ /**
79
+ * Obtains the Current object associated with the request.
80
+ * @return The Current object.
81
+ */
63
82
  virtual const Current& getCurrent() = 0;
64
83
  };
65
84
 
66
85
  #ifdef ICE_CPP11_MAPPING
86
+ /**
87
+ * The base class for servants.
88
+ * \headerfile Ice/Ice.h
89
+ */
67
90
  class ICE_API Object
68
91
  {
69
92
  public:
70
93
 
71
94
  virtual ~Object() = default;
72
95
 
73
- virtual bool ice_isA(std::string, const Current&) const;
96
+ /**
97
+ * Tests whether this object supports a specific Slice interface.
98
+ * @param s The type ID of the Slice interface to test against.
99
+ * @param current The Current object for the invocation.
100
+ * @return True if this object has the interface
101
+ * specified by s or derives from the interface
102
+ * specified by s.
103
+ */
104
+ virtual bool ice_isA(std::string s, const Current& current) const;
105
+ /// \cond INTERNAL
74
106
  bool _iceD_ice_isA(IceInternal::Incoming&, const Current&);
75
-
76
- virtual void ice_ping(const Current&) const;
107
+ /// \endcond
108
+
109
+ /**
110
+ * Tests whether this object can be reached.
111
+ * @param current The Current object for the invocation.
112
+ */
113
+ virtual void ice_ping(const Current& current) const;
114
+ /// \cond INTERNAL
77
115
  bool _iceD_ice_ping(IceInternal::Incoming&, const Current&);
78
-
79
- virtual std::vector< std::string> ice_ids(const Current&) const;
116
+ /// \endcond
117
+
118
+ /**
119
+ * Returns the Slice type IDs of the interfaces supported by this object.
120
+ * @param current The Current object for the invocation.
121
+ * @return The Slice type IDs of the interfaces supported by this object, in base-to-derived
122
+ * order. The first element of the returned array is always "::Ice::Object".
123
+ */
124
+ virtual std::vector< std::string> ice_ids(const Current& current) const;
125
+ /// \cond INTERNAL
80
126
  bool _iceD_ice_ids(IceInternal::Incoming&, const Current&);
81
-
82
- virtual std::string ice_id(const Current&) const;
127
+ /// \endcond
128
+
129
+ /**
130
+ * Returns the Slice type ID of the most-derived interface supported by this object.
131
+ * @param current The Current object for the invocation.
132
+ * @return The Slice type ID of the most-derived interface.
133
+ */
134
+ virtual std::string ice_id(const Current& current) const;
135
+ /// \cond INTERNAL
83
136
  bool _iceD_ice_id(IceInternal::Incoming&, const Current&);
137
+ /// \endcond
84
138
 
139
+ /**
140
+ * Obtains the Slice type ID of this type.
141
+ * @return The return value is always "::Ice::Object".
142
+ */
85
143
  static const std::string& ice_staticId();
86
144
 
87
- virtual bool ice_dispatch(Ice::Request&,
88
- std::function<bool()> = nullptr,
89
- std::function<bool(std::exception_ptr)> = nullptr);
90
-
145
+ /**
146
+ * Dispatches an invocation to a servant. This method is used by dispatch interceptors to forward an invocation
147
+ * to a servant (or to another interceptor).
148
+ * @param request The details of the invocation.
149
+ * @param response A function that should return true if Ice should send the response to the client. A null
150
+ * value is equivalent to a function that returns true.
151
+ * @param error A function that should return true if Ice should send the exception to the client. A null
152
+ * value is equivalent to a function that returns true.
153
+ * @return True if the request completed synchronously, false if the request will be completed asynchronously.
154
+ * @throws UserException A user exception that propagates out of this method will be marshaled as the result.
155
+ */
156
+ virtual bool ice_dispatch(Ice::Request& request,
157
+ std::function<bool()> response = nullptr,
158
+ std::function<bool(std::exception_ptr)> error = nullptr);
159
+
160
+ /// \cond INTERNAL
91
161
  virtual bool _iceDispatch(IceInternal::Incoming&, const Current&);
162
+ /// \endcond
92
163
 
164
+ /**
165
+ * Holds the results of a call to ice_invoke.
166
+ */
93
167
  struct Ice_invokeResult
94
168
  {
169
+ /**
170
+ * Indicates whether the invocation resulted in success (true) or a user exception (false).
171
+ */
95
172
  bool returnValue;
173
+
174
+ /**
175
+ * Holds an encapsulation of the encoded results. If returnValue is true, this contains the encoded
176
+ * out parameters. If returnValue is false, this contains the encoded user exception.
177
+ */
96
178
  std::vector<::Ice::Byte> outParams;
97
179
  };
98
180
 
99
181
  protected:
100
182
 
183
+ /// \cond INTERNAL
101
184
  static void _iceCheckMode(OperationMode, OperationMode);
185
+ /// \endcond
102
186
  };
103
187
  #else
188
+ /**
189
+ * The base class for servants.
190
+ * \headerfile Ice/Ice.h
191
+ */
104
192
  class ICE_API Object : public virtual IceUtil::Shared
105
193
  {
106
194
  public:
@@ -108,37 +196,135 @@ public:
108
196
  virtual bool operator==(const Object&) const;
109
197
  virtual bool operator<(const Object&) const;
110
198
 
111
- virtual bool ice_isA(const std::string&, const Current& = Ice::emptyCurrent) const;
199
+ /**
200
+ * Tests whether this object supports a specific Slice interface.
201
+ * @param s The type ID of the Slice interface to test against.
202
+ * @param current The Current object for the invocation.
203
+ * @return True if this object has the interface
204
+ * specified by s or derives from the interface
205
+ * specified by s.
206
+ */
207
+ virtual bool ice_isA(const std::string& s, const Current& current = Ice::emptyCurrent) const;
208
+ /// \cond INTERNAL
112
209
  bool _iceD_ice_isA(IceInternal::Incoming&, const Current&);
113
-
114
- virtual void ice_ping(const Current& = Ice::emptyCurrent) const;
210
+ /// \endcond
211
+
212
+ /**
213
+ * Tests whether this object can be reached.
214
+ * @param current The Current object for the invocation.
215
+ */
216
+ virtual void ice_ping(const Current& current = Ice::emptyCurrent) const;
217
+ /// \cond INTERNAL
115
218
  bool _iceD_ice_ping(IceInternal::Incoming&, const Current&);
116
-
117
- virtual std::vector< std::string> ice_ids(const Current& = Ice::emptyCurrent) const;
219
+ /// \endcond
220
+
221
+ /**
222
+ * Returns the Slice type IDs of the interfaces supported by this object.
223
+ * @param current The Current object for the invocation.
224
+ * @return The Slice type IDs of the interfaces supported by this object, in base-to-derived
225
+ * order. The first element of the returned array is always "::Ice::Object".
226
+ */
227
+ virtual std::vector< std::string> ice_ids(const Current& current = Ice::emptyCurrent) const;
228
+ /// \cond INTERNAL
118
229
  bool _iceD_ice_ids(IceInternal::Incoming&, const Current&);
119
-
120
- virtual const std::string& ice_id(const Current& = Ice::emptyCurrent) const;
230
+ /// \endcond
231
+
232
+ /**
233
+ * Returns the Slice type ID of the most-derived interface supported by this object.
234
+ * @param current The Current object for the invocation.
235
+ * @return The Slice type ID of the most-derived interface.
236
+ */
237
+ virtual const std::string& ice_id(const Current& current = Ice::emptyCurrent) const;
238
+ /// \cond INTERNAL
121
239
  bool _iceD_ice_id(IceInternal::Incoming&, const Current&);
122
-
123
- virtual Int ice_operationAttributes(const std::string&) const;
124
-
240
+ /// \endcond
241
+
242
+ /**
243
+ * Returns the Freeze metadata attributes for an operation.
244
+ *
245
+ * @param operation The name of the operation.
246
+ * @return The least significant bit indicates whether the operation is a read
247
+ * or write operation. If the bit is set, the operation is a write operation.
248
+ * The expression ice_operationAttributes("op") &amp; 0x1 is true if
249
+ * the operation has a <code>["freeze:write"]</code> metadata directive.
250
+ * <p>
251
+ * The second and third least significant bit indicate the transactional mode
252
+ * of the operation. The expression <code>ice_operationAttributes("op") &amp; 0x6 &gt;&gt; 1</code>
253
+ * indicates the transactional mode as follows:
254
+ * <dl>
255
+ * <dt>0</dt>
256
+ * <dd><code>["freeze:read:supports"]</code></dd>
257
+ * <dt>1</dt>
258
+ * <dd><code>["freeze:read:mandatory"]</code> or <code>["freeze:write:mandatory"]</code></dd>
259
+ * <dt>2</dt>
260
+ * <dd><code>["freeze:read:required"]</code> or <code>["freeze:write:required"]</code></dd>
261
+ * <dt>3</dt>
262
+ * <dd><code>["freeze:read:never"]</code></dd>
263
+ * </dl>
264
+ *
265
+ * Refer to the Freeze manual for more information on the TransactionalEvictor.
266
+ */
267
+ virtual Int ice_operationAttributes(const std::string& operation) const;
268
+
269
+ /// \cond STREAM
125
270
  virtual void _iceWrite(Ice::OutputStream*) const;
126
271
  virtual void _iceRead(Ice::InputStream*);
272
+ /// \endcond
127
273
 
274
+ /// \cond INTERNAL
128
275
  virtual bool _iceGcVisit(IceInternal::GCVisitor&) { return false; }
129
- virtual void ice_collectable(bool) { }
130
-
276
+ /// \endcond
277
+
278
+ /**
279
+ * Determines whether this object, and by extension the graph of all objects reachable from this object,
280
+ * are eligible for garbage collection when all external references to the graph have been released.
281
+ * @param b True if the object is eligible, false otherwise.
282
+ */
283
+ virtual void ice_collectable(bool b);
284
+
285
+ /**
286
+ * The Ice run time invokes this method prior to marshaling an object's data members. This allows a subclass
287
+ * to override this method in order to validate its data members.
288
+ */
131
289
  virtual void ice_preMarshal();
290
+
291
+ /**
292
+ * The Ice run time invokes this method vafter unmarshaling an object's data members. This allows a
293
+ * subclass to override this method in order to perform additional initialization.
294
+ */
132
295
  virtual void ice_postUnmarshal();
133
296
 
297
+ /**
298
+ * Obtains the Slice type ID of this type.
299
+ * @return The return value is always "::Ice::Object".
300
+ */
134
301
  static const std::string& ice_staticId();
135
302
 
303
+ /**
304
+ * Returns a shallow copy of the object.
305
+ * @return The cloned object.
306
+ */
136
307
  virtual ObjectPtr ice_clone() const;
137
308
 
309
+ /**
310
+ * Obtains the sliced data associated with this instance.
311
+ * @return The sliced data if the value has a preserved-slice base class and has been sliced during
312
+ * unmarshaling of the value, nil otherwise.
313
+ */
138
314
  virtual SlicedDataPtr ice_getSlicedData() const;
139
315
 
140
- virtual bool ice_dispatch(Ice::Request&, const DispatchInterceptorAsyncCallbackPtr& = 0);
316
+ /**
317
+ * Dispatches an invocation to a servant. This method is used by dispatch interceptors to forward an invocation
318
+ * to a servant (or to another interceptor).
319
+ * @param request The details of the invocation.
320
+ * @param cb The asynchronous callback object.
321
+ * @return True if the request completed synchronously, false if the request will be completed asynchronously.
322
+ * @throws UserException A user exception that propagates out of this method will be marshaled as the result.
323
+ */
324
+ virtual bool ice_dispatch(Ice::Request& request, const DispatchInterceptorAsyncCallbackPtr& cb = 0);
325
+ /// \cond INTERNAL
141
326
  virtual bool _iceDispatch(IceInternal::Incoming&, const Current&);
327
+ /// \endcond
142
328
 
143
329
  protected:
144
330
 
@@ -147,66 +333,166 @@ protected:
147
333
 
148
334
  protected:
149
335
 
336
+ /// \cond STREAM
150
337
  virtual void _iceWriteImpl(Ice::OutputStream*) const {}
151
338
  virtual void _iceReadImpl(Ice::InputStream*) {}
339
+ /// \endcond
152
340
 
341
+ /// \cond INTERNAL
153
342
  static void _iceCheckMode(OperationMode, OperationMode);
343
+ /// \endcond
154
344
  };
155
345
  #endif
156
346
 
347
+ /**
348
+ * Base class for dynamic dispatch servants. A server application derives a concrete servant class
349
+ * from Blobject that implements the ice_invoke method.
350
+ * \headerfile Ice/Ice.h
351
+ */
157
352
  class ICE_API Blobject : public virtual Object
158
353
  {
159
354
  public:
160
355
 
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
-
356
+ /**
357
+ * Dispatch an incoming request.
358
+ *
359
+ * @param inEncaps An encapsulation containing the encoded in-parameters for the operation.
360
+ * @param outEncaps An encapsulation containing the encoded results for the operation.
361
+ * @param current The Current object for the invocation.
362
+ * @return True if the operation completed successfully, in which case outEncaps contains
363
+ * an encapsulation of the encoded results, or false if the operation raised a user exception,
364
+ * in which case outEncaps contains an encapsulation of the encoded user exception.
365
+ * @throws UserException A user exception can be raised directly and the
366
+ * run time will marshal it.
367
+ */
368
+ virtual bool ice_invoke(ICE_IN(std::vector<Byte>) inEncaps, std::vector<Byte>& outEncaps,
369
+ const Current& current) = 0;
370
+
371
+ /// \cond INTERNAL
166
372
  virtual bool _iceDispatch(IceInternal::Incoming&, const Current&);
373
+ /// \endcond
167
374
  };
168
375
 
376
+ /**
377
+ * Base class for dynamic dispatch servants that uses the array mapping. A server application
378
+ * derives a concrete servant class from Blobject that implements the ice_invoke method.
379
+ * \headerfile Ice/Ice.h
380
+ */
169
381
  class ICE_API BlobjectArray : public virtual Object
170
382
  {
171
383
  public:
172
384
 
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
-
385
+ /**
386
+ * Dispatch an incoming request.
387
+ *
388
+ * @param inEncaps An encapsulation containing the encoded in-parameters for the operation.
389
+ * @param outEncaps An encapsulation containing the encoded results for the operation.
390
+ * @param current The Current object for the invocation.
391
+ * @return True if the operation completed successfully, in which case outEncaps contains
392
+ * an encapsulation of the encoded results, or false if the operation raised a user exception,
393
+ * in which case outEncaps contains an encapsulation of the encoded user exception.
394
+ * @throws UserException A user exception can be raised directly and the
395
+ * run time will marshal it.
396
+ */
397
+ virtual bool ice_invoke(ICE_IN(std::pair<const Byte*, const Byte*>) inEncaps, std::vector<Byte>& outEncaps,
398
+ const Current& current) = 0;
399
+
400
+ /// \cond INTERNAL
178
401
  virtual bool _iceDispatch(IceInternal::Incoming&, const Current&);
402
+ /// \endcond
179
403
  };
180
404
 
405
+ /**
406
+ * Base class for asynchronous dynamic dispatch servants. A server application derives a concrete
407
+ * servant class from Blobject that implements the ice_invokeAsync method.
408
+ * \headerfile Ice/Ice.h
409
+ */
181
410
  class ICE_API BlobjectAsync : public virtual Object
182
411
  {
183
412
  public:
184
413
 
185
414
  #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;
415
+ /**
416
+ * Dispatch an incoming request asynchronously.
417
+ *
418
+ * @param inEncaps An encapsulation containing the encoded in-parameters for the operation.
419
+ * @param response A callback the implementation should invoke when the invocation completes
420
+ * successfully or with a user exception. See the description of Blobject::ice_invoke for
421
+ * the semantics.
422
+ * @param error A callback the implementation should invoke when the invocation completes
423
+ * with an exception.
424
+ * @param current The Current object for the invocation.
425
+ * @throws UserException A user exception can be raised directly and the
426
+ * run time will marshal it.
427
+ */
428
+ virtual void ice_invokeAsync(std::vector<Byte> inEncaps,
429
+ std::function<void(bool, const std::vector<Byte>&)> response,
430
+ std::function<void(std::exception_ptr)> error,
431
+ const Current& current) = 0;
190
432
  #else
191
- virtual void ice_invoke_async(const AMD_Object_ice_invokePtr&, const std::vector<Byte>&, const Current&) = 0;
433
+ /**
434
+ * Dispatch an incoming request asynchronously.
435
+ *
436
+ * @param cb The callback to invoke when the invocation completes.
437
+ * @param inEncaps An encapsulation containing the encoded in-parameters for the operation.
438
+ * @param current The Current object for the invocation.
439
+ * @throws UserException A user exception can be raised directly and the
440
+ * run time will marshal it.
441
+ */
442
+ virtual void ice_invoke_async(const AMD_Object_ice_invokePtr& cb, const std::vector<Byte>& inEncaps,
443
+ const Current& current) = 0;
192
444
  #endif
445
+
446
+ /// \cond INTERNAL
193
447
  virtual bool _iceDispatch(IceInternal::Incoming&, const Current&);
448
+ /// \endcond
194
449
  };
195
450
 
451
+ /**
452
+ * Base class for asynchronous dynamic dispatch servants that uses the array mapping. A server application
453
+ * derives a concrete servant class from Blobject that implements the ice_invokeAsync method.
454
+ * \headerfile Ice/Ice.h
455
+ */
196
456
  class ICE_API BlobjectArrayAsync : public virtual Object
197
457
  {
198
458
  public:
199
459
 
200
460
  #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;
461
+ /**
462
+ * Dispatch an incoming request asynchronously.
463
+ *
464
+ * @param inEncaps An encapsulation containing the encoded in-parameters for the operation.
465
+ * @param response A callback the implementation should invoke when the invocation completes
466
+ * successfully or with a user exception. See the description of Blobject::ice_invoke for
467
+ * the semantics.
468
+ * @param error A callback the implementation should invoke when the invocation completes
469
+ * with an exception.
470
+ * @param current The Current object for the invocation.
471
+ * @throws UserException A user exception can be raised directly and the
472
+ * run time will marshal it.
473
+ */
474
+ virtual void ice_invokeAsync(std::pair<const Byte*, const Byte*> inEncaps,
475
+ std::function<void(bool, const std::pair<const Byte*, const Byte*>&)> response,
476
+ std::function<void(std::exception_ptr)> error,
477
+ const Current& current) = 0;
205
478
  #else
206
- virtual void ice_invoke_async(const AMD_Object_ice_invokePtr&, const std::pair<const Byte*, const Byte*>&,
207
- const Current&) = 0;
479
+ /**
480
+ * Dispatch an incoming request asynchronously.
481
+ *
482
+ * @param cb The callback to invoke when the invocation completes.
483
+ * @param inEncaps An encapsulation containing the encoded in-parameters for the operation.
484
+ * @param current The Current object for the invocation.
485
+ * @throws UserException A user exception can be raised directly and the
486
+ * run time will marshal it.
487
+ */
488
+ virtual void ice_invoke_async(const AMD_Object_ice_invokePtr& cb,
489
+ const std::pair<const Byte*, const Byte*>& inEncaps,
490
+ const Current& current) = 0;
208
491
  #endif
492
+
493
+ /// \cond INTERNAL
209
494
  virtual bool _iceDispatch(IceInternal::Incoming&, const Current&);
495
+ /// \endcond
210
496
  };
211
497
 
212
498
  }