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
@@ -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,