zeroc-ice 3.7.2 → 3.7.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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
@@ -355,14 +355,8 @@ LoggerAdminI::attachRemoteLogger(const RemoteLoggerPrx& prx,
355
355
  // In C++, LoggerAdminI does not keep a "logger" data member to avoid a hard-to-break circular
356
356
  // reference, so we retrieve the logger from Current
357
357
  //
358
-
359
358
  LoggerAdminLoggerIPtr logger = ICE_DYNAMIC_CAST(LoggerAdminLoggerI, current.adapter->getCommunicator()->getLogger());
360
- if(!logger)
361
- {
362
- // Our logger is not installed - must be a bug
363
- assert(0);
364
- return;
365
- }
359
+ assert(logger);
366
360
 
367
361
  RemoteLoggerPrxPtr remoteLogger = prx->ice_twoway();
368
362
 
@@ -2,7 +2,7 @@
2
2
  // Copyright (c) ZeroC, Inc. All rights reserved.
3
3
  //
4
4
  //
5
- // Ice version 3.7.2
5
+ // Ice version 3.7.3
6
6
  //
7
7
  // <auto-generated>
8
8
  //
@@ -32,10 +32,10 @@
32
32
  # if ICE_INT_VERSION / 100 != 307
33
33
  # error Ice version mismatch!
34
34
  # endif
35
- # if ICE_INT_VERSION % 100 > 50
35
+ # if ICE_INT_VERSION % 100 >= 50
36
36
  # error Beta header file detected
37
37
  # endif
38
- # if ICE_INT_VERSION % 100 < 2
38
+ # if ICE_INT_VERSION % 100 < 3
39
39
  # error Ice patch level mismatch!
40
40
  # endif
41
41
  #endif
@@ -11,6 +11,12 @@
11
11
  #include <Ice/LocalException.h>
12
12
  #include <IceUtil/FileUtil.h>
13
13
 
14
+ #ifdef __IBMCPP__
15
+ // Work-around for xlC visibility bug
16
+ // See "ifstream::tellg visibility error" thread on IBM xlC forum
17
+ extern template class std::fpos<char*>;
18
+ #endif
19
+
14
20
  using namespace std;
15
21
  using namespace Ice;
16
22
  using namespace IceInternal;
@@ -2,7 +2,7 @@
2
2
  // Copyright (c) ZeroC, Inc. All rights reserved.
3
3
  //
4
4
  //
5
- // Ice version 3.7.2
5
+ // Ice version 3.7.3
6
6
  //
7
7
  // <auto-generated>
8
8
  //
@@ -38,10 +38,10 @@
38
38
  # if ICE_INT_VERSION / 100 != 307
39
39
  # error Ice version mismatch!
40
40
  # endif
41
- # if ICE_INT_VERSION % 100 > 50
41
+ # if ICE_INT_VERSION % 100 >= 50
42
42
  # error Beta header file detected
43
43
  # endif
44
- # if ICE_INT_VERSION % 100 < 2
44
+ # if ICE_INT_VERSION % 100 < 3
45
45
  # error Ice patch level mismatch!
46
46
  # endif
47
47
  #endif
@@ -495,7 +495,7 @@ IceMX::MetricsAdminPrx::_iceI_getMetricsView(const ::std::shared_ptr<::IceIntern
495
495
 
496
496
  /// \cond INTERNAL
497
497
  void
498
- IceMX::MetricsAdminPrx::_iceI_getMapMetricsFailures(const ::std::shared_ptr<::IceInternal::OutgoingAsyncT<MetricsFailuresSeq>>& outAsync, const ::std::string& iceP_view, const ::std::string& iceP_map, const ::Ice::Context& context)
498
+ IceMX::MetricsAdminPrx::_iceI_getMapMetricsFailures(const ::std::shared_ptr<::IceInternal::OutgoingAsyncT<::IceMX::MetricsFailuresSeq>>& outAsync, const ::std::string& iceP_view, const ::std::string& iceP_map, const ::Ice::Context& context)
499
499
  {
500
500
  _checkTwowayOnly(iceC_IceMX_MetricsAdmin_getMapMetricsFailures_name);
501
501
  outAsync->invoke(iceC_IceMX_MetricsAdmin_getMapMetricsFailures_name, ::Ice::OperationMode::Normal, ::Ice::FormatType::SlicedFormat, context,
@@ -522,7 +522,7 @@ IceMX::MetricsAdminPrx::_iceI_getMapMetricsFailures(const ::std::shared_ptr<::Ic
522
522
 
523
523
  /// \cond INTERNAL
524
524
  void
525
- IceMX::MetricsAdminPrx::_iceI_getMetricsFailures(const ::std::shared_ptr<::IceInternal::OutgoingAsyncT<MetricsFailures>>& outAsync, const ::std::string& iceP_view, const ::std::string& iceP_map, const ::std::string& iceP_id, const ::Ice::Context& context)
525
+ IceMX::MetricsAdminPrx::_iceI_getMetricsFailures(const ::std::shared_ptr<::IceInternal::OutgoingAsyncT<::IceMX::MetricsFailures>>& outAsync, const ::std::string& iceP_view, const ::std::string& iceP_map, const ::std::string& iceP_id, const ::Ice::Context& context)
526
526
  {
527
527
  _checkTwowayOnly(iceC_IceMX_MetricsAdmin_getMetricsFailures_name);
528
528
  outAsync->invoke(iceC_IceMX_MetricsAdmin_getMetricsFailures_name, ::Ice::OperationMode::Normal, ::Ice::FormatType::SlicedFormat, context,
@@ -46,7 +46,7 @@
46
46
  # include <sys/ioctl.h>
47
47
  #endif
48
48
 
49
- #if defined(__linux) || defined(__APPLE__) || defined(__FreeBSD__)
49
+ #if defined(__linux__) || defined(__APPLE__) || defined(__FreeBSD__)
50
50
  # include <ifaddrs.h>
51
51
  #elif defined(__sun)
52
52
  # include <sys/sockio.h>
@@ -346,7 +346,7 @@ getLocalAddresses(ProtocolSupport protocol, bool includeLoopback, bool singleAdd
346
346
 
347
347
  free(adapter_addresses);
348
348
  }
349
- #elif defined(__linux) || defined(__APPLE__) || defined(__FreeBSD__)
349
+ #elif defined(__linux__) || defined(__APPLE__) || defined(__FreeBSD__)
350
350
  struct ifaddrs* ifap;
351
351
  if(::getifaddrs(&ifap) == SOCKET_ERROR)
352
352
  {
@@ -448,40 +448,40 @@ getLocalAddresses(ProtocolSupport protocol, bool includeLoopback, bool singleAdd
448
448
  numaddrs = ifc.ifc_len / static_cast<int>(sizeof(struct ifreq));
449
449
  struct ifreq* ifr = ifc.ifc_req;
450
450
  set<string> interfaces;
451
- for(int i = 0; i < numaddrs; ++i)
451
+ for(int j = 0; j < numaddrs; ++j)
452
452
  {
453
- if(!(ifr[i].ifr_flags & IFF_LOOPBACK)) // Don't include loopback interface addresses
453
+ if(!(ifr[j].ifr_flags & IFF_LOOPBACK)) // Don't include loopback interface addresses
454
454
  {
455
455
  //
456
456
  // On Solaris the above Loopback check does not always work so we double
457
457
  // check the address below. Solaris also returns duplicate entries that need
458
458
  // to be filtered out.
459
459
  //
460
- if(ifr[i].ifr_addr.sa_family == AF_INET && protocol != EnableIPv6)
460
+ if(ifr[j].ifr_addr.sa_family == AF_INET && protocol != EnableIPv6)
461
461
  {
462
462
  Address addr;
463
- memcpy(&addr.saStorage, &ifr[i].ifr_addr, sizeof(sockaddr_in));
463
+ memcpy(&addr.saStorage, &ifr[j].ifr_addr, sizeof(sockaddr_in));
464
464
  if(addr.saIn.sin_addr.s_addr != 0 &&
465
465
  (includeLoopback || addr.saIn.sin_addr.s_addr != htonl(INADDR_LOOPBACK)))
466
466
  {
467
- if(!singleAddressPerInterface || interfaces.find(ifr[i].ifr_name) == interfaces.end())
467
+ if(!singleAddressPerInterface || interfaces.find(ifr[j].ifr_name) == interfaces.end())
468
468
  {
469
469
  result.push_back(addr);
470
- interfaces.insert(ifr[i].ifr_name);
470
+ interfaces.insert(ifr[j].ifr_name);
471
471
  }
472
472
  }
473
473
  }
474
- else if(ifr[i].ifr_addr.sa_family == AF_INET6 && protocol != EnableIPv4)
474
+ else if(ifr[j].ifr_addr.sa_family == AF_INET6 && protocol != EnableIPv4)
475
475
  {
476
476
  Address addr;
477
- memcpy(&addr.saStorage, &ifr[i].ifr_addr, sizeof(sockaddr_in6));
477
+ memcpy(&addr.saStorage, &ifr[j].ifr_addr, sizeof(sockaddr_in6));
478
478
  if(!IN6_IS_ADDR_UNSPECIFIED(&addr.saIn6.sin6_addr) &&
479
479
  (includeLoopback || !IN6_IS_ADDR_LOOPBACK(&addr.saIn6.sin6_addr)))
480
480
  {
481
- if(!singleAddressPerInterface || interfaces.find(ifr[i].ifr_name) == interfaces.end())
481
+ if(!singleAddressPerInterface || interfaces.find(ifr[j].ifr_name) == interfaces.end())
482
482
  {
483
483
  result.push_back(addr);
484
- interfaces.insert(ifr[i].ifr_name);
484
+ interfaces.insert(ifr[j].ifr_name);
485
485
  }
486
486
  }
487
487
  }
@@ -648,7 +648,7 @@ getInterfaceIndex(const string& intf)
648
648
  //
649
649
  if(isAddr)
650
650
  {
651
- # if defined(__linux) || defined(__APPLE__) || defined(__FreeBSD__)
651
+ # if defined(__linux__) || defined(__APPLE__) || defined(__FreeBSD__)
652
652
  struct ifaddrs* ifap;
653
653
  if(::getifaddrs(&ifap) != SOCKET_ERROR)
654
654
  {
@@ -660,7 +660,7 @@ getInterfaceIndex(const string& intf)
660
660
  struct sockaddr_in6* ipv6Addr = reinterpret_cast<struct sockaddr_in6*>(curr->ifa_addr);
661
661
  if(memcmp(&addr, &ipv6Addr->sin6_addr, sizeof(in6_addr)) == 0)
662
662
  {
663
- index = if_nametoindex(curr->ifa_name);
663
+ index = static_cast<int>(if_nametoindex(curr->ifa_name));
664
664
  break;
665
665
  }
666
666
  }
@@ -725,7 +725,7 @@ getInterfaceIndex(const string& intf)
725
725
  struct sockaddr_in6* ipv6Addr = reinterpret_cast<struct sockaddr_in6*>(&ifr[i].ifr_addr);
726
726
  if(memcmp(&addr, &ipv6Addr->sin6_addr, sizeof(in6_addr)) == 0)
727
727
  {
728
- index = if_nametoindex(ifr[i].ifr_name);
728
+ index = static_cast<int>(if_nametoindex(ifr[i].ifr_name));
729
729
  break;
730
730
  }
731
731
  }
@@ -736,7 +736,7 @@ getInterfaceIndex(const string& intf)
736
736
  }
737
737
  else // Look for an interface with the given name.
738
738
  {
739
- index = if_nametoindex(name.c_str());
739
+ index = static_cast<int>(if_nametoindex(name.c_str()));
740
740
  }
741
741
  if(index <= 0)
742
742
  {
@@ -1821,7 +1821,8 @@ IceInternal::inetAddrToString(const Address& ss)
1821
1821
 
1822
1822
  char namebuf[1024];
1823
1823
  namebuf[0] = '\0';
1824
- getnameinfo(&ss.sa, size, namebuf, static_cast<socklen_t>(sizeof(namebuf)), 0, 0, NI_NUMERICHOST);
1824
+ getnameinfo(&ss.sa, static_cast<socklen_t>(size), namebuf, static_cast<socklen_t>(sizeof(namebuf)), 0, 0,
1825
+ NI_NUMERICHOST);
1825
1826
  return string(namebuf);
1826
1827
  #else
1827
1828
  if(ss.host == nullptr)
@@ -2161,7 +2162,7 @@ IceInternal::setMcastGroup(SOCKET fd, const Address& group, const string& intf)
2161
2162
  indexes.insert(index);
2162
2163
  struct ipv6_mreq mreq;
2163
2164
  mreq.ipv6mr_multiaddr = group.saIn6.sin6_addr;
2164
- mreq.ipv6mr_interface = index;
2165
+ mreq.ipv6mr_interface = static_cast<unsigned int>(index);
2165
2166
  rc = setsockopt(fd, IPPROTO_IPV6, IPV6_JOIN_GROUP, reinterpret_cast<char*>(&mreq), int(sizeof(mreq)));
2166
2167
  }
2167
2168
  }
@@ -2404,7 +2405,7 @@ IceInternal::doBind(SOCKET fd, const Address& addr, const string&)
2404
2405
  int size = getAddressStorageSize(addr);
2405
2406
  assert(size != 0);
2406
2407
 
2407
- if(::bind(fd, &addr.sa, size) == SOCKET_ERROR)
2408
+ if(::bind(fd, &addr.sa, static_cast<socklen_t>(size)) == SOCKET_ERROR)
2408
2409
  {
2409
2410
  closeSocketNoThrow(fd);
2410
2411
  throw SocketException(__FILE__, __LINE__, getSocketErrno());
@@ -2626,7 +2627,7 @@ repeatConnect:
2626
2627
  int size = getAddressStorageSize(addr);
2627
2628
  assert(size != 0);
2628
2629
 
2629
- if(::connect(fd, &addr.sa, size) == SOCKET_ERROR)
2630
+ if(::connect(fd, &addr.sa, static_cast<socklen_t>(size)) == SOCKET_ERROR)
2630
2631
  {
2631
2632
  if(interrupted())
2632
2633
  {
@@ -2653,7 +2654,7 @@ repeatConnect:
2653
2654
  }
2654
2655
  }
2655
2656
 
2656
- #if defined(__linux)
2657
+ #if defined(__linux__)
2657
2658
  //
2658
2659
  // Prevent self connect (self connect happens on Linux when a client tries to connect to
2659
2660
  // a server which was just deactivated if the client socket re-uses the same ephemeral
@@ -2722,7 +2723,7 @@ IceInternal::doFinishConnect(SOCKET fd)
2722
2723
  }
2723
2724
  }
2724
2725
 
2725
- #if defined(__linux)
2726
+ #if defined(__linux__)
2726
2727
  //
2727
2728
  // Prevent self connect (self connect happens on Linux when a client tries to connect to
2728
2729
  // a server which was just deactivated if the client socket re-uses the same ephemeral
@@ -38,7 +38,7 @@ typedef int ssize_t;
38
38
  # include <netdb.h>
39
39
  #endif
40
40
 
41
- #if defined(__linux) && !defined(ICE_NO_EPOLL)
41
+ #if defined(__linux__) && !defined(ICE_NO_EPOLL)
42
42
  # define ICE_USE_EPOLL 1
43
43
  #elif (defined(__APPLE__) || defined(__FreeBSD__) || defined(__FreeBSD_kernel__)) && TARGET_OS_IPHONE == 0 && !defined(ICE_NO_KQUEUE)
44
44
  # define ICE_USE_KQUEUE 1
@@ -0,0 +1,57 @@
1
+ //
2
+ // Copyright (c) ZeroC, Inc. All rights reserved.
3
+ //
4
+
5
+ #ifdef ICE_SWIFT
6
+
7
+ #include <Ice/OSLogLoggerI.h>
8
+ #include <os/log.h>
9
+
10
+ using namespace std;
11
+ using namespace Ice;
12
+
13
+ Ice::OSLogLoggerI::OSLogLoggerI(const std::string& prefix) : _prefix(prefix)
14
+ {
15
+ const string subsystem = prefix.empty() ? "com.zeroc.ice" : "com.zeroc.ice." + prefix;
16
+ _log.reset(os_log_create(subsystem.c_str(), ""));
17
+ }
18
+
19
+ void
20
+ Ice::OSLogLoggerI::print(const std::string& message)
21
+ {
22
+ os_log_with_type(_log.get(), OS_LOG_TYPE_DEFAULT, "%{public}s.", message.c_str());
23
+ }
24
+
25
+ void
26
+ Ice::OSLogLoggerI::trace(const std::string& category, const std::string& message)
27
+ {
28
+ const string subsystem = _prefix.empty() ? "com.zeroc.ice" : "com.zeroc.ice." + _prefix;
29
+ IceInternal::UniqueRef<os_log_t> log(os_log_create(subsystem.c_str(), category.c_str()));
30
+ os_log_with_type(log.get(), OS_LOG_TYPE_INFO, "%{public}s.", message.c_str());
31
+ }
32
+
33
+ void
34
+ Ice::OSLogLoggerI::warning(const std::string& message)
35
+ {
36
+ os_log_with_type(_log.get(), OS_LOG_TYPE_ERROR, "%{public}s.", message.c_str());
37
+ }
38
+
39
+ void
40
+ Ice::OSLogLoggerI::error(const std::string& message)
41
+ {
42
+ os_log_with_type(_log.get(), OS_LOG_TYPE_FAULT, "%{public}s.", message.c_str());
43
+ }
44
+
45
+ std::string
46
+ Ice::OSLogLoggerI::getPrefix()
47
+ {
48
+ return _prefix;
49
+ }
50
+
51
+ LoggerPtr
52
+ Ice::OSLogLoggerI::cloneWithPrefix(const std::string& prefix)
53
+ {
54
+ return ICE_MAKE_SHARED(OSLogLoggerI, prefix);
55
+ }
56
+
57
+ #endif
@@ -0,0 +1,40 @@
1
+ //
2
+ // Copyright (c) ZeroC, Inc. All rights reserved.
3
+ //
4
+
5
+ #ifndef ICE_OSLOG_LOGGER_I_H
6
+ #define ICE_OSLOG_LOGGER_I_H
7
+
8
+ #ifdef ICE_SWIFT
9
+
10
+ #include <Ice/Logger.h>
11
+ #include <Ice/UniqueRef.h>
12
+ #include <os/log.h>
13
+
14
+ namespace Ice
15
+ {
16
+
17
+ class OSLogLoggerI : public Logger
18
+ {
19
+ public:
20
+
21
+ OSLogLoggerI(const std::string&);
22
+
23
+ virtual void print(const std::string&);
24
+ virtual void trace(const std::string&, const std::string&);
25
+ virtual void warning(const std::string&);
26
+ virtual void error(const std::string&);
27
+ virtual std::string getPrefix();
28
+ virtual LoggerPtr cloneWithPrefix(const std::string&);
29
+
30
+ private:
31
+
32
+ const std::string _prefix;
33
+ IceInternal::UniqueRef<os_log_t> _log;
34
+ };
35
+
36
+ }
37
+
38
+ #endif
39
+
40
+ #endif
@@ -155,7 +155,14 @@ Ice::Object::_iceD_ice_ids(Incoming& inS, const Current& current)
155
155
  inS.readEmptyParams();
156
156
  vector<string> ret = ice_ids(current);
157
157
  OutputStream* ostr = inS.startWriteParams();
158
- ostr->write(&ret[0], &ret[0] + ret.size(), false);
158
+ if(ret.empty())
159
+ {
160
+ ostr->write(ret);
161
+ }
162
+ else
163
+ {
164
+ ostr->write(&ret[0], &ret[0] + ret.size(), false);
165
+ }
159
166
  inS.endWriteParams();
160
167
  return true;
161
168
  }
@@ -319,17 +326,12 @@ Ice::Object::_iceCheckMode(OperationMode expected, OperationMode received)
319
326
  {
320
327
  if(expected != received)
321
328
  {
329
+ assert(expected != ICE_ENUM(OperationMode, Nonmutating)); // We never expect Nonmutating
322
330
  if(expected == ICE_ENUM(OperationMode, Idempotent) && received == ICE_ENUM(OperationMode, Nonmutating))
323
331
  {
324
332
  //
325
333
  // Fine: typically an old client still using the deprecated nonmutating keyword
326
334
  //
327
-
328
- //
329
- // Note that expected == Nonmutating and received == Idempotent is not ok:
330
- // the server may still use the deprecated nonmutating keyword to detect updates
331
- // and the client should not break this (deprecated) feature.
332
- //
333
335
  }
334
336
  else
335
337
  {
@@ -2,7 +2,7 @@
2
2
  // Copyright (c) ZeroC, Inc. All rights reserved.
3
3
  //
4
4
  //
5
- // Ice version 3.7.2
5
+ // Ice version 3.7.3
6
6
  //
7
7
  // <auto-generated>
8
8
  //
@@ -38,10 +38,10 @@
38
38
  # if ICE_INT_VERSION / 100 != 307
39
39
  # error Ice version mismatch!
40
40
  # endif
41
- # if ICE_INT_VERSION % 100 > 50
41
+ # if ICE_INT_VERSION % 100 >= 50
42
42
  # error Beta header file detected
43
43
  # endif
44
- # if ICE_INT_VERSION % 100 < 2
44
+ # if ICE_INT_VERSION % 100 < 3
45
45
  # error Ice patch level mismatch!
46
46
  # endif
47
47
  #endif
@@ -2,7 +2,7 @@
2
2
  // Copyright (c) ZeroC, Inc. All rights reserved.
3
3
  //
4
4
  //
5
- // Ice version 3.7.2
5
+ // Ice version 3.7.3
6
6
  //
7
7
  // <auto-generated>
8
8
  //
@@ -32,10 +32,10 @@
32
32
  # if ICE_INT_VERSION / 100 != 307
33
33
  # error Ice version mismatch!
34
34
  # endif
35
- # if ICE_INT_VERSION % 100 > 50
35
+ # if ICE_INT_VERSION % 100 >= 50
36
36
  # error Beta header file detected
37
37
  # endif
38
- # if ICE_INT_VERSION % 100 < 2
38
+ # if ICE_INT_VERSION % 100 < 3
39
39
  # error Ice patch level mismatch!
40
40
  # endif
41
41
  #endif
@@ -735,6 +735,18 @@ Ice::ObjectAdapterI::setPublishedEndpoints(const EndpointSeq& newEndpoints)
735
735
  }
736
736
  }
737
737
 
738
+ #ifdef ICE_SWIFT
739
+ dispatch_queue_t
740
+ Ice::ObjectAdapterI::getDispatchQueue() const
741
+ {
742
+ IceUtil::Monitor<IceUtil::RecMutex>::Lock sync(*this);
743
+
744
+ checkForDeactivation();
745
+
746
+ return getThreadPool()->getDispatchQueue();
747
+ }
748
+ #endif
749
+
738
750
  bool
739
751
  Ice::ObjectAdapterI::isLocal(const ObjectPrxPtr& proxy) const
740
752
  {
@@ -921,7 +933,7 @@ Ice::ObjectAdapterI::setAdapterOnConnection(const Ice::ConnectionIPtr& connectio
921
933
  //
922
934
  // COMPILERFIX: The ObjectAdapterI setup is broken out into a separate initialize
923
935
  // function because when it was part of the constructor C++Builder 2010 apps would
924
- // crash if an execption was thrown from any calls within the constructor.
936
+ // crash if an exception was thrown from any calls within the constructor.
925
937
  //
926
938
  Ice::ObjectAdapterI::ObjectAdapterI(const InstancePtr& instance, const CommunicatorPtr& communicator,
927
939
  const ObjectAdapterFactoryPtr& objectAdapterFactory, const string& name,