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,19 +1,19 @@
1
1
  /* A Bison parser, made by GNU Bison 2.7. */
2
2
 
3
3
  /* Bison interface for Yacc-like parsers in C
4
-
4
+
5
5
  Copyright (C) 1984, 1989-1990, 2000-2012 Free Software Foundation, Inc.
6
-
6
+
7
7
  This program is free software: you can redistribute it and/or modify
8
8
  it under the terms of the GNU General Public License as published by
9
9
  the Free Software Foundation, either version 3 of the License, or
10
10
  (at your option) any later version.
11
-
11
+
12
12
  This program is distributed in the hope that it will be useful,
13
13
  but WITHOUT ANY WARRANTY; without even the implied warranty of
14
14
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
15
  GNU General Public License for more details.
16
-
16
+
17
17
  You should have received a copy of the GNU General Public License
18
18
  along with this program. If not, see <http://www.gnu.org/licenses/>. */
19
19
 
@@ -26,7 +26,7 @@
26
26
  special exception, which will cause the skeleton and the resulting
27
27
  Bison output files to be licensed under the GNU General Public
28
28
  License without this special exception.
29
-
29
+
30
30
  This special exception was added by the Free Software Foundation in
31
31
  version 2.2 of Bison. */
32
32
 
@@ -76,8 +76,8 @@ extern int slice_debug;
76
76
  ICE_IDEMPOTENT = 285,
77
77
  ICE_OPTIONAL = 286,
78
78
  ICE_VALUE = 287,
79
- ICE_SCOPE_DELIMITER = 288,
80
- ICE_IDENTIFIER = 289,
79
+ ICE_IDENTIFIER = 288,
80
+ ICE_SCOPED_IDENTIFIER = 289,
81
81
  ICE_STRING_LITERAL = 290,
82
82
  ICE_INTEGER_LITERAL = 291,
83
83
  ICE_FLOATING_POINT_LITERAL = 292,
@@ -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 SLICE_GRAMMAR_UTIL_H
11
6
  #define SLICE_GRAMMAR_UTIL_H
@@ -213,7 +208,6 @@ public:
213
208
  #define YYSTYPE Slice::GrammarBasePtr
214
209
  #define YY_DECL int slice_lex(YYSTYPE* yylvalp)
215
210
  YY_DECL;
216
- int slice_parse();
217
211
 
218
212
  //
219
213
  // I must set the initial stack depth to the maximum stack depth to
@@ -1,13 +1,8 @@
1
- // **********************************************************************
2
1
  //
3
- // Copyright (c) 2003-2017 ZeroC, Inc. All rights reserved.
2
+ // Copyright (c) ZeroC, Inc. All rights reserved.
4
3
  //
5
- // This copy of Ice is licensed to you under the terms described in the
6
- // ICE_LICENSE file included in this distribution.
7
- //
8
- // **********************************************************************
9
4
 
10
- #include <IceUtil/DisableWarnings.h>
5
+ #include <IceUtil/StringUtil.h>
11
6
  #include <Slice/JavaUtil.h>
12
7
  #include <Slice/FileTracker.h>
13
8
  #include <Slice/Util.h>
@@ -144,7 +139,7 @@ public:
144
139
  static const string prefix = "java:";
145
140
 
146
141
  //
147
- // Validate global metadata in the top-level file and all included files.
142
+ // Validate file metadata in the top-level file and all included files.
148
143
  //
149
144
  StringList files = p->allFiles();
150
145
 
@@ -171,7 +166,7 @@ public:
171
166
  }
172
167
  else
173
168
  {
174
- dc->warning(InvalidMetaData, file, "", "ignoring invalid global metadata `" + s + "'");
169
+ dc->warning(InvalidMetaData, file, "", "ignoring invalid file metadata `" + s + "'");
175
170
  globalMetaData.remove(s);
176
171
  continue;
177
172
  }
@@ -231,9 +226,9 @@ public:
231
226
  TypePtr returnType = p->returnType();
232
227
  StringList metaData = getMetaData(p);
233
228
 
234
- UnitPtr unit = p->unit();
229
+ UnitPtr unt = p->unit();
235
230
  string file = p->file();
236
- DefinitionContextPtr dc = unit->findDefinitionContext(p->file());
231
+ DefinitionContextPtr dc = unt->findDefinitionContext(p->file());
237
232
 
238
233
  if(!returnType)
239
234
  {
@@ -284,8 +279,8 @@ public:
284
279
 
285
280
  const string file = p->file();
286
281
  const string line = p->line();
287
- const UnitPtr unit = p->unit();
288
- const DefinitionContextPtr dc = unit->findDefinitionContext(file);
282
+ const UnitPtr unt = p->unit();
283
+ const DefinitionContextPtr dc = unt->findDefinitionContext(file);
289
284
 
290
285
  for(StringList::const_iterator q = metaData.begin(); q != metaData.end(); )
291
286
  {
@@ -363,9 +358,9 @@ private:
363
358
  StringList metaData = cont->getMetaData();
364
359
  StringList result;
365
360
 
366
- UnitPtr unit = cont->container()->unit();
361
+ UnitPtr unt = cont->container()->unit();
367
362
  string file = cont->file();
368
- DefinitionContextPtr dc = unit->findDefinitionContext(file);
363
+ DefinitionContextPtr dc = unt->findDefinitionContext(file);
369
364
  assert(dc);
370
365
 
371
366
  for(StringList::const_iterator p = metaData.begin(); p != metaData.end(); ++p)
@@ -431,6 +426,11 @@ private:
431
426
  result.push_back(s);
432
427
  continue;
433
428
  }
429
+ else if(s.substr(prefix.size(), pos - prefix.size()) == "package")
430
+ {
431
+ result.push_back(s);
432
+ continue;
433
+ }
434
434
 
435
435
  dc->warning(InvalidMetaData, cont->file(), cont->line(), "ignoring invalid metadata `" + s + "'");
436
436
  }
@@ -444,10 +444,11 @@ private:
444
444
  return result;
445
445
  }
446
446
 
447
- StringList validateType(const SyntaxTreeBasePtr& p, const StringList& metaData, const string& file, const string& line)
447
+ StringList validateType(const SyntaxTreeBasePtr& p, const StringList& metaData, const string& file,
448
+ const string& line)
448
449
  {
449
- const UnitPtr unit = p->unit();
450
- const DefinitionContextPtr dc = unit->findDefinitionContext(file);
450
+ const UnitPtr unt = p->unit();
451
+ const DefinitionContextPtr dc = unt->findDefinitionContext(file);
451
452
  assert(dc);
452
453
  StringList newMetaData;
453
454
  for(StringList::const_iterator i = metaData.begin(); i != metaData.end(); ++i)
@@ -520,6 +521,18 @@ private:
520
521
  dc->warning(InvalidMetaData, file, line, "ignoring invalid metadata `" + *i + "'");
521
522
  }
522
523
  }
524
+ else if(i->find("java:package:") == 0)
525
+ {
526
+ ModulePtr m = ModulePtr::dynamicCast(p);
527
+ if(m && UnitPtr::dynamicCast(m->container()))
528
+ {
529
+ newMetaData.push_back(*i);
530
+ }
531
+ else
532
+ {
533
+ dc->warning(InvalidMetaData, file, line, "ignoring invalid metadata `" + *i + "'");
534
+ }
535
+ }
523
536
  else
524
537
  {
525
538
  newMetaData.push_back(*i);
@@ -528,10 +541,11 @@ private:
528
541
  return newMetaData;
529
542
  }
530
543
 
531
- StringList validateGetSet(const SyntaxTreeBasePtr& p, const StringList& metaData, const string& file, const string& line)
544
+ StringList validateGetSet(const SyntaxTreeBasePtr& p, const StringList& metaData, const string& file,
545
+ const string& line)
532
546
  {
533
- const UnitPtr unit = p->unit();
534
- const DefinitionContextPtr dc= unit->findDefinitionContext(file);
547
+ const UnitPtr unt = p->unit();
548
+ const DefinitionContextPtr dc= unt->findDefinitionContext(file);
535
549
  assert(dc);
536
550
  StringList newMetaData;
537
551
  for(StringList::const_iterator i = metaData.begin(); i != metaData.end(); ++i)
@@ -721,7 +735,7 @@ Slice::JavaOutput::openClass(const string& cls, const string& prefix, const stri
721
735
  if(IceUtilInternal::mkdir(path, 0777) != 0)
722
736
  {
723
737
  ostringstream os;
724
- os << "cannot create directory `" << path << "': " << strerror(errno);
738
+ os << "cannot create directory `" << path << "': " << IceUtilInternal::errorToString(errno);
725
739
  throw FileException(__FILE__, __LINE__, os.str());
726
740
  }
727
741
  FileTracker::instance()->addDirectory(path);
@@ -760,7 +774,7 @@ Slice::JavaOutput::openClass(const string& cls, const string& prefix, const stri
760
774
  else
761
775
  {
762
776
  ostringstream os;
763
- os << "cannot open file `" << path << "': " << strerror(errno);
777
+ os << "cannot open file `" << path << "': " << IceUtilInternal::errorToString(errno);
764
778
  throw FileException(__FILE__, __LINE__, os.str());
765
779
  }
766
780
  }
@@ -769,14 +783,9 @@ void
769
783
  Slice::JavaOutput::printHeader()
770
784
  {
771
785
  static const char* header =
772
- "// **********************************************************************\n"
773
- "//\n"
774
- "// Copyright (c) 2003-2017 ZeroC, Inc. All rights reserved.\n"
775
786
  "//\n"
776
- "// This copy of Ice is licensed to you under the terms described in the\n"
777
- "// ICE_LICENSE file included in this distribution.\n"
787
+ "// Copyright (c) ZeroC, Inc. All rights reserved.\n"
778
788
  "//\n"
779
- "// **********************************************************************\n"
780
789
  ;
781
790
 
782
791
  print(header);
@@ -921,25 +930,51 @@ Slice::JavaCompatGenerator::convertScopedName(const string& scoped, const string
921
930
  string
922
931
  Slice::JavaCompatGenerator::getPackagePrefix(const ContainedPtr& cont) const
923
932
  {
924
- UnitPtr unit = cont->container()->unit();
925
- string file = cont->file();
926
- assert(!file.empty());
927
-
928
- map<string, string>::const_iterator p = _filePackagePrefix.find(file);
929
- if(p != _filePackagePrefix.end())
933
+ //
934
+ // Traverse to the top-level module.
935
+ //
936
+ ModulePtr m;
937
+ ContainedPtr p = cont;
938
+ while(true)
930
939
  {
931
- return p->second;
940
+ if(ModulePtr::dynamicCast(p))
941
+ {
942
+ m = ModulePtr::dynamicCast(p);
943
+ }
944
+
945
+ ContainerPtr c = p->container();
946
+ p = ContainedPtr::dynamicCast(c); // This cast fails for Unit.
947
+ if(!p)
948
+ {
949
+ break;
950
+ }
932
951
  }
933
952
 
953
+ assert(m);
954
+
955
+ //
956
+ // The java:package metadata can be defined as file metadata or applied to a top-level module.
957
+ // We check for the metadata at the top-level module first and then fall back to the global scope.
958
+ //
934
959
  static const string prefix = "java:package:";
935
- DefinitionContextPtr dc = unit->findDefinitionContext(file);
936
- assert(dc);
937
- string q = dc->findMetaData(prefix);
960
+
961
+ string q;
962
+ if(!m->findMetaData(prefix, q))
963
+ {
964
+ UnitPtr ut = cont->unit();
965
+ string file = cont->file();
966
+ assert(!file.empty());
967
+
968
+ DefinitionContextPtr dc = ut->findDefinitionContext(file);
969
+ assert(dc);
970
+ q = dc->findMetaData(prefix);
971
+ }
972
+
938
973
  if(!q.empty())
939
974
  {
940
975
  q = q.substr(prefix.size());
941
976
  }
942
- _filePackagePrefix[file] = q;
977
+
943
978
  return q;
944
979
  }
945
980
 
@@ -964,7 +999,17 @@ Slice::JavaCompatGenerator::getPackage(const ContainedPtr& cont) const
964
999
  }
965
1000
 
966
1001
  string
967
- Slice::JavaCompatGenerator::getAbsolute(const ContainedPtr& cont,
1002
+ Slice::JavaCompatGenerator::getUnqualified(const std::string& type, const std::string& package) const
1003
+ {
1004
+ if(type.find(".") != string::npos && type.find(package) == 0 && type.find(".", package.size() + 1) == string::npos)
1005
+ {
1006
+ return type.substr(package.size() + 1);
1007
+ }
1008
+ return type;
1009
+ }
1010
+
1011
+ string
1012
+ Slice::JavaCompatGenerator::getUnqualified(const ContainedPtr& cont,
968
1013
  const string& package,
969
1014
  const string& prefix,
970
1015
  const string& suffix) const
@@ -1003,11 +1048,11 @@ Slice::JavaCompatGenerator::getStaticId(const TypePtr& type, const string& packa
1003
1048
  }
1004
1049
  else if(cl->isInterface())
1005
1050
  {
1006
- return getAbsolute(cl, package, "_", "Disp") + ".ice_staticId()";
1051
+ return getUnqualified(cl, package, "_", "Disp") + ".ice_staticId()";
1007
1052
  }
1008
1053
  else
1009
1054
  {
1010
- return getAbsolute(cl, package) + ".ice_staticId()";
1055
+ return getUnqualified(cl, package) + ".ice_staticId()";
1011
1056
  }
1012
1057
  }
1013
1058
 
@@ -1236,13 +1281,13 @@ Slice::JavaCompatGenerator::typeToString(const TypePtr& type,
1236
1281
  ClassDeclPtr cl = ClassDeclPtr::dynamicCast(type);
1237
1282
  if(cl)
1238
1283
  {
1239
- return getAbsolute(cl, package, "", mode == TypeModeOut ? "Holder" : "");
1284
+ return getUnqualified(cl, package, "", mode == TypeModeOut ? "Holder" : "");
1240
1285
  }
1241
1286
 
1242
1287
  ProxyPtr proxy = ProxyPtr::dynamicCast(type);
1243
1288
  if(proxy)
1244
1289
  {
1245
- return getAbsolute(proxy->_class(), package, "", mode == TypeModeOut ? "PrxHolder" : "Prx");
1290
+ return getUnqualified(proxy->_class(), package, "", mode == TypeModeOut ? "PrxHolder" : "Prx");
1246
1291
  }
1247
1292
 
1248
1293
  DictionaryPtr dict = DictionaryPtr::dynamicCast(type);
@@ -1260,7 +1305,7 @@ Slice::JavaCompatGenerator::typeToString(const TypePtr& type,
1260
1305
  getDictionaryTypes(dict, "", StringList(), origInstanceType, origFormalType);
1261
1306
  if(formalType == origFormalType && instanceType == origInstanceType)
1262
1307
  {
1263
- return getAbsolute(dict, package, "", "Holder");
1308
+ return getUnqualified(dict, package, "", "Holder");
1264
1309
  }
1265
1310
 
1266
1311
  //
@@ -1295,7 +1340,7 @@ Slice::JavaCompatGenerator::typeToString(const TypePtr& type,
1295
1340
  getSequenceTypes(seq, "", StringList(), origInstanceType, origFormalType);
1296
1341
  if(formalType == origFormalType && instanceType == origInstanceType)
1297
1342
  {
1298
- return getAbsolute(seq, package, "", "Holder");
1343
+ return getUnqualified(seq, package, "", "Holder");
1299
1344
  }
1300
1345
  }
1301
1346
 
@@ -1319,11 +1364,11 @@ Slice::JavaCompatGenerator::typeToString(const TypePtr& type,
1319
1364
  {
1320
1365
  if(mode == TypeModeOut)
1321
1366
  {
1322
- return getAbsolute(contained, package, "", "Holder");
1367
+ return getUnqualified(contained, package, "", "Holder");
1323
1368
  }
1324
1369
  else
1325
1370
  {
1326
- return getAbsolute(contained, package);
1371
+ return getUnqualified(contained, package);
1327
1372
  }
1328
1373
  }
1329
1374
 
@@ -2137,7 +2182,7 @@ Slice::JavaCompatGenerator::writeMarshalUnmarshalCode(Output& out,
2137
2182
  }
2138
2183
  }
2139
2184
 
2140
- string ignore;
2185
+ string ignored;
2141
2186
  const size_t wireSize = elemType->minWireSize();
2142
2187
 
2143
2188
  if(marshal)
@@ -2165,8 +2210,8 @@ Slice::JavaCompatGenerator::writeMarshalUnmarshalCode(Output& out,
2165
2210
  writeSequenceMarshalUnmarshalCode(out, package, seq, s, marshal, iter, true, customStream, metaData);
2166
2211
  out << nl << stream << ".endSize(pos);";
2167
2212
  }
2168
- else if(findMetaData("java:type:", metaData, ignore) ||
2169
- findMetaData("java:type:", seq->getMetaData(), ignore))
2213
+ else if(findMetaData("java:type:", metaData, ignored) ||
2214
+ findMetaData("java:type:", seq->getMetaData(), ignored))
2170
2215
  {
2171
2216
  //
2172
2217
  // The sequence is an instance of java.util.List<E>, where E is a fixed-size type.
@@ -2192,8 +2237,8 @@ Slice::JavaCompatGenerator::writeMarshalUnmarshalCode(Output& out,
2192
2237
  }
2193
2238
  writeSequenceMarshalUnmarshalCode(out, package, seq, tmpName, marshal, iter, true, customStream, metaData);
2194
2239
  }
2195
- else if(findMetaData("java:protobuf:", seq->getMetaData(), ignore) ||
2196
- findMetaData("java:serializable:", seq->getMetaData(), ignore))
2240
+ else if(findMetaData("java:protobuf:", seq->getMetaData(), ignored) ||
2241
+ findMetaData("java:serializable:", seq->getMetaData(), ignored))
2197
2242
  {
2198
2243
  //
2199
2244
  // This just writes a byte sequence.
@@ -2254,8 +2299,8 @@ Slice::JavaCompatGenerator::writeMarshalUnmarshalCode(Output& out,
2254
2299
  }
2255
2300
  else if(wireSize > 1)
2256
2301
  {
2257
- if(findMetaData("java:type:", metaData, ignore) ||
2258
- findMetaData("java:type:", seq->getMetaData(), ignore))
2302
+ if(findMetaData("java:type:", metaData, ignored) ||
2303
+ findMetaData("java:type:", seq->getMetaData(), ignored))
2259
2304
  {
2260
2305
  //
2261
2306
  // The sequence is an instance of java.util.List<E>, where E is a fixed-size type.
@@ -2263,8 +2308,8 @@ Slice::JavaCompatGenerator::writeMarshalUnmarshalCode(Output& out,
2263
2308
 
2264
2309
  out << nl << stream << ".skipSize();";
2265
2310
  }
2266
- else if(!findMetaData("java:protobuf:", seq->getMetaData(), ignore) &&
2267
- !findMetaData("java:serializable:", seq->getMetaData(), ignore))
2311
+ else if(!findMetaData("java:protobuf:", seq->getMetaData(), ignored) &&
2312
+ !findMetaData("java:serializable:", seq->getMetaData(), ignored))
2268
2313
  {
2269
2314
  out << nl << stream << ".skipSize();";
2270
2315
  }
@@ -2295,7 +2340,7 @@ Slice::JavaCompatGenerator::writeMarshalUnmarshalCode(Output& out,
2295
2340
 
2296
2341
  ConstructedPtr constructed = ConstructedPtr::dynamicCast(type);
2297
2342
  assert(constructed);
2298
- string typeS = getAbsolute(constructed, package, "", "Helper");
2343
+ string typeS = getUnqualified(constructed, package, "", "Helper");
2299
2344
  if(marshal)
2300
2345
  {
2301
2346
  out << nl << typeS << ".write(" << stream << ", " << v << ");";
@@ -2355,7 +2400,7 @@ Slice::JavaCompatGenerator::writeDictionaryMarshalUnmarshalCode(Output& out,
2355
2400
  //
2356
2401
  if(useHelper)
2357
2402
  {
2358
- string typeS = getAbsolute(dict, package, "", "Helper");
2403
+ string typeS = getUnqualified(dict, package, "", "Helper");
2359
2404
  if(marshal)
2360
2405
  {
2361
2406
  out << nl << typeS << ".write(" << stream << ", " << v << ");";
@@ -2663,7 +2708,7 @@ Slice::JavaCompatGenerator::writeSequenceMarshalUnmarshalCode(Output& out,
2663
2708
  //
2664
2709
  if(useHelper)
2665
2710
  {
2666
- string typeS = getAbsolute(seq, package, "", "Helper");
2711
+ string typeS = getUnqualified(seq, package, "", "Helper");
2667
2712
  if(marshal)
2668
2713
  {
2669
2714
  out << nl << typeS << ".write(" << stream << ", " << v << ");";
@@ -2704,7 +2749,7 @@ Slice::JavaCompatGenerator::writeSequenceMarshalUnmarshalCode(Output& out,
2704
2749
  // Marshal/unmarshal a custom sequence type.
2705
2750
  //
2706
2751
  BuiltinPtr b = BuiltinPtr::dynamicCast(type);
2707
- string typeS = getAbsolute(seq, package);
2752
+ string typeS = getUnqualified(seq, package);
2708
2753
  ostringstream o;
2709
2754
  o << origContentS;
2710
2755
  int d = depth;
@@ -2722,7 +2767,7 @@ Slice::JavaCompatGenerator::writeSequenceMarshalUnmarshalCode(Output& out,
2722
2767
  out << nl << "else";
2723
2768
  out << sb;
2724
2769
  out << nl << stream << ".writeSize(" << v << ".size());";
2725
- string typeS = typeToString(type, TypeModeIn, package);
2770
+ typeS = typeToString(type, TypeModeIn, package);
2726
2771
  out << nl << "for(" << typeS << " elem : " << v << ')';
2727
2772
  out << sb;
2728
2773
  writeMarshalUnmarshalCode(out, package, type, OptionalNone, false, 0, "elem", true, iter, false, customStream);
@@ -3153,8 +3198,8 @@ Slice::JavaCompatGenerator::getSequenceTypes(const SequencePtr& seq,
3153
3198
  {
3154
3199
  string prefix = "java:buffer";
3155
3200
  string meta;
3156
- string ignore;
3157
- if(seq->findMetaData(prefix, meta) || findMetaData(prefix, metaData, ignore))
3201
+ string ignored;
3202
+ if(seq->findMetaData(prefix, meta) || findMetaData(prefix, metaData, ignored))
3158
3203
  {
3159
3204
  instanceType = formalType = typeToBufferString(seq->type());
3160
3205
  return true;
@@ -3365,25 +3410,51 @@ Slice::JavaGenerator::convertScopedName(const string& scoped, const string& pref
3365
3410
  string
3366
3411
  Slice::JavaGenerator::getPackagePrefix(const ContainedPtr& cont) const
3367
3412
  {
3368
- UnitPtr unit = cont->container()->unit();
3369
- string file = cont->file();
3370
- assert(!file.empty());
3371
-
3372
- map<string, string>::const_iterator p = _filePackagePrefix.find(file);
3373
- if(p != _filePackagePrefix.end())
3413
+ //
3414
+ // Traverse to the top-level module.
3415
+ //
3416
+ ModulePtr m;
3417
+ ContainedPtr p = cont;
3418
+ while(true)
3374
3419
  {
3375
- return p->second;
3420
+ if(ModulePtr::dynamicCast(p))
3421
+ {
3422
+ m = ModulePtr::dynamicCast(p);
3423
+ }
3424
+
3425
+ ContainerPtr c = p->container();
3426
+ p = ContainedPtr::dynamicCast(c); // This cast fails for Unit.
3427
+ if(!p)
3428
+ {
3429
+ break;
3430
+ }
3376
3431
  }
3377
3432
 
3433
+ assert(m);
3434
+
3435
+ //
3436
+ // The java:package metadata can be defined as file metadata or applied to a top-level module.
3437
+ // We check for the metadata at the top-level module first and then fall back to the global scope.
3438
+ //
3378
3439
  static const string prefix = "java:package:";
3379
- DefinitionContextPtr dc = unit->findDefinitionContext(file);
3380
- assert(dc);
3381
- string q = dc->findMetaData(prefix);
3440
+
3441
+ string q;
3442
+ if(!m->findMetaData(prefix, q))
3443
+ {
3444
+ UnitPtr ut = cont->unit();
3445
+ string file = cont->file();
3446
+ assert(!file.empty());
3447
+
3448
+ DefinitionContextPtr dc = ut->findDefinitionContext(file);
3449
+ assert(dc);
3450
+ q = dc->findMetaData(prefix);
3451
+ }
3452
+
3382
3453
  if(!q.empty())
3383
3454
  {
3384
3455
  q = q.substr(prefix.size());
3385
3456
  }
3386
- _filePackagePrefix[file] = q;
3457
+
3387
3458
  return q;
3388
3459
  }
3389
3460
 
@@ -3408,7 +3479,17 @@ Slice::JavaGenerator::getPackage(const ContainedPtr& cont) const
3408
3479
  }
3409
3480
 
3410
3481
  string
3411
- Slice::JavaGenerator::getAbsolute(const ContainedPtr& cont,
3482
+ Slice::JavaGenerator::getUnqualified(const std::string& type, const std::string& package) const
3483
+ {
3484
+ if(type.find(".") != string::npos && type.find(package) == 0 && type.find(".", package.size() + 1) == string::npos)
3485
+ {
3486
+ return type.substr(package.size() + 1);
3487
+ }
3488
+ return type;
3489
+ }
3490
+
3491
+ string
3492
+ Slice::JavaGenerator::getUnqualified(const ContainedPtr& cont,
3412
3493
  const string& package,
3413
3494
  const string& prefix,
3414
3495
  const string& suffix) const
@@ -3443,15 +3524,15 @@ Slice::JavaGenerator::getStaticId(const TypePtr& type, const string& package) co
3443
3524
 
3444
3525
  if(b && b->kind() == Builtin::KindObject)
3445
3526
  {
3446
- return "com.zeroc.Ice.Object.ice_staticId()";
3527
+ return getUnqualified("com.zeroc.Ice.Object", package) + ".ice_staticId()";
3447
3528
  }
3448
3529
  else if(b && b->kind() == Builtin::KindValue)
3449
3530
  {
3450
- return "com.zeroc.Ice.Value.ice_staticId()";
3531
+ return getUnqualified("com.zeroc.Ice.Value", package) + ".ice_staticId()";
3451
3532
  }
3452
3533
  else
3453
3534
  {
3454
- return getAbsolute(cl, package) + ".ice_staticId()";
3535
+ return getUnqualified(cl, package) + ".ice_staticId()";
3455
3536
  }
3456
3537
  }
3457
3538
 
@@ -3569,21 +3650,6 @@ Slice::JavaGenerator::typeToString(const TypePtr& type,
3569
3650
  bool local) const
3570
3651
  {
3571
3652
  static const char* builtinTable[] =
3572
- {
3573
- "byte",
3574
- "boolean",
3575
- "short",
3576
- "int",
3577
- "long",
3578
- "float",
3579
- "double",
3580
- "String",
3581
- "com.zeroc.Ice.Value",
3582
- "com.zeroc.Ice.ObjectPrx",
3583
- "java.lang.Object",
3584
- "com.zeroc.Ice.Value"
3585
- };
3586
- static const char* builtinLocalTable[] =
3587
3653
  {
3588
3654
  "byte",
3589
3655
  "boolean",
@@ -3598,6 +3664,7 @@ Slice::JavaGenerator::typeToString(const TypePtr& type,
3598
3664
  "java.lang.Object",
3599
3665
  "com.zeroc.Ice.Value"
3600
3666
  };
3667
+
3601
3668
  static const char* builtinOptionalTable[] =
3602
3669
  {
3603
3670
  "java.util.Optional<java.lang.Byte>",
@@ -3649,7 +3716,7 @@ Slice::JavaGenerator::typeToString(const TypePtr& type,
3649
3716
  case Builtin::KindFloat:
3650
3717
  case Builtin::KindDouble:
3651
3718
  {
3652
- return builtinOptionalTable[builtin->kind()];
3719
+ return getUnqualified(builtinOptionalTable[builtin->kind()], package);
3653
3720
  }
3654
3721
  case Builtin::KindString:
3655
3722
  case Builtin::KindObject:
@@ -3663,7 +3730,14 @@ Slice::JavaGenerator::typeToString(const TypePtr& type,
3663
3730
  }
3664
3731
  else
3665
3732
  {
3666
- return local ? builtinLocalTable[builtin->kind()] : builtinTable[builtin->kind()];
3733
+ if(!local && builtin->kind() == Builtin::KindObject)
3734
+ {
3735
+ return getUnqualified(builtinTable[Builtin::KindValue], package);
3736
+ }
3737
+ else
3738
+ {
3739
+ return getUnqualified(builtinTable[builtin->kind()], package);
3740
+ }
3667
3741
  }
3668
3742
  }
3669
3743
 
@@ -3678,11 +3752,11 @@ Slice::JavaGenerator::typeToString(const TypePtr& type,
3678
3752
  {
3679
3753
  if(cl->isInterface() && !local)
3680
3754
  {
3681
- return "com.zeroc.Ice.Value";
3755
+ return getUnqualified("com.zeroc.Ice.Value", package);
3682
3756
  }
3683
3757
  else
3684
3758
  {
3685
- return getAbsolute(cl, package);
3759
+ return getUnqualified(cl, package);
3686
3760
  }
3687
3761
  }
3688
3762
 
@@ -3690,14 +3764,13 @@ Slice::JavaGenerator::typeToString(const TypePtr& type,
3690
3764
  if(proxy)
3691
3765
  {
3692
3766
  ClassDefPtr def = proxy->_class()->definition();
3693
- assert(def);
3694
- if(def->isAbstract())
3767
+ if(!def || def->isAbstract())
3695
3768
  {
3696
- return getAbsolute(proxy->_class(), package, "", "Prx");
3769
+ return getUnqualified(proxy->_class(), package, "", "Prx");
3697
3770
  }
3698
3771
  else
3699
3772
  {
3700
- return "com.zeroc.Ice.ObjectPrx";
3773
+ return getUnqualified("com.zeroc.Ice.ObjectPrx", package);
3701
3774
  }
3702
3775
  }
3703
3776
 
@@ -3722,11 +3795,11 @@ Slice::JavaGenerator::typeToString(const TypePtr& type,
3722
3795
  {
3723
3796
  if(mode == TypeModeOut)
3724
3797
  {
3725
- return getAbsolute(contained, package, "", "Holder");
3798
+ return getUnqualified(contained, package, "", "Holder");
3726
3799
  }
3727
3800
  else
3728
3801
  {
3729
- return getAbsolute(contained, package);
3802
+ return getUnqualified(contained, package);
3730
3803
  }
3731
3804
  }
3732
3805
 
@@ -4003,7 +4076,7 @@ Slice::JavaGenerator::writeMarshalUnmarshalCode(Output& out,
4003
4076
  //
4004
4077
  // If we can use the helper, it's easy.
4005
4078
  //
4006
- string helper = getAbsolute(dict, package, "", "Helper");
4079
+ string helper = getUnqualified(dict, package, "", "Helper");
4007
4080
  if(marshal)
4008
4081
  {
4009
4082
  out << nl << helper << ".write" << spar << stream << tag << param << epar << ";";
@@ -4098,7 +4171,7 @@ Slice::JavaGenerator::writeMarshalUnmarshalCode(Output& out,
4098
4171
  {
4099
4172
  if(optionalParam || mode == OptionalMember)
4100
4173
  {
4101
- string ignore;
4174
+ string ignored;
4102
4175
  TypePtr elemType = seq->type();
4103
4176
  BuiltinPtr eltBltin = BuiltinPtr::dynamicCast(elemType);
4104
4177
  if(!hasTypeMetaData(seq, metaData) && eltBltin && eltBltin->kind() < Builtin::KindObject)
@@ -4115,7 +4188,7 @@ Slice::JavaGenerator::writeMarshalUnmarshalCode(Output& out,
4115
4188
  return;
4116
4189
  }
4117
4190
  }
4118
- else if(findMetaData("java:serializable", seq->getMetaData(), ignore))
4191
+ else if(findMetaData("java:serializable", seq->getMetaData(), ignored))
4119
4192
  {
4120
4193
  if(marshal)
4121
4194
  {
@@ -4129,15 +4202,15 @@ Slice::JavaGenerator::writeMarshalUnmarshalCode(Output& out,
4129
4202
  }
4130
4203
  }
4131
4204
  else if(!hasTypeMetaData(seq, metaData) ||
4132
- findMetaData("java:type", seq->getMetaData(), ignore) ||
4133
- findMetaData("java:type", metaData, ignore))
4205
+ findMetaData("java:type", seq->getMetaData(), ignored) ||
4206
+ findMetaData("java:type", metaData, ignored))
4134
4207
  {
4135
4208
  string instanceType, formalType, origInstanceType, origFormalType;
4136
4209
  getSequenceTypes(seq, "", metaData, instanceType, formalType, false);
4137
4210
  getSequenceTypes(seq, "", StringList(), origInstanceType, origFormalType, false);
4138
4211
  if(formalType == origFormalType && (marshal || instanceType == origInstanceType))
4139
4212
  {
4140
- string helper = getAbsolute(seq, package, "", "Helper");
4213
+ string helper = getUnqualified(seq, package, "", "Helper");
4141
4214
  if(marshal)
4142
4215
  {
4143
4216
  out << nl << helper << ".write" << spar << stream << tag << param << epar << ";";
@@ -4181,10 +4254,10 @@ Slice::JavaGenerator::writeMarshalUnmarshalCode(Output& out,
4181
4254
  string s = optionalParam && optionalMapping ? param + ".get()" : param;
4182
4255
  if(sz > 1)
4183
4256
  {
4184
- string ignore;
4257
+ string ignored2;
4185
4258
  out << nl << "final int optSize = " << s << " == null ? 0 : ";
4186
- if(findMetaData("java:buffer", seq->getMetaData(), ignore) ||
4187
- findMetaData("java:buffer", metaData, ignore))
4259
+ if(findMetaData("java:buffer", seq->getMetaData(), ignored2) ||
4260
+ findMetaData("java:buffer", metaData, ignored2))
4188
4261
  {
4189
4262
  out << s << ".remaining() / " << sz << ";";
4190
4263
  }
@@ -4317,7 +4390,7 @@ Slice::JavaGenerator::writeDictionaryMarshalUnmarshalCode(Output& out,
4317
4390
  //
4318
4391
  // If we can use the helper, it's easy.
4319
4392
  //
4320
- string helper = getAbsolute(dict, package, "", "Helper");
4393
+ string helper = getUnqualified(dict, package, "", "Helper");
4321
4394
  if(marshal)
4322
4395
  {
4323
4396
  out << nl << helper << ".write" << spar << stream << v << epar << ";";
@@ -4386,7 +4459,7 @@ Slice::JavaGenerator::writeDictionaryMarshalUnmarshalCode(Output& out,
4386
4459
  out << nl << "final " << keyS << " key;";
4387
4460
  writeMarshalUnmarshalCode(out, package, key, OptionalNone, false, 0, "key", false, iter, customStream);
4388
4461
 
4389
- string valueS = typeToObjectString(value, TypeModeIn, package);
4462
+ valueS = typeToObjectString(value, TypeModeIn, package);
4390
4463
  ostringstream patchParams;
4391
4464
  patchParams << "value -> " << v << ".put(key, value), " << valueS << ".class";
4392
4465
  writeMarshalUnmarshalCode(out, package, value, OptionalNone, false, 0, "value", false, iter, customStream,
@@ -4546,7 +4619,7 @@ Slice::JavaGenerator::writeSequenceMarshalUnmarshalCode(Output& out,
4546
4619
  //
4547
4620
  // If we can use the helper, it's easy.
4548
4621
  //
4549
- string helper = getAbsolute(seq, package, "", "Helper");
4622
+ string helper = getUnqualified(seq, package, "", "Helper");
4550
4623
  if(marshal)
4551
4624
  {
4552
4625
  out << nl << helper << ".write" << spar << stream << v << epar << ";";
@@ -4587,7 +4660,7 @@ Slice::JavaGenerator::writeSequenceMarshalUnmarshalCode(Output& out,
4587
4660
  // Marshal/unmarshal a custom sequence type.
4588
4661
  //
4589
4662
  BuiltinPtr b = BuiltinPtr::dynamicCast(type);
4590
- string typeS = getAbsolute(seq, package);
4663
+ typeS = getUnqualified(seq, package);
4591
4664
  ostringstream o;
4592
4665
  o << origContentS;
4593
4666
  int d = depth;
@@ -4605,8 +4678,8 @@ Slice::JavaGenerator::writeSequenceMarshalUnmarshalCode(Output& out,
4605
4678
  out << nl << "else";
4606
4679
  out << sb;
4607
4680
  out << nl << stream << ".writeSize(" << v << ".size());";
4608
- string typeS = typeToString(type, TypeModeIn, package);
4609
- out << nl << "for(" << typeS << " elem : " << v << ')';
4681
+ string ctypeS = typeToString(type, TypeModeIn, package);
4682
+ out << nl << "for(" << ctypeS << " elem : " << v << ')';
4610
4683
  out << sb;
4611
4684
  writeMarshalUnmarshalCode(out, package, type, OptionalNone, false, 0, "elem", true, iter, customStream);
4612
4685
  out << eb;
@@ -5028,8 +5101,8 @@ Slice::JavaGenerator::getSequenceTypes(const SequencePtr& seq,
5028
5101
  {
5029
5102
  string prefix = "java:buffer";
5030
5103
  string meta;
5031
- string ignore;
5032
- if(seq->findMetaData(prefix, meta) || findMetaData(prefix, metaData, ignore))
5104
+ string ignored;
5105
+ if(seq->findMetaData(prefix, meta) || findMetaData(prefix, metaData, ignored))
5033
5106
  {
5034
5107
  instanceType = formalType = typeToBufferString(seq->type());
5035
5108
  return true;