zeroc-ice 3.7.1 → 3.7.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (683) hide show
  1. checksums.yaml +5 -5
  2. data/ICE_LICENSE +1 -1
  3. data/bin/slice2rb +1 -6
  4. data/ext/Communicator.cpp +7 -9
  5. data/ext/Communicator.h +1 -6
  6. data/ext/Config.h +28 -6
  7. data/ext/Connection.cpp +1 -10
  8. data/ext/Connection.h +1 -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 +21 -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 +74 -58
  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 +1 -6
  29. data/ext/ValueFactoryManager.h +1 -6
  30. data/ext/extconf.rb +5 -3
  31. data/ext/ice/cpp/include/Ice/Application.h +1 -6
  32. data/ext/ice/cpp/include/Ice/AsyncResult.h +1 -6
  33. data/ext/ice/cpp/include/Ice/AsyncResultF.h +1 -6
  34. data/ext/ice/cpp/include/Ice/BatchRequestInterceptor.h +1 -6
  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 +1 -6
  38. data/ext/ice/cpp/include/Ice/Comparable.h +1 -6
  39. data/ext/ice/cpp/include/Ice/Config.h +5 -6
  40. data/ext/ice/cpp/include/Ice/ConnectionAsync.h +1 -6
  41. data/ext/ice/cpp/include/Ice/ConnectionIF.h +1 -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 +1 -6
  45. data/ext/ice/cpp/include/Ice/Dispatcher.h +1 -6
  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 +4 -9
  49. data/ext/ice/cpp/include/Ice/ExceptionHelpers.h +3 -16
  50. data/ext/ice/cpp/include/Ice/FactoryTable.h +1 -6
  51. data/ext/ice/cpp/include/Ice/FactoryTableInit.h +2 -7
  52. data/ext/ice/cpp/include/Ice/Format.h +1 -6
  53. data/ext/ice/cpp/include/Ice/Functional.h +2 -7
  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 +11 -17
  58. data/ext/ice/cpp/include/Ice/Incoming.h +13 -8
  59. data/ext/ice/cpp/include/Ice/IncomingAsync.h +11 -6
  60. data/ext/ice/cpp/include/Ice/IncomingAsyncF.h +1 -6
  61. data/ext/ice/cpp/include/Ice/Initialize.h +13 -7
  62. data/ext/ice/cpp/include/Ice/InputStream.h +6 -11
  63. data/ext/ice/cpp/include/Ice/InstanceF.h +1 -6
  64. data/ext/ice/cpp/include/Ice/InterfaceByValue.h +1 -6
  65. data/ext/ice/cpp/include/Ice/LocalObject.h +1 -6
  66. data/ext/ice/cpp/include/Ice/LocalObjectF.h +1 -6
  67. data/ext/ice/cpp/include/Ice/LoggerUtil.h +1 -6
  68. data/ext/ice/cpp/include/Ice/MetricsAdminI.h +9 -7
  69. data/ext/ice/cpp/include/Ice/MetricsFunctional.h +1 -6
  70. data/ext/ice/cpp/include/Ice/MetricsObserverI.h +16 -7
  71. data/ext/ice/cpp/include/Ice/NativePropertiesAdmin.h +1 -6
  72. data/ext/ice/cpp/include/Ice/Object.h +6 -6
  73. data/ext/ice/cpp/include/Ice/ObjectF.h +1 -6
  74. data/ext/ice/cpp/include/Ice/ObserverHelper.h +1 -6
  75. data/ext/ice/cpp/include/Ice/Optional.h +21 -7
  76. data/ext/ice/cpp/include/Ice/OutgoingAsync.h +18 -8
  77. data/ext/ice/cpp/include/Ice/OutgoingAsyncF.h +1 -6
  78. data/ext/ice/cpp/include/Ice/OutputStream.h +6 -11
  79. data/ext/ice/cpp/include/Ice/Protocol.h +1 -6
  80. data/ext/ice/cpp/include/Ice/Proxy.h +50 -23
  81. data/ext/ice/cpp/include/Ice/ProxyF.h +1 -6
  82. data/ext/ice/cpp/include/Ice/ProxyFactoryF.h +1 -6
  83. data/ext/ice/cpp/include/Ice/ProxyHandle.h +1 -6
  84. data/ext/ice/cpp/include/Ice/ReferenceF.h +1 -6
  85. data/ext/ice/cpp/include/Ice/RegisterPlugins.h +1 -6
  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 +2 -7
  91. data/ext/ice/cpp/include/Ice/SliceChecksums.h +1 -6
  92. data/ext/ice/cpp/include/Ice/SlicedData.h +1 -6
  93. data/ext/ice/cpp/include/Ice/SlicedDataF.h +1 -6
  94. data/ext/ice/cpp/include/Ice/StreamHelpers.h +2 -7
  95. data/ext/ice/cpp/include/Ice/StringConverter.h +1 -6
  96. data/ext/ice/cpp/include/Ice/ThreadPoolF.h +1 -6
  97. data/ext/ice/cpp/include/Ice/UUID.h +1 -6
  98. data/ext/ice/cpp/include/Ice/UniquePtr.h +1 -6
  99. data/ext/ice/cpp/include/Ice/UniqueRef.h +1 -6
  100. data/ext/ice/cpp/include/Ice/UserExceptionFactory.h +1 -6
  101. data/ext/ice/cpp/include/Ice/Value.h +2 -7
  102. data/ext/ice/cpp/include/Ice/ValueF.h +1 -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 +1 -6
  106. data/ext/ice/cpp/include/IceSSL/Plugin.h +59 -6
  107. data/ext/ice/cpp/include/IceSSL/SChannel.h +5 -6
  108. data/ext/ice/cpp/include/IceSSL/SecureTransport.h +5 -6
  109. data/ext/ice/cpp/include/IceSSL/UWP.h +1 -6
  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 +34 -20
  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 +26 -38
  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 +2 -9
  127. data/ext/ice/cpp/include/IceUtil/MutexProtocol.h +1 -6
  128. data/ext/ice/cpp/include/IceUtil/MutexPtrLock.h +5 -10
  129. data/ext/ice/cpp/include/IceUtil/MutexPtrTryLock.h +1 -6
  130. data/ext/ice/cpp/include/IceUtil/Optional.h +9 -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 +8 -7
  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 +2 -7
  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 +1 -6
  148. data/ext/ice/cpp/include/IceUtil/UUID.h +1 -6
  149. data/ext/ice/cpp/include/IceUtil/UndefSysMacros.h +1 -6
  150. data/ext/ice/cpp/include/generated/Ice/BuiltinSequences.h +12 -17
  151. data/ext/ice/cpp/include/generated/Ice/Communicator.h +35 -34
  152. data/ext/ice/cpp/include/generated/Ice/CommunicatorF.h +4 -9
  153. data/ext/ice/cpp/include/generated/Ice/Connection.h +92 -57
  154. data/ext/ice/cpp/include/generated/Ice/ConnectionF.h +4 -9
  155. data/ext/ice/cpp/include/generated/Ice/Current.h +51 -57
  156. data/ext/ice/cpp/include/generated/Ice/Endpoint.h +73 -42
  157. data/ext/ice/cpp/include/generated/Ice/EndpointF.h +5 -10
  158. data/ext/ice/cpp/include/generated/Ice/EndpointTypes.h +8 -13
  159. data/ext/ice/cpp/include/generated/Ice/FacetMap.h +5 -10
  160. data/ext/ice/cpp/include/generated/Ice/Identity.h +7 -13
  161. data/ext/ice/cpp/include/generated/Ice/ImplicitContext.h +28 -27
  162. data/ext/ice/cpp/include/generated/Ice/ImplicitContextF.h +4 -9
  163. data/ext/ice/cpp/include/generated/Ice/Instrumentation.h +76 -21
  164. data/ext/ice/cpp/include/generated/Ice/InstrumentationF.h +4 -9
  165. data/ext/ice/cpp/include/generated/Ice/LocalException.h +597 -272
  166. data/ext/ice/cpp/include/generated/Ice/Locator.h +135 -52
  167. data/ext/ice/cpp/include/generated/Ice/LocatorF.h +8 -13
  168. data/ext/ice/cpp/include/generated/Ice/Logger.h +10 -9
  169. data/ext/ice/cpp/include/generated/Ice/LoggerF.h +4 -9
  170. data/ext/ice/cpp/include/generated/Ice/Metrics.h +175 -134
  171. data/ext/ice/cpp/include/generated/Ice/ObjectAdapter.h +20 -19
  172. data/ext/ice/cpp/include/generated/Ice/ObjectAdapterF.h +4 -9
  173. data/ext/ice/cpp/include/generated/Ice/ObjectFactory.h +16 -15
  174. data/ext/ice/cpp/include/generated/Ice/Plugin.h +18 -11
  175. data/ext/ice/cpp/include/generated/Ice/PluginF.h +4 -9
  176. data/ext/ice/cpp/include/generated/Ice/Process.h +14 -13
  177. data/ext/ice/cpp/include/generated/Ice/ProcessF.h +6 -11
  178. data/ext/ice/cpp/include/generated/Ice/Properties.h +22 -21
  179. data/ext/ice/cpp/include/generated/Ice/PropertiesAdmin.h +20 -19
  180. data/ext/ice/cpp/include/generated/Ice/PropertiesF.h +6 -11
  181. data/ext/ice/cpp/include/generated/Ice/RemoteLogger.h +39 -28
  182. data/ext/ice/cpp/include/generated/Ice/Router.h +43 -36
  183. data/ext/ice/cpp/include/generated/Ice/RouterF.h +6 -11
  184. data/ext/ice/cpp/include/generated/Ice/ServantLocator.h +38 -37
  185. data/ext/ice/cpp/include/generated/Ice/ServantLocatorF.h +4 -9
  186. data/ext/ice/cpp/include/generated/Ice/SliceChecksumDict.h +4 -9
  187. data/ext/ice/cpp/include/generated/Ice/ValueFactory.h +22 -15
  188. data/ext/ice/cpp/include/generated/Ice/Version.h +16 -23
  189. data/ext/ice/cpp/include/generated/IceSSL/ConnectionInfo.h +12 -12
  190. data/ext/ice/cpp/include/generated/IceSSL/ConnectionInfoF.h +4 -9
  191. data/ext/ice/cpp/include/generated/IceSSL/EndpointInfo.h +10 -10
  192. data/ext/ice/cpp/src/Ice/ACM.cpp +14 -16
  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 +4 -9
  210. data/ext/ice/cpp/src/Ice/CommunicatorF.cpp +4 -9
  211. data/ext/ice/cpp/src/Ice/CommunicatorI.cpp +23 -10
  212. data/ext/ice/cpp/src/Ice/CommunicatorI.h +6 -7
  213. data/ext/ice/cpp/src/Ice/Cond.cpp +1 -6
  214. data/ext/ice/cpp/src/Ice/ConnectRequestHandler.cpp +1 -6
  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 +4 -9
  218. data/ext/ice/cpp/src/Ice/ConnectionF.cpp +4 -9
  219. data/ext/ice/cpp/src/Ice/ConnectionFactory.cpp +146 -36
  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 +34 -24
  223. data/ext/ice/cpp/src/Ice/ConnectionI.h +1 -6
  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 +1 -6
  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 +4 -9
  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 +1 -6
  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 +1 -6
  245. data/ext/ice/cpp/src/Ice/EndpointI.h +1 -6
  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 +14 -31
  260. data/ext/ice/cpp/src/Ice/IPEndpointI.h +1 -6
  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 +4 -9
  265. data/ext/ice/cpp/src/Ice/ImplicitContextF.cpp +4 -9
  266. data/ext/ice/cpp/src/Ice/ImplicitContextI.cpp +2 -8
  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 +6 -11
  272. data/ext/ice/cpp/src/Ice/InputStream.cpp +55 -87
  273. data/ext/ice/cpp/src/Ice/Instance.cpp +58 -13
  274. data/ext/ice/cpp/src/Ice/Instance.h +3 -6
  275. data/ext/ice/cpp/src/Ice/Instrumentation.cpp +4 -9
  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 +400 -9
  280. data/ext/ice/cpp/src/Ice/LocalObject.cpp +1 -6
  281. data/ext/ice/cpp/src/Ice/Locator.cpp +52 -27
  282. data/ext/ice/cpp/src/Ice/LocatorF.cpp +4 -9
  283. data/ext/ice/cpp/src/Ice/LocatorInfo.cpp +25 -22
  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 +4 -9
  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 +12 -11
  294. data/ext/ice/cpp/src/Ice/MetricsAdminI.cpp +9 -9
  295. data/ext/ice/cpp/src/Ice/MetricsObserverI.cpp +1 -6
  296. data/ext/ice/cpp/src/Ice/Network.cpp +70 -52
  297. data/ext/ice/cpp/src/Ice/Network.h +4 -9
  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 +10 -14
  305. data/ext/ice/cpp/src/Ice/ObjectAdapter.cpp +4 -9
  306. data/ext/ice/cpp/src/Ice/ObjectAdapterF.cpp +4 -9
  307. data/ext/ice/cpp/src/Ice/ObjectAdapterFactory.cpp +1 -6
  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 +22 -7
  311. data/ext/ice/cpp/src/Ice/ObjectAdapterI.h +5 -6
  312. data/ext/ice/cpp/src/Ice/ObjectFactory.cpp +4 -9
  313. data/ext/ice/cpp/src/Ice/ObserverHelper.cpp +1 -6
  314. data/ext/ice/cpp/src/Ice/OpaqueEndpointI.cpp +5 -10
  315. data/ext/ice/cpp/src/Ice/OpaqueEndpointI.h +1 -6
  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 +4 -9
  319. data/ext/ice/cpp/src/Ice/PluginF.cpp +4 -9
  320. data/ext/ice/cpp/src/Ice/PluginManagerI.cpp +1 -6
  321. data/ext/ice/cpp/src/Ice/PluginManagerI.h +1 -6
  322. data/ext/ice/cpp/src/Ice/Process.cpp +8 -13
  323. data/ext/ice/cpp/src/Ice/ProcessF.cpp +4 -9
  324. data/ext/ice/cpp/src/Ice/Properties.cpp +4 -9
  325. data/ext/ice/cpp/src/Ice/PropertiesAdmin.cpp +11 -16
  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 +13 -17
  330. data/ext/ice/cpp/src/Ice/PropertiesI.h +1 -6
  331. data/ext/ice/cpp/src/Ice/PropertyNames.cpp +42 -8
  332. data/ext/ice/cpp/src/Ice/PropertyNames.h +2 -7
  333. data/ext/ice/cpp/src/Ice/Protocol.cpp +1 -6
  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 +9 -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 +61 -33
  344. data/ext/ice/cpp/src/Ice/Reference.h +1 -6
  345. data/ext/ice/cpp/src/Ice/ReferenceFactory.cpp +2 -9
  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 +20 -19
  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 +15 -20
  362. data/ext/ice/cpp/src/Ice/RouterF.cpp +4 -9
  363. data/ext/ice/cpp/src/Ice/RouterInfo.cpp +3 -8
  364. data/ext/ice/cpp/src/Ice/RouterInfo.h +1 -6
  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 +59 -25
  368. data/ext/ice/cpp/src/Ice/Selector.h +1 -6
  369. data/ext/ice/cpp/src/Ice/ServantLocator.cpp +4 -9
  370. data/ext/ice/cpp/src/Ice/ServantLocatorF.cpp +4 -9
  371. data/ext/ice/cpp/src/Ice/ServantManager.cpp +7 -12
  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 +15 -18
  378. data/ext/ice/cpp/src/Ice/StreamSocket.h +1 -6
  379. data/ext/ice/cpp/src/Ice/StringConverterPlugin.cpp +1 -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 +9 -7
  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 +6 -6
  390. data/ext/ice/cpp/src/Ice/TcpEndpointI.h +1 -6
  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 +69 -9
  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 +12 -7
  408. data/ext/ice/cpp/src/Ice/UdpEndpointI.h +1 -6
  409. data/ext/ice/cpp/src/Ice/UdpTransceiver.cpp +33 -26
  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 +4 -9
  413. data/ext/ice/cpp/src/Ice/ValueFactoryManagerI.cpp +1 -7
  414. data/ext/ice/cpp/src/Ice/ValueFactoryManagerI.h +1 -6
  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 +1 -6
  422. data/ext/ice/cpp/src/Ice/WSEndpoint.h +1 -6
  423. data/ext/ice/cpp/src/Ice/WSTransceiver.cpp +18 -22
  424. data/ext/ice/cpp/src/Ice/WSTransceiver.h +1 -7
  425. data/ext/ice/cpp/src/IceDiscovery/IceDiscovery.cpp +4 -9
  426. data/ext/ice/cpp/src/IceDiscovery/IceDiscovery.h +497 -17
  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 +4 -9
  434. data/ext/ice/cpp/src/IceLocatorDiscovery/IceLocatorDiscovery.h +22 -15
  435. data/ext/ice/cpp/src/IceLocatorDiscovery/Plugin.h +1 -6
  436. data/ext/ice/cpp/src/IceLocatorDiscovery/PluginI.cpp +52 -17
  437. data/ext/ice/cpp/src/IceSSL/AcceptorI.cpp +1 -6
  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 +4 -9
  442. data/ext/ice/cpp/src/IceSSL/ConnectionInfoF.cpp +4 -9
  443. data/ext/ice/cpp/src/IceSSL/ConnectorI.cpp +1 -6
  444. data/ext/ice/cpp/src/IceSSL/ConnectorI.h +1 -6
  445. data/ext/ice/cpp/src/IceSSL/EndpointI.cpp +8 -13
  446. data/ext/ice/cpp/src/IceSSL/EndpointI.h +2 -7
  447. data/ext/ice/cpp/src/IceSSL/EndpointInfo.cpp +4 -9
  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 +15 -20
  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 +271 -147
  457. data/ext/ice/cpp/src/IceSSL/OpenSSLTransceiverI.h +3 -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 +115 -6
  461. data/ext/ice/cpp/src/IceSSL/PluginI.h +11 -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 +154 -38
  470. data/ext/ice/cpp/src/IceSSL/SChannelTransceiverI.h +8 -6
  471. data/ext/ice/cpp/src/IceSSL/SSLEngine.cpp +21 -14
  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 +160 -99
  480. data/ext/ice/cpp/src/IceSSL/SecureTransportTransceiverI.h +7 -7
  481. data/ext/ice/cpp/src/IceSSL/SecureTransportUtil.cpp +35 -25
  482. data/ext/ice/cpp/src/IceSSL/SecureTransportUtil.h +5 -6
  483. data/ext/ice/cpp/src/IceSSL/TrustManager.cpp +1 -6
  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 +2 -7
  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 -7
  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 +12 -19
  511. data/ext/ice/cpp/src/IceUtil/UUID.cpp +6 -11
  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 +75 -73
  516. data/ext/ice/cpp/src/Slice/CPlusPlusUtil.h +3 -8
  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 +249 -245
  522. data/ext/ice/cpp/src/Slice/Grammar.h +5 -5
  523. data/ext/ice/cpp/src/Slice/GrammarUtil.h +1 -7
  524. data/ext/ice/cpp/src/Slice/JavaUtil.cpp +89 -92
  525. data/ext/ice/cpp/src/Slice/JavaUtil.h +5 -10
  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 +10 -6
  530. data/ext/ice/cpp/src/Slice/PHPUtil.h +1 -6
  531. data/ext/ice/cpp/src/Slice/Parser.cpp +153 -166
  532. data/ext/ice/cpp/src/Slice/Parser.h +33 -10
  533. data/ext/ice/cpp/src/Slice/Preprocessor.cpp +25 -17
  534. data/ext/ice/cpp/src/Slice/Preprocessor.h +2 -7
  535. data/ext/ice/cpp/src/Slice/Python.cpp +22 -28
  536. data/ext/ice/cpp/src/Slice/PythonUtil.cpp +80 -49
  537. data/ext/ice/cpp/src/Slice/PythonUtil.h +1 -6
  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 +689 -437
  542. data/ext/ice/cpp/src/Slice/SliceUtil.cpp +2 -8
  543. data/ext/ice/cpp/src/Slice/StringLiteralUtil.cpp +12 -12
  544. data/ext/ice/cpp/src/Slice/Util.h +1 -6
  545. data/ext/ice/mcpp/CMakeLists.txt +80 -0
  546. data/ext/ice/mcpp/Makefile +2 -5
  547. data/ext/ice/mcpp/expand.c +6 -6
  548. data/ice.gemspec +2 -4
  549. data/lib/Glacier2.rb +1 -6
  550. data/lib/Glacier2/Metrics.rb +3 -8
  551. data/lib/Glacier2/PermissionsVerifier.rb +3 -8
  552. data/lib/Glacier2/PermissionsVerifierF.rb +3 -8
  553. data/lib/Glacier2/Router.rb +3 -8
  554. data/lib/Glacier2/RouterF.rb +3 -8
  555. data/lib/Glacier2/SSLInfo.rb +3 -8
  556. data/lib/Glacier2/Session.rb +3 -8
  557. data/lib/Ice.rb +1 -6
  558. data/lib/Ice/BuiltinSequences.rb +3 -8
  559. data/lib/Ice/Communicator.rb +3 -8
  560. data/lib/Ice/CommunicatorF.rb +3 -8
  561. data/lib/Ice/Connection.rb +3 -8
  562. data/lib/Ice/ConnectionF.rb +3 -8
  563. data/lib/Ice/Current.rb +3 -8
  564. data/lib/Ice/Endpoint.rb +3 -8
  565. data/lib/Ice/EndpointF.rb +3 -8
  566. data/lib/Ice/EndpointTypes.rb +3 -8
  567. data/lib/Ice/FacetMap.rb +3 -8
  568. data/lib/Ice/Identity.rb +3 -8
  569. data/lib/Ice/ImplicitContext.rb +3 -8
  570. data/lib/Ice/ImplicitContextF.rb +3 -8
  571. data/lib/Ice/Instrumentation.rb +3 -8
  572. data/lib/Ice/InstrumentationF.rb +3 -8
  573. data/lib/Ice/LocalException.rb +3 -8
  574. data/lib/Ice/Locator.rb +3 -8
  575. data/lib/Ice/LocatorF.rb +3 -8
  576. data/lib/Ice/Logger.rb +3 -8
  577. data/lib/Ice/LoggerF.rb +3 -8
  578. data/lib/Ice/Metrics.rb +3 -8
  579. data/lib/Ice/ObjectAdapter.rb +3 -8
  580. data/lib/Ice/ObjectAdapterF.rb +3 -8
  581. data/lib/Ice/ObjectFactory.rb +3 -8
  582. data/lib/Ice/Plugin.rb +3 -8
  583. data/lib/Ice/PluginF.rb +3 -8
  584. data/lib/Ice/Process.rb +3 -8
  585. data/lib/Ice/ProcessF.rb +3 -8
  586. data/lib/Ice/Properties.rb +3 -8
  587. data/lib/Ice/PropertiesAdmin.rb +3 -8
  588. data/lib/Ice/PropertiesF.rb +3 -8
  589. data/lib/Ice/RemoteLogger.rb +3 -8
  590. data/lib/Ice/Router.rb +3 -8
  591. data/lib/Ice/RouterF.rb +3 -8
  592. data/lib/Ice/ServantLocator.rb +3 -8
  593. data/lib/Ice/ServantLocatorF.rb +3 -8
  594. data/lib/Ice/SliceChecksumDict.rb +3 -8
  595. data/lib/Ice/ValueFactory.rb +3 -8
  596. data/lib/Ice/Version.rb +3 -8
  597. data/lib/IceBox.rb +1 -6
  598. data/lib/IceBox/IceBox.rb +3 -8
  599. data/lib/IceGrid.rb +1 -6
  600. data/lib/IceGrid/Admin.rb +3 -8
  601. data/lib/IceGrid/Descriptor.rb +3 -8
  602. data/lib/IceGrid/Exception.rb +3 -8
  603. data/lib/IceGrid/FileParser.rb +3 -8
  604. data/lib/IceGrid/PluginFacade.rb +3 -8
  605. data/lib/IceGrid/Registry.rb +3 -8
  606. data/lib/IceGrid/Session.rb +3 -8
  607. data/lib/IceGrid/UserAccountMapper.rb +3 -8
  608. data/lib/IcePatch2.rb +1 -6
  609. data/lib/IcePatch2/FileInfo.rb +3 -8
  610. data/lib/IcePatch2/FileServer.rb +3 -8
  611. data/lib/IceStorm.rb +1 -6
  612. data/lib/IceStorm/IceStorm.rb +3 -8
  613. data/lib/IceStorm/Metrics.rb +3 -8
  614. data/slice/Glacier2/Metrics.ice +14 -8
  615. data/slice/Glacier2/PermissionsVerifier.ice +11 -7
  616. data/slice/Glacier2/PermissionsVerifierF.ice +11 -7
  617. data/slice/Glacier2/Router.ice +12 -8
  618. data/slice/Glacier2/RouterF.ice +11 -7
  619. data/slice/Glacier2/SSLInfo.ice +11 -7
  620. data/slice/Glacier2/Session.ice +11 -7
  621. data/slice/Ice/BuiltinSequences.ice +13 -7
  622. data/slice/Ice/Communicator.ice +92 -44
  623. data/slice/Ice/CommunicatorF.ice +13 -7
  624. data/slice/Ice/Connection.ice +35 -29
  625. data/slice/Ice/ConnectionF.ice +13 -7
  626. data/slice/Ice/Current.ice +29 -23
  627. data/slice/Ice/Endpoint.ice +22 -19
  628. data/slice/Ice/EndpointF.ice +14 -8
  629. data/slice/Ice/EndpointTypes.ice +15 -9
  630. data/slice/Ice/FacetMap.ice +14 -8
  631. data/slice/Ice/Identity.ice +13 -7
  632. data/slice/Ice/ImplicitContext.ice +28 -22
  633. data/slice/Ice/ImplicitContextF.ice +12 -7
  634. data/slice/Ice/Instrumentation.ice +19 -13
  635. data/slice/Ice/InstrumentationF.ice +13 -7
  636. data/slice/Ice/LocalException.ice +35 -29
  637. data/slice/Ice/Locator.ice +13 -7
  638. data/slice/Ice/LocatorF.ice +13 -7
  639. data/slice/Ice/Logger.ice +19 -13
  640. data/slice/Ice/LoggerF.ice +13 -7
  641. data/slice/Ice/Metrics.ice +26 -18
  642. data/slice/Ice/ObjectAdapter.ice +63 -45
  643. data/slice/Ice/ObjectAdapterF.ice +13 -7
  644. data/slice/Ice/ObjectFactory.ice +20 -12
  645. data/slice/Ice/Plugin.ice +19 -10
  646. data/slice/Ice/PluginF.ice +17 -7
  647. data/slice/Ice/Process.ice +13 -7
  648. data/slice/Ice/ProcessF.ice +13 -7
  649. data/slice/Ice/Properties.ice +35 -24
  650. data/slice/Ice/PropertiesAdmin.ice +13 -7
  651. data/slice/Ice/PropertiesF.ice +13 -7
  652. data/slice/Ice/RemoteLogger.ice +13 -7
  653. data/slice/Ice/Router.ice +14 -8
  654. data/slice/Ice/RouterF.ice +13 -7
  655. data/slice/Ice/ServantLocator.ice +31 -23
  656. data/slice/Ice/ServantLocatorF.ice +13 -7
  657. data/slice/Ice/SliceChecksumDict.ice +13 -7
  658. data/slice/Ice/ValueFactory.ice +22 -15
  659. data/slice/Ice/Version.ice +13 -7
  660. data/slice/IceBT/ConnectionInfo.ice +12 -7
  661. data/slice/IceBT/EndpointInfo.ice +13 -8
  662. data/slice/IceBT/Types.ice +12 -7
  663. data/slice/IceBox/IceBox.ice +29 -9
  664. data/slice/IceDiscovery/IceDiscovery.ice +68 -7
  665. data/slice/IceGrid/Admin.ice +41 -35
  666. data/slice/IceGrid/Descriptor.ice +15 -10
  667. data/slice/IceGrid/Exception.ice +15 -10
  668. data/slice/IceGrid/FileParser.ice +14 -8
  669. data/slice/IceGrid/PluginFacade.ice +17 -11
  670. data/slice/IceGrid/Registry.ice +13 -7
  671. data/slice/IceGrid/Session.ice +18 -12
  672. data/slice/IceGrid/UserAccountMapper.ice +16 -10
  673. data/slice/IceIAP/ConnectionInfo.ice +11 -8
  674. data/slice/IceIAP/EndpointInfo.ice +11 -8
  675. data/slice/IceLocatorDiscovery/IceLocatorDiscovery.ice +12 -7
  676. data/slice/IcePatch2/FileInfo.ice +12 -7
  677. data/slice/IcePatch2/FileServer.ice +13 -8
  678. data/slice/IceSSL/ConnectionInfo.ice +16 -9
  679. data/slice/IceSSL/ConnectionInfoF.ice +14 -8
  680. data/slice/IceSSL/EndpointInfo.ice +14 -8
  681. data/slice/IceStorm/IceStorm.ice +17 -11
  682. data/slice/IceStorm/Metrics.ice +12 -8
  683. metadata +8 -4
@@ -1,16 +1,13 @@
1
- // **********************************************************************
2
1
  //
3
- // Copyright (c) 2003-2018 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
  #include <IceUtil/StringUtil.h>
11
6
  #include <IceUtil/StringConverter.h>
12
7
  #include <cstring>
8
+ #include <string.h> // for strerror_r
13
9
 
10
+ #include <sstream>
14
11
  #include <iomanip>
15
12
 
16
13
  using namespace std;
@@ -25,11 +22,11 @@ toHexDigit(Byte b)
25
22
  assert(b < 16);
26
23
  if(b < 10)
27
24
  {
28
- return '0' + b;
25
+ return static_cast<char>('0' + b);
29
26
  }
30
27
  else
31
28
  {
32
- return 'a' - 10 + b;
29
+ return static_cast<char>('a' - 10 + b);
33
30
  }
34
31
  }
35
32
 
@@ -292,7 +289,7 @@ checkChar(const string& s, string::size_type pos)
292
289
  ostr << " has invalid ordinal value " << static_cast<int>(c);
293
290
  throw IllegalArgumentException(__FILE__, __LINE__, ostr.str());
294
291
  }
295
- return c;
292
+ return static_cast<char>(c);
296
293
  }
297
294
 
298
295
  //
@@ -1071,7 +1068,43 @@ IceUtilInternal::lastErrorToString()
1071
1068
  string
1072
1069
  IceUtilInternal::errorToString(int error)
1073
1070
  {
1074
- return strerror(error);
1071
+ vector<char> buffer(500);
1072
+ while(true)
1073
+ {
1074
+ #if !defined(__GLIBC__) || ((_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600) && !_GNU_SOURCE)
1075
+ //
1076
+ // Use the XSI-compliant version of strerror_r
1077
+ //
1078
+ int err = strerror_r(error, &buffer[0], buffer.size());
1079
+ if(err == 0)
1080
+ {
1081
+ return string(&buffer[0]);
1082
+ }
1083
+ #else
1084
+ //
1085
+ // Use the GNU-specific version of strerror_r
1086
+ //
1087
+ int oerrno = errno;
1088
+ errno = 0;
1089
+ const char* msg = strerror_r(error, &buffer[0], buffer.size());
1090
+ int err = errno;
1091
+ errno = oerrno;
1092
+ if(err == 0)
1093
+ {
1094
+ return msg;
1095
+ }
1096
+ #endif
1097
+ if(err == ERANGE && buffer.size() < 1024 * 1024)
1098
+ {
1099
+ buffer.resize(buffer.size() * 2);
1100
+ }
1101
+ else
1102
+ {
1103
+ ostringstream os;
1104
+ os << "Unknown error `" << error << "'";
1105
+ return os.str();
1106
+ }
1107
+ }
1075
1108
  }
1076
1109
 
1077
1110
  string
@@ -1091,7 +1124,7 @@ IceUtilInternal::toLower(const std::string& s)
1091
1124
  {
1092
1125
  if(isascii(s[i]))
1093
1126
  {
1094
- result += tolower(static_cast<unsigned char>(s[i]));
1127
+ result += static_cast<char>(tolower(static_cast<unsigned char>(s[i])));
1095
1128
  }
1096
1129
  else
1097
1130
  {
@@ -1110,7 +1143,7 @@ IceUtilInternal::toUpper(const std::string& s)
1110
1143
  {
1111
1144
  if(isascii(s[i]))
1112
1145
  {
1113
- result += toupper(static_cast<unsigned char>(s[i]));
1146
+ result += static_cast<char>(toupper(static_cast<unsigned char>(s[i])));
1114
1147
  }
1115
1148
  else
1116
1149
  {
@@ -1,11 +1,6 @@
1
- // **********************************************************************
2
1
  //
3
- // Copyright (c) 2003-2018 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
  #include <IceUtil/ThreadException.h>
11
6
 
@@ -1,11 +1,6 @@
1
- // **********************************************************************
2
1
  //
3
- // Copyright (c) 2003-2018 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
  #include <IceUtil/DisableWarnings.h>
11
6
  #include <IceUtil/Exception.h>
@@ -102,7 +97,7 @@ IceUtil::Time::now(Clock clock)
102
97
  struct timeb tb;
103
98
  ftime(&tb);
104
99
  # endif
105
- return Time(static_cast<Int64>(tb.time) * ICE_INT64(1000000) + tb.millitm * 1000);
100
+ return Time(static_cast<Int64>(tb.time) * ICE_INT64(1000000) + Int64(tb.millitm) * 1000);
106
101
  #else
107
102
  struct timeval tv;
108
103
  if(gettimeofday(&tv, 0) < 0)
@@ -135,7 +130,7 @@ IceUtil::Time::now(Clock clock)
135
130
  struct timeb tb;
136
131
  ftime(&tb);
137
132
  # endif
138
- return Time(static_cast<Int64>(tb.time) * ICE_INT64(1000000) + tb.millitm * 1000);
133
+ return Time(static_cast<Int64>(tb.time) * ICE_INT64(1000000) + Int64(tb.millitm) * 1000);
139
134
  }
140
135
  #elif defined(__hppa)
141
136
  //
@@ -149,7 +144,7 @@ IceUtil::Time::now(Clock clock)
149
144
  }
150
145
  return Time(tv.tv_sec * ICE_INT64(1000000) + tv.tv_usec);
151
146
  #elif defined(__APPLE__)
152
- return Time(mach_absolute_time() * machMultiplier);
147
+ return Time(static_cast<IceUtil::Int64>(mach_absolute_time() * machMultiplier));
153
148
  #else
154
149
  struct timespec ts;
155
150
  if(clock_gettime(CLOCK_MONOTONIC, &ts) < 0)
@@ -202,8 +197,8 @@ IceUtil::Time::microSecondsDouble(double t)
202
197
  IceUtil::Time::operator timeval() const
203
198
  {
204
199
  timeval tv;
205
- tv.tv_sec = static_cast<long>(_usec / 1000000);
206
- tv.tv_usec = static_cast<long>(_usec % 1000000);
200
+ tv.tv_sec = static_cast<time_t>(_usec / 1000000);
201
+ tv.tv_usec = static_cast<suseconds_t>(_usec % 1000000);
207
202
  return tv;
208
203
  }
209
204
  #endif
@@ -251,7 +246,7 @@ IceUtil::Time::toDateTime() const
251
246
  os << toString("%x %H:%M:%S") << ".";
252
247
  os.fill('0');
253
248
  os.width(3);
254
- os << static_cast<long>(_usec % 1000000 / 1000);
249
+ os << static_cast<Int64>(_usec % 1000000 / 1000);
255
250
  return os.str();
256
251
  }
257
252
 
@@ -283,19 +278,17 @@ IceUtil::Time::toDuration() const
283
278
  std::string
284
279
  IceUtil::Time::toString(const std::string& format) const
285
280
  {
286
- time_t time = static_cast<long>(_usec / 1000000);
281
+ time_t time = static_cast<time_t>(_usec / 1000000);
287
282
 
288
- struct tm* t;
289
- #ifdef _WIN32
290
- t = localtime(&time);
291
- #else
292
283
  struct tm tr;
284
+ #ifdef _MSC_VER
285
+ localtime_s(&tr, &time);
286
+ #else
293
287
  localtime_r(&time, &tr);
294
- t = &tr;
295
288
  #endif
296
289
 
297
290
  char buf[32];
298
- if(strftime(buf, sizeof(buf), format.c_str(), t) == 0)
291
+ if(strftime(buf, sizeof(buf), format.c_str(), &tr) == 0)
299
292
  {
300
293
  return std::string();
301
294
  }
@@ -1,11 +1,6 @@
1
- // **********************************************************************
2
1
  //
3
- // Copyright (c) 2003-2018 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
  #include <IceUtil/UUID.h>
11
6
 
@@ -52,7 +47,7 @@ public:
52
47
  int p = GetCurrentProcessId();
53
48
  #endif
54
49
  myPid[0] = (p >> 8) & 0x7F;
55
- myPid[1] = p & 0xFF;
50
+ myPid[1] = static_cast<char>(p & 0xFF);
56
51
  }
57
52
  };
58
53
 
@@ -70,11 +65,11 @@ inline void halfByteToHex(unsigned char hb, char*& hexBuffer)
70
65
  {
71
66
  if(hb < 10)
72
67
  {
73
- *hexBuffer++ = '0' + hb;
68
+ *hexBuffer++ = '0' + static_cast<char>(hb);
74
69
  }
75
70
  else
76
71
  {
77
- *hexBuffer++ = 'A' + (hb - 10);
72
+ *hexBuffer++ = 'A' + static_cast<char>(hb - 10);
78
73
  }
79
74
  }
80
75
 
@@ -148,8 +143,8 @@ IceUtil::generateUUID()
148
143
  //
149
144
  // Replace the end of the node by myPid (15 bits)
150
145
  //
151
- uuid.node[4] = (uuid.node[4] & 0x80) | myPid[0];
152
- uuid.node[5] = myPid[1];
146
+ uuid.node[4] = (uuid.node[4] & 0x80) | static_cast<unsigned char>(myPid[0]);
147
+ uuid.node[5] = static_cast<unsigned char>(myPid[1]);
153
148
 
154
149
  //
155
150
  // Convert to a UUID string
@@ -1,11 +1,6 @@
1
- // **********************************************************************
2
1
  //
3
- // Copyright (c) 2003-2018 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
  #include <IceUtil/Config.h>
11
6
 
@@ -1,11 +1,6 @@
1
- // **********************************************************************
2
1
  //
3
- // Copyright (c) 2003-2018 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_UTIL_UNICODE_H
11
6
  #define ICE_UTIL_UNICODE_H
@@ -1,11 +1,6 @@
1
- // **********************************************************************
2
1
  //
3
- // Copyright (c) 2003-2018 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
  #if defined(_MSC_VER) && _MSC_VER >= 1700
11
6
  //
@@ -48,7 +43,7 @@
48
43
  # endif
49
44
  # endif
50
45
 
51
- # if !defined(__sun) && !defined(__FreeBSD__) && !defined(__MINGW32__) && !defined(ICE_STATIC_LIBS)
46
+ # if !defined(_AIX) && !defined(__sun) && !defined(__FreeBSD__) && !defined(__MINGW32__) && !defined(ICE_STATIC_LIBS)
52
47
  # include <execinfo.h>
53
48
  # include <cxxabi.h>
54
49
  # include <stdint.h>
@@ -56,7 +51,10 @@
56
51
  # endif
57
52
  #endif
58
53
 
59
- #if defined(_WIN32) && !defined(ICE_OS_UWP) && !defined(__MINGW32__)
54
+ //
55
+ // The Slice compilers don't retrieve the exception stack traces so we don't need the DbgHelp calls.
56
+ //
57
+ #if defined(_WIN32) && !defined(ICE_OS_UWP) && !defined(__MINGW32__) && !defined(ICE_BUILDING_SLICE_COMPILERS)
60
58
  # define ICE_DBGHELP
61
59
  # if defined(_MSC_VER) && (_MSC_VER >= 1700)
62
60
  # define DBGHELP_TRANSLATE_TCHAR
@@ -114,13 +112,13 @@ HANDLE process = 0;
114
112
  backtrace_state* bstate = 0;
115
113
 
116
114
  void
117
- ignoreErrorCallback(void*, const char* msg, int errnum)
115
+ ignoreErrorCallback(void*, const char* /*msg*/, int /*errnum*/)
118
116
  {
119
117
  // cerr << "Error callback: " << msg << ", errnum = " << errnum << endl;
120
118
  }
121
119
 
122
120
  int
123
- ignoreFrame(void*, uintptr_t pc, const char*, int, const char*)
121
+ ignoreFrame(void*, ICE_MAYBE_UNUSED uintptr_t pc, const char*, int, const char*)
124
122
  {
125
123
  assert(pc == 0);
126
124
  return 0;
@@ -301,7 +299,7 @@ printFrame(void* data, uintptr_t pc, const char* filename, int lineno, const cha
301
299
  #ifdef ICE_LIBBACKTRACE
302
300
 
303
301
  void
304
- handlePcInfoError(void* data, const char* msg, int errnum)
302
+ handlePcInfoError(void* data, const char* /*msg*/, int /*errnum*/)
305
303
  {
306
304
  FrameInfo& frameInfo = *reinterpret_cast<FrameInfo*>(data);
307
305
  printFrame(&frameInfo, frameInfo.pc, 0, 0, 0);
@@ -352,8 +350,8 @@ getStackFrames()
352
350
  #elif defined(ICE_BACKTRACE)
353
351
 
354
352
  stackFrames.resize(100);
355
- size_t stackDepth = backtrace(&stackFrames.front(), stackFrames.size());
356
- stackFrames.resize(stackDepth);
353
+ int stackDepth = backtrace(&stackFrames.front(), static_cast<int>(stackFrames.size()));
354
+ stackFrames.resize(static_cast<size_t>(stackDepth));
357
355
  if(!stackFrames.empty())
358
356
  {
359
357
  stackFrames.erase(stackFrames.begin()); // drop the first frame
@@ -379,6 +377,7 @@ getStackTrace(const vector<void*>& stackFrames)
379
377
  // Note: the Sym functions are not thread-safe
380
378
  //
381
379
  IceUtilInternal::MutexPtrLock<IceUtil::Mutex> lock(globalMutex);
380
+ bool refreshModuleList = process != 0;
382
381
  if(process == 0)
383
382
  {
384
383
  process = GetCurrentProcess();
@@ -412,8 +411,10 @@ getStackTrace(const vector<void*>& stackFrames)
412
411
 
413
412
  lock.acquire();
414
413
 
415
- // TODO: call SymRefreshModuleList here? (not available on XP)
416
-
414
+ if(refreshModuleList && SymRefreshModuleList(process) == 0)
415
+ {
416
+ return "No stack trace: SymRefreshModuleList failed with " + IceUtilInternal::errorToString(GetLastError());
417
+ }
417
418
  #ifdef DBGHELP_TRANSLATE_TCHAR
418
419
  const IceUtil::StringConverterPtr converter = IceUtil::getProcessStringConverter();
419
420
  #endif
@@ -467,7 +468,7 @@ getStackTrace(const vector<void*>& stackFrames)
467
468
  // Initialize backtraceStrings immediately
468
469
  if(p != stackFrames.end())
469
470
  {
470
- backtraceStrings = backtrace_symbols(&*p, stackFrames.size());
471
+ backtraceStrings = backtrace_symbols(&*p, static_cast<int>(stackFrames.size()));
471
472
  }
472
473
  # endif
473
474
 
@@ -1,11 +1,6 @@
1
- // **********************************************************************
2
1
  //
3
- // Copyright (c) 2003-2018 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
  #include <Slice/CPlusPlusUtil.h>
11
6
  #include <Slice/Util.h>
@@ -62,7 +57,7 @@ toOptional(const string& s, int typeCtx)
62
57
  }
63
58
 
64
59
  string
65
- stringTypeToString(const TypePtr& type, const StringList& metaData, int typeCtx)
60
+ stringTypeToString(const TypePtr&, const StringList& metaData, int typeCtx)
66
61
  {
67
62
  string strType = findMetaData(metaData, typeCtx);
68
63
  if(strType == "wstring" || (typeCtx & TypeContextUseWstring && strType == ""))
@@ -124,7 +119,7 @@ sequenceTypeToString(const SequencePtr& seq, const string& scope, const StringLi
124
119
  }
125
120
  else
126
121
  {
127
- s = getAbsolute(fixKwd(seq->scoped()), scope);
122
+ s = getUnqualified(fixKwd(seq->scoped()), scope);
128
123
  }
129
124
 
130
125
  if(typeCtx & TypeContextAMIPrivateEnd)
@@ -145,7 +140,7 @@ sequenceTypeToString(const SequencePtr& seq, const string& scope, const StringLi
145
140
  }
146
141
  else
147
142
  {
148
- return getAbsolute(fixKwd(seq->scoped()), scope);
143
+ return getUnqualified(fixKwd(seq->scoped()), scope);
149
144
  }
150
145
  }
151
146
 
@@ -155,7 +150,7 @@ dictionaryTypeToString(const DictionaryPtr& dict, const string& scope, const Str
155
150
  const string dictType = findMetaData(metaData, typeCtx);
156
151
  if(dictType.empty())
157
152
  {
158
- return getAbsolute(fixKwd(dict->scoped()), scope);
153
+ return getUnqualified(fixKwd(dict->scoped()), scope);
159
154
  }
160
155
  else
161
156
  {
@@ -192,10 +187,10 @@ writeParamAllocateCode(Output& out, const TypePtr& type, bool optional, const st
192
187
  seqType = findMetaData(seq->getMetaData(), typeCtx);
193
188
  }
194
189
 
195
- string s;
190
+ string str;
196
191
  if(seqType == "%array")
197
192
  {
198
- s = typeToString(seq, scope, metaData, TypeContextAMIPrivateEnd);
193
+ str = typeToString(seq, scope, metaData, TypeContextAMIPrivateEnd);
199
194
  }
200
195
  else if(seqType.find("%range") == 0)
201
196
  {
@@ -204,16 +199,16 @@ writeParamAllocateCode(Output& out, const TypePtr& type, bool optional, const st
204
199
  {
205
200
  md.push_back("cpp:type:" + seqType.substr(strlen("%range:")));
206
201
  }
207
- s = typeToString(seq, scope, md, 0);
202
+ str = typeToString(seq, scope, md, 0);
208
203
  }
209
204
 
210
- if(!s.empty())
205
+ if(!str.empty())
211
206
  {
212
207
  if(optional)
213
208
  {
214
- s = toOptional(s, typeCtx);
209
+ str = toOptional(str, typeCtx);
215
210
  }
216
- out << nl << s << ' ' << fixedName << "_tmp_;";
211
+ out << nl << str << ' ' << fixedName << "_tmp_;";
217
212
  }
218
213
  }
219
214
  }
@@ -515,14 +510,9 @@ void
515
510
  Slice::printHeader(Output& out)
516
511
  {
517
512
  static const char* header =
518
- "// **********************************************************************\n"
519
- "//\n"
520
- "// Copyright (c) 2003-2018 ZeroC, Inc. All rights reserved.\n"
521
513
  "//\n"
522
- "// This copy of Ice is licensed to you under the terms described in the\n"
523
- "// ICE_LICENSE file included in this distribution.\n"
514
+ "// Copyright (c) ZeroC, Inc. All rights reserved.\n"
524
515
  "//\n"
525
- "// **********************************************************************\n"
526
516
  ;
527
517
 
528
518
  out << header;
@@ -537,7 +527,7 @@ Slice::printVersionCheck(Output& out)
537
527
  out << "\n";
538
528
  out << "\n#ifndef ICE_IGNORE_VERSION";
539
529
  int iceVersion = ICE_INT_VERSION; // Use this to prevent warning with C++Builder
540
- if(iceVersion % 100 > 50)
530
+ if(iceVersion % 100 >= 50)
541
531
  {
542
532
  //
543
533
  // Beta version: exact match required
@@ -555,7 +545,7 @@ Slice::printVersionCheck(Output& out)
555
545
  //
556
546
  // Generated code is release; reject beta header
557
547
  //
558
- out << "\n# if ICE_INT_VERSION % 100 > 50";
548
+ out << "\n# if ICE_INT_VERSION % 100 >= 50";
559
549
  out << "\n# error Beta header file detected";
560
550
  out << "\n# endif";
561
551
 
@@ -610,7 +600,7 @@ Slice::isMovable(const TypePtr& type)
610
600
  }
611
601
 
612
602
  string
613
- Slice::getAbsolute(const std::string& type, const std::string& scope)
603
+ Slice::getUnqualified(const std::string& type, const std::string& scope)
614
604
  {
615
605
  if(type.find("::") != string::npos)
616
606
  {
@@ -627,7 +617,11 @@ Slice::getAbsolute(const std::string& type, const std::string& scope)
627
617
 
628
618
  if(type.find(scope, prefix.size()) == prefix.size())
629
619
  {
630
- return prefix + type.substr(prefix.size() + scope.size());
620
+ string t = type.substr(prefix.size() + scope.size());
621
+ if(t.find("::") == string::npos)
622
+ {
623
+ return prefix + t;
624
+ }
631
625
  }
632
626
  }
633
627
  return type;
@@ -695,16 +689,16 @@ Slice::typeToString(const TypePtr& type, const string& scope, const StringList&
695
689
  {
696
690
  if(builtin->kind() == Builtin::KindObject && !(typeCtx & TypeContextLocal))
697
691
  {
698
- return getAbsolute(cpp11BuiltinTable[Builtin::KindValue], scope);
692
+ return getUnqualified(cpp11BuiltinTable[Builtin::KindValue], scope);
699
693
  }
700
694
  else
701
695
  {
702
- return getAbsolute(cpp11BuiltinTable[builtin->kind()], scope);
696
+ return getUnqualified(cpp11BuiltinTable[builtin->kind()], scope);
703
697
  }
704
698
  }
705
699
  else
706
700
  {
707
- return getAbsolute(builtinTable[builtin->kind()], scope);
701
+ return getUnqualified(builtinTable[builtin->kind()], scope);
708
702
  }
709
703
  }
710
704
 
@@ -715,20 +709,20 @@ Slice::typeToString(const TypePtr& type, const string& scope, const StringList&
715
709
  {
716
710
  if(cl->definition() && cl->definition()->isDelegate())
717
711
  {
718
- return getAbsolute(fixKwd(cl->scoped()), scope);
712
+ return getUnqualified(fixKwd(cl->scoped()), scope);
719
713
  }
720
714
  else if(cl->isInterface() && !cl->isLocal())
721
715
  {
722
- return getAbsolute(cpp11BuiltinTable[Builtin::KindValue], scope);
716
+ return getUnqualified(cpp11BuiltinTable[Builtin::KindValue], scope);
723
717
  }
724
718
  else
725
719
  {
726
- return "::std::shared_ptr<" + getAbsolute(cl->scoped(), scope) + ">";
720
+ return "::std::shared_ptr<" + getUnqualified(cl->scoped(), scope) + ">";
727
721
  }
728
722
  }
729
723
  else
730
724
  {
731
- return getAbsolute(cl->scoped() + "Ptr", scope);
725
+ return getUnqualified(cl->scoped() + "Ptr", scope);
732
726
  }
733
727
  }
734
728
 
@@ -740,11 +734,11 @@ Slice::typeToString(const TypePtr& type, const string& scope, const StringList&
740
734
  //
741
735
  if(!cpp11 && findMetaData(st->getMetaData()) == "%class")
742
736
  {
743
- return getAbsolute(fixKwd(st->scoped() + "Ptr"), scope);
737
+ return getUnqualified(fixKwd(st->scoped() + "Ptr"), scope);
744
738
  }
745
739
  else
746
740
  {
747
- return getAbsolute(fixKwd(st->scoped()), scope);
741
+ return getUnqualified(fixKwd(st->scoped()), scope);
748
742
  }
749
743
  }
750
744
 
@@ -758,25 +752,25 @@ Slice::typeToString(const TypePtr& type, const string& scope, const StringList&
758
752
  // Non local classes without operations map to the base
759
753
  // proxy class shared_ptr<Ice::ObjectPrx>
760
754
  //
761
- if(def && !def->isInterface() && def->allOperations().empty())
755
+ if(!def || def->isAbstract())
762
756
  {
763
- return getAbsolute(cpp11BuiltinTable[Builtin::KindObjectProxy], scope);
757
+ return "::std::shared_ptr<" + getUnqualified(fixKwd(proxy->_class()->scoped() + "Prx"), scope) + ">";
764
758
  }
765
759
  else
766
760
  {
767
- return "::std::shared_ptr<" + getAbsolute(fixKwd(proxy->_class()->scoped() + "Prx"), scope) + ">";
761
+ return getUnqualified(cpp11BuiltinTable[Builtin::KindObjectProxy], scope);
768
762
  }
769
763
  }
770
764
  else
771
765
  {
772
- return getAbsolute(fixKwd(proxy->_class()->scoped() + "Prx"), scope);
766
+ return getUnqualified(fixKwd(proxy->_class()->scoped() + "Prx"), scope);
773
767
  }
774
768
  }
775
769
 
776
770
  EnumPtr en = EnumPtr::dynamicCast(type);
777
771
  if(en)
778
772
  {
779
- return getAbsolute(fixKwd(en->scoped()), scope);
773
+ return getUnqualified(fixKwd(en->scoped()), scope);
780
774
  }
781
775
 
782
776
  SequencePtr seq = SequencePtr::dynamicCast(type);
@@ -880,16 +874,16 @@ Slice::inputTypeToString(const TypePtr& type, bool optional, const string& scope
880
874
  {
881
875
  if(builtin->kind() == Builtin::KindObject && !(typeCtx & TypeContextLocal))
882
876
  {
883
- return getAbsolute(cpp11InputBuiltinTable[Builtin::KindValue], scope);
877
+ return getUnqualified(cpp11InputBuiltinTable[Builtin::KindValue], scope);
884
878
  }
885
879
  else
886
880
  {
887
- return getAbsolute(cpp11InputBuiltinTable[builtin->kind()], scope);
881
+ return getUnqualified(cpp11InputBuiltinTable[builtin->kind()], scope);
888
882
  }
889
883
  }
890
884
  else
891
885
  {
892
- return getAbsolute(cpp98InputBuiltinTable[builtin->kind()], scope);
886
+ return getUnqualified(cpp98InputBuiltinTable[builtin->kind()], scope);
893
887
  }
894
888
  }
895
889
 
@@ -900,20 +894,20 @@ Slice::inputTypeToString(const TypePtr& type, bool optional, const string& scope
900
894
  {
901
895
  if(cl->definition() && cl->definition()->isDelegate())
902
896
  {
903
- return getAbsolute(fixKwd(cl->scoped()), scope);
897
+ return getUnqualified(fixKwd(cl->scoped()), scope);
904
898
  }
905
899
  else if(cl->isInterface() && !cl->isLocal())
906
900
  {
907
- return getAbsolute(cpp11InputBuiltinTable[Builtin::KindValue], scope);
901
+ return getUnqualified(cpp11InputBuiltinTable[Builtin::KindValue], scope);
908
902
  }
909
903
  else
910
904
  {
911
- return "const ::std::shared_ptr<" + getAbsolute(fixKwd(cl->scoped()), scope) + ">&";
905
+ return "const ::std::shared_ptr<" + getUnqualified(fixKwd(cl->scoped()), scope) + ">&";
912
906
  }
913
907
  }
914
908
  else
915
909
  {
916
- return "const " + getAbsolute(fixKwd(cl->scoped() + "Ptr&"), scope);
910
+ return "const " + getUnqualified(fixKwd(cl->scoped() + "Ptr&"), scope);
917
911
  }
918
912
  }
919
913
 
@@ -922,17 +916,17 @@ Slice::inputTypeToString(const TypePtr& type, bool optional, const string& scope
922
916
  {
923
917
  if(cpp11)
924
918
  {
925
- return "const " + getAbsolute(fixKwd(st->scoped()), scope) + "&";
919
+ return "const " + getUnqualified(fixKwd(st->scoped()), scope) + "&";
926
920
  }
927
921
  else
928
922
  {
929
923
  if(findMetaData(st->getMetaData()) == "%class")
930
924
  {
931
- return "const " + getAbsolute(fixKwd(st->scoped() + "Ptr"), scope) + "&";
925
+ return "const " + getUnqualified(fixKwd(st->scoped() + "Ptr"), scope) + "&";
932
926
  }
933
927
  else
934
928
  {
935
- return "const " + getAbsolute(fixKwd(st->scoped()), scope) + "&";
929
+ return "const " + getUnqualified(fixKwd(st->scoped()), scope) + "&";
936
930
  }
937
931
  }
938
932
  }
@@ -945,23 +939,23 @@ Slice::inputTypeToString(const TypePtr& type, bool optional, const string& scope
945
939
  ClassDefPtr def = proxy->_class()->definition();
946
940
  if(def && !def->isInterface() && def->allOperations().empty())
947
941
  {
948
- return getAbsolute(cpp11InputBuiltinTable[Builtin::KindObjectProxy], scope);
942
+ return getUnqualified(cpp11InputBuiltinTable[Builtin::KindObjectProxy], scope);
949
943
  }
950
944
  else
951
945
  {
952
- return "const ::std::shared_ptr<" + getAbsolute(fixKwd(proxy->_class()->scoped() + "Prx"), scope) + ">&";
946
+ return "const ::std::shared_ptr<" + getUnqualified(fixKwd(proxy->_class()->scoped() + "Prx"), scope) + ">&";
953
947
  }
954
948
  }
955
949
  else
956
950
  {
957
- return "const " + getAbsolute(fixKwd(proxy->_class()->scoped() + "Prx"), scope) + "&";
951
+ return "const " + getUnqualified(fixKwd(proxy->_class()->scoped() + "Prx"), scope) + "&";
958
952
  }
959
953
  }
960
954
 
961
955
  EnumPtr en = EnumPtr::dynamicCast(type);
962
956
  if(en)
963
957
  {
964
- return getAbsolute(fixKwd(en->scoped()), scope);
958
+ return getUnqualified(fixKwd(en->scoped()), scope);
965
959
  }
966
960
 
967
961
  SequencePtr seq = SequencePtr::dynamicCast(type);
@@ -1033,16 +1027,16 @@ Slice::outputTypeToString(const TypePtr& type, bool optional, const string& scop
1033
1027
  {
1034
1028
  if(builtin->kind() == Builtin::KindObject && !(typeCtx & TypeContextLocal))
1035
1029
  {
1036
- return getAbsolute(cpp11OutputBuiltinTable[Builtin::KindValue], scope);
1030
+ return getUnqualified(cpp11OutputBuiltinTable[Builtin::KindValue], scope);
1037
1031
  }
1038
1032
  else
1039
1033
  {
1040
- return getAbsolute(cpp11OutputBuiltinTable[builtin->kind()], scope);
1034
+ return getUnqualified(cpp11OutputBuiltinTable[builtin->kind()], scope);
1041
1035
  }
1042
1036
  }
1043
1037
  else
1044
1038
  {
1045
- return getAbsolute(outputBuiltinTable[builtin->kind()], scope);
1039
+ return getUnqualified(outputBuiltinTable[builtin->kind()], scope);
1046
1040
  }
1047
1041
  }
1048
1042
 
@@ -1053,20 +1047,20 @@ Slice::outputTypeToString(const TypePtr& type, bool optional, const string& scop
1053
1047
  {
1054
1048
  if(cl->definition() && cl->definition()->isDelegate())
1055
1049
  {
1056
- return getAbsolute(fixKwd(cl->scoped()), scope) + "&";
1050
+ return getUnqualified(fixKwd(cl->scoped()), scope) + "&";
1057
1051
  }
1058
1052
  else if(cl->isInterface() && !cl->isLocal())
1059
1053
  {
1060
- return getAbsolute(cpp11OutputBuiltinTable[Builtin::KindValue], scope);
1054
+ return getUnqualified(cpp11OutputBuiltinTable[Builtin::KindValue], scope);
1061
1055
  }
1062
1056
  else
1063
1057
  {
1064
- return "::std::shared_ptr<" + getAbsolute(fixKwd(cl->scoped()), scope) + ">&";
1058
+ return "::std::shared_ptr<" + getUnqualified(fixKwd(cl->scoped()), scope) + ">&";
1065
1059
  }
1066
1060
  }
1067
1061
  else
1068
1062
  {
1069
- return getAbsolute(fixKwd(cl->scoped() + "Ptr&"), scope);
1063
+ return getUnqualified(fixKwd(cl->scoped() + "Ptr&"), scope);
1070
1064
  }
1071
1065
  }
1072
1066
 
@@ -1075,11 +1069,11 @@ Slice::outputTypeToString(const TypePtr& type, bool optional, const string& scop
1075
1069
  {
1076
1070
  if(!cpp11 && findMetaData(st->getMetaData()) == "%class")
1077
1071
  {
1078
- return getAbsolute(fixKwd(st->scoped() + "Ptr&"), scope);
1072
+ return getUnqualified(fixKwd(st->scoped() + "Ptr&"), scope);
1079
1073
  }
1080
1074
  else
1081
1075
  {
1082
- return getAbsolute(fixKwd(st->scoped()), scope) + "&";
1076
+ return getUnqualified(fixKwd(st->scoped()), scope) + "&";
1083
1077
  }
1084
1078
  }
1085
1079
 
@@ -1095,23 +1089,23 @@ Slice::outputTypeToString(const TypePtr& type, bool optional, const string& scop
1095
1089
  //
1096
1090
  if(def && !def->isInterface() && def->allOperations().empty())
1097
1091
  {
1098
- return getAbsolute(cpp11OutputBuiltinTable[Builtin::KindObjectProxy], scope);
1092
+ return getUnqualified(cpp11OutputBuiltinTable[Builtin::KindObjectProxy], scope);
1099
1093
  }
1100
1094
  else
1101
1095
  {
1102
- return "::std::shared_ptr<" + getAbsolute(fixKwd(proxy->_class()->scoped() + "Prx"), scope) + ">&";
1096
+ return "::std::shared_ptr<" + getUnqualified(fixKwd(proxy->_class()->scoped() + "Prx"), scope) + ">&";
1103
1097
  }
1104
1098
  }
1105
1099
  else
1106
1100
  {
1107
- return getAbsolute(fixKwd(proxy->_class()->scoped() + "Prx&"), scope);
1101
+ return getUnqualified(fixKwd(proxy->_class()->scoped() + "Prx&"), scope);
1108
1102
  }
1109
1103
  }
1110
1104
 
1111
1105
  EnumPtr en = EnumPtr::dynamicCast(type);
1112
1106
  if(en)
1113
1107
  {
1114
- return getAbsolute(fixKwd(en->scoped()), scope) + "&";
1108
+ return getUnqualified(fixKwd(en->scoped()), scope) + "&";
1115
1109
  }
1116
1110
 
1117
1111
  SequencePtr seq = SequencePtr::dynamicCast(type);
@@ -1202,8 +1196,8 @@ lookupKwd(const string& name)
1202
1196
  "decltype", "default", "delete", "do", "double", "dynamic_cast",
1203
1197
  "else", "enum", "explicit", "export", "extern", "false", "float", "for", "friend",
1204
1198
  "goto", "if", "inline", "int", "long", "mutable", "namespace", "new", "noexcept", "not", "not_eq",
1205
- "operator", "or", "or_eq", "private", "protected", "public", "register", "reinterpret_cast", "return",
1206
- "short", "signed", "sizeof", "static", "static_assert", "static_cast", "struct", "switch",
1199
+ "operator", "or", "or_eq", "private", "protected", "public", "register", "reinterpret_cast", "requires",
1200
+ "return", "short", "signed", "sizeof", "static", "static_assert", "static_cast", "struct", "switch",
1207
1201
  "template", "this", "thread_local", "throw", "true", "try", "typedef", "typeid", "typename",
1208
1202
  "union", "unsigned", "using", "virtual", "void", "volatile", "wchar_t", "while", "xor", "xor_eq"
1209
1203
  };
@@ -1263,7 +1257,11 @@ Slice::fixKwd(const string& name)
1263
1257
  return lookupKwd(name);
1264
1258
  }
1265
1259
  StringList ids = splitScopedName(name);
1260
+ #ifdef ICE_CPP11_COMPILER
1261
+ transform(ids.begin(), ids.end(), ids.begin(), [](const string& id) -> string { return lookupKwd(id); });
1262
+ #else
1266
1263
  transform(ids.begin(), ids.end(), ids.begin(), ptr_fun(lookupKwd));
1264
+ #endif
1267
1265
  stringstream result;
1268
1266
  for(StringList::const_iterator i = ids.begin(); i != ids.end(); ++i)
1269
1267
  {
@@ -1502,7 +1500,7 @@ Slice::writeStreamHelpers(Output& out,
1502
1500
  bool cpp11)
1503
1501
  {
1504
1502
  // If c is a C++11 class/exception whose base class contains data members (recursively), then we need to generate
1505
- // an StreamWriter even if its implementation is empty. This is becuase our default marsaling uses ice_tuple() which
1503
+ // a StreamWriter even if its implementation is empty. This is because our default marshaling uses ice_tuple() which
1506
1504
  // contains all of our class/exception's data members as well the base data members, which breaks marshaling. This
1507
1505
  // is not an issue for structs.
1508
1506
  if(dataMembers.empty() && !(cpp11 && hasBaseDataMembers))
@@ -1586,7 +1584,7 @@ Slice::writeStreamHelpers(Output& out,
1586
1584
  }
1587
1585
 
1588
1586
  //
1589
- // Generate StreamWriter
1587
+ // Generate StreamReader
1590
1588
  //
1591
1589
  out << nl << "template<typename S>";
1592
1590
  out << nl << "struct StreamReader" << (cpp11 ? "<" : "< ") << fullName << ", S>";
@@ -1625,9 +1623,13 @@ Slice::writeStreamHelpers(Output& out,
1625
1623
  }
1626
1624
 
1627
1625
  void
1628
- Slice::writeIceTuple(::IceUtilInternal::Output& out, const string& scope, DataMemberList dataMembers, int typeCtx)
1626
+ Slice::writeIceTuple(::IceUtilInternal::Output& out, DataMemberList dataMembers, int typeCtx)
1629
1627
  {
1630
- out << sp << nl << "std::tuple<";
1628
+ //
1629
+ // Use an empty scope to get full qualified names from calls to typeToString.
1630
+ //
1631
+ const string scope = "";
1632
+ out << nl << "std::tuple<";
1631
1633
  for(DataMemberList::const_iterator q = dataMembers.begin(); q != dataMembers.end(); ++q)
1632
1634
  {
1633
1635
  if(q != dataMembers.begin())