zeroc-ice 3.7.2 → 3.7.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (283) hide show
  1. checksums.yaml +5 -5
  2. data/ext/Config.h +4 -0
  3. data/ext/Operation.cpp +5 -5
  4. data/ext/Properties.cpp +1 -1
  5. data/ext/Proxy.cpp +16 -2
  6. data/ext/Types.cpp +45 -40
  7. data/ext/Util.cpp +1 -1
  8. data/ext/Util.h +10 -8
  9. data/ext/ice/cpp/include/Ice/Config.h +4 -0
  10. data/ext/ice/cpp/include/Ice/FactoryTableInit.h +1 -1
  11. data/ext/ice/cpp/include/Ice/IconvStringConverter.h +4 -3
  12. data/ext/ice/cpp/include/Ice/InputStream.h +4 -4
  13. data/ext/ice/cpp/include/Ice/Optional.h +11 -0
  14. data/ext/ice/cpp/include/Ice/OutgoingAsync.h +1 -1
  15. data/ext/ice/cpp/include/Ice/OutputStream.h +5 -5
  16. data/ext/ice/cpp/include/Ice/Proxy.h +17 -5
  17. data/ext/ice/cpp/include/Ice/StreamHelpers.h +1 -1
  18. data/ext/ice/cpp/include/Ice/Value.h +1 -1
  19. data/ext/ice/cpp/include/IceUtil/Atomic.h +1 -1
  20. data/ext/ice/cpp/include/IceUtil/Config.h +16 -6
  21. data/ext/ice/cpp/include/IceUtil/ConsoleUtil.h +4 -4
  22. data/ext/ice/cpp/include/IceUtil/Optional.h +8 -0
  23. data/ext/ice/cpp/include/IceUtil/OutputUtil.h +17 -14
  24. data/ext/ice/cpp/include/IceUtil/Random.h +1 -1
  25. data/ext/ice/cpp/include/IceUtil/ResourceConfig.h +2 -2
  26. data/ext/ice/cpp/include/IceUtil/ScannerConfig.h +6 -0
  27. data/ext/ice/cpp/include/IceUtil/StringConverter.h +1 -1
  28. data/ext/ice/cpp/include/generated/Ice/BuiltinSequences.h +3 -3
  29. data/ext/ice/cpp/include/generated/Ice/Communicator.h +3 -3
  30. data/ext/ice/cpp/include/generated/Ice/CommunicatorF.h +3 -3
  31. data/ext/ice/cpp/include/generated/Ice/Connection.h +33 -36
  32. data/ext/ice/cpp/include/generated/Ice/ConnectionF.h +3 -3
  33. data/ext/ice/cpp/include/generated/Ice/Current.h +20 -21
  34. data/ext/ice/cpp/include/generated/Ice/Endpoint.h +24 -24
  35. data/ext/ice/cpp/include/generated/Ice/EndpointF.h +3 -3
  36. data/ext/ice/cpp/include/generated/Ice/EndpointTypes.h +3 -3
  37. data/ext/ice/cpp/include/generated/Ice/FacetMap.h +3 -3
  38. data/ext/ice/cpp/include/generated/Ice/Identity.h +4 -5
  39. data/ext/ice/cpp/include/generated/Ice/ImplicitContext.h +3 -3
  40. data/ext/ice/cpp/include/generated/Ice/ImplicitContextF.h +3 -3
  41. data/ext/ice/cpp/include/generated/Ice/Instrumentation.h +15 -15
  42. data/ext/ice/cpp/include/generated/Ice/InstrumentationF.h +3 -3
  43. data/ext/ice/cpp/include/generated/Ice/LocalException.h +27 -93
  44. data/ext/ice/cpp/include/generated/Ice/Locator.h +27 -32
  45. data/ext/ice/cpp/include/generated/Ice/LocatorF.h +3 -3
  46. data/ext/ice/cpp/include/generated/Ice/Logger.h +3 -3
  47. data/ext/ice/cpp/include/generated/Ice/LoggerF.h +3 -3
  48. data/ext/ice/cpp/include/generated/Ice/Metrics.h +75 -79
  49. data/ext/ice/cpp/include/generated/Ice/ObjectAdapter.h +3 -3
  50. data/ext/ice/cpp/include/generated/Ice/ObjectAdapterF.h +3 -3
  51. data/ext/ice/cpp/include/generated/Ice/ObjectFactory.h +3 -3
  52. data/ext/ice/cpp/include/generated/Ice/Plugin.h +3 -3
  53. data/ext/ice/cpp/include/generated/Ice/PluginF.h +3 -3
  54. data/ext/ice/cpp/include/generated/Ice/Process.h +3 -3
  55. data/ext/ice/cpp/include/generated/Ice/ProcessF.h +3 -3
  56. data/ext/ice/cpp/include/generated/Ice/Properties.h +3 -3
  57. data/ext/ice/cpp/include/generated/Ice/PropertiesAdmin.h +9 -9
  58. data/ext/ice/cpp/include/generated/Ice/PropertiesF.h +3 -3
  59. data/ext/ice/cpp/include/generated/Ice/RemoteLogger.h +9 -11
  60. data/ext/ice/cpp/include/generated/Ice/Router.h +22 -22
  61. data/ext/ice/cpp/include/generated/Ice/RouterF.h +3 -3
  62. data/ext/ice/cpp/include/generated/Ice/ServantLocator.h +3 -3
  63. data/ext/ice/cpp/include/generated/Ice/ServantLocatorF.h +3 -3
  64. data/ext/ice/cpp/include/generated/Ice/SliceChecksumDict.h +3 -3
  65. data/ext/ice/cpp/include/generated/Ice/ValueFactory.h +3 -3
  66. data/ext/ice/cpp/include/generated/Ice/Version.h +15 -17
  67. data/ext/ice/cpp/include/generated/IceSSL/ConnectionInfo.h +3 -3
  68. data/ext/ice/cpp/include/generated/IceSSL/ConnectionInfoF.h +3 -3
  69. data/ext/ice/cpp/include/generated/IceSSL/EndpointInfo.h +3 -3
  70. data/ext/ice/cpp/src/Ice/ArgVector.cpp +3 -3
  71. data/ext/ice/cpp/src/Ice/Base64.cpp +11 -12
  72. data/ext/ice/cpp/src/Ice/BatchRequestQueue.cpp +1 -1
  73. data/ext/ice/cpp/src/Ice/Buffer.cpp +2 -2
  74. data/ext/ice/cpp/src/Ice/BuiltinSequences.cpp +3 -3
  75. data/ext/ice/cpp/src/Ice/Communicator.cpp +3 -3
  76. data/ext/ice/cpp/src/Ice/CommunicatorF.cpp +3 -3
  77. data/ext/ice/cpp/src/Ice/CommunicatorI.cpp +19 -0
  78. data/ext/ice/cpp/src/Ice/CommunicatorI.h +5 -0
  79. data/ext/ice/cpp/src/Ice/Connection.cpp +3 -3
  80. data/ext/ice/cpp/src/Ice/ConnectionF.cpp +3 -3
  81. data/ext/ice/cpp/src/Ice/ConnectionI.cpp +31 -16
  82. data/ext/ice/cpp/src/Ice/Current.cpp +3 -3
  83. data/ext/ice/cpp/src/Ice/DispatchInterceptor.cpp +13 -0
  84. data/ext/ice/cpp/src/Ice/DynamicLibrary.cpp +6 -5
  85. data/ext/ice/cpp/src/Ice/Endpoint.cpp +3 -3
  86. data/ext/ice/cpp/src/Ice/EndpointF.cpp +3 -3
  87. data/ext/ice/cpp/src/Ice/EndpointTypes.cpp +3 -3
  88. data/ext/ice/cpp/src/Ice/Exception.cpp +5 -5
  89. data/ext/ice/cpp/src/Ice/FacetMap.cpp +3 -3
  90. data/ext/ice/cpp/src/Ice/HashUtil.h +1 -1
  91. data/ext/ice/cpp/src/Ice/IPEndpointI.cpp +12 -1
  92. data/ext/ice/cpp/src/Ice/Identity.cpp +3 -3
  93. data/ext/ice/cpp/src/Ice/ImplicitContext.cpp +3 -3
  94. data/ext/ice/cpp/src/Ice/ImplicitContextF.cpp +3 -3
  95. data/ext/ice/cpp/src/Ice/Incoming.cpp +2 -0
  96. data/ext/ice/cpp/src/Ice/Initialize.cpp +4 -3
  97. data/ext/ice/cpp/src/Ice/InputStream.cpp +19 -19
  98. data/ext/ice/cpp/src/Ice/Instance.cpp +28 -8
  99. data/ext/ice/cpp/src/Ice/Instrumentation.cpp +3 -3
  100. data/ext/ice/cpp/src/Ice/InstrumentationF.cpp +3 -3
  101. data/ext/ice/cpp/src/Ice/LocalException.cpp +3 -3
  102. data/ext/ice/cpp/src/Ice/Locator.cpp +7 -7
  103. data/ext/ice/cpp/src/Ice/LocatorF.cpp +3 -3
  104. data/ext/ice/cpp/src/Ice/Logger.cpp +3 -3
  105. data/ext/ice/cpp/src/Ice/LoggerAdminI.cpp +1 -7
  106. data/ext/ice/cpp/src/Ice/LoggerF.cpp +3 -3
  107. data/ext/ice/cpp/src/Ice/LoggerI.cpp +6 -0
  108. data/ext/ice/cpp/src/Ice/Metrics.cpp +5 -5
  109. data/ext/ice/cpp/src/Ice/Network.cpp +23 -22
  110. data/ext/ice/cpp/src/Ice/Network.h +1 -1
  111. data/ext/ice/cpp/src/Ice/OSLogLoggerI.cpp +57 -0
  112. data/ext/ice/cpp/src/Ice/OSLogLoggerI.h +40 -0
  113. data/ext/ice/cpp/src/Ice/Object.cpp +9 -7
  114. data/ext/ice/cpp/src/Ice/ObjectAdapter.cpp +3 -3
  115. data/ext/ice/cpp/src/Ice/ObjectAdapterF.cpp +3 -3
  116. data/ext/ice/cpp/src/Ice/ObjectAdapterI.cpp +13 -1
  117. data/ext/ice/cpp/src/Ice/ObjectAdapterI.h +4 -0
  118. data/ext/ice/cpp/src/Ice/ObjectFactory.cpp +3 -3
  119. data/ext/ice/cpp/src/Ice/OutgoingAsync.cpp +1 -1
  120. data/ext/ice/cpp/src/Ice/OutputStream.cpp +24 -24
  121. data/ext/ice/cpp/src/Ice/Plugin.cpp +3 -3
  122. data/ext/ice/cpp/src/Ice/PluginF.cpp +3 -3
  123. data/ext/ice/cpp/src/Ice/Process.cpp +3 -3
  124. data/ext/ice/cpp/src/Ice/ProcessF.cpp +3 -3
  125. data/ext/ice/cpp/src/Ice/Properties.cpp +3 -3
  126. data/ext/ice/cpp/src/Ice/PropertiesAdmin.cpp +4 -4
  127. data/ext/ice/cpp/src/Ice/PropertiesF.cpp +3 -3
  128. data/ext/ice/cpp/src/Ice/PropertyNames.cpp +2 -1
  129. data/ext/ice/cpp/src/Ice/PropertyNames.h +1 -1
  130. data/ext/ice/cpp/src/Ice/Proxy.cpp +6 -0
  131. data/ext/ice/cpp/src/Ice/ProxyFactory.cpp +1 -1
  132. data/ext/ice/cpp/src/Ice/ReferenceFactory.cpp +1 -1
  133. data/ext/ice/cpp/src/Ice/RegisterPluginsInit.cpp +3 -2
  134. data/ext/ice/cpp/src/Ice/RemoteLogger.cpp +3 -3
  135. data/ext/ice/cpp/src/Ice/Router.cpp +6 -6
  136. data/ext/ice/cpp/src/Ice/RouterF.cpp +3 -3
  137. data/ext/ice/cpp/src/Ice/SHA1.cpp +2 -2
  138. data/ext/ice/cpp/src/Ice/Selector.cpp +18 -13
  139. data/ext/ice/cpp/src/Ice/ServantLocator.cpp +3 -3
  140. data/ext/ice/cpp/src/Ice/ServantLocatorF.cpp +3 -3
  141. data/ext/ice/cpp/src/Ice/SliceChecksumDict.cpp +3 -3
  142. data/ext/ice/cpp/src/Ice/StreamSocket.cpp +6 -6
  143. data/ext/ice/cpp/src/Ice/TcpAcceptor.cpp +6 -0
  144. data/ext/ice/cpp/src/Ice/TcpConnector.cpp +5 -0
  145. data/ext/ice/cpp/src/Ice/TcpEndpointI.cpp +5 -0
  146. data/ext/ice/cpp/src/Ice/TcpTransceiver.cpp +5 -0
  147. data/ext/ice/cpp/src/Ice/ThreadPool.cpp +63 -0
  148. data/ext/ice/cpp/src/Ice/ThreadPool.h +10 -2
  149. data/ext/ice/cpp/src/Ice/Timer.cpp +10 -0
  150. data/ext/ice/cpp/src/Ice/UdpEndpointI.cpp +11 -1
  151. data/ext/ice/cpp/src/Ice/UdpTransceiver.cpp +10 -2
  152. data/ext/ice/cpp/src/Ice/ValueFactory.cpp +3 -3
  153. data/ext/ice/cpp/src/Ice/Version.cpp +3 -3
  154. data/ext/ice/cpp/src/Ice/WSTransceiver.cpp +16 -15
  155. data/ext/ice/cpp/src/IceDiscovery/IceDiscovery.cpp +3 -3
  156. data/ext/ice/cpp/src/IceDiscovery/IceDiscovery.h +3 -3
  157. data/ext/ice/cpp/src/IceLocatorDiscovery/IceLocatorDiscovery.cpp +3 -3
  158. data/ext/ice/cpp/src/IceLocatorDiscovery/IceLocatorDiscovery.h +3 -3
  159. data/ext/ice/cpp/src/IceLocatorDiscovery/PluginI.cpp +37 -8
  160. data/ext/ice/cpp/src/IceSSL/CertificateI.cpp +3 -3
  161. data/ext/ice/cpp/src/IceSSL/ConnectionInfo.cpp +3 -3
  162. data/ext/ice/cpp/src/IceSSL/ConnectionInfoF.cpp +3 -3
  163. data/ext/ice/cpp/src/IceSSL/EndpointInfo.cpp +3 -3
  164. data/ext/ice/cpp/src/IceSSL/OpenSSLEngine.cpp +4 -16
  165. data/ext/ice/cpp/src/IceSSL/OpenSSLEngine.h +0 -1
  166. data/ext/ice/cpp/src/IceSSL/OpenSSLTransceiverI.cpp +40 -3
  167. data/ext/ice/cpp/src/IceSSL/SChannelEngine.cpp +0 -7
  168. data/ext/ice/cpp/src/IceSSL/SChannelEngine.h +0 -2
  169. data/ext/ice/cpp/src/IceSSL/SChannelTransceiverI.cpp +18 -6
  170. data/ext/ice/cpp/src/IceSSL/SSLEngine.cpp +19 -7
  171. data/ext/ice/cpp/src/IceSSL/SSLEngine.h +2 -0
  172. data/ext/ice/cpp/src/IceSSL/SecureTransportCertificateI.cpp +32 -21
  173. data/ext/ice/cpp/src/IceSSL/SecureTransportTransceiverI.cpp +21 -6
  174. data/ext/ice/cpp/src/IceSSL/SecureTransportUtil.cpp +19 -16
  175. data/ext/ice/cpp/src/IceSSL/Util.cpp +11 -5
  176. data/ext/ice/cpp/src/IceUtil/FileUtil.cpp +1 -1
  177. data/ext/ice/cpp/src/IceUtil/Options.cpp +3 -3
  178. data/ext/ice/cpp/src/IceUtil/OutputUtil.cpp +40 -10
  179. data/ext/ice/cpp/src/IceUtil/Random.cpp +2 -2
  180. data/ext/ice/cpp/src/IceUtil/StringConverter.cpp +5 -5
  181. data/ext/ice/cpp/src/IceUtil/StringUtil.cpp +3 -3
  182. data/ext/ice/cpp/src/IceUtil/Time.cpp +3 -3
  183. data/ext/ice/cpp/src/IceUtil/UUID.cpp +5 -5
  184. data/ext/ice/cpp/src/IceUtil/UtilException.cpp +4 -4
  185. data/ext/ice/cpp/src/Slice/CPlusPlusUtil.cpp +13 -9
  186. data/ext/ice/cpp/src/Slice/CPlusPlusUtil.h +1 -1
  187. data/ext/ice/cpp/src/Slice/Grammar.cpp +8 -0
  188. data/ext/ice/cpp/src/Slice/JavaUtil.cpp +1 -2
  189. data/ext/ice/cpp/src/Slice/MD5I.cpp +8 -0
  190. data/ext/ice/cpp/src/Slice/Parser.cpp +60 -112
  191. data/ext/ice/cpp/src/Slice/Parser.h +27 -1
  192. data/ext/ice/cpp/src/Slice/Preprocessor.cpp +2 -1
  193. data/ext/ice/cpp/src/Slice/PythonUtil.cpp +10 -10
  194. data/ext/ice/cpp/src/Slice/RubyUtil.cpp +1 -1
  195. data/ext/ice/cpp/src/Slice/Scanner.cpp +8 -0
  196. data/ext/ice/cpp/src/Slice/StringLiteralUtil.cpp +11 -6
  197. data/ext/ice/mcpp/Makefile +2 -5
  198. data/ice.gemspec +1 -1
  199. data/lib/Glacier2/Metrics.rb +1 -1
  200. data/lib/Glacier2/PermissionsVerifier.rb +1 -1
  201. data/lib/Glacier2/PermissionsVerifierF.rb +1 -1
  202. data/lib/Glacier2/Router.rb +1 -1
  203. data/lib/Glacier2/RouterF.rb +1 -1
  204. data/lib/Glacier2/SSLInfo.rb +1 -1
  205. data/lib/Glacier2/Session.rb +1 -1
  206. data/lib/Ice/BuiltinSequences.rb +1 -1
  207. data/lib/Ice/Communicator.rb +1 -1
  208. data/lib/Ice/CommunicatorF.rb +1 -1
  209. data/lib/Ice/Connection.rb +1 -1
  210. data/lib/Ice/ConnectionF.rb +1 -1
  211. data/lib/Ice/Current.rb +1 -1
  212. data/lib/Ice/Endpoint.rb +1 -1
  213. data/lib/Ice/EndpointF.rb +1 -1
  214. data/lib/Ice/EndpointTypes.rb +1 -1
  215. data/lib/Ice/FacetMap.rb +1 -1
  216. data/lib/Ice/Identity.rb +1 -1
  217. data/lib/Ice/ImplicitContext.rb +1 -1
  218. data/lib/Ice/ImplicitContextF.rb +1 -1
  219. data/lib/Ice/Instrumentation.rb +1 -1
  220. data/lib/Ice/InstrumentationF.rb +1 -1
  221. data/lib/Ice/LocalException.rb +1 -1
  222. data/lib/Ice/Locator.rb +1 -1
  223. data/lib/Ice/LocatorF.rb +1 -1
  224. data/lib/Ice/Logger.rb +1 -1
  225. data/lib/Ice/LoggerF.rb +1 -1
  226. data/lib/Ice/Metrics.rb +1 -1
  227. data/lib/Ice/ObjectAdapter.rb +1 -1
  228. data/lib/Ice/ObjectAdapterF.rb +1 -1
  229. data/lib/Ice/ObjectFactory.rb +1 -1
  230. data/lib/Ice/Plugin.rb +1 -1
  231. data/lib/Ice/PluginF.rb +1 -1
  232. data/lib/Ice/Process.rb +1 -1
  233. data/lib/Ice/ProcessF.rb +1 -1
  234. data/lib/Ice/Properties.rb +1 -1
  235. data/lib/Ice/PropertiesAdmin.rb +1 -1
  236. data/lib/Ice/PropertiesF.rb +1 -1
  237. data/lib/Ice/RemoteLogger.rb +1 -1
  238. data/lib/Ice/Router.rb +1 -1
  239. data/lib/Ice/RouterF.rb +1 -1
  240. data/lib/Ice/ServantLocator.rb +1 -1
  241. data/lib/Ice/ServantLocatorF.rb +1 -1
  242. data/lib/Ice/SliceChecksumDict.rb +1 -1
  243. data/lib/Ice/ValueFactory.rb +1 -1
  244. data/lib/Ice/Version.rb +1 -1
  245. data/lib/IceBox/IceBox.rb +1 -1
  246. data/lib/IceGrid/Admin.rb +1 -1
  247. data/lib/IceGrid/Descriptor.rb +1 -1
  248. data/lib/IceGrid/Exception.rb +1 -1
  249. data/lib/IceGrid/FileParser.rb +1 -1
  250. data/lib/IceGrid/PluginFacade.rb +1 -1
  251. data/lib/IceGrid/Registry.rb +1 -1
  252. data/lib/IceGrid/Session.rb +1 -1
  253. data/lib/IceGrid/UserAccountMapper.rb +1 -1
  254. data/lib/IcePatch2/FileInfo.rb +1 -1
  255. data/lib/IcePatch2/FileServer.rb +1 -1
  256. data/lib/IceStorm/IceStorm.rb +1 -1
  257. data/lib/IceStorm/Metrics.rb +1 -1
  258. data/slice/Glacier2/Metrics.ice +1 -1
  259. data/slice/Ice/Communicator.ice +57 -25
  260. data/slice/Ice/Connection.ice +14 -14
  261. data/slice/Ice/Current.ice +1 -1
  262. data/slice/Ice/Endpoint.ice +6 -6
  263. data/slice/Ice/EndpointF.ice +1 -1
  264. data/slice/Ice/FacetMap.ice +1 -1
  265. data/slice/Ice/ImplicitContext.ice +6 -6
  266. data/slice/Ice/Instrumentation.ice +6 -6
  267. data/slice/Ice/Logger.ice +6 -6
  268. data/slice/Ice/Metrics.ice +12 -9
  269. data/slice/Ice/ObjectAdapter.ice +43 -31
  270. data/slice/Ice/ObjectFactory.ice +1 -1
  271. data/slice/Ice/Plugin.ice +2 -2
  272. data/slice/Ice/Properties.ice +10 -10
  273. data/slice/Ice/ServantLocator.ice +4 -2
  274. data/slice/Ice/ValueFactory.ice +3 -3
  275. data/slice/IceBT/EndpointInfo.ice +1 -1
  276. data/slice/IceGrid/PluginFacade.ice +4 -4
  277. data/slice/IceIAP/ConnectionInfo.ice +1 -1
  278. data/slice/IceIAP/EndpointInfo.ice +1 -1
  279. data/slice/IceSSL/ConnectionInfo.ice +3 -2
  280. data/slice/IceSSL/ConnectionInfoF.ice +1 -1
  281. data/slice/IceSSL/EndpointInfo.ice +1 -1
  282. data/slice/IceStorm/Metrics.ice +1 -1
  283. metadata +5 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 79ea9a56d0c6d3eaf5e8cd34f1d175cf105d39e0
4
- data.tar.gz: d07d89217f5dc17aaa34856fdc133f5ee8cac13f
2
+ SHA256:
3
+ metadata.gz: f061772e9d3a2a709e480d9bd0d028110838d15529c793b34367253782d649db
4
+ data.tar.gz: b451ddd683af4bbc6e948d76dce911204ff6c1b4314143e285b89f656ae8f0e4
5
5
  SHA512:
6
- metadata.gz: d79d2329cbaa873fb11bafa7f12b701769ea8970ad8cf044f09c101aaa802d3661e1a0e8924c9a2f134e244e31fb55091339727a5c82fd3ef3fd71a813abae04
7
- data.tar.gz: 2cc262447c5727446cb17de0259b0e021d45562896e466478df574506ef65fa22a665fdb8e1b0f38e525a1f4ace92def1af9146ae1b4c5cc7a2dcdf15c3c860c
6
+ metadata.gz: 943b478cf1ecdfb5e4332271fd025e8153b2c0a595ef7c96ce260d3d0a8caaffff2c1b5827166f687650d6fc6685f3e8c0f1c1fdd4090f7aecbb4ef237d8623a
7
+ data.tar.gz: 289327d910be75354d258ebc41eb31d2583738cd5b3fc7f43130442d87803000b9dac8787fd0b3ee9874bbf107606ad9c9ae12ac7a7c06f6aa9bd9f942cfdbf4
@@ -53,6 +53,10 @@
53
53
  #if defined(__clang__)
54
54
  # pragma clang diagnostic push
55
55
  # pragma clang diagnostic ignored "-Wunused-parameter"
56
+ //
57
+ // BUGFIX: Workaround clang conversion warnings in ruby headers
58
+ //
59
+ # pragma clang diagnostic ignored "-Wconversion"
56
60
  #elif defined(__GNUC__)
57
61
  # pragma GCC diagnostic push
58
62
  # pragma GCC diagnostic ignored "-Wunused-parameter"
@@ -64,8 +64,8 @@ private:
64
64
  bool _returnsClasses;
65
65
  string _deprecateMessage;
66
66
 
67
- void convertParams(VALUE, ParamInfoList&, int, bool&);
68
- ParamInfoPtr convertParam(VALUE, int);
67
+ void convertParams(VALUE, ParamInfoList&, long, bool&);
68
+ ParamInfoPtr convertParam(VALUE, long);
69
69
  void prepareRequest(const Ice::ObjectPrx&, VALUE, Ice::OutputStream*, pair<const Ice::Byte*, const Ice::Byte*>&);
70
70
  VALUE unmarshalResults(const vector<Ice::Byte>&, const Ice::CommunicatorPtr&);
71
71
  VALUE unmarshalException(const vector<Ice::Byte>&, const Ice::CommunicatorPtr&);
@@ -367,7 +367,7 @@ IceRuby::OperationI::deprecate(const string& msg)
367
367
  }
368
368
 
369
369
  void
370
- IceRuby::OperationI::convertParams(VALUE v, ParamInfoList& params, int posOffset, bool& usesClasses)
370
+ IceRuby::OperationI::convertParams(VALUE v, ParamInfoList& params, long posOffset, bool& usesClasses)
371
371
  {
372
372
  assert(TYPE(v) == T_ARRAY);
373
373
 
@@ -383,14 +383,14 @@ IceRuby::OperationI::convertParams(VALUE v, ParamInfoList& params, int posOffset
383
383
  }
384
384
 
385
385
  ParamInfoPtr
386
- IceRuby::OperationI::convertParam(VALUE v, int pos)
386
+ IceRuby::OperationI::convertParam(VALUE v, long pos)
387
387
  {
388
388
  assert(TYPE(v) == T_ARRAY);
389
389
  ParamInfoPtr param = new ParamInfo;
390
390
  param->type = getType(RARRAY_AREF(v, 0));
391
391
  param->optional = static_cast<bool>(RTEST(RARRAY_AREF(v, 1)));
392
392
  param->tag = static_cast<int>(getInteger(RARRAY_AREF(v, 2)));
393
- param->pos = pos;
393
+ param->pos = static_cast<int>(pos);
394
394
  return param;
395
395
  }
396
396
 
@@ -136,7 +136,7 @@ IceRuby_Properties_getPropertyAsIntWithDefault(VALUE self, VALUE key, VALUE def)
136
136
  {
137
137
  Ice::PropertiesPtr p = getProperties(self);
138
138
  string k = getString(key);
139
- Ice::Int d = getInteger(def);
139
+ Ice::Int d = static_cast<Ice::Int>(getInteger(def));
140
140
  Ice::Int v = p->getPropertyAsIntWithDefault(k, d);
141
141
  return INT2FIX(v);
142
142
  }
@@ -153,7 +153,7 @@ IceRuby_ObjectPrx_ice_ids(int argc, VALUE* argv, VALUE self)
153
153
  checkArgs("ice_ids", 0, argc, argv, ctx);
154
154
 
155
155
  vector<string> ids = p->ice_ids(ctx);
156
- volatile VALUE result = createArray(ids.size());
156
+ volatile VALUE result = createArray(static_cast<long>(ids.size()));
157
157
  long i = 0;
158
158
  for(vector<string>::iterator q = ids.begin(); q != ids.end(); ++q, ++i)
159
159
  {
@@ -307,7 +307,7 @@ IceRuby_ObjectPrx_ice_getEndpoints(VALUE self)
307
307
  Ice::ObjectPrx p = getProxy(self);
308
308
 
309
309
  Ice::EndpointSeq seq = p->ice_getEndpoints();
310
- volatile VALUE result = createArray(seq.size());
310
+ volatile VALUE result = createArray(static_cast<long>(seq.size()));
311
311
  long i = 0;
312
312
  for(Ice::EndpointSeq::iterator q = seq.begin(); q != seq.end(); ++q, ++i)
313
313
  {
@@ -919,6 +919,19 @@ IceRuby_ObjectPrx_ice_fixed(VALUE self, VALUE con)
919
919
  return Qnil;
920
920
  }
921
921
 
922
+ extern "C"
923
+ VALUE
924
+ IceRuby_ObjectPrx_ice_isFixed(VALUE self)
925
+ {
926
+ ICE_RUBY_TRY
927
+ {
928
+ Ice::ObjectPrx p = getProxy(self);
929
+ return p->ice_isFixed() ? Qtrue : Qfalse;
930
+ }
931
+ ICE_RUBY_CATCH
932
+ return Qnil;
933
+ }
934
+
922
935
  extern "C"
923
936
  VALUE
924
937
  IceRuby_ObjectPrx_ice_getConnection(VALUE self)
@@ -1329,6 +1342,7 @@ IceRuby::initProxy(VALUE iceModule)
1329
1342
  rb_define_method(_proxyClass, "ice_getTimeout", CAST_METHOD(IceRuby_ObjectPrx_ice_getTimeout), 0);
1330
1343
  rb_define_method(_proxyClass, "ice_connectionId", CAST_METHOD(IceRuby_ObjectPrx_ice_connectionId), 1);
1331
1344
  rb_define_method(_proxyClass, "ice_fixed", CAST_METHOD(IceRuby_ObjectPrx_ice_fixed), 1);
1345
+ rb_define_method(_proxyClass, "ice_isFixed", CAST_METHOD(IceRuby_ObjectPrx_ice_isFixed), 0);
1332
1346
  rb_define_method(_proxyClass, "ice_getConnection", CAST_METHOD(IceRuby_ObjectPrx_ice_getConnection), 0);
1333
1347
  rb_define_method(_proxyClass, "ice_getCachedConnection", CAST_METHOD(IceRuby_ObjectPrx_ice_getCachedConnection), 0);
1334
1348
  rb_define_method(_proxyClass, "ice_flushBatchRequests", CAST_METHOD(IceRuby_ObjectPrx_ice_flushBatchRequests), 0);
@@ -75,9 +75,9 @@ escapeString(const string& str)
75
75
  {
76
76
  if(charSet.find(*c) == charSet.end())
77
77
  {
78
- unsigned char uc = *c; // char may be signed, so make it positive
78
+ unsigned char uc = static_cast<unsigned char>(*c); // char may be signed, so make it positive
79
79
  ostringstream s;
80
- s << "\\"; // Print as octal if not in basic source character set
80
+ s << "\\"; // Print as octal if not in basic source character set
81
81
  s.width(3);
82
82
  s.fill('0');
83
83
  s << oct;
@@ -240,8 +240,7 @@ IceRuby::StreamUtil::setSlicedDataMember(VALUE obj, const Ice::SlicedDataPtr& sl
240
240
 
241
241
  volatile VALUE sd = callRuby(rb_class_new_instance, 0, static_cast<VALUE*>(0), _slicedDataType);
242
242
 
243
- Ice::Int sz = slicedData->slices.size();
244
- volatile VALUE slices = createArray(sz);
243
+ volatile VALUE slices = createArray(static_cast<long>(slicedData->slices.size()));
245
244
 
246
245
  callRuby(rb_iv_set, sd, "@slices", slices);
247
246
 
@@ -271,13 +270,15 @@ IceRuby::StreamUtil::setSlicedDataMember(VALUE obj, const Ice::SlicedDataPtr& sl
271
270
  //
272
271
  // bytes
273
272
  //
274
- volatile VALUE bytes = callRuby(rb_str_new, reinterpret_cast<const char*>(&(*p)->bytes[0]), (*p)->bytes.size());
273
+ volatile VALUE bytes = callRuby(rb_str_new,
274
+ (*p)->bytes.empty() ? 0 : reinterpret_cast<const char*>(&(*p)->bytes[0]),
275
+ static_cast<long>((*p)->bytes.size()));
275
276
  callRuby(rb_iv_set, slice, "@bytes", bytes);
276
277
 
277
278
  //
278
279
  // instances
279
280
  //
280
- volatile VALUE instances = createArray((*p)->instances.size());
281
+ volatile VALUE instances = createArray(static_cast<long>((*p)->instances.size()));
281
282
  callRuby(rb_iv_set, slice, "@instances", instances);
282
283
 
283
284
  int j = 0;
@@ -1012,7 +1013,7 @@ IceRuby::StructInfo::marshal(VALUE p, Ice::OutputStream* os, ObjectMap* objectMa
1012
1013
  p = _nullMarshalValue;
1013
1014
  }
1014
1015
 
1015
- Ice::OutputStream::size_type sizePos = -1;
1016
+ Ice::OutputStream::size_type sizePos = 0;
1016
1017
  if(optional)
1017
1018
  {
1018
1019
  if(_variableLength)
@@ -1187,7 +1188,7 @@ IceRuby::SequenceInfo::marshal(VALUE p, Ice::OutputStream* os, ObjectMap* object
1187
1188
 
1188
1189
  volatile VALUE arr = Qnil;
1189
1190
 
1190
- Ice::OutputStream::size_type sizePos = -1;
1191
+ Ice::OutputStream::size_type sizePos = 0;
1191
1192
  if(optional)
1192
1193
  {
1193
1194
  if(elementType->variableLength())
@@ -1395,10 +1396,10 @@ IceRuby::SequenceInfo::marshalPrimitiveSequence(const PrimitiveInfoPtr& pi, VALU
1395
1396
  case PrimitiveInfo::KindBool:
1396
1397
  {
1397
1398
  long sz = RARRAY_LEN(arr);
1398
- Ice::BoolSeq seq(sz);
1399
+ Ice::BoolSeq seq(static_cast<size_t>(sz));
1399
1400
  for(long i = 0; i < sz; ++i)
1400
1401
  {
1401
- seq[i] = RTEST(RARRAY_AREF(arr, i));
1402
+ seq[static_cast<size_t>(i)] = RTEST(RARRAY_AREF(arr, i));
1402
1403
  }
1403
1404
  os->write(seq);
1404
1405
  break;
@@ -1421,7 +1422,7 @@ IceRuby::SequenceInfo::marshalPrimitiveSequence(const PrimitiveInfoPtr& pi, VALU
1421
1422
  else
1422
1423
  {
1423
1424
  long sz = RARRAY_LEN(arr);
1424
- Ice::ByteSeq seq(sz);
1425
+ Ice::ByteSeq seq(static_cast<size_t>(sz));
1425
1426
  for(long i = 0; i < sz; ++i)
1426
1427
  {
1427
1428
  long val = getInteger(RARRAY_AREF(arr, i));
@@ -1429,16 +1430,16 @@ IceRuby::SequenceInfo::marshalPrimitiveSequence(const PrimitiveInfoPtr& pi, VALU
1429
1430
  {
1430
1431
  throw RubyException(rb_eTypeError, "invalid value for element %ld of sequence<byte>", i);
1431
1432
  }
1432
- seq[i] = static_cast<Ice::Byte>(val);
1433
+ seq[static_cast<size_t>(i)] = static_cast<Ice::Byte>(val);
1433
1434
  }
1434
- os->write(&seq[0], &seq[0] + seq.size());
1435
+ os->write(seq);
1435
1436
  }
1436
1437
  break;
1437
1438
  }
1438
1439
  case PrimitiveInfo::KindShort:
1439
1440
  {
1440
1441
  long sz = RARRAY_LEN(arr);
1441
- Ice::ShortSeq seq(sz);
1442
+ Ice::ShortSeq seq(static_cast<size_t>(sz));
1442
1443
  for(long i = 0; i < sz; ++i)
1443
1444
  {
1444
1445
  long val = getInteger(RARRAY_AREF(arr, i));
@@ -1446,15 +1447,15 @@ IceRuby::SequenceInfo::marshalPrimitiveSequence(const PrimitiveInfoPtr& pi, VALU
1446
1447
  {
1447
1448
  throw RubyException(rb_eTypeError, "invalid value for element %ld of sequence<short>", i);
1448
1449
  }
1449
- seq[i] = static_cast<Ice::Short>(val);
1450
+ seq[static_cast<size_t>(i)] = static_cast<Ice::Short>(val);
1450
1451
  }
1451
- os->write(&seq[0], &seq[0] + seq.size());
1452
+ os->write(seq);
1452
1453
  break;
1453
1454
  }
1454
1455
  case PrimitiveInfo::KindInt:
1455
1456
  {
1456
1457
  long sz = RARRAY_LEN(arr);
1457
- Ice::IntSeq seq(sz);
1458
+ Ice::IntSeq seq(static_cast<size_t>(sz));
1458
1459
  for(long i = 0; i < sz; ++i)
1459
1460
  {
1460
1461
  long val = getInteger(RARRAY_AREF(arr, i));
@@ -1462,26 +1463,26 @@ IceRuby::SequenceInfo::marshalPrimitiveSequence(const PrimitiveInfoPtr& pi, VALU
1462
1463
  {
1463
1464
  throw RubyException(rb_eTypeError, "invalid value for element %ld of sequence<int>", i);
1464
1465
  }
1465
- seq[i] = static_cast<Ice::Int>(val);
1466
+ seq[static_cast<size_t>(i)] = static_cast<Ice::Int>(val);
1466
1467
  }
1467
- os->write(&seq[0], &seq[0] + seq.size());
1468
+ os->write(seq);
1468
1469
  break;
1469
1470
  }
1470
1471
  case PrimitiveInfo::KindLong:
1471
1472
  {
1472
1473
  long sz = RARRAY_LEN(arr);
1473
- Ice::LongSeq seq(sz);
1474
+ Ice::LongSeq seq(static_cast<size_t>(sz));
1474
1475
  for(long i = 0; i < sz; ++i)
1475
1476
  {
1476
- seq[i] = getLong(RARRAY_AREF(arr, i));
1477
+ seq[static_cast<size_t>(i)] = getLong(RARRAY_AREF(arr, i));
1477
1478
  }
1478
- os->write(&seq[0], &seq[0] + seq.size());
1479
+ os->write(seq);
1479
1480
  break;
1480
1481
  }
1481
1482
  case PrimitiveInfo::KindFloat:
1482
1483
  {
1483
1484
  long sz = RARRAY_LEN(arr);
1484
- Ice::FloatSeq seq(sz);
1485
+ Ice::FloatSeq seq(static_cast<size_t>(sz));
1485
1486
  for(long i = 0; i < sz; ++i)
1486
1487
  {
1487
1488
  volatile VALUE v = callRuby(rb_Float, RARRAY_AREF(arr, i));
@@ -1490,15 +1491,15 @@ IceRuby::SequenceInfo::marshalPrimitiveSequence(const PrimitiveInfoPtr& pi, VALU
1490
1491
  throw RubyException(rb_eTypeError, "unable to convert array element %ld to a float", i);
1491
1492
  }
1492
1493
  assert(TYPE(v) == T_FLOAT);
1493
- seq[i] = static_cast<Ice::Float>(RFLOAT_VALUE(v));
1494
+ seq[static_cast<size_t>(i)] = static_cast<Ice::Float>(RFLOAT_VALUE(v));
1494
1495
  }
1495
- os->write(&seq[0], &seq[0] + seq.size());
1496
+ os->write(seq);
1496
1497
  break;
1497
1498
  }
1498
1499
  case PrimitiveInfo::KindDouble:
1499
1500
  {
1500
1501
  long sz = RARRAY_LEN(arr);
1501
- Ice::DoubleSeq seq(sz);
1502
+ Ice::DoubleSeq seq(static_cast<size_t>(sz));
1502
1503
  for(long i = 0; i < sz; ++i)
1503
1504
  {
1504
1505
  volatile VALUE v = callRuby(rb_Float, RARRAY_AREF(arr, i));
@@ -1507,24 +1508,31 @@ IceRuby::SequenceInfo::marshalPrimitiveSequence(const PrimitiveInfoPtr& pi, VALU
1507
1508
  throw RubyException(rb_eTypeError, "unable to convert array element %ld to a double", i);
1508
1509
  }
1509
1510
  assert(TYPE(v) == T_FLOAT);
1510
- seq[i] = RFLOAT_VALUE(v);
1511
+ seq[static_cast<size_t>(i)] = RFLOAT_VALUE(v);
1511
1512
  }
1512
- os->write(&seq[0], &seq[0] + seq.size());
1513
+ os->write(seq);
1513
1514
  break;
1514
1515
  }
1515
1516
  case PrimitiveInfo::KindString:
1516
1517
  {
1517
1518
  long sz = RARRAY_LEN(arr);
1518
- Ice::StringSeq seq(sz);
1519
+ Ice::StringSeq seq(static_cast<size_t>(sz));
1519
1520
  for(long i = 0; i < sz; ++i)
1520
1521
  {
1521
- seq[i] = getString(RARRAY_AREF(arr, i));
1522
+ seq[static_cast<size_t>(i)] = getString(RARRAY_AREF(arr, i));
1523
+ }
1524
+ if(seq.empty())
1525
+ {
1526
+ os->write(seq);
1522
1527
  }
1528
+ else
1529
+ {
1523
1530
  #ifdef HAVE_RUBY_ENCODING_H
1524
- os->write(&seq[0], &seq[0] + seq.size(), false); // Bypass string conversion.
1531
+ os->write(&seq[0], &seq[0] + seq.size(), false); // Bypass string conversion.
1525
1532
  #else
1526
- os->write(&seq[0], &seq[0] + seq.size(), true);
1533
+ os->write(&seq[0], &seq[0] + seq.size(), true);
1527
1534
  #endif
1535
+ }
1528
1536
  break;
1529
1537
  }
1530
1538
  }
@@ -1658,12 +1666,9 @@ IceRuby::SequenceInfo::unmarshalPrimitiveSequence(const PrimitiveInfoPtr& pi, Ic
1658
1666
  long sz = static_cast<long>(seq.size());
1659
1667
  result = createArray(sz);
1660
1668
 
1661
- if(sz > 0)
1669
+ for(long i = 0; i < sz; ++i)
1662
1670
  {
1663
- for(long i = 0; i < sz; ++i)
1664
- {
1665
- RARRAY_ASET(result, i, createString(seq[i]));
1666
- }
1671
+ RARRAY_ASET(result, i, createString(seq[static_cast<size_t>(i)]));
1667
1672
  }
1668
1673
  break;
1669
1674
  }
@@ -1762,10 +1767,10 @@ IceRuby::DictionaryInfo::marshal(VALUE p, Ice::OutputStream* os, ObjectMap* obje
1762
1767
  }
1763
1768
  }
1764
1769
 
1765
- int sz = 0;
1770
+ Ice::Int sz = 0;
1766
1771
  if(!NIL_P(hash))
1767
1772
  {
1768
- sz = RHASH_SIZE(hash);
1773
+ sz = static_cast<Ice::Int>(RHASH_SIZE(hash));
1769
1774
  }
1770
1775
 
1771
1776
  Ice::OutputStream::size_type sizePos = 0;
@@ -2356,7 +2361,7 @@ IceRuby::ProxyInfo::optionalFormat() const
2356
2361
  void
2357
2362
  IceRuby::ProxyInfo::marshal(VALUE p, Ice::OutputStream* os, ObjectMap*, bool optional)
2358
2363
  {
2359
- Ice::OutputStream::size_type sizePos = -1;
2364
+ Ice::OutputStream::size_type sizePos = 0;
2360
2365
  if(optional)
2361
2366
  {
2362
2367
  sizePos = os->startSize();
@@ -762,7 +762,7 @@ setExceptionMembers(const Ice::LocalException& ex, VALUE p)
762
762
  }
763
763
 
764
764
  VALUE
765
- IceRuby::createArrayHelper(long sz)
765
+ IceRuby::createArray(long sz)
766
766
  {
767
767
  volatile VALUE arr = callRuby(rb_ary_new2, sz);
768
768
  if(sz > 0)
data/ext/Util.h CHANGED
@@ -8,6 +8,14 @@
8
8
  #include <Config.h>
9
9
  #include <Ice/Ice.h>
10
10
 
11
+ //
12
+ // Avoid clang conversion warnings in "callRuby" calls
13
+ //
14
+ #if defined(__clang__)
15
+ # pragma clang diagnostic ignored "-Wconversion"
16
+ # pragma clang diagnostic ignored "-Wsign-conversion"
17
+ #endif
18
+
11
19
  namespace IceRuby
12
20
  {
13
21
 
@@ -228,7 +236,7 @@ class RF_2
228
236
  public:
229
237
 
230
238
  RF_2(Fun f, T1 t1, T2 t2) : _f(f), _t1(t1), _t2(t2) {}
231
- inline VALUE operator()() { return _f(_t1, _t2); }
239
+ inline VALUE operator()(){ return _f(_t1, _t2); }
232
240
  static inline VALUE call(VALUE f)
233
241
  {
234
242
  return (*reinterpret_cast<RF_2*>(f))();
@@ -468,8 +476,6 @@ inline void callRubyVoid(Fun fun, T1 t1, T2 t2, T3 t3, T4 t4)
468
476
  callProtected(RubyFunction(RF::call), reinterpret_cast<VALUE>(&f));
469
477
  }
470
478
 
471
- VALUE createArrayHelper(long);
472
-
473
479
  //
474
480
  // Create an array with the given size. May raise RubyException.
475
481
  //
@@ -485,11 +491,7 @@ VALUE createArrayHelper(long);
485
491
  // RARRAY_ASET(arr, i, val);
486
492
  // }
487
493
  //
488
- template<typename T>
489
- inline VALUE createArray(T sz)
490
- {
491
- return createArrayHelper(static_cast<long>(sz));
492
- }
494
+ VALUE createArray(long);
493
495
 
494
496
  //
495
497
  // Create the Ruby equivalent of an Ice local exception.
@@ -26,6 +26,10 @@
26
26
  # endif
27
27
  #endif
28
28
 
29
+ #ifdef ICE_SWIFT
30
+ # include <dispatch/dispatch.h>
31
+ #endif
32
+
29
33
  //
30
34
  // Define the Ice and IceInternal namespace, so that we can use the following
31
35
  // everywhere in our code:
@@ -21,7 +21,7 @@ public:
21
21
 
22
22
  static FactoryTableInit factoryTableInitializer; // Dummy variable to force initialization of factoryTable
23
23
 
24
- extern ICE_API FactoryTable* factoryTable;
24
+ extern ICE_API FactoryTable* factoryTable ICE_GLOBAL_VAR_SUFFIX;
25
25
 
26
26
  class ICE_API CompactIdInit
27
27
  {
@@ -267,7 +267,7 @@ IconvStringConverter<charT>::toUTF8(const charT* sourceStart,
267
267
  #else
268
268
  char* inbuf = reinterpret_cast<char*>(const_cast<charT*>(sourceStart));
269
269
  #endif
270
- size_t inbytesleft = (sourceEnd - sourceStart) * sizeof(charT);
270
+ size_t inbytesleft = static_cast<size_t>(sourceEnd - sourceStart) * sizeof(charT);
271
271
  char* outbuf = 0;
272
272
 
273
273
  size_t count = 0;
@@ -311,7 +311,8 @@ IconvStringConverter<charT>::fromUTF8(const Ice::Byte* sourceStart, const Ice::B
311
311
  #else
312
312
  char* inbuf = reinterpret_cast<char*>(const_cast<Ice::Byte*>(sourceStart));
313
313
  #endif
314
- size_t inbytesleft = sourceEnd - sourceStart;
314
+ assert(sourceEnd > sourceStart);
315
+ size_t inbytesleft = static_cast<size_t>(sourceEnd - sourceStart);
315
316
 
316
317
  char* outbuf = 0;
317
318
  size_t outbytesleft = 0;
@@ -325,7 +326,7 @@ IconvStringConverter<charT>::fromUTF8(const Ice::Byte* sourceStart, const Ice::B
325
326
  size_t bytesused = 0;
326
327
  if(outbuf != 0)
327
328
  {
328
- bytesused = outbuf - reinterpret_cast<const char*>(target.data());
329
+ bytesused = static_cast<size_t>(outbuf - reinterpret_cast<const char*>(target.data()));
329
330
  }
330
331
 
331
332
  const size_t increment = std::max<size_t>(inbytesleft, 4);