zeroc-ice 3.7.9.1 → 3.8.0

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 (1215) hide show
  1. checksums.yaml +4 -4
  2. data/dist/IceRuby/Communicator.cpp +575 -0
  3. data/dist/IceRuby/Communicator.h +19 -0
  4. data/dist/IceRuby/Config.h +77 -0
  5. data/dist/IceRuby/Connection.cpp +428 -0
  6. data/dist/IceRuby/Connection.h +20 -0
  7. data/dist/IceRuby/DefaultSliceLoader.cpp +45 -0
  8. data/dist/IceRuby/DefaultSliceLoader.h +25 -0
  9. data/dist/IceRuby/Endpoint.cpp +342 -0
  10. data/dist/IceRuby/Endpoint.h +18 -0
  11. data/dist/IceRuby/ImplicitContext.cpp +143 -0
  12. data/dist/IceRuby/ImplicitContext.h +16 -0
  13. data/dist/IceRuby/Init.cpp +36 -0
  14. data/dist/IceRuby/Logger.cpp +146 -0
  15. data/dist/IceRuby/Logger.h +19 -0
  16. data/dist/IceRuby/Operation.cpp +623 -0
  17. data/dist/IceRuby/Operation.h +28 -0
  18. data/dist/IceRuby/Properties.cpp +413 -0
  19. data/dist/IceRuby/Properties.h +16 -0
  20. data/dist/IceRuby/Proxy.cpp +926 -0
  21. data/dist/IceRuby/Proxy.h +21 -0
  22. data/dist/IceRuby/RubySliceLoader.cpp +39 -0
  23. data/dist/IceRuby/RubySliceLoader.h +27 -0
  24. data/dist/IceRuby/Slice.cpp +199 -0
  25. data/dist/IceRuby/Slice.h +13 -0
  26. data/dist/IceRuby/Types.cpp +3133 -0
  27. data/dist/IceRuby/Types.h +533 -0
  28. data/dist/IceRuby/Util.cpp +553 -0
  29. data/dist/IceRuby/Util.h +485 -0
  30. data/dist/ice/cpp/include/Ice/AsyncResponseHandler.h +85 -0
  31. data/dist/ice/cpp/include/Ice/BatchRequest.h +39 -0
  32. data/dist/ice/cpp/include/Ice/BatchRequestQueueF.h +14 -0
  33. data/dist/ice/cpp/include/Ice/Buffer.h +159 -0
  34. data/dist/ice/cpp/include/Ice/Communicator.h +411 -0
  35. data/dist/ice/cpp/include/Ice/CommunicatorF.h +16 -0
  36. data/dist/ice/cpp/include/Ice/Config.h +60 -0
  37. data/dist/ice/cpp/include/Ice/Connection.h +410 -0
  38. data/dist/ice/cpp/include/Ice/ConnectionF.h +36 -0
  39. data/dist/ice/cpp/include/Ice/ConnectionIF.h +16 -0
  40. data/dist/ice/cpp/include/Ice/CtrlCHandler.h +56 -0
  41. data/dist/ice/cpp/include/Ice/Current.h +60 -0
  42. data/dist/ice/cpp/include/Ice/DefaultSliceLoader.h +160 -0
  43. data/dist/ice/cpp/include/Ice/Demangle.h +17 -0
  44. data/dist/ice/cpp/include/Ice/Endpoint.h +298 -0
  45. data/dist/ice/cpp/include/Ice/EndpointF.h +44 -0
  46. data/dist/ice/cpp/include/Ice/EndpointSelectionType.h +21 -0
  47. data/dist/ice/cpp/include/Ice/Exception.h +56 -0
  48. data/dist/ice/cpp/include/Ice/FacetMap.h +16 -0
  49. data/dist/ice/cpp/include/Ice/Format.h +22 -0
  50. data/dist/ice/cpp/include/Ice/Ice.h +60 -0
  51. data/dist/ice/cpp/include/Ice/IconvStringConverter.h +216 -0
  52. data/dist/ice/cpp/include/Ice/ImplicitContext.h +76 -0
  53. data/dist/ice/cpp/include/Ice/IncomingRequest.h +75 -0
  54. data/dist/ice/cpp/include/Ice/Initialize.h +143 -0
  55. data/dist/ice/cpp/include/Ice/InputStream.h +942 -0
  56. data/dist/ice/cpp/include/Ice/InstanceF.h +14 -0
  57. data/dist/ice/cpp/include/Ice/Instrumentation.h +319 -0
  58. data/dist/ice/cpp/include/Ice/LocalException.h +58 -0
  59. data/dist/ice/cpp/include/Ice/LocalExceptions.h +870 -0
  60. data/dist/ice/cpp/include/Ice/Logger.h +62 -0
  61. data/dist/ice/cpp/include/Ice/LoggerUtil.h +162 -0
  62. data/dist/ice/cpp/include/Ice/MarshaledResult.h +50 -0
  63. data/dist/ice/cpp/include/Ice/NativePropertiesAdmin.h +54 -0
  64. data/dist/ice/cpp/include/Ice/Object.h +168 -0
  65. data/dist/ice/cpp/include/Ice/ObjectAdapter.h +324 -0
  66. data/dist/ice/cpp/include/Ice/ObjectAdapterF.h +16 -0
  67. data/dist/ice/cpp/include/Ice/ObjectF.h +16 -0
  68. data/dist/ice/cpp/include/Ice/ObserverHelper.h +164 -0
  69. data/dist/ice/cpp/include/Ice/OutgoingAsync.h +512 -0
  70. data/dist/ice/cpp/include/Ice/OutgoingResponse.h +129 -0
  71. data/dist/ice/cpp/include/Ice/OutputStream.h +872 -0
  72. data/dist/ice/cpp/include/Ice/Plugin.h +73 -0
  73. data/dist/ice/cpp/include/Ice/PluginFactory.h +77 -0
  74. data/dist/ice/cpp/include/Ice/PopDisableWarnings.h +16 -0
  75. data/dist/ice/cpp/include/Ice/Properties.h +307 -0
  76. data/dist/ice/cpp/include/Ice/PropertiesF.h +19 -0
  77. data/dist/ice/cpp/include/Ice/Proxy.h +742 -0
  78. data/dist/ice/cpp/include/Ice/ProxyF.h +11 -0
  79. data/dist/ice/cpp/include/Ice/ProxyFunctions.h +209 -0
  80. data/dist/ice/cpp/include/Ice/PushDisableWarnings.h +29 -0
  81. data/dist/ice/cpp/include/Ice/ReferenceF.h +14 -0
  82. data/dist/ice/cpp/include/Ice/RequestHandlerF.h +20 -0
  83. data/dist/ice/cpp/include/Ice/SSL/ClientAuthenticationOptions.h +268 -0
  84. data/dist/ice/cpp/include/Ice/SSL/Config.h +54 -0
  85. data/dist/ice/cpp/include/Ice/SSL/ConnectionInfo.h +107 -0
  86. data/dist/ice/cpp/include/Ice/SSL/ConnectionInfoF.h +39 -0
  87. data/dist/ice/cpp/include/Ice/SSL/EndpointInfo.h +40 -0
  88. data/dist/ice/cpp/include/Ice/SSL/SSLException.h +32 -0
  89. data/dist/ice/cpp/include/Ice/SSL/ServerAuthenticationOptions.h +278 -0
  90. data/dist/ice/cpp/include/Ice/ServantLocator.h +51 -0
  91. data/dist/ice/cpp/include/Ice/Service.h +219 -0
  92. data/dist/ice/cpp/include/Ice/SliceLoader.h +67 -0
  93. data/dist/ice/cpp/include/Ice/SlicedData.h +125 -0
  94. data/dist/ice/cpp/include/Ice/SlicedDataF.h +30 -0
  95. data/dist/ice/cpp/include/Ice/StreamHelpers.h +652 -0
  96. data/dist/ice/cpp/include/Ice/StreamableTraits.h +291 -0
  97. data/dist/ice/cpp/include/Ice/StringConverter.h +167 -0
  98. data/dist/ice/cpp/include/Ice/StringUtil.h +114 -0
  99. data/dist/ice/cpp/include/Ice/TimerTask.h +24 -0
  100. data/dist/ice/cpp/include/Ice/TupleCompare.h +103 -0
  101. data/dist/ice/cpp/include/Ice/UUID.h +16 -0
  102. data/dist/ice/cpp/include/Ice/UserException.h +46 -0
  103. data/dist/ice/cpp/include/Ice/UserExceptionFactory.h +15 -0
  104. data/dist/ice/cpp/include/Ice/Value.h +127 -0
  105. data/dist/ice/cpp/include/Ice/ValueF.h +16 -0
  106. data/dist/ice/cpp/include/IceDiscovery/IceDiscovery.h +28 -0
  107. data/dist/ice/cpp/include/IceLocatorDiscovery/IceLocatorDiscovery.h +28 -0
  108. data/dist/ice/cpp/include/generated/Ice/BuiltinSequences.h +70 -0
  109. data/dist/ice/cpp/include/generated/Ice/Context.h +40 -0
  110. data/dist/ice/cpp/include/generated/Ice/EndpointTypes.h +74 -0
  111. data/dist/ice/cpp/include/generated/Ice/Identity.h +108 -0
  112. data/dist/ice/cpp/include/generated/Ice/Locator.h +542 -0
  113. data/dist/ice/cpp/include/generated/Ice/LocatorRegistry.h +443 -0
  114. data/dist/ice/cpp/include/generated/Ice/Metrics.h +1103 -0
  115. data/dist/ice/cpp/include/generated/Ice/OperationMode.h +73 -0
  116. data/dist/ice/cpp/include/generated/Ice/Process.h +245 -0
  117. data/dist/ice/cpp/include/generated/Ice/PropertiesAdmin.h +314 -0
  118. data/dist/ice/cpp/include/generated/Ice/PropertyDict.h +39 -0
  119. data/dist/ice/cpp/include/generated/Ice/RemoteLogger.h +724 -0
  120. data/dist/ice/cpp/include/generated/Ice/ReplyStatus.h +94 -0
  121. data/dist/ice/cpp/include/generated/Ice/Router.h +496 -0
  122. data/dist/ice/cpp/include/generated/Ice/SliceChecksumDict.h +37 -0
  123. data/dist/ice/cpp/include/generated/Ice/Version.h +112 -0
  124. data/dist/ice/cpp/include/generated/IceDiscovery/Lookup.h +498 -0
  125. data/dist/ice/cpp/include/generated/IceLocatorDiscovery/Lookup.h +387 -0
  126. data/dist/ice/cpp/src/Ice/Acceptor.h +41 -0
  127. data/dist/ice/cpp/src/Ice/AcceptorF.h +17 -0
  128. data/dist/ice/cpp/src/Ice/AddDefaultPluginFactories.h +16 -0
  129. data/dist/ice/cpp/src/Ice/AddDefaultPluginFactories_all.cpp +43 -0
  130. data/dist/ice/cpp/src/Ice/AddDefaultPluginFactories_min.cpp +17 -0
  131. data/dist/ice/cpp/src/Ice/ArgVector.cpp +58 -0
  132. data/dist/ice/cpp/src/Ice/ArgVector.h +30 -0
  133. data/dist/ice/cpp/src/Ice/Base64.cpp +263 -0
  134. data/dist/ice/cpp/src/Ice/Base64.h +26 -0
  135. data/dist/ice/cpp/src/Ice/BatchRequestQueue.cpp +199 -0
  136. data/dist/ice/cpp/src/Ice/BatchRequestQueue.h +49 -0
  137. data/dist/ice/cpp/src/Ice/Buffer.cpp +187 -0
  138. data/dist/ice/cpp/src/Ice/CheckIdentity.h +21 -0
  139. data/dist/ice/cpp/src/Ice/CollocatedRequestHandler.cpp +373 -0
  140. data/dist/ice/cpp/src/Ice/CollocatedRequestHandler.h +65 -0
  141. data/dist/ice/cpp/src/Ice/Communicator.cpp +399 -0
  142. data/dist/ice/cpp/src/Ice/CommunicatorFlushBatchAsync.cpp +140 -0
  143. data/dist/ice/cpp/src/Ice/CommunicatorFlushBatchAsync.h +39 -0
  144. data/dist/ice/cpp/src/Ice/ConnectRequestHandler.cpp +227 -0
  145. data/dist/ice/cpp/src/Ice/ConnectRequestHandler.h +51 -0
  146. data/dist/ice/cpp/src/Ice/ConnectRequestHandlerF.h +14 -0
  147. data/dist/ice/cpp/src/Ice/Connection.cpp +44 -0
  148. data/dist/ice/cpp/src/Ice/ConnectionFactory.cpp +1758 -0
  149. data/dist/ice/cpp/src/Ice/ConnectionFactory.h +264 -0
  150. data/dist/ice/cpp/src/Ice/ConnectionFactoryF.h +17 -0
  151. data/dist/ice/cpp/src/Ice/ConnectionI.cpp +3563 -0
  152. data/dist/ice/cpp/src/Ice/ConnectionI.h +429 -0
  153. data/dist/ice/cpp/src/Ice/ConnectionOptions.h +22 -0
  154. data/dist/ice/cpp/src/Ice/Connector.h +38 -0
  155. data/dist/ice/cpp/src/Ice/ConnectorF.h +14 -0
  156. data/dist/ice/cpp/src/Ice/ConsoleUtil.cpp +136 -0
  157. data/dist/ice/cpp/src/Ice/ConsoleUtil.h +79 -0
  158. data/dist/ice/cpp/src/Ice/CtrlCHandler.cpp +189 -0
  159. data/dist/ice/cpp/src/Ice/Current.cpp +29 -0
  160. data/dist/ice/cpp/src/Ice/DLLMain.cpp +40 -0
  161. data/dist/ice/cpp/src/Ice/DefaultSliceLoader.cpp +39 -0
  162. data/dist/ice/cpp/src/Ice/DefaultsAndOverrides.cpp +81 -0
  163. data/dist/ice/cpp/src/Ice/DefaultsAndOverrides.h +38 -0
  164. data/dist/ice/cpp/src/Ice/DefaultsAndOverridesF.h +14 -0
  165. data/dist/ice/cpp/src/Ice/Demangle.cpp +25 -0
  166. data/dist/ice/cpp/src/Ice/DisableWarnings.h +31 -0
  167. data/dist/ice/cpp/src/Ice/DynamicLibrary.cpp +216 -0
  168. data/dist/ice/cpp/src/Ice/DynamicLibrary.h +91 -0
  169. data/dist/ice/cpp/src/Ice/Endian.h +40 -0
  170. data/dist/ice/cpp/src/Ice/EndpointFactory.cpp +165 -0
  171. data/dist/ice/cpp/src/Ice/EndpointFactory.h +96 -0
  172. data/dist/ice/cpp/src/Ice/EndpointFactoryF.h +14 -0
  173. data/dist/ice/cpp/src/Ice/EndpointFactoryManager.cpp +180 -0
  174. data/dist/ice/cpp/src/Ice/EndpointFactoryManager.h +42 -0
  175. data/dist/ice/cpp/src/Ice/EndpointFactoryManagerF.h +14 -0
  176. data/dist/ice/cpp/src/Ice/EndpointI.cpp +128 -0
  177. data/dist/ice/cpp/src/Ice/EndpointI.h +150 -0
  178. data/dist/ice/cpp/src/Ice/EndpointIF.h +21 -0
  179. data/dist/ice/cpp/src/Ice/EventHandler.cpp +9 -0
  180. data/dist/ice/cpp/src/Ice/EventHandler.h +71 -0
  181. data/dist/ice/cpp/src/Ice/EventHandlerF.h +14 -0
  182. data/dist/ice/cpp/src/Ice/Exception.cpp +5 -0
  183. data/dist/ice/cpp/src/Ice/FileUtil.cpp +476 -0
  184. data/dist/ice/cpp/src/Ice/FileUtil.h +152 -0
  185. data/dist/ice/cpp/src/Ice/FixedRequestHandler.cpp +34 -0
  186. data/dist/ice/cpp/src/Ice/FixedRequestHandler.h +29 -0
  187. data/dist/ice/cpp/src/Ice/HashUtil.h +67 -0
  188. data/dist/ice/cpp/src/Ice/HttpParser.cpp +684 -0
  189. data/dist/ice/cpp/src/Ice/HttpParser.h +112 -0
  190. data/dist/ice/cpp/src/Ice/IPEndpointI.cpp +593 -0
  191. data/dist/ice/cpp/src/Ice/IPEndpointI.h +106 -0
  192. data/dist/ice/cpp/src/Ice/IPEndpointIF.h +17 -0
  193. data/dist/ice/cpp/src/Ice/IdleTimeoutTransceiverDecorator.cpp +172 -0
  194. data/dist/ice/cpp/src/Ice/IdleTimeoutTransceiverDecorator.h +89 -0
  195. data/dist/ice/cpp/src/Ice/ImplicitContext.cpp +109 -0
  196. data/dist/ice/cpp/src/Ice/IncomingRequest.cpp +66 -0
  197. data/dist/ice/cpp/src/Ice/Initialize.cpp +160 -0
  198. data/dist/ice/cpp/src/Ice/InputStream.cpp +2206 -0
  199. data/dist/ice/cpp/src/Ice/Instance.cpp +1956 -0
  200. data/dist/ice/cpp/src/Ice/Instance.h +225 -0
  201. data/dist/ice/cpp/src/Ice/InstrumentationI.cpp +959 -0
  202. data/dist/ice/cpp/src/Ice/InstrumentationI.h +235 -0
  203. data/dist/ice/cpp/src/Ice/LocalException.cpp +518 -0
  204. data/dist/ice/cpp/src/Ice/LocalExceptions.cpp +577 -0
  205. data/dist/ice/cpp/src/Ice/LocatorInfo.cpp +851 -0
  206. data/dist/ice/cpp/src/Ice/LocatorInfo.h +176 -0
  207. data/dist/ice/cpp/src/Ice/LocatorInfoF.h +20 -0
  208. data/dist/ice/cpp/src/Ice/LoggerAdminI.cpp +774 -0
  209. data/dist/ice/cpp/src/Ice/LoggerAdminI.h +31 -0
  210. data/dist/ice/cpp/src/Ice/LoggerI.cpp +234 -0
  211. data/dist/ice/cpp/src/Ice/LoggerI.h +47 -0
  212. data/dist/ice/cpp/src/Ice/LoggerMiddleware.cpp +176 -0
  213. data/dist/ice/cpp/src/Ice/LoggerMiddleware.h +42 -0
  214. data/dist/ice/cpp/src/Ice/LoggerUtil.cpp +76 -0
  215. data/dist/ice/cpp/src/Ice/MarshaledResult.cpp +20 -0
  216. data/dist/ice/cpp/src/Ice/MetricsAdminI.cpp +608 -0
  217. data/dist/ice/cpp/src/Ice/MetricsAdminI.h +600 -0
  218. data/dist/ice/cpp/src/Ice/MetricsFunctional.h +92 -0
  219. data/dist/ice/cpp/src/Ice/MetricsObserverI.h +587 -0
  220. data/dist/ice/cpp/src/Ice/NativePropertiesAdmin.cpp +185 -0
  221. data/dist/ice/cpp/src/Ice/Network.cpp +1927 -0
  222. data/dist/ice/cpp/src/Ice/Network.h +265 -0
  223. data/dist/ice/cpp/src/Ice/NetworkF.h +11 -0
  224. data/dist/ice/cpp/src/Ice/NetworkProxy.cpp +306 -0
  225. data/dist/ice/cpp/src/Ice/NetworkProxy.h +67 -0
  226. data/dist/ice/cpp/src/Ice/NetworkProxyF.h +14 -0
  227. data/dist/ice/cpp/src/Ice/OSLogLoggerI.cpp +55 -0
  228. data/dist/ice/cpp/src/Ice/OSLogLoggerI.h +35 -0
  229. data/dist/ice/cpp/src/Ice/Object.cpp +249 -0
  230. data/dist/ice/cpp/src/Ice/ObjectAdapterFactory.cpp +348 -0
  231. data/dist/ice/cpp/src/Ice/ObjectAdapterFactory.h +53 -0
  232. data/dist/ice/cpp/src/Ice/ObjectAdapterFactoryF.h +14 -0
  233. data/dist/ice/cpp/src/Ice/ObjectAdapterI.cpp +1383 -0
  234. data/dist/ice/cpp/src/Ice/ObjectAdapterI.h +163 -0
  235. data/dist/ice/cpp/src/Ice/ObserverHelper.cpp +75 -0
  236. data/dist/ice/cpp/src/Ice/ObserverMiddleware.cpp +96 -0
  237. data/dist/ice/cpp/src/Ice/ObserverMiddleware.h +25 -0
  238. data/dist/ice/cpp/src/Ice/OpaqueEndpointI.cpp +368 -0
  239. data/dist/ice/cpp/src/Ice/OpaqueEndpointI.h +66 -0
  240. data/dist/ice/cpp/src/Ice/Options.cpp +980 -0
  241. data/dist/ice/cpp/src/Ice/Options.h +119 -0
  242. data/dist/ice/cpp/src/Ice/OutgoingAsync.cpp +1106 -0
  243. data/dist/ice/cpp/src/Ice/OutgoingResponse.cpp +276 -0
  244. data/dist/ice/cpp/src/Ice/OutputStream.cpp +1454 -0
  245. data/dist/ice/cpp/src/Ice/OutputUtil.cpp +344 -0
  246. data/dist/ice/cpp/src/Ice/OutputUtil.h +173 -0
  247. data/dist/ice/cpp/src/Ice/PluginManagerI.cpp +344 -0
  248. data/dist/ice/cpp/src/Ice/PluginManagerI.h +54 -0
  249. data/dist/ice/cpp/src/Ice/Properties.cpp +931 -0
  250. data/dist/ice/cpp/src/Ice/PropertyNames.cpp +606 -0
  251. data/dist/ice/cpp/src/Ice/PropertyNames.h +63 -0
  252. data/dist/ice/cpp/src/Ice/PropertyUtil.cpp +103 -0
  253. data/dist/ice/cpp/src/Ice/PropertyUtil.h +31 -0
  254. data/dist/ice/cpp/src/Ice/Protocol.cpp +159 -0
  255. data/dist/ice/cpp/src/Ice/Protocol.h +116 -0
  256. data/dist/ice/cpp/src/Ice/ProtocolInstance.cpp +186 -0
  257. data/dist/ice/cpp/src/Ice/ProtocolInstance.h +74 -0
  258. data/dist/ice/cpp/src/Ice/ProtocolInstanceF.h +14 -0
  259. data/dist/ice/cpp/src/Ice/ProtocolPluginFacade.cpp +29 -0
  260. data/dist/ice/cpp/src/Ice/ProtocolPluginFacade.h +35 -0
  261. data/dist/ice/cpp/src/Ice/Proxy.cpp +541 -0
  262. data/dist/ice/cpp/src/Ice/ProxyAsync.cpp +684 -0
  263. data/dist/ice/cpp/src/Ice/ProxyFunctions.cpp +90 -0
  264. data/dist/ice/cpp/src/Ice/PushDisableDeprecatedWarnings.h +15 -0
  265. data/dist/ice/cpp/src/Ice/Random.cpp +29 -0
  266. data/dist/ice/cpp/src/Ice/Random.h +23 -0
  267. data/dist/ice/cpp/src/Ice/Reference.cpp +1584 -0
  268. data/dist/ice/cpp/src/Ice/Reference.h +339 -0
  269. data/dist/ice/cpp/src/Ice/ReferenceFactory.cpp +830 -0
  270. data/dist/ice/cpp/src/Ice/ReferenceFactory.h +58 -0
  271. data/dist/ice/cpp/src/Ice/ReferenceFactoryF.h +14 -0
  272. data/dist/ice/cpp/src/Ice/RequestHandler.cpp +28 -0
  273. data/dist/ice/cpp/src/Ice/RequestHandler.h +53 -0
  274. data/dist/ice/cpp/src/Ice/RequestHandlerCache.cpp +76 -0
  275. data/dist/ice/cpp/src/Ice/RequestHandlerCache.h +33 -0
  276. data/dist/ice/cpp/src/Ice/ResourceConfig.h +27 -0
  277. data/dist/ice/cpp/src/Ice/RetryQueue.cpp +151 -0
  278. data/dist/ice/cpp/src/Ice/RetryQueue.h +59 -0
  279. data/dist/ice/cpp/src/Ice/RetryQueueF.h +14 -0
  280. data/dist/ice/cpp/src/Ice/RouterInfo.cpp +275 -0
  281. data/dist/ice/cpp/src/Ice/RouterInfo.h +95 -0
  282. data/dist/ice/cpp/src/Ice/RouterInfoF.h +17 -0
  283. data/dist/ice/cpp/src/Ice/SHA1.cpp +195 -0
  284. data/dist/ice/cpp/src/Ice/SHA1.h +35 -0
  285. data/dist/ice/cpp/src/Ice/SSL/DistinguishedName.cpp +89 -0
  286. data/dist/ice/cpp/src/Ice/SSL/DistinguishedName.h +87 -0
  287. data/dist/ice/cpp/src/Ice/SSL/OpenSSLEngine.cpp +513 -0
  288. data/dist/ice/cpp/src/Ice/SSL/OpenSSLEngine.h +40 -0
  289. data/dist/ice/cpp/src/Ice/SSL/OpenSSLEngineF.h +13 -0
  290. data/dist/ice/cpp/src/Ice/SSL/OpenSSLTransceiverI.cpp +635 -0
  291. data/dist/ice/cpp/src/Ice/SSL/OpenSSLTransceiverI.h +80 -0
  292. data/dist/ice/cpp/src/Ice/SSL/RFC2253.cpp +487 -0
  293. data/dist/ice/cpp/src/Ice/SSL/RFC2253.h +58 -0
  294. data/dist/ice/cpp/src/Ice/SSL/SSLAcceptorI.cpp +124 -0
  295. data/dist/ice/cpp/src/Ice/SSL/SSLAcceptorI.h +52 -0
  296. data/dist/ice/cpp/src/Ice/SSL/SSLConnectorI.cpp +92 -0
  297. data/dist/ice/cpp/src/Ice/SSL/SSLConnectorI.h +38 -0
  298. data/dist/ice/cpp/src/Ice/SSL/SSLEndpointI.cpp +377 -0
  299. data/dist/ice/cpp/src/Ice/SSL/SSLEndpointI.h +84 -0
  300. data/dist/ice/cpp/src/Ice/SSL/SSLEngine.cpp +115 -0
  301. data/dist/ice/cpp/src/Ice/SSL/SSLEngine.h +72 -0
  302. data/dist/ice/cpp/src/Ice/SSL/SSLEngineF.h +14 -0
  303. data/dist/ice/cpp/src/Ice/SSL/SSLException.cpp +18 -0
  304. data/dist/ice/cpp/src/Ice/SSL/SSLInstance.cpp +27 -0
  305. data/dist/ice/cpp/src/Ice/SSL/SSLInstance.h +26 -0
  306. data/dist/ice/cpp/src/Ice/SSL/SSLInstanceF.h +19 -0
  307. data/dist/ice/cpp/src/Ice/SSL/SSLUtil.cpp +654 -0
  308. data/dist/ice/cpp/src/Ice/SSL/SSLUtil.h +104 -0
  309. data/dist/ice/cpp/src/Ice/SSL/SchannelEngine.cpp +1437 -0
  310. data/dist/ice/cpp/src/Ice/SSL/SchannelEngine.h +58 -0
  311. data/dist/ice/cpp/src/Ice/SSL/SchannelEngineF.h +18 -0
  312. data/dist/ice/cpp/src/Ice/SSL/SchannelTransceiverI.cpp +1085 -0
  313. data/dist/ice/cpp/src/Ice/SSL/SchannelTransceiverI.h +118 -0
  314. data/dist/ice/cpp/src/Ice/SSL/SecureTransportEngine.cpp +822 -0
  315. data/dist/ice/cpp/src/Ice/SSL/SecureTransportEngine.h +44 -0
  316. data/dist/ice/cpp/src/Ice/SSL/SecureTransportEngineF.h +18 -0
  317. data/dist/ice/cpp/src/Ice/SSL/SecureTransportTransceiverI.cpp +621 -0
  318. data/dist/ice/cpp/src/Ice/SSL/SecureTransportTransceiverI.h +91 -0
  319. data/dist/ice/cpp/src/Ice/SSL/SecureTransportUtil.cpp +1061 -0
  320. data/dist/ice/cpp/src/Ice/SSL/SecureTransportUtil.h +40 -0
  321. data/dist/ice/cpp/src/Ice/SSL/TrustManager.cpp +222 -0
  322. data/dist/ice/cpp/src/Ice/SSL/TrustManager.h +42 -0
  323. data/dist/ice/cpp/src/Ice/SSL/TrustManagerF.h +14 -0
  324. data/dist/ice/cpp/src/Ice/ScannerConfig.h +35 -0
  325. data/dist/ice/cpp/src/Ice/Selector.cpp +1270 -0
  326. data/dist/ice/cpp/src/Ice/Selector.h +235 -0
  327. data/dist/ice/cpp/src/Ice/ServantManager.cpp +547 -0
  328. data/dist/ice/cpp/src/Ice/ServantManager.h +66 -0
  329. data/dist/ice/cpp/src/Ice/ServantManagerF.h +14 -0
  330. data/dist/ice/cpp/src/Ice/Service.cpp +1790 -0
  331. data/dist/ice/cpp/src/Ice/SharedContext.h +33 -0
  332. data/dist/ice/cpp/src/Ice/SliceLoader.cpp +53 -0
  333. data/dist/ice/cpp/src/Ice/SlicedData.cpp +48 -0
  334. data/dist/ice/cpp/src/Ice/StreamSocket.cpp +472 -0
  335. data/dist/ice/cpp/src/Ice/StreamSocket.h +73 -0
  336. data/dist/ice/cpp/src/Ice/StringConverter.cpp +582 -0
  337. data/dist/ice/cpp/src/Ice/StringUtil.cpp +1137 -0
  338. data/dist/ice/cpp/src/Ice/SysLoggerI.cpp +160 -0
  339. data/dist/ice/cpp/src/Ice/SysLoggerI.h +34 -0
  340. data/dist/ice/cpp/src/Ice/SystemdJournalI.cpp +65 -0
  341. data/dist/ice/cpp/src/Ice/SystemdJournalI.h +33 -0
  342. data/dist/ice/cpp/src/Ice/TargetCompare.h +96 -0
  343. data/dist/ice/cpp/src/Ice/TcpAcceptor.cpp +213 -0
  344. data/dist/ice/cpp/src/Ice/TcpAcceptor.h +55 -0
  345. data/dist/ice/cpp/src/Ice/TcpConnector.cpp +128 -0
  346. data/dist/ice/cpp/src/Ice/TcpConnector.h +36 -0
  347. data/dist/ice/cpp/src/Ice/TcpEndpointI.cpp +411 -0
  348. data/dist/ice/cpp/src/Ice/TcpEndpointI.h +86 -0
  349. data/dist/ice/cpp/src/Ice/TcpTransceiver.cpp +147 -0
  350. data/dist/ice/cpp/src/Ice/TcpTransceiver.h +53 -0
  351. data/dist/ice/cpp/src/Ice/ThreadPool.cpp +1110 -0
  352. data/dist/ice/cpp/src/Ice/ThreadPool.h +305 -0
  353. data/dist/ice/cpp/src/Ice/ThreadPoolF.h +14 -0
  354. data/dist/ice/cpp/src/Ice/TimeUtil.cpp +47 -0
  355. data/dist/ice/cpp/src/Ice/TimeUtil.h +21 -0
  356. data/dist/ice/cpp/src/Ice/Timer.cpp +169 -0
  357. data/dist/ice/cpp/src/Ice/Timer.h +212 -0
  358. data/dist/ice/cpp/src/Ice/TraceLevels.cpp +20 -0
  359. data/dist/ice/cpp/src/Ice/TraceLevels.h +39 -0
  360. data/dist/ice/cpp/src/Ice/TraceLevelsF.h +14 -0
  361. data/dist/ice/cpp/src/Ice/TraceUtil.cpp +399 -0
  362. data/dist/ice/cpp/src/Ice/TraceUtil.h +41 -0
  363. data/dist/ice/cpp/src/Ice/Transceiver.cpp +14 -0
  364. data/dist/ice/cpp/src/Ice/Transceiver.h +52 -0
  365. data/dist/ice/cpp/src/Ice/TransceiverF.h +23 -0
  366. data/dist/ice/cpp/src/Ice/UUID.cpp +79 -0
  367. data/dist/ice/cpp/src/Ice/UdpConnector.cpp +131 -0
  368. data/dist/ice/cpp/src/Ice/UdpConnector.h +36 -0
  369. data/dist/ice/cpp/src/Ice/UdpEndpointI.cpp +480 -0
  370. data/dist/ice/cpp/src/Ice/UdpEndpointI.h +92 -0
  371. data/dist/ice/cpp/src/Ice/UdpTransceiver.cpp +786 -0
  372. data/dist/ice/cpp/src/Ice/UdpTransceiver.h +90 -0
  373. data/dist/ice/cpp/src/Ice/UndefSysMacros.h +37 -0
  374. data/dist/ice/cpp/src/Ice/UniqueRef.h +77 -0
  375. data/dist/ice/cpp/src/Ice/UserException.cpp +58 -0
  376. data/dist/ice/cpp/src/Ice/Value.cpp +145 -0
  377. data/dist/ice/cpp/src/Ice/WSAcceptor.cpp +87 -0
  378. data/dist/ice/cpp/src/Ice/WSAcceptor.h +46 -0
  379. data/dist/ice/cpp/src/Ice/WSConnector.cpp +87 -0
  380. data/dist/ice/cpp/src/Ice/WSConnector.h +36 -0
  381. data/dist/ice/cpp/src/Ice/WSEndpoint.cpp +455 -0
  382. data/dist/ice/cpp/src/Ice/WSEndpoint.h +82 -0
  383. data/dist/ice/cpp/src/Ice/WSTransceiver.cpp +1715 -0
  384. data/dist/ice/cpp/src/Ice/WSTransceiver.h +135 -0
  385. data/dist/ice/cpp/src/Ice/generated/BuiltinSequences.cpp +40 -0
  386. data/dist/ice/cpp/src/Ice/generated/Context.cpp +40 -0
  387. data/dist/ice/cpp/src/Ice/generated/EndpointTypes.cpp +40 -0
  388. data/dist/ice/cpp/src/Ice/generated/Identity.cpp +47 -0
  389. data/dist/ice/cpp/src/Ice/generated/Locator.cpp +752 -0
  390. data/dist/ice/cpp/src/Ice/generated/LocatorRegistry.cpp +577 -0
  391. data/dist/ice/cpp/src/Ice/generated/Metrics.cpp +1205 -0
  392. data/dist/ice/cpp/src/Ice/generated/OperationMode.cpp +56 -0
  393. data/dist/ice/cpp/src/Ice/generated/Process.cpp +330 -0
  394. data/dist/ice/cpp/src/Ice/generated/PropertiesAdmin.cpp +443 -0
  395. data/dist/ice/cpp/src/Ice/generated/PropertyDict.cpp +40 -0
  396. data/dist/ice/cpp/src/Ice/generated/RemoteLogger.cpp +851 -0
  397. data/dist/ice/cpp/src/Ice/generated/ReplyStatus.cpp +70 -0
  398. data/dist/ice/cpp/src/Ice/generated/Router.cpp +660 -0
  399. data/dist/ice/cpp/src/Ice/generated/SliceChecksumDict.cpp +39 -0
  400. data/dist/ice/cpp/src/Ice/generated/Version.cpp +54 -0
  401. data/dist/ice/cpp/src/IceDiscovery/LocatorI.cpp +202 -0
  402. data/dist/ice/cpp/src/IceDiscovery/LocatorI.h +68 -0
  403. data/dist/ice/cpp/src/IceDiscovery/LookupI.cpp +494 -0
  404. data/dist/ice/cpp/src/IceDiscovery/LookupI.h +168 -0
  405. data/dist/ice/cpp/src/IceDiscovery/PluginI.cpp +155 -0
  406. data/dist/ice/cpp/src/IceDiscovery/PluginI.h +31 -0
  407. data/dist/ice/cpp/src/IceDiscovery/generated/Lookup.cpp +638 -0
  408. data/dist/ice/cpp/src/IceLocatorDiscovery/Plugin.h +24 -0
  409. data/dist/ice/cpp/src/IceLocatorDiscovery/PluginI.cpp +822 -0
  410. data/dist/ice/cpp/src/IceLocatorDiscovery/generated/Lookup.cpp +468 -0
  411. data/dist/ice/cpp/src/Slice/DeprecationReporter.cpp +172 -0
  412. data/dist/ice/cpp/src/Slice/DeprecationReporter.h +14 -0
  413. data/dist/ice/cpp/src/Slice/DocCommentParser.cpp +736 -0
  414. data/dist/ice/cpp/src/Slice/DocCommentParser.h +61 -0
  415. data/dist/ice/cpp/src/Slice/FileTracker.cpp +96 -0
  416. data/dist/ice/cpp/src/Slice/FileTracker.h +44 -0
  417. data/dist/ice/cpp/src/Slice/Grammar.cpp +4125 -0
  418. data/dist/ice/cpp/src/Slice/Grammar.h +138 -0
  419. data/dist/ice/cpp/src/Slice/GrammarUtil.h +128 -0
  420. data/dist/ice/cpp/src/Slice/MetadataValidation.cpp +473 -0
  421. data/dist/ice/cpp/src/Slice/MetadataValidation.h +106 -0
  422. data/dist/ice/cpp/src/Slice/Parser.cpp +4906 -0
  423. data/dist/ice/cpp/src/Slice/Parser.h +1175 -0
  424. data/dist/ice/cpp/src/Slice/Preprocessor.cpp +295 -0
  425. data/dist/ice/cpp/src/Slice/Preprocessor.h +44 -0
  426. data/dist/ice/cpp/src/Slice/Scanner.cpp +3445 -0
  427. data/dist/ice/cpp/src/Slice/SliceUtil.cpp +790 -0
  428. data/dist/ice/cpp/src/Slice/StringLiteralUtil.cpp +448 -0
  429. data/dist/ice/cpp/src/Slice/Util.h +134 -0
  430. data/dist/ice/cpp/src/slice2rb/Main.cpp +33 -0
  431. data/dist/ice/cpp/src/slice2rb/Ruby.cpp +250 -0
  432. data/dist/ice/cpp/src/slice2rb/RubyUtil.cpp +1197 -0
  433. data/dist/ice/cpp/src/slice2rb/RubyUtil.h +56 -0
  434. data/dist/ice/mcpp/internal.H +530 -0
  435. data/dist/ice/slice/Glacier2/Metrics.ice +47 -0
  436. data/dist/ice/slice/Glacier2/PermissionsVerifier.ice +55 -0
  437. data/dist/ice/slice/Glacier2/Router.ice +93 -0
  438. data/dist/ice/slice/Glacier2/SSLInfo.ice +42 -0
  439. data/dist/ice/slice/Glacier2/Session.ice +133 -0
  440. data/dist/ice/slice/Ice/BuiltinSequences.ice +54 -0
  441. data/dist/ice/slice/Ice/Context.ice +24 -0
  442. data/dist/ice/slice/Ice/EndpointTypes.ice +50 -0
  443. data/dist/ice/slice/Ice/Identity.ice +36 -0
  444. data/dist/ice/slice/Ice/Locator.ice +74 -0
  445. data/dist/ice/slice/Ice/LocatorRegistry.ice +77 -0
  446. data/dist/ice/slice/Ice/Metrics.ice +201 -0
  447. data/dist/ice/slice/Ice/OperationMode.ice +38 -0
  448. data/dist/ice/slice/Ice/Process.ice +28 -0
  449. data/dist/ice/slice/Ice/PropertiesAdmin.ice +37 -0
  450. data/dist/ice/slice/Ice/PropertyDict.ice +23 -0
  451. data/dist/ice/slice/Ice/RemoteLogger.ice +126 -0
  452. data/dist/ice/slice/Ice/ReplyStatus.ice +65 -0
  453. data/dist/ice/slice/Ice/Router.ice +54 -0
  454. data/dist/ice/slice/Ice/SliceChecksumDict.ice +18 -0
  455. data/dist/ice/slice/Ice/Version.ice +43 -0
  456. data/dist/ice/slice/IceBox/ServiceManager.ice +79 -0
  457. data/dist/ice/slice/IceGrid/Admin.ice +981 -0
  458. data/dist/ice/slice/IceGrid/Descriptor.ice +519 -0
  459. data/dist/ice/slice/IceGrid/Exception.ice +98 -0
  460. data/dist/ice/slice/IceGrid/FileParser.ice +36 -0
  461. data/dist/ice/slice/IceGrid/Registry.ice +130 -0
  462. data/dist/ice/slice/IceGrid/Session.ice +64 -0
  463. data/dist/ice/slice/IceGrid/UserAccountMapper.ice +34 -0
  464. data/dist/ice/slice/IceStorm/IceStorm.ice +186 -0
  465. data/dist/ice/slice/IceStorm/Metrics.ice +41 -0
  466. data/dist/lib/Glacier2/Metrics.rb +41 -0
  467. data/dist/lib/Glacier2/PermissionsVerifier.rb +61 -0
  468. data/dist/lib/Glacier2/Router.rb +73 -0
  469. data/dist/lib/Glacier2/SSLInfo.rb +64 -0
  470. data/dist/lib/Glacier2/Session.rb +187 -0
  471. data/dist/lib/Glacier2.rb +7 -0
  472. data/dist/lib/Ice/BuiltinSequences.rb +48 -0
  473. data/dist/lib/Ice/CompressBatch.rb +50 -0
  474. data/dist/lib/Ice/Context.rb +12 -0
  475. data/dist/lib/Ice/EndpointSelectionType.rb +49 -0
  476. data/dist/lib/Ice/EndpointTypes.rb +28 -0
  477. data/dist/lib/Ice/Exception.rb +20 -0
  478. data/dist/lib/Ice/Identity.rb +47 -0
  479. data/dist/lib/Ice/IdentitySpaceship.rb +16 -0
  480. data/dist/lib/Ice/InitializationData.rb +12 -0
  481. data/dist/lib/Ice/LocalExceptions.rb +168 -0
  482. data/dist/lib/Ice/Locator.rb +83 -0
  483. data/dist/lib/Ice/LocatorRegistry.rb +73 -0
  484. data/dist/lib/Ice/Metrics.rb +290 -0
  485. data/dist/lib/Ice/OperationMode.rb +58 -0
  486. data/dist/lib/Ice/Process.rb +34 -0
  487. data/dist/lib/Ice/PropertiesAdmin.rb +39 -0
  488. data/dist/lib/Ice/PropertyDict.rb +12 -0
  489. data/dist/lib/Ice/Proxy.rb +85 -0
  490. data/dist/lib/Ice/ProxyFunctions.rb +69 -0
  491. data/dist/lib/Ice/RemoteLogger.rb +176 -0
  492. data/dist/lib/Ice/ReplyStatus.rb +65 -0
  493. data/dist/lib/Ice/Router.rb +59 -0
  494. data/dist/lib/Ice/SliceChecksumDict.rb +12 -0
  495. data/dist/lib/Ice/SliceUtil.rb +41 -0
  496. data/dist/lib/Ice/Struct.rb +11 -0
  497. data/dist/lib/Ice/ToStringMode.rb +50 -0
  498. data/dist/lib/Ice/Value.rb +93 -0
  499. data/dist/lib/Ice/Version.rb +78 -0
  500. data/dist/lib/Ice.rb +37 -0
  501. data/dist/lib/IceBox/ServiceManager.rb +104 -0
  502. data/dist/lib/IceBox.rb +3 -0
  503. data/dist/lib/IceGrid/Admin.rb +1208 -0
  504. data/dist/lib/IceGrid/Descriptor.rb +989 -0
  505. data/dist/lib/IceGrid/Exception.rb +145 -0
  506. data/dist/lib/IceGrid/FileParser.rb +41 -0
  507. data/dist/lib/IceGrid/Registry.rb +168 -0
  508. data/dist/lib/IceGrid/Session.rb +56 -0
  509. data/dist/lib/IceGrid/UserAccountMapper.rb +38 -0
  510. data/dist/lib/IceGrid.rb +9 -0
  511. data/dist/lib/IceStorm/IceStorm.rb +251 -0
  512. data/dist/lib/IceStorm/Metrics.rb +55 -0
  513. data/dist/lib/IceStorm.rb +4 -0
  514. data/extconf.rb +89 -0
  515. data/ice.gemspec +22 -17
  516. data/scripts/slice2rb +10 -0
  517. metadata +536 -712
  518. data/ICE_LICENSE +0 -48
  519. data/LICENSE +0 -340
  520. data/MCPP_LICENSE +0 -29
  521. data/bin/slice2rb +0 -12
  522. data/ext/Communicator.cpp +0 -792
  523. data/ext/Communicator.h +0 -20
  524. data/ext/Config.h +0 -143
  525. data/ext/Connection.cpp +0 -532
  526. data/ext/Connection.h +0 -24
  527. data/ext/Endpoint.cpp +0 -340
  528. data/ext/Endpoint.h +0 -22
  529. data/ext/ImplicitContext.cpp +0 -144
  530. data/ext/ImplicitContext.h +0 -20
  531. data/ext/Init.cpp +0 -49
  532. data/ext/Logger.cpp +0 -147
  533. data/ext/Logger.h +0 -23
  534. data/ext/Operation.cpp +0 -661
  535. data/ext/Operation.h +0 -31
  536. data/ext/Properties.cpp +0 -365
  537. data/ext/Properties.h +0 -20
  538. data/ext/Proxy.cpp +0 -1396
  539. data/ext/Proxy.h +0 -22
  540. data/ext/Slice.cpp +0 -205
  541. data/ext/Slice.h +0 -17
  542. data/ext/Types.cpp +0 -3325
  543. data/ext/Types.h +0 -595
  544. data/ext/Util.cpp +0 -812
  545. data/ext/Util.h +0 -586
  546. data/ext/ValueFactoryManager.cpp +0 -441
  547. data/ext/ValueFactoryManager.h +0 -95
  548. data/ext/extconf.rb +0 -97
  549. data/ext/ice/cpp/include/Ice/Application.h +0 -326
  550. data/ext/ice/cpp/include/Ice/AsyncResult.h +0 -155
  551. data/ext/ice/cpp/include/Ice/AsyncResultF.h +0 -23
  552. data/ext/ice/cpp/include/Ice/BatchRequestInterceptor.h +0 -75
  553. data/ext/ice/cpp/include/Ice/BatchRequestQueueF.h +0 -20
  554. data/ext/ice/cpp/include/Ice/Buffer.h +0 -154
  555. data/ext/ice/cpp/include/Ice/CommunicatorAsync.h +0 -154
  556. data/ext/ice/cpp/include/Ice/Comparable.h +0 -205
  557. data/ext/ice/cpp/include/Ice/Config.h +0 -78
  558. data/ext/ice/cpp/include/Ice/ConnectionAsync.h +0 -302
  559. data/ext/ice/cpp/include/Ice/ConnectionIF.h +0 -38
  560. data/ext/ice/cpp/include/Ice/ConsoleUtil.h +0 -23
  561. data/ext/ice/cpp/include/Ice/DefaultValueFactory.h +0 -57
  562. data/ext/ice/cpp/include/Ice/DispatchInterceptor.h +0 -41
  563. data/ext/ice/cpp/include/Ice/Dispatcher.h +0 -67
  564. data/ext/ice/cpp/include/Ice/DynamicLibrary.h +0 -102
  565. data/ext/ice/cpp/include/Ice/DynamicLibraryF.h +0 -24
  566. data/ext/ice/cpp/include/Ice/Exception.h +0 -161
  567. data/ext/ice/cpp/include/Ice/ExceptionHelpers.h +0 -74
  568. data/ext/ice/cpp/include/Ice/FactoryTable.h +0 -73
  569. data/ext/ice/cpp/include/Ice/FactoryTableInit.h +0 -84
  570. data/ext/ice/cpp/include/Ice/Format.h +0 -38
  571. data/ext/ice/cpp/include/Ice/Functional.h +0 -140
  572. data/ext/ice/cpp/include/Ice/GCObject.h +0 -76
  573. data/ext/ice/cpp/include/Ice/Handle.h +0 -182
  574. data/ext/ice/cpp/include/Ice/Ice.h +0 -55
  575. data/ext/ice/cpp/include/Ice/IconvStringConverter.h +0 -377
  576. data/ext/ice/cpp/include/Ice/Incoming.h +0 -225
  577. data/ext/ice/cpp/include/Ice/IncomingAsync.h +0 -186
  578. data/ext/ice/cpp/include/Ice/IncomingAsyncF.h +0 -36
  579. data/ext/ice/cpp/include/Ice/Initialize.h +0 -957
  580. data/ext/ice/cpp/include/Ice/InputStream.h +0 -1514
  581. data/ext/ice/cpp/include/Ice/InstanceF.h +0 -20
  582. data/ext/ice/cpp/include/Ice/InterfaceByValue.h +0 -57
  583. data/ext/ice/cpp/include/Ice/LocalObject.h +0 -35
  584. data/ext/ice/cpp/include/Ice/LocalObjectF.h +0 -21
  585. data/ext/ice/cpp/include/Ice/LoggerUtil.h +0 -185
  586. data/ext/ice/cpp/include/Ice/MetricsAdminI.h +0 -715
  587. data/ext/ice/cpp/include/Ice/MetricsFunctional.h +0 -159
  588. data/ext/ice/cpp/include/Ice/MetricsObserverI.h +0 -669
  589. data/ext/ice/cpp/include/Ice/NativePropertiesAdmin.h +0 -86
  590. data/ext/ice/cpp/include/Ice/Object.h +0 -507
  591. data/ext/ice/cpp/include/Ice/ObjectF.h +0 -30
  592. data/ext/ice/cpp/include/Ice/ObserverHelper.h +0 -182
  593. data/ext/ice/cpp/include/Ice/Optional.h +0 -1114
  594. data/ext/ice/cpp/include/Ice/OutgoingAsync.h +0 -856
  595. data/ext/ice/cpp/include/Ice/OutgoingAsyncF.h +0 -39
  596. data/ext/ice/cpp/include/Ice/OutputStream.h +0 -1092
  597. data/ext/ice/cpp/include/Ice/Protocol.h +0 -274
  598. data/ext/ice/cpp/include/Ice/Proxy.h +0 -5154
  599. data/ext/ice/cpp/include/Ice/ProxyF.h +0 -53
  600. data/ext/ice/cpp/include/Ice/ProxyFactoryF.h +0 -21
  601. data/ext/ice/cpp/include/Ice/ProxyHandle.h +0 -318
  602. data/ext/ice/cpp/include/Ice/ReferenceF.h +0 -29
  603. data/ext/ice/cpp/include/Ice/RegisterPlugins.h +0 -127
  604. data/ext/ice/cpp/include/Ice/RequestHandlerF.h +0 -30
  605. data/ext/ice/cpp/include/Ice/ResponseHandlerF.h +0 -25
  606. data/ext/ice/cpp/include/Ice/SHA1.h +0 -42
  607. data/ext/ice/cpp/include/Ice/ServantManagerF.h +0 -21
  608. data/ext/ice/cpp/include/Ice/Service.h +0 -379
  609. data/ext/ice/cpp/include/Ice/SliceChecksums.h +0 -33
  610. data/ext/ice/cpp/include/Ice/SlicedData.h +0 -172
  611. data/ext/ice/cpp/include/Ice/SlicedDataF.h +0 -40
  612. data/ext/ice/cpp/include/Ice/StreamHelpers.h +0 -1190
  613. data/ext/ice/cpp/include/Ice/StringConverter.h +0 -78
  614. data/ext/ice/cpp/include/Ice/ThreadPoolF.h +0 -23
  615. data/ext/ice/cpp/include/Ice/UUID.h +0 -19
  616. data/ext/ice/cpp/include/Ice/UniquePtr.h +0 -95
  617. data/ext/ice/cpp/include/Ice/UniqueRef.h +0 -97
  618. data/ext/ice/cpp/include/Ice/UserExceptionFactory.h +0 -88
  619. data/ext/ice/cpp/include/Ice/Value.h +0 -139
  620. data/ext/ice/cpp/include/Ice/ValueF.h +0 -21
  621. data/ext/ice/cpp/include/IceSSL/Config.h +0 -21
  622. data/ext/ice/cpp/include/IceSSL/IceSSL.h +0 -28
  623. data/ext/ice/cpp/include/IceSSL/OpenSSL.h +0 -147
  624. data/ext/ice/cpp/include/IceSSL/Plugin.h +0 -712
  625. data/ext/ice/cpp/include/IceSSL/SChannel.h +0 -72
  626. data/ext/ice/cpp/include/IceSSL/SecureTransport.h +0 -72
  627. data/ext/ice/cpp/include/IceSSL/UWP.h +0 -62
  628. data/ext/ice/cpp/include/IceUtil/Atomic.h +0 -179
  629. data/ext/ice/cpp/include/IceUtil/Cond.h +0 -317
  630. data/ext/ice/cpp/include/IceUtil/Config.h +0 -424
  631. data/ext/ice/cpp/include/IceUtil/ConsoleUtil.h +0 -92
  632. data/ext/ice/cpp/include/IceUtil/CountDownLatch.h +0 -45
  633. data/ext/ice/cpp/include/IceUtil/CtrlCHandler.h +0 -92
  634. data/ext/ice/cpp/include/IceUtil/DisableWarnings.h +0 -44
  635. data/ext/ice/cpp/include/IceUtil/Exception.h +0 -394
  636. data/ext/ice/cpp/include/IceUtil/FileUtil.h +0 -143
  637. data/ext/ice/cpp/include/IceUtil/Functional.h +0 -389
  638. data/ext/ice/cpp/include/IceUtil/Handle.h +0 -261
  639. data/ext/ice/cpp/include/IceUtil/IceUtil.h +0 -40
  640. data/ext/ice/cpp/include/IceUtil/InputUtil.h +0 -42
  641. data/ext/ice/cpp/include/IceUtil/Iterator.h +0 -31
  642. data/ext/ice/cpp/include/IceUtil/Lock.h +0 -128
  643. data/ext/ice/cpp/include/IceUtil/Monitor.h +0 -243
  644. data/ext/ice/cpp/include/IceUtil/Mutex.h +0 -353
  645. data/ext/ice/cpp/include/IceUtil/MutexProtocol.h +0 -23
  646. data/ext/ice/cpp/include/IceUtil/MutexPtrLock.h +0 -78
  647. data/ext/ice/cpp/include/IceUtil/MutexPtrTryLock.h +0 -77
  648. data/ext/ice/cpp/include/IceUtil/Optional.h +0 -433
  649. data/ext/ice/cpp/include/IceUtil/Options.h +0 -135
  650. data/ext/ice/cpp/include/IceUtil/OutputUtil.h +0 -383
  651. data/ext/ice/cpp/include/IceUtil/PopDisableWarnings.h +0 -14
  652. data/ext/ice/cpp/include/IceUtil/PushDisableWarnings.h +0 -33
  653. data/ext/ice/cpp/include/IceUtil/Random.h +0 -55
  654. data/ext/ice/cpp/include/IceUtil/RecMutex.h +0 -107
  655. data/ext/ice/cpp/include/IceUtil/ResourceConfig.h +0 -53
  656. data/ext/ice/cpp/include/IceUtil/ScannerConfig.h +0 -40
  657. data/ext/ice/cpp/include/IceUtil/ScopedArray.h +0 -98
  658. data/ext/ice/cpp/include/IceUtil/Shared.h +0 -127
  659. data/ext/ice/cpp/include/IceUtil/StopWatch.h +0 -49
  660. data/ext/ice/cpp/include/IceUtil/StringConverter.h +0 -195
  661. data/ext/ice/cpp/include/IceUtil/StringUtil.h +0 -97
  662. data/ext/ice/cpp/include/IceUtil/Thread.h +0 -174
  663. data/ext/ice/cpp/include/IceUtil/ThreadException.h +0 -94
  664. data/ext/ice/cpp/include/IceUtil/Time.h +0 -205
  665. data/ext/ice/cpp/include/IceUtil/Timer.h +0 -143
  666. data/ext/ice/cpp/include/IceUtil/UUID.h +0 -21
  667. data/ext/ice/cpp/include/IceUtil/UndefSysMacros.h +0 -37
  668. data/ext/ice/cpp/include/generated/Ice/BuiltinSequences.h +0 -170
  669. data/ext/ice/cpp/include/generated/Ice/Communicator.h +0 -1162
  670. data/ext/ice/cpp/include/generated/Ice/CommunicatorF.h +0 -101
  671. data/ext/ice/cpp/include/generated/Ice/Connection.h +0 -1703
  672. data/ext/ice/cpp/include/generated/Ice/ConnectionF.h +0 -119
  673. data/ext/ice/cpp/include/generated/Ice/Current.h +0 -322
  674. data/ext/ice/cpp/include/generated/Ice/Endpoint.h +0 -979
  675. data/ext/ice/cpp/include/generated/Ice/EndpointF.h +0 -166
  676. data/ext/ice/cpp/include/generated/Ice/EndpointTypes.h +0 -118
  677. data/ext/ice/cpp/include/generated/Ice/FacetMap.h +0 -80
  678. data/ext/ice/cpp/include/generated/Ice/Identity.h +0 -264
  679. data/ext/ice/cpp/include/generated/Ice/ImplicitContext.h +0 -284
  680. data/ext/ice/cpp/include/generated/Ice/ImplicitContextF.h +0 -101
  681. data/ext/ice/cpp/include/generated/Ice/Instrumentation.h +0 -1203
  682. data/ext/ice/cpp/include/generated/Ice/InstrumentationF.h +0 -128
  683. data/ext/ice/cpp/include/generated/Ice/LocalException.h +0 -7437
  684. data/ext/ice/cpp/include/generated/Ice/Locator.h +0 -3898
  685. data/ext/ice/cpp/include/generated/Ice/LocatorF.h +0 -147
  686. data/ext/ice/cpp/include/generated/Ice/Logger.h +0 -237
  687. data/ext/ice/cpp/include/generated/Ice/LoggerF.h +0 -101
  688. data/ext/ice/cpp/include/generated/Ice/Metrics.h +0 -4769
  689. data/ext/ice/cpp/include/generated/Ice/ObjectAdapter.h +0 -1181
  690. data/ext/ice/cpp/include/generated/Ice/ObjectAdapterF.h +0 -101
  691. data/ext/ice/cpp/include/generated/Ice/ObjectFactory.h +0 -203
  692. data/ext/ice/cpp/include/generated/Ice/Plugin.h +0 -318
  693. data/ext/ice/cpp/include/generated/Ice/PluginF.h +0 -110
  694. data/ext/ice/cpp/include/generated/Ice/Process.h +0 -977
  695. data/ext/ice/cpp/include/generated/Ice/ProcessF.h +0 -125
  696. data/ext/ice/cpp/include/generated/Ice/Properties.h +0 -452
  697. data/ext/ice/cpp/include/generated/Ice/PropertiesAdmin.h +0 -1366
  698. data/ext/ice/cpp/include/generated/Ice/PropertiesF.h +0 -134
  699. data/ext/ice/cpp/include/generated/Ice/RemoteLogger.h +0 -2707
  700. data/ext/ice/cpp/include/generated/Ice/Router.h +0 -1850
  701. data/ext/ice/cpp/include/generated/Ice/RouterF.h +0 -125
  702. data/ext/ice/cpp/include/generated/Ice/ServantLocator.h +0 -305
  703. data/ext/ice/cpp/include/generated/Ice/ServantLocatorF.h +0 -101
  704. data/ext/ice/cpp/include/generated/Ice/SliceChecksumDict.h +0 -84
  705. data/ext/ice/cpp/include/generated/Ice/ValueFactory.h +0 -330
  706. data/ext/ice/cpp/include/generated/Ice/Version.h +0 -357
  707. data/ext/ice/cpp/include/generated/IceSSL/ConnectionInfo.h +0 -228
  708. data/ext/ice/cpp/include/generated/IceSSL/ConnectionInfoF.h +0 -101
  709. data/ext/ice/cpp/include/generated/IceSSL/EndpointInfo.h +0 -186
  710. data/ext/ice/cpp/src/Ice/ACM.cpp +0 -380
  711. data/ext/ice/cpp/src/Ice/ACM.h +0 -119
  712. data/ext/ice/cpp/src/Ice/ACMF.h +0 -30
  713. data/ext/ice/cpp/src/Ice/Acceptor.cpp +0 -16
  714. data/ext/ice/cpp/src/Ice/Acceptor.h +0 -37
  715. data/ext/ice/cpp/src/Ice/AcceptorF.h +0 -25
  716. data/ext/ice/cpp/src/Ice/ArgVector.cpp +0 -59
  717. data/ext/ice/cpp/src/Ice/ArgVector.h +0 -36
  718. data/ext/ice/cpp/src/Ice/AsyncResult.cpp +0 -70
  719. data/ext/ice/cpp/src/Ice/Base64.cpp +0 -263
  720. data/ext/ice/cpp/src/Ice/Base64.h +0 -31
  721. data/ext/ice/cpp/src/Ice/BatchRequestQueue.cpp +0 -250
  722. data/ext/ice/cpp/src/Ice/BatchRequestQueue.h +0 -59
  723. data/ext/ice/cpp/src/Ice/Buffer.cpp +0 -155
  724. data/ext/ice/cpp/src/Ice/BuiltinSequences.cpp +0 -49
  725. data/ext/ice/cpp/src/Ice/CollocatedRequestHandler.cpp +0 -407
  726. data/ext/ice/cpp/src/Ice/CollocatedRequestHandler.h +0 -87
  727. data/ext/ice/cpp/src/Ice/Communicator.cpp +0 -79
  728. data/ext/ice/cpp/src/Ice/CommunicatorF.cpp +0 -61
  729. data/ext/ice/cpp/src/Ice/CommunicatorI.cpp +0 -586
  730. data/ext/ice/cpp/src/Ice/CommunicatorI.h +0 -167
  731. data/ext/ice/cpp/src/Ice/Cond.cpp +0 -381
  732. data/ext/ice/cpp/src/Ice/ConnectRequestHandler.cpp +0 -348
  733. data/ext/ice/cpp/src/Ice/ConnectRequestHandler.h +0 -72
  734. data/ext/ice/cpp/src/Ice/ConnectRequestHandlerF.h +0 -24
  735. data/ext/ice/cpp/src/Ice/Connection.cpp +0 -155
  736. data/ext/ice/cpp/src/Ice/ConnectionF.cpp +0 -61
  737. data/ext/ice/cpp/src/Ice/ConnectionFactory.cpp +0 -1972
  738. data/ext/ice/cpp/src/Ice/ConnectionFactory.h +0 -264
  739. data/ext/ice/cpp/src/Ice/ConnectionFactoryF.h +0 -30
  740. data/ext/ice/cpp/src/Ice/ConnectionI.cpp +0 -3670
  741. data/ext/ice/cpp/src/Ice/ConnectionI.h +0 -391
  742. data/ext/ice/cpp/src/Ice/ConnectionRequestHandler.cpp +0 -73
  743. data/ext/ice/cpp/src/Ice/ConnectionRequestHandler.h +0 -41
  744. data/ext/ice/cpp/src/Ice/Connector.cpp +0 -16
  745. data/ext/ice/cpp/src/Ice/Connector.h +0 -32
  746. data/ext/ice/cpp/src/Ice/ConnectorF.h +0 -21
  747. data/ext/ice/cpp/src/Ice/CountDownLatch.cpp +0 -179
  748. data/ext/ice/cpp/src/Ice/Current.cpp +0 -62
  749. data/ext/ice/cpp/src/Ice/DefaultsAndOverrides.cpp +0 -161
  750. data/ext/ice/cpp/src/Ice/DefaultsAndOverrides.h +0 -52
  751. data/ext/ice/cpp/src/Ice/DefaultsAndOverridesF.h +0 -21
  752. data/ext/ice/cpp/src/Ice/DispatchInterceptor.cpp +0 -37
  753. data/ext/ice/cpp/src/Ice/DynamicLibrary.cpp +0 -291
  754. data/ext/ice/cpp/src/Ice/Endpoint.cpp +0 -147
  755. data/ext/ice/cpp/src/Ice/EndpointF.cpp +0 -61
  756. data/ext/ice/cpp/src/Ice/EndpointFactory.cpp +0 -189
  757. data/ext/ice/cpp/src/Ice/EndpointFactory.h +0 -117
  758. data/ext/ice/cpp/src/Ice/EndpointFactoryF.h +0 -21
  759. data/ext/ice/cpp/src/Ice/EndpointFactoryManager.cpp +0 -213
  760. data/ext/ice/cpp/src/Ice/EndpointFactoryManager.h +0 -47
  761. data/ext/ice/cpp/src/Ice/EndpointFactoryManagerF.h +0 -21
  762. data/ext/ice/cpp/src/Ice/EndpointI.cpp +0 -98
  763. data/ext/ice/cpp/src/Ice/EndpointI.h +0 -218
  764. data/ext/ice/cpp/src/Ice/EndpointIF.h +0 -49
  765. data/ext/ice/cpp/src/Ice/EndpointTypes.cpp +0 -51
  766. data/ext/ice/cpp/src/Ice/EventHandler.cpp +0 -32
  767. data/ext/ice/cpp/src/Ice/EventHandler.h +0 -81
  768. data/ext/ice/cpp/src/Ice/EventHandlerF.h +0 -24
  769. data/ext/ice/cpp/src/Ice/Exception.cpp +0 -845
  770. data/ext/ice/cpp/src/Ice/FacetMap.cpp +0 -49
  771. data/ext/ice/cpp/src/Ice/FactoryTable.cpp +0 -162
  772. data/ext/ice/cpp/src/Ice/FactoryTableInit.cpp +0 -88
  773. data/ext/ice/cpp/src/Ice/GCObject.cpp +0 -442
  774. data/ext/ice/cpp/src/Ice/HashUtil.h +0 -53
  775. data/ext/ice/cpp/src/Ice/HttpParser.cpp +0 -684
  776. data/ext/ice/cpp/src/Ice/HttpParser.h +0 -117
  777. data/ext/ice/cpp/src/Ice/IPEndpointI.cpp +0 -756
  778. data/ext/ice/cpp/src/Ice/IPEndpointI.h +0 -162
  779. data/ext/ice/cpp/src/Ice/IPEndpointIF.h +0 -28
  780. data/ext/ice/cpp/src/Ice/IconvStringConverter.cpp +0 -51
  781. data/ext/ice/cpp/src/Ice/Identity.cpp +0 -57
  782. data/ext/ice/cpp/src/Ice/ImplicitContext.cpp +0 -75
  783. data/ext/ice/cpp/src/Ice/ImplicitContextF.cpp +0 -61
  784. data/ext/ice/cpp/src/Ice/ImplicitContextI.cpp +0 -655
  785. data/ext/ice/cpp/src/Ice/ImplicitContextI.h +0 -48
  786. data/ext/ice/cpp/src/Ice/Incoming.cpp +0 -795
  787. data/ext/ice/cpp/src/Ice/IncomingAsync.cpp +0 -230
  788. data/ext/ice/cpp/src/Ice/IncomingRequest.h +0 -33
  789. data/ext/ice/cpp/src/Ice/Initialize.cpp +0 -654
  790. data/ext/ice/cpp/src/Ice/InputStream.cpp +0 -2741
  791. data/ext/ice/cpp/src/Ice/Instance.cpp +0 -1971
  792. data/ext/ice/cpp/src/Ice/Instance.h +0 -235
  793. data/ext/ice/cpp/src/Ice/Instrumentation.cpp +0 -188
  794. data/ext/ice/cpp/src/Ice/InstrumentationF.cpp +0 -66
  795. data/ext/ice/cpp/src/Ice/InstrumentationI.cpp +0 -1094
  796. data/ext/ice/cpp/src/Ice/InstrumentationI.h +0 -256
  797. data/ext/ice/cpp/src/Ice/LocalException.cpp +0 -3262
  798. data/ext/ice/cpp/src/Ice/LocalObject.cpp +0 -23
  799. data/ext/ice/cpp/src/Ice/Locator.cpp +0 -2042
  800. data/ext/ice/cpp/src/Ice/LocatorF.cpp +0 -63
  801. data/ext/ice/cpp/src/Ice/LocatorInfo.cpp +0 -889
  802. data/ext/ice/cpp/src/Ice/LocatorInfo.h +0 -189
  803. data/ext/ice/cpp/src/Ice/LocatorInfoF.h +0 -29
  804. data/ext/ice/cpp/src/Ice/Logger.cpp +0 -73
  805. data/ext/ice/cpp/src/Ice/LoggerAdminI.cpp +0 -956
  806. data/ext/ice/cpp/src/Ice/LoggerAdminI.h +0 -41
  807. data/ext/ice/cpp/src/Ice/LoggerF.cpp +0 -61
  808. data/ext/ice/cpp/src/Ice/LoggerI.cpp +0 -261
  809. data/ext/ice/cpp/src/Ice/LoggerI.h +0 -52
  810. data/ext/ice/cpp/src/Ice/LoggerUtil.cpp +0 -100
  811. data/ext/ice/cpp/src/Ice/Metrics.cpp +0 -2352
  812. data/ext/ice/cpp/src/Ice/MetricsAdminI.cpp +0 -694
  813. data/ext/ice/cpp/src/Ice/MetricsObserverI.cpp +0 -8
  814. data/ext/ice/cpp/src/Ice/Network.cpp +0 -3075
  815. data/ext/ice/cpp/src/Ice/Network.h +0 -371
  816. data/ext/ice/cpp/src/Ice/NetworkF.h +0 -23
  817. data/ext/ice/cpp/src/Ice/NetworkProxy.cpp +0 -324
  818. data/ext/ice/cpp/src/Ice/NetworkProxy.h +0 -72
  819. data/ext/ice/cpp/src/Ice/NetworkProxyF.h +0 -21
  820. data/ext/ice/cpp/src/Ice/OSLogLoggerI.cpp +0 -57
  821. data/ext/ice/cpp/src/Ice/OSLogLoggerI.h +0 -40
  822. data/ext/ice/cpp/src/Ice/Object.cpp +0 -435
  823. data/ext/ice/cpp/src/Ice/ObjectAdapter.cpp +0 -79
  824. data/ext/ice/cpp/src/Ice/ObjectAdapterF.cpp +0 -61
  825. data/ext/ice/cpp/src/Ice/ObjectAdapterFactory.cpp +0 -291
  826. data/ext/ice/cpp/src/Ice/ObjectAdapterFactory.h +0 -53
  827. data/ext/ice/cpp/src/Ice/ObjectAdapterFactoryF.h +0 -25
  828. data/ext/ice/cpp/src/Ice/ObjectAdapterI.cpp +0 -1530
  829. data/ext/ice/cpp/src/Ice/ObjectAdapterI.h +0 -159
  830. data/ext/ice/cpp/src/Ice/ObjectFactory.cpp +0 -75
  831. data/ext/ice/cpp/src/Ice/ObserverHelper.cpp +0 -56
  832. data/ext/ice/cpp/src/Ice/OpaqueEndpointI.cpp +0 -408
  833. data/ext/ice/cpp/src/Ice/OpaqueEndpointI.h +0 -74
  834. data/ext/ice/cpp/src/Ice/OutgoingAsync.cpp +0 -1322
  835. data/ext/ice/cpp/src/Ice/OutputStream.cpp +0 -1367
  836. data/ext/ice/cpp/src/Ice/Plugin.cpp +0 -87
  837. data/ext/ice/cpp/src/Ice/PluginF.cpp +0 -61
  838. data/ext/ice/cpp/src/Ice/PluginManagerI.cpp +0 -503
  839. data/ext/ice/cpp/src/Ice/PluginManagerI.h +0 -61
  840. data/ext/ice/cpp/src/Ice/Process.cpp +0 -471
  841. data/ext/ice/cpp/src/Ice/ProcessF.cpp +0 -63
  842. data/ext/ice/cpp/src/Ice/Properties.cpp +0 -78
  843. data/ext/ice/cpp/src/Ice/PropertiesAdmin.cpp +0 -603
  844. data/ext/ice/cpp/src/Ice/PropertiesAdminI.cpp +0 -265
  845. data/ext/ice/cpp/src/Ice/PropertiesAdminI.h +0 -64
  846. data/ext/ice/cpp/src/Ice/PropertiesF.cpp +0 -63
  847. data/ext/ice/cpp/src/Ice/PropertiesI.cpp +0 -747
  848. data/ext/ice/cpp/src/Ice/PropertiesI.h +0 -70
  849. data/ext/ice/cpp/src/Ice/PropertyNames.cpp +0 -1429
  850. data/ext/ice/cpp/src/Ice/PropertyNames.h +0 -78
  851. data/ext/ice/cpp/src/Ice/Protocol.cpp +0 -124
  852. data/ext/ice/cpp/src/Ice/ProtocolInstance.cpp +0 -131
  853. data/ext/ice/cpp/src/Ice/ProtocolInstance.h +0 -93
  854. data/ext/ice/cpp/src/Ice/ProtocolInstanceF.h +0 -21
  855. data/ext/ice/cpp/src/Ice/ProtocolPluginFacade.cpp +0 -51
  856. data/ext/ice/cpp/src/Ice/ProtocolPluginFacade.h +0 -64
  857. data/ext/ice/cpp/src/Ice/ProtocolPluginFacadeF.h +0 -21
  858. data/ext/ice/cpp/src/Ice/Proxy.cpp +0 -1601
  859. data/ext/ice/cpp/src/Ice/ProxyFactory.cpp +0 -300
  860. data/ext/ice/cpp/src/Ice/ProxyFactory.h +0 -57
  861. data/ext/ice/cpp/src/Ice/Reference.cpp +0 -2046
  862. data/ext/ice/cpp/src/Ice/Reference.h +0 -323
  863. data/ext/ice/cpp/src/Ice/ReferenceFactory.cpp +0 -888
  864. data/ext/ice/cpp/src/Ice/ReferenceFactory.h +0 -76
  865. data/ext/ice/cpp/src/Ice/ReferenceFactoryF.h +0 -19
  866. data/ext/ice/cpp/src/Ice/RegisterPluginsInit.cpp +0 -38
  867. data/ext/ice/cpp/src/Ice/RegisterPluginsInit.h +0 -20
  868. data/ext/ice/cpp/src/Ice/RemoteLogger.cpp +0 -1171
  869. data/ext/ice/cpp/src/Ice/ReplyStatus.h +0 -24
  870. data/ext/ice/cpp/src/Ice/RequestHandler.cpp +0 -37
  871. data/ext/ice/cpp/src/Ice/RequestHandler.h +0 -78
  872. data/ext/ice/cpp/src/Ice/RequestHandlerFactory.cpp +0 -77
  873. data/ext/ice/cpp/src/Ice/RequestHandlerFactory.h +0 -37
  874. data/ext/ice/cpp/src/Ice/ResponseHandler.cpp +0 -12
  875. data/ext/ice/cpp/src/Ice/ResponseHandler.h +0 -43
  876. data/ext/ice/cpp/src/Ice/RetryQueue.cpp +0 -157
  877. data/ext/ice/cpp/src/Ice/RetryQueue.h +0 -66
  878. data/ext/ice/cpp/src/Ice/RetryQueueF.h +0 -19
  879. data/ext/ice/cpp/src/Ice/Router.cpp +0 -977
  880. data/ext/ice/cpp/src/Ice/RouterF.cpp +0 -63
  881. data/ext/ice/cpp/src/Ice/RouterInfo.cpp +0 -379
  882. data/ext/ice/cpp/src/Ice/RouterInfo.h +0 -152
  883. data/ext/ice/cpp/src/Ice/RouterInfoF.h +0 -25
  884. data/ext/ice/cpp/src/Ice/SHA1.cpp +0 -185
  885. data/ext/ice/cpp/src/Ice/Selector.cpp +0 -1537
  886. data/ext/ice/cpp/src/Ice/Selector.h +0 -308
  887. data/ext/ice/cpp/src/Ice/ServantLocator.cpp +0 -75
  888. data/ext/ice/cpp/src/Ice/ServantLocatorF.cpp +0 -61
  889. data/ext/ice/cpp/src/Ice/ServantManager.cpp +0 -480
  890. data/ext/ice/cpp/src/Ice/ServantManager.h +0 -69
  891. data/ext/ice/cpp/src/Ice/SharedContext.h +0 -46
  892. data/ext/ice/cpp/src/Ice/SliceChecksumDict.cpp +0 -49
  893. data/ext/ice/cpp/src/Ice/SliceChecksums.cpp +0 -75
  894. data/ext/ice/cpp/src/Ice/SlicedData.cpp +0 -127
  895. data/ext/ice/cpp/src/Ice/StreamSocket.cpp +0 -682
  896. data/ext/ice/cpp/src/Ice/StreamSocket.h +0 -92
  897. data/ext/ice/cpp/src/Ice/StringConverterPlugin.cpp +0 -192
  898. data/ext/ice/cpp/src/Ice/StringUtil.h +0 -30
  899. data/ext/ice/cpp/src/Ice/SysLoggerI.cpp +0 -166
  900. data/ext/ice/cpp/src/Ice/SysLoggerI.h +0 -37
  901. data/ext/ice/cpp/src/Ice/SystemdJournalI.cpp +0 -66
  902. data/ext/ice/cpp/src/Ice/SystemdJournalI.h +0 -39
  903. data/ext/ice/cpp/src/Ice/TcpAcceptor.cpp +0 -355
  904. data/ext/ice/cpp/src/Ice/TcpAcceptor.h +0 -69
  905. data/ext/ice/cpp/src/Ice/TcpConnector.cpp +0 -127
  906. data/ext/ice/cpp/src/Ice/TcpConnector.h +0 -45
  907. data/ext/ice/cpp/src/Ice/TcpEndpointI.cpp +0 -385
  908. data/ext/ice/cpp/src/Ice/TcpEndpointI.h +0 -90
  909. data/ext/ice/cpp/src/Ice/TcpTransceiver.cpp +0 -135
  910. data/ext/ice/cpp/src/Ice/TcpTransceiver.h +0 -58
  911. data/ext/ice/cpp/src/Ice/Thread.cpp +0 -811
  912. data/ext/ice/cpp/src/Ice/ThreadPool.cpp +0 -1328
  913. data/ext/ice/cpp/src/Ice/ThreadPool.h +0 -393
  914. data/ext/ice/cpp/src/Ice/Timer.cpp +0 -263
  915. data/ext/ice/cpp/src/Ice/TraceLevels.cpp +0 -38
  916. data/ext/ice/cpp/src/Ice/TraceLevels.h +0 -45
  917. data/ext/ice/cpp/src/Ice/TraceLevelsF.h +0 -21
  918. data/ext/ice/cpp/src/Ice/TraceUtil.cpp +0 -478
  919. data/ext/ice/cpp/src/Ice/TraceUtil.h +0 -30
  920. data/ext/ice/cpp/src/Ice/Transceiver.cpp +0 -18
  921. data/ext/ice/cpp/src/Ice/Transceiver.h +0 -49
  922. data/ext/ice/cpp/src/Ice/TransceiverF.h +0 -33
  923. data/ext/ice/cpp/src/Ice/UdpConnector.cpp +0 -136
  924. data/ext/ice/cpp/src/Ice/UdpConnector.h +0 -45
  925. data/ext/ice/cpp/src/Ice/UdpEndpointI.cpp +0 -515
  926. data/ext/ice/cpp/src/Ice/UdpEndpointI.h +0 -95
  927. data/ext/ice/cpp/src/Ice/UdpTransceiver.cpp +0 -1153
  928. data/ext/ice/cpp/src/Ice/UdpTransceiver.h +0 -117
  929. data/ext/ice/cpp/src/Ice/Value.cpp +0 -76
  930. data/ext/ice/cpp/src/Ice/ValueFactory.cpp +0 -83
  931. data/ext/ice/cpp/src/Ice/ValueFactoryManagerI.cpp +0 -61
  932. data/ext/ice/cpp/src/Ice/ValueFactoryManagerI.h +0 -37
  933. data/ext/ice/cpp/src/Ice/Version.cpp +0 -57
  934. data/ext/ice/cpp/src/Ice/VirtualShared.h +0 -38
  935. data/ext/ice/cpp/src/Ice/WSAcceptor.cpp +0 -92
  936. data/ext/ice/cpp/src/Ice/WSAcceptor.h +0 -52
  937. data/ext/ice/cpp/src/Ice/WSConnector.cpp +0 -102
  938. data/ext/ice/cpp/src/Ice/WSConnector.h +0 -43
  939. data/ext/ice/cpp/src/Ice/WSEndpoint.cpp +0 -508
  940. data/ext/ice/cpp/src/Ice/WSEndpoint.h +0 -93
  941. data/ext/ice/cpp/src/Ice/WSTransceiver.cpp +0 -1747
  942. data/ext/ice/cpp/src/Ice/WSTransceiver.h +0 -141
  943. data/ext/ice/cpp/src/IceDiscovery/IceDiscovery.cpp +0 -915
  944. data/ext/ice/cpp/src/IceDiscovery/IceDiscovery.h +0 -1889
  945. data/ext/ice/cpp/src/IceDiscovery/LocatorI.cpp +0 -265
  946. data/ext/ice/cpp/src/IceDiscovery/LocatorI.h +0 -109
  947. data/ext/ice/cpp/src/IceDiscovery/LookupI.cpp +0 -608
  948. data/ext/ice/cpp/src/IceDiscovery/LookupI.h +0 -228
  949. data/ext/ice/cpp/src/IceDiscovery/PluginI.cpp +0 -176
  950. data/ext/ice/cpp/src/IceDiscovery/PluginI.h +0 -36
  951. data/ext/ice/cpp/src/IceLocatorDiscovery/IceLocatorDiscovery.cpp +0 -730
  952. data/ext/ice/cpp/src/IceLocatorDiscovery/IceLocatorDiscovery.h +0 -1197
  953. data/ext/ice/cpp/src/IceLocatorDiscovery/Plugin.h +0 -47
  954. data/ext/ice/cpp/src/IceLocatorDiscovery/PluginI.cpp +0 -1048
  955. data/ext/ice/cpp/src/IceSSL/AcceptorI.cpp +0 -105
  956. data/ext/ice/cpp/src/IceSSL/AcceptorI.h +0 -52
  957. data/ext/ice/cpp/src/IceSSL/CertificateI.cpp +0 -301
  958. data/ext/ice/cpp/src/IceSSL/CertificateI.h +0 -64
  959. data/ext/ice/cpp/src/IceSSL/ConnectionInfo.cpp +0 -75
  960. data/ext/ice/cpp/src/IceSSL/ConnectionInfoF.cpp +0 -61
  961. data/ext/ice/cpp/src/IceSSL/ConnectorI.cpp +0 -102
  962. data/ext/ice/cpp/src/IceSSL/ConnectorI.h +0 -44
  963. data/ext/ice/cpp/src/IceSSL/EndpointI.cpp +0 -372
  964. data/ext/ice/cpp/src/IceSSL/EndpointI.h +0 -100
  965. data/ext/ice/cpp/src/IceSSL/EndpointInfo.cpp +0 -75
  966. data/ext/ice/cpp/src/IceSSL/Instance.cpp +0 -28
  967. data/ext/ice/cpp/src/IceSSL/Instance.h +0 -37
  968. data/ext/ice/cpp/src/IceSSL/InstanceF.h +0 -33
  969. data/ext/ice/cpp/src/IceSSL/OpenSSLCertificateI.cpp +0 -688
  970. data/ext/ice/cpp/src/IceSSL/OpenSSLEngine.cpp +0 -1147
  971. data/ext/ice/cpp/src/IceSSL/OpenSSLEngine.h +0 -59
  972. data/ext/ice/cpp/src/IceSSL/OpenSSLEngineF.h +0 -27
  973. data/ext/ice/cpp/src/IceSSL/OpenSSLPluginI.cpp +0 -127
  974. data/ext/ice/cpp/src/IceSSL/OpenSSLTransceiverI.cpp +0 -1092
  975. data/ext/ice/cpp/src/IceSSL/OpenSSLTransceiverI.h +0 -90
  976. data/ext/ice/cpp/src/IceSSL/OpenSSLUtil.cpp +0 -288
  977. data/ext/ice/cpp/src/IceSSL/OpenSSLUtil.h +0 -58
  978. data/ext/ice/cpp/src/IceSSL/PluginI.cpp +0 -246
  979. data/ext/ice/cpp/src/IceSSL/PluginI.h +0 -67
  980. data/ext/ice/cpp/src/IceSSL/RFC2253.cpp +0 -490
  981. data/ext/ice/cpp/src/IceSSL/RFC2253.h +0 -62
  982. data/ext/ice/cpp/src/IceSSL/SChannelCertificateI.cpp +0 -721
  983. data/ext/ice/cpp/src/IceSSL/SChannelEngine.cpp +0 -1283
  984. data/ext/ice/cpp/src/IceSSL/SChannelEngine.h +0 -123
  985. data/ext/ice/cpp/src/IceSSL/SChannelEngineF.h +0 -31
  986. data/ext/ice/cpp/src/IceSSL/SChannelPluginI.cpp +0 -73
  987. data/ext/ice/cpp/src/IceSSL/SChannelTransceiverI.cpp +0 -1174
  988. data/ext/ice/cpp/src/IceSSL/SChannelTransceiverI.h +0 -133
  989. data/ext/ice/cpp/src/IceSSL/SSLEngine.cpp +0 -313
  990. data/ext/ice/cpp/src/IceSSL/SSLEngine.h +0 -100
  991. data/ext/ice/cpp/src/IceSSL/SSLEngineF.h +0 -21
  992. data/ext/ice/cpp/src/IceSSL/SecureTransportCertificateI.cpp +0 -999
  993. data/ext/ice/cpp/src/IceSSL/SecureTransportEngine.cpp +0 -1308
  994. data/ext/ice/cpp/src/IceSSL/SecureTransportEngine.h +0 -59
  995. data/ext/ice/cpp/src/IceSSL/SecureTransportEngineF.h +0 -29
  996. data/ext/ice/cpp/src/IceSSL/SecureTransportPluginI.cpp +0 -75
  997. data/ext/ice/cpp/src/IceSSL/SecureTransportTransceiverI.cpp +0 -719
  998. data/ext/ice/cpp/src/IceSSL/SecureTransportTransceiverI.h +0 -92
  999. data/ext/ice/cpp/src/IceSSL/SecureTransportUtil.cpp +0 -868
  1000. data/ext/ice/cpp/src/IceSSL/SecureTransportUtil.h +0 -45
  1001. data/ext/ice/cpp/src/IceSSL/TrustManager.cpp +0 -236
  1002. data/ext/ice/cpp/src/IceSSL/TrustManager.h +0 -46
  1003. data/ext/ice/cpp/src/IceSSL/TrustManagerF.h +0 -21
  1004. data/ext/ice/cpp/src/IceSSL/UWPCertificateI.cpp +0 -266
  1005. data/ext/ice/cpp/src/IceSSL/UWPEngine.cpp +0 -338
  1006. data/ext/ice/cpp/src/IceSSL/UWPEngine.h +0 -41
  1007. data/ext/ice/cpp/src/IceSSL/UWPEngineF.h +0 -26
  1008. data/ext/ice/cpp/src/IceSSL/UWPPluginI.cpp +0 -89
  1009. data/ext/ice/cpp/src/IceSSL/UWPTransceiverI.cpp +0 -383
  1010. data/ext/ice/cpp/src/IceSSL/UWPTransceiverI.h +0 -71
  1011. data/ext/ice/cpp/src/IceSSL/Util.cpp +0 -192
  1012. data/ext/ice/cpp/src/IceSSL/Util.h +0 -99
  1013. data/ext/ice/cpp/src/IceUtil/ConsoleUtil.cpp +0 -157
  1014. data/ext/ice/cpp/src/IceUtil/ConvertUTF.cpp +0 -472
  1015. data/ext/ice/cpp/src/IceUtil/ConvertUTF.h +0 -147
  1016. data/ext/ice/cpp/src/IceUtil/CtrlCHandler.cpp +0 -259
  1017. data/ext/ice/cpp/src/IceUtil/FileUtil.cpp +0 -484
  1018. data/ext/ice/cpp/src/IceUtil/InputUtil.cpp +0 -36
  1019. data/ext/ice/cpp/src/IceUtil/MutexProtocol.cpp +0 -19
  1020. data/ext/ice/cpp/src/IceUtil/Options.cpp +0 -1051
  1021. data/ext/ice/cpp/src/IceUtil/OutputUtil.cpp +0 -609
  1022. data/ext/ice/cpp/src/IceUtil/Random.cpp +0 -180
  1023. data/ext/ice/cpp/src/IceUtil/RecMutex.cpp +0 -242
  1024. data/ext/ice/cpp/src/IceUtil/Shared.cpp +0 -71
  1025. data/ext/ice/cpp/src/IceUtil/StringConverter.cpp +0 -690
  1026. data/ext/ice/cpp/src/IceUtil/StringUtil.cpp +0 -1180
  1027. data/ext/ice/cpp/src/IceUtil/ThreadException.cpp +0 -130
  1028. data/ext/ice/cpp/src/IceUtil/Time.cpp +0 -307
  1029. data/ext/ice/cpp/src/IceUtil/UUID.cpp +0 -169
  1030. data/ext/ice/cpp/src/IceUtil/Unicode.cpp +0 -183
  1031. data/ext/ice/cpp/src/IceUtil/Unicode.h +0 -43
  1032. data/ext/ice/cpp/src/IceUtil/UtilException.cpp +0 -839
  1033. data/ext/ice/cpp/src/Slice/CPlusPlusUtil.cpp +0 -1810
  1034. data/ext/ice/cpp/src/Slice/CPlusPlusUtil.h +0 -72
  1035. data/ext/ice/cpp/src/Slice/Checksum.cpp +0 -447
  1036. data/ext/ice/cpp/src/Slice/Checksum.h +0 -21
  1037. data/ext/ice/cpp/src/Slice/FileTracker.cpp +0 -146
  1038. data/ext/ice/cpp/src/Slice/FileTracker.h +0 -66
  1039. data/ext/ice/cpp/src/Slice/Grammar.cpp +0 -4793
  1040. data/ext/ice/cpp/src/Slice/Grammar.h +0 -118
  1041. data/ext/ice/cpp/src/Slice/GrammarUtil.h +0 -228
  1042. data/ext/ice/cpp/src/Slice/JavaUtil.cpp +0 -5154
  1043. data/ext/ice/cpp/src/Slice/JavaUtil.h +0 -398
  1044. data/ext/ice/cpp/src/Slice/MD5.cpp +0 -52
  1045. data/ext/ice/cpp/src/Slice/MD5.h +0 -39
  1046. data/ext/ice/cpp/src/Slice/MD5I.cpp +0 -393
  1047. data/ext/ice/cpp/src/Slice/MD5I.h +0 -91
  1048. data/ext/ice/cpp/src/Slice/PHPUtil.cpp +0 -157
  1049. data/ext/ice/cpp/src/Slice/PHPUtil.h +0 -36
  1050. data/ext/ice/cpp/src/Slice/Parser.cpp +0 -7058
  1051. data/ext/ice/cpp/src/Slice/Parser.h +0 -1174
  1052. data/ext/ice/cpp/src/Slice/Preprocessor.cpp +0 -797
  1053. data/ext/ice/cpp/src/Slice/Preprocessor.h +0 -60
  1054. data/ext/ice/cpp/src/Slice/Python.cpp +0 -830
  1055. data/ext/ice/cpp/src/Slice/PythonUtil.cpp +0 -3439
  1056. data/ext/ice/cpp/src/Slice/PythonUtil.h +0 -70
  1057. data/ext/ice/cpp/src/Slice/Ruby.cpp +0 -350
  1058. data/ext/ice/cpp/src/Slice/RubyUtil.cpp +0 -1571
  1059. data/ext/ice/cpp/src/Slice/RubyUtil.h +0 -49
  1060. data/ext/ice/cpp/src/Slice/Scanner.cpp +0 -2807
  1061. data/ext/ice/cpp/src/Slice/SliceUtil.cpp +0 -424
  1062. data/ext/ice/cpp/src/Slice/StringLiteralUtil.cpp +0 -456
  1063. data/ext/ice/cpp/src/Slice/Util.h +0 -50
  1064. data/ext/ice/mcpp/CMakeLists.txt +0 -80
  1065. data/ext/ice/mcpp/LICENSE +0 -29
  1066. data/ext/ice/mcpp/Makefile +0 -63
  1067. data/ext/ice/mcpp/README.md +0 -32
  1068. data/ext/ice/mcpp/internal.H +0 -530
  1069. data/ext/ice/mcpp/mcpp.gyp +0 -88
  1070. data/lib/Glacier2/Metrics.rb +0 -56
  1071. data/lib/Glacier2/PermissionsVerifier.rb +0 -93
  1072. data/lib/Glacier2/PermissionsVerifierF.rb +0 -30
  1073. data/lib/Glacier2/Router.rb +0 -95
  1074. data/lib/Glacier2/RouterF.rb +0 -25
  1075. data/lib/Glacier2/SSLInfo.rb +0 -72
  1076. data/lib/Glacier2/Session.rb +0 -247
  1077. data/lib/Glacier2.rb +0 -7
  1078. data/lib/Ice/BuiltinSequences.rb +0 -60
  1079. data/lib/Ice/Communicator.rb +0 -87
  1080. data/lib/Ice/CommunicatorF.rb +0 -24
  1081. data/lib/Ice/Connection.rb +0 -413
  1082. data/lib/Ice/ConnectionF.rb +0 -32
  1083. data/lib/Ice/Current.rb +0 -141
  1084. data/lib/Ice/Endpoint.rb +0 -187
  1085. data/lib/Ice/EndpointF.rb +0 -48
  1086. data/lib/Ice/EndpointTypes.rb +0 -69
  1087. data/lib/Ice/FacetMap.rb +0 -24
  1088. data/lib/Ice/Identity.rb +0 -63
  1089. data/lib/Ice/ImplicitContext.rb +0 -26
  1090. data/lib/Ice/ImplicitContextF.rb +0 -24
  1091. data/lib/Ice/Instrumentation.rb +0 -169
  1092. data/lib/Ice/InstrumentationF.rb +0 -31
  1093. data/lib/Ice/LocalException.rb +0 -1031
  1094. data/lib/Ice/Locator.rb +0 -196
  1095. data/lib/Ice/LocatorF.rb +0 -30
  1096. data/lib/Ice/Logger.rb +0 -24
  1097. data/lib/Ice/LoggerF.rb +0 -24
  1098. data/lib/Ice/Metrics.rb +0 -337
  1099. data/lib/Ice/ObjectAdapter.rb +0 -29
  1100. data/lib/Ice/ObjectAdapterF.rb +0 -24
  1101. data/lib/Ice/ObjectFactory.rb +0 -24
  1102. data/lib/Ice/Plugin.rb +0 -30
  1103. data/lib/Ice/PluginF.rb +0 -28
  1104. data/lib/Ice/Process.rb +0 -53
  1105. data/lib/Ice/ProcessF.rb +0 -25
  1106. data/lib/Ice/Properties.rb +0 -25
  1107. data/lib/Ice/PropertiesAdmin.rb +0 -63
  1108. data/lib/Ice/PropertiesF.rb +0 -29
  1109. data/lib/Ice/RemoteLogger.rb +0 -207
  1110. data/lib/Ice/Router.rb +0 -87
  1111. data/lib/Ice/RouterF.rb +0 -25
  1112. data/lib/Ice/ServantLocator.rb +0 -26
  1113. data/lib/Ice/ServantLocatorF.rb +0 -24
  1114. data/lib/Ice/SliceChecksumDict.rb +0 -24
  1115. data/lib/Ice/ValueFactory.rb +0 -28
  1116. data/lib/Ice/Version.rb +0 -90
  1117. data/lib/Ice.rb +0 -673
  1118. data/lib/IceBox/IceBox.rb +0 -164
  1119. data/lib/IceBox.rb +0 -5
  1120. data/lib/IceGrid/Admin.rb +0 -1196
  1121. data/lib/IceGrid/Descriptor.rb +0 -1034
  1122. data/lib/IceGrid/Exception.rb +0 -376
  1123. data/lib/IceGrid/FileParser.rb +0 -65
  1124. data/lib/IceGrid/PluginFacade.rb +0 -35
  1125. data/lib/IceGrid/Registry.rb +0 -209
  1126. data/lib/IceGrid/Session.rb +0 -71
  1127. data/lib/IceGrid/UserAccountMapper.rb +0 -61
  1128. data/lib/IceGrid.rb +0 -9
  1129. data/lib/IcePatch2/FileInfo.rb +0 -115
  1130. data/lib/IcePatch2/FileServer.rb +0 -123
  1131. data/lib/IcePatch2.rb +0 -5
  1132. data/lib/IceStorm/IceStorm.rb +0 -332
  1133. data/lib/IceStorm/Metrics.rb +0 -73
  1134. data/lib/IceStorm.rb +0 -6
  1135. data/slice/Glacier2/Metrics.ice +0 -88
  1136. data/slice/Glacier2/PermissionsVerifier.ice +0 -111
  1137. data/slice/Glacier2/PermissionsVerifierF.ice +0 -30
  1138. data/slice/Glacier2/Router.ice +0 -186
  1139. data/slice/Glacier2/RouterF.ice +0 -29
  1140. data/slice/Glacier2/SSLInfo.ice +0 -59
  1141. data/slice/Glacier2/Session.ice +0 -274
  1142. data/slice/Ice/BuiltinSequences.ice +0 -59
  1143. data/slice/Ice/Communicator.ice +0 -676
  1144. data/slice/Ice/CommunicatorF.ice +0 -31
  1145. data/slice/Ice/Connection.ice +0 -516
  1146. data/slice/Ice/ConnectionF.ice +0 -33
  1147. data/slice/Ice/Current.ice +0 -170
  1148. data/slice/Ice/Endpoint.ice +0 -291
  1149. data/slice/Ice/EndpointF.ice +0 -43
  1150. data/slice/Ice/EndpointTypes.ice +0 -48
  1151. data/slice/Ice/FacetMap.ice +0 -36
  1152. data/slice/Ice/Identity.ice +0 -75
  1153. data/slice/Ice/ImplicitContext.ice +0 -119
  1154. data/slice/Ice/ImplicitContextF.ice +0 -30
  1155. data/slice/Ice/Instrumentation.ice +0 -509
  1156. data/slice/Ice/InstrumentationF.ice +0 -38
  1157. data/slice/Ice/LocalException.ice +0 -1040
  1158. data/slice/Ice/Locator.ice +0 -239
  1159. data/slice/Ice/LocatorF.ice +0 -32
  1160. data/slice/Ice/Logger.ice +0 -99
  1161. data/slice/Ice/LoggerF.ice +0 -31
  1162. data/slice/Ice/Metrics.ice +0 -436
  1163. data/slice/Ice/ObjectAdapter.ice +0 -710
  1164. data/slice/Ice/ObjectAdapterF.ice +0 -31
  1165. data/slice/Ice/ObjectFactory.ice +0 -71
  1166. data/slice/Ice/Plugin.ice +0 -131
  1167. data/slice/Ice/PluginF.ice +0 -36
  1168. data/slice/Ice/Process.ice +0 -64
  1169. data/slice/Ice/ProcessF.ice +0 -31
  1170. data/slice/Ice/Properties.ice +0 -244
  1171. data/slice/Ice/PropertiesAdmin.ice +0 -87
  1172. data/slice/Ice/PropertiesF.ice +0 -32
  1173. data/slice/Ice/RemoteLogger.ice +0 -226
  1174. data/slice/Ice/Router.ice +0 -103
  1175. data/slice/Ice/RouterF.ice +0 -31
  1176. data/slice/Ice/ServantLocator.ice +0 -136
  1177. data/slice/Ice/ServantLocatorF.ice +0 -31
  1178. data/slice/Ice/SliceChecksumDict.ice +0 -36
  1179. data/slice/Ice/ValueFactory.ice +0 -133
  1180. data/slice/Ice/Version.ice +0 -51
  1181. data/slice/IceBT/ConnectionInfo.ice +0 -59
  1182. data/slice/IceBT/EndpointInfo.ice +0 -57
  1183. data/slice/IceBT/Types.ice +0 -45
  1184. data/slice/IceBox/IceBox.ice +0 -216
  1185. data/slice/IceDiscovery/IceDiscovery.ice +0 -98
  1186. data/slice/IceGrid/Admin.ice +0 -1957
  1187. data/slice/IceGrid/Descriptor.ice +0 -1094
  1188. data/slice/IceGrid/Exception.ice +0 -396
  1189. data/slice/IceGrid/FileParser.ice +0 -72
  1190. data/slice/IceGrid/PluginFacade.ice +0 -329
  1191. data/slice/IceGrid/Registry.ice +0 -269
  1192. data/slice/IceGrid/Session.ice +0 -128
  1193. data/slice/IceGrid/UserAccountMapper.ice +0 -69
  1194. data/slice/IceIAP/ConnectionInfo.ice +0 -74
  1195. data/slice/IceIAP/EndpointInfo.ice +0 -68
  1196. data/slice/IceLocatorDiscovery/IceLocatorDiscovery.ice +0 -83
  1197. data/slice/IcePatch2/FileInfo.ice +0 -85
  1198. data/slice/IcePatch2/FileServer.ice +0 -191
  1199. data/slice/IceSSL/ConnectionInfo.ice +0 -54
  1200. data/slice/IceSSL/ConnectionInfoF.ice +0 -31
  1201. data/slice/IceSSL/EndpointInfo.ice +0 -45
  1202. data/slice/IceStorm/IceStorm.ice +0 -414
  1203. data/slice/IceStorm/Metrics.ice +0 -83
  1204. /data/{ext → dist}/ice/mcpp/config.h +0 -0
  1205. /data/{ext → dist}/ice/mcpp/configed.H +0 -0
  1206. /data/{ext → dist}/ice/mcpp/directive.c +0 -0
  1207. /data/{ext → dist}/ice/mcpp/eval.c +0 -0
  1208. /data/{ext → dist}/ice/mcpp/expand.c +0 -0
  1209. /data/{ext → dist}/ice/mcpp/mbchar.c +0 -0
  1210. /data/{ext → dist}/ice/mcpp/mcpp_lib.h +0 -0
  1211. /data/{ext/ice/mcpp/main.c → dist/ice/mcpp/mcpp_main.c} +0 -0
  1212. /data/{ext → dist}/ice/mcpp/mcpp_out.h +0 -0
  1213. /data/{ext → dist}/ice/mcpp/support.c +0 -0
  1214. /data/{ext → dist}/ice/mcpp/system.H +0 -0
  1215. /data/{ext → dist}/ice/mcpp/system.c +0 -0
@@ -1,2741 +0,0 @@
1
- //
2
- // Copyright (c) ZeroC, Inc. All rights reserved.
3
- //
4
-
5
- #include <IceUtil/DisableWarnings.h>
6
- #include <Ice/InputStream.h>
7
- #include <Ice/DefaultsAndOverrides.h>
8
- #include <Ice/Instance.h>
9
- #include <Ice/Object.h>
10
- #include <Ice/Proxy.h>
11
- #include <Ice/ProxyFactory.h>
12
- #include <Ice/ValueFactory.h>
13
- #include <Ice/UserExceptionFactory.h>
14
- #include <Ice/LocalException.h>
15
- #include <Ice/Protocol.h>
16
- #include <Ice/FactoryTableInit.h>
17
- #include <Ice/TraceUtil.h>
18
- #include <Ice/TraceLevels.h>
19
- #include <Ice/LoggerUtil.h>
20
- #include <Ice/SlicedData.h>
21
- #include <Ice/StringConverter.h>
22
- #include <iterator>
23
-
24
- #ifndef ICE_UNALIGNED
25
- # if defined(__i386) || defined(_M_IX86) || defined(__x86_64) || defined(_M_X64)
26
- # define ICE_UNALIGNED
27
- # endif
28
- #endif
29
-
30
- using namespace std;
31
- using namespace Ice;
32
- using namespace IceInternal;
33
-
34
- Ice::InputStream::InputStream()
35
- {
36
- initialize(currentEncoding);
37
- }
38
-
39
- Ice::InputStream::InputStream(const vector<Byte>& v) :
40
- Buffer(v)
41
- {
42
- initialize(currentEncoding);
43
- }
44
-
45
- Ice::InputStream::InputStream(const pair<const Byte*, const Byte*>& p) :
46
- Buffer(p.first, p.second)
47
- {
48
- initialize(currentEncoding);
49
- }
50
-
51
- Ice::InputStream::InputStream(Buffer& buf, bool adopt) :
52
- Buffer(buf, adopt)
53
- {
54
- initialize(currentEncoding);
55
- }
56
-
57
- Ice::InputStream::InputStream(const CommunicatorPtr& communicator)
58
- {
59
- initialize(communicator);
60
- }
61
-
62
- Ice::InputStream::InputStream(const CommunicatorPtr& communicator, const vector<Byte>& v) :
63
- Buffer(v)
64
- {
65
- initialize(communicator);
66
- }
67
-
68
- Ice::InputStream::InputStream(const CommunicatorPtr& communicator, const pair<const Byte*, const Byte*>& p) :
69
- Buffer(p.first, p.second)
70
- {
71
- initialize(communicator);
72
- }
73
-
74
- Ice::InputStream::InputStream(const CommunicatorPtr& communicator, Buffer& buf, bool adopt) :
75
- Buffer(buf, adopt)
76
- {
77
- initialize(communicator);
78
- }
79
-
80
- Ice::InputStream::InputStream(const EncodingVersion& encoding)
81
- {
82
- initialize(encoding);
83
- }
84
-
85
- Ice::InputStream::InputStream(const EncodingVersion& encoding, const vector<Byte>& v) :
86
- Buffer(v)
87
- {
88
- initialize(encoding);
89
- }
90
-
91
- Ice::InputStream::InputStream(const EncodingVersion& encoding, const pair<const Byte*, const Byte*>& p) :
92
- Buffer(p.first, p.second)
93
- {
94
- initialize(encoding);
95
- }
96
-
97
- Ice::InputStream::InputStream(const EncodingVersion& encoding, Buffer& buf, bool adopt) :
98
- Buffer(buf, adopt)
99
- {
100
- initialize(encoding);
101
- }
102
-
103
- Ice::InputStream::InputStream(const CommunicatorPtr& communicator, const EncodingVersion& encoding)
104
- {
105
- initialize(communicator, encoding);
106
- }
107
-
108
- Ice::InputStream::InputStream(const CommunicatorPtr& communicator, const EncodingVersion& encoding,
109
- const vector<Byte>& v) :
110
- Buffer(v)
111
- {
112
- initialize(communicator, encoding);
113
- }
114
-
115
- Ice::InputStream::InputStream(const CommunicatorPtr& communicator, const EncodingVersion& encoding,
116
- const pair<const Byte*, const Byte*>& p) :
117
- Buffer(p.first, p.second)
118
- {
119
- initialize(communicator, encoding);
120
- }
121
-
122
- Ice::InputStream::InputStream(const CommunicatorPtr& communicator, const EncodingVersion& encoding,
123
- Buffer& buf, bool adopt) :
124
- Buffer(buf, adopt)
125
- {
126
- initialize(communicator, encoding);
127
- }
128
-
129
- Ice::InputStream::InputStream(Instance* instance, const EncodingVersion& encoding)
130
- {
131
- initialize(instance, encoding);
132
- }
133
-
134
- Ice::InputStream::InputStream(Instance* instance, const EncodingVersion& encoding, Buffer& buf, bool adopt) :
135
- Buffer(buf, adopt)
136
- {
137
- initialize(instance, encoding);
138
- }
139
-
140
- void
141
- Ice::InputStream::initialize(const CommunicatorPtr& communicator)
142
- {
143
- Instance* instance = getInstance(communicator).get();
144
- initialize(instance, instance->defaultsAndOverrides()->defaultEncoding);
145
- }
146
-
147
- void
148
- Ice::InputStream::initialize(const CommunicatorPtr& communicator, const EncodingVersion& encoding)
149
- {
150
- initialize(getInstance(communicator).get(), encoding);
151
- }
152
-
153
- void
154
- Ice::InputStream::initialize(Instance* instance, const EncodingVersion& encoding)
155
- {
156
- initialize(encoding);
157
-
158
- _instance = instance;
159
-
160
- #ifndef ICE_CPP11_MAPPING
161
- _collectObjects = _instance->collectObjects();
162
- #endif
163
- _traceSlicing = _instance->traceLevels()->slicing > 0;
164
- _classGraphDepthMax = _instance->classGraphDepthMax();
165
- }
166
-
167
- void
168
- Ice::InputStream::initialize(const EncodingVersion& encoding)
169
- {
170
- _instance = 0;
171
- _encoding = encoding;
172
- _currentEncaps = 0;
173
- #ifndef ICE_CPP11_MAPPING
174
- _collectObjects = false;
175
- #endif
176
- _traceSlicing = false;
177
- _classGraphDepthMax = 0x7fffffff;
178
- _closure = 0;
179
- _sliceValues = true;
180
- _startSeq = -1;
181
- _minSeqSize = 0;
182
- }
183
-
184
- void
185
- Ice::InputStream::clear()
186
- {
187
- while(_currentEncaps && _currentEncaps != &_preAllocatedEncaps)
188
- {
189
- Encaps* oldEncaps = _currentEncaps;
190
- _currentEncaps = _currentEncaps->previous;
191
- delete oldEncaps;
192
- }
193
-
194
- _startSeq = -1;
195
- _sliceValues = true;
196
- }
197
-
198
- void
199
- Ice::InputStream::setValueFactoryManager(const ValueFactoryManagerPtr& vfm)
200
- {
201
- _valueFactoryManager = vfm;
202
- }
203
-
204
- void
205
- Ice::InputStream::setLogger(const LoggerPtr& logger)
206
- {
207
- _logger = logger;
208
- }
209
-
210
- void
211
- #ifdef ICE_CPP11_MAPPING
212
- Ice::InputStream::setCompactIdResolver(std::function<std::string(int)> r)
213
- #else
214
- Ice::InputStream::setCompactIdResolver(const CompactIdResolverPtr& r)
215
- #endif
216
- {
217
- _compactIdResolver = r;
218
- }
219
-
220
- #ifndef ICE_CPP11_MAPPING
221
- void
222
- Ice::InputStream::setCollectObjects(bool on)
223
- {
224
- _collectObjects = on;
225
- }
226
- #endif
227
-
228
- void
229
- Ice::InputStream::setSliceValues(bool on)
230
- {
231
- _sliceValues = on;
232
- }
233
-
234
- void
235
- Ice::InputStream::setTraceSlicing(bool on)
236
- {
237
- _traceSlicing = on;
238
- }
239
-
240
- void
241
- Ice::InputStream::setClassGraphDepthMax(size_t classGraphDepthMax)
242
- {
243
- if(classGraphDepthMax < 1)
244
- {
245
- _classGraphDepthMax = 0x7fffffff;
246
- }
247
- else
248
- {
249
- _classGraphDepthMax = classGraphDepthMax;
250
- }
251
- }
252
-
253
- void*
254
- Ice::InputStream::getClosure() const
255
- {
256
- return _closure;
257
- }
258
-
259
- void*
260
- Ice::InputStream::setClosure(void* p)
261
- {
262
- void* prev = _closure;
263
- _closure = p;
264
- return prev;
265
- }
266
-
267
- void
268
- Ice::InputStream::swap(InputStream& other)
269
- {
270
- swapBuffer(other);
271
-
272
- std::swap(_instance, other._instance);
273
- std::swap(_encoding, other._encoding);
274
- #ifndef ICE_CPP11_MAPPING
275
- std::swap(_collectObjects, other._collectObjects);
276
- #endif
277
- std::swap(_traceSlicing, other._traceSlicing);
278
- std::swap(_classGraphDepthMax, other._classGraphDepthMax);
279
- std::swap(_closure, other._closure);
280
- std::swap(_sliceValues, other._sliceValues);
281
-
282
- //
283
- // Swap is never called for streams that have encapsulations being read. However,
284
- // encapsulations might still be set in case unmarshaling failed. We just
285
- // reset the encapsulations if there are still some set.
286
- //
287
- resetEncapsulation();
288
- other.resetEncapsulation();
289
-
290
- std::swap(_startSeq, other._startSeq);
291
- std::swap(_minSeqSize, other._minSeqSize);
292
-
293
- std::swap(_valueFactoryManager, other._valueFactoryManager);
294
- std::swap(_logger, other._logger);
295
- std::swap(_compactIdResolver, other._compactIdResolver);
296
- }
297
-
298
- void
299
- Ice::InputStream::resetEncapsulation()
300
- {
301
- while(_currentEncaps && _currentEncaps != &_preAllocatedEncaps)
302
- {
303
- Encaps* oldEncaps = _currentEncaps;
304
- _currentEncaps = _currentEncaps->previous;
305
- delete oldEncaps;
306
- }
307
-
308
- _preAllocatedEncaps.reset();
309
- }
310
-
311
- Int
312
- Ice::InputStream::getEncapsulationSize()
313
- {
314
- assert(_currentEncaps);
315
- return _currentEncaps->sz - static_cast<Int>(sizeof(Int)) - 2;
316
- }
317
-
318
- EncodingVersion
319
- Ice::InputStream::skipEncapsulation()
320
- {
321
- Int sz;
322
- read(sz);
323
- if(sz < 6)
324
- {
325
- throw UnmarshalOutOfBoundsException(__FILE__, __LINE__);
326
- }
327
- if(i - sizeof(Int) + sz > b.end())
328
- {
329
- throw UnmarshalOutOfBoundsException(__FILE__, __LINE__);
330
- }
331
- EncodingVersion encoding;
332
- read(encoding.major);
333
- read(encoding.minor);
334
- i += static_cast<size_t>(sz) - sizeof(Int) - 2;
335
- return encoding;
336
- }
337
-
338
- void
339
- Ice::InputStream::readPendingValues()
340
- {
341
- if(_currentEncaps && _currentEncaps->decoder)
342
- {
343
- _currentEncaps->decoder->readPendingValues();
344
- }
345
- else if(getEncoding() == Ice::Encoding_1_0)
346
- {
347
- //
348
- // If using the 1.0 encoding and no instances were read, we
349
- // still read an empty sequence of pending instances if
350
- // requested (i.e.: if this is called).
351
- //
352
- // This is required by the 1.0 encoding, even if no instances
353
- // are written we do marshal an empty sequence if marshaled
354
- // data types use classes.
355
- //
356
- skipSize();
357
- }
358
- }
359
-
360
- Int
361
- Ice::InputStream::readAndCheckSeqSize(int minSize)
362
- {
363
- Int sz = readSize();
364
-
365
- if(sz == 0)
366
- {
367
- return sz;
368
- }
369
-
370
- //
371
- // The _startSeq variable points to the start of the sequence for which
372
- // we expect to read at least _minSeqSize bytes from the stream.
373
- //
374
- // If not initialized or if we already read more data than _minSeqSize,
375
- // we reset _startSeq and _minSeqSize for this sequence (possibly a
376
- // top-level sequence or enclosed sequence it doesn't really matter).
377
- //
378
- // Otherwise, we are reading an enclosed sequence and we have to bump
379
- // _minSeqSize by the minimum size that this sequence will require on
380
- // the stream.
381
- //
382
- // The goal of this check is to ensure that when we start un-marshalling
383
- // a new sequence, we check the minimal size of this new sequence against
384
- // the estimated remaining buffer size. This estimatation is based on
385
- // the minimum size of the enclosing sequences, it's _minSeqSize.
386
- //
387
- if(_startSeq == -1 || i > (b.begin() + _startSeq + _minSeqSize))
388
- {
389
- _startSeq = static_cast<int>(i - b.begin());
390
- _minSeqSize = sz * minSize;
391
- }
392
- else
393
- {
394
- _minSeqSize += sz * minSize;
395
- }
396
-
397
- //
398
- // If there isn't enough data to read on the stream for the sequence (and
399
- // possibly enclosed sequences), something is wrong with the marshalled
400
- // data: it's claiming having more data that what is possible to read.
401
- //
402
- if(_startSeq + _minSeqSize > static_cast<int>(b.size()))
403
- {
404
- throw UnmarshalOutOfBoundsException(__FILE__, __LINE__);
405
- }
406
-
407
- return sz;
408
- }
409
-
410
- void
411
- Ice::InputStream::readBlob(vector<Byte>& v, Int sz)
412
- {
413
- if(sz > 0)
414
- {
415
- if(b.end() - i < sz)
416
- {
417
- throw UnmarshalOutOfBoundsException(__FILE__, __LINE__);
418
- }
419
- vector<Byte>(i, i + sz).swap(v);
420
- i += sz;
421
- }
422
- else
423
- {
424
- v.clear();
425
- }
426
- }
427
-
428
- void
429
- Ice::InputStream::read(std::vector<Ice::Byte>& v)
430
- {
431
- std::pair<const Ice::Byte*, const Ice::Byte*> p;
432
- read(p);
433
- if(p.first != p.second)
434
- {
435
- v.resize(static_cast<size_t>(p.second - p.first));
436
- copy(p.first, p.second, v.begin());
437
- }
438
- else
439
- {
440
- v.clear();
441
- }
442
- }
443
-
444
- void
445
- Ice::InputStream::read(pair<const Byte*, const Byte*>& v)
446
- {
447
- Int sz = readAndCheckSeqSize(1);
448
- if(sz > 0)
449
- {
450
- v.first = i;
451
- v.second = i + sz;
452
- i += sz;
453
- }
454
- else
455
- {
456
- v.first = v.second = i;
457
- }
458
- }
459
-
460
- void
461
- Ice::InputStream::read(vector<bool>& v)
462
- {
463
- Int sz = readAndCheckSeqSize(1);
464
- if(sz > 0)
465
- {
466
- v.resize(static_cast<size_t>(sz));
467
- copy(i, i + sz, v.begin());
468
- i += sz;
469
- }
470
- else
471
- {
472
- v.clear();
473
- }
474
- }
475
-
476
- namespace
477
- {
478
-
479
- template<size_t boolSize>
480
- struct ReadBoolHelper
481
- {
482
- static bool* read(pair<const bool*, const bool*>& v, Int sz, InputStream::Container::iterator& i)
483
- {
484
- bool* array = new bool[static_cast<size_t>(sz)];
485
- for(int idx = 0; idx < sz; ++idx)
486
- {
487
- array[idx] = static_cast<bool>(*(i + idx));
488
- }
489
- v.first = array;
490
- v.second = array + sz;
491
- return array;
492
- }
493
- };
494
-
495
- template<>
496
- struct ReadBoolHelper<1>
497
- {
498
- static bool* read(pair<const bool*, const bool*>& v, Int sz, InputStream::Container::iterator& i)
499
- {
500
- v.first = reinterpret_cast<bool*>(i);
501
- v.second = reinterpret_cast<bool*>(i) + sz;
502
- return 0;
503
- }
504
- };
505
-
506
- }
507
-
508
- #ifdef ICE_CPP11_MAPPING
509
- void
510
- Ice::InputStream::read(pair<const bool*, const bool*>& v)
511
- {
512
- Int sz = readAndCheckSeqSize(1);
513
- if(sz > 0)
514
- {
515
- auto boolArray = ReadBoolHelper<sizeof(bool)>::read(v, sz, i);
516
- if(boolArray)
517
- {
518
- _deleters.push_back([boolArray] { delete[] boolArray; });
519
- }
520
- i += sz;
521
- }
522
- else
523
- {
524
- v.first = v.second = reinterpret_cast<bool*>(i);
525
- }
526
- }
527
-
528
- #else
529
- void
530
- Ice::InputStream::read(pair<const bool*, const bool*>& v, IceUtil::ScopedArray<bool>& result)
531
- {
532
- Int sz = readAndCheckSeqSize(1);
533
- if(sz > 0)
534
- {
535
- result.reset(ReadBoolHelper<sizeof(bool)>::read(v, sz, i));
536
- i += sz;
537
- }
538
- else
539
- {
540
- result.reset();
541
- v.first = v.second = reinterpret_cast<bool*>(i);
542
- }
543
- }
544
- #endif
545
-
546
- void
547
- Ice::InputStream::read(Short& v)
548
- {
549
- if(b.end() - i < static_cast<int>(sizeof(Short)))
550
- {
551
- throw UnmarshalOutOfBoundsException(__FILE__, __LINE__);
552
- }
553
- const Byte* src = &(*i);
554
- i += sizeof(Short);
555
- #ifdef ICE_BIG_ENDIAN
556
- Byte* dest = reinterpret_cast<Byte*>(&v) + sizeof(Short) - 1;
557
- *dest-- = *src++;
558
- *dest = *src;
559
- #else
560
- Byte* dest = reinterpret_cast<Byte*>(&v);
561
- *dest++ = *src++;
562
- *dest = *src;
563
- #endif
564
- }
565
-
566
- void
567
- Ice::InputStream::read(vector<Short>& v)
568
- {
569
- Int sz = readAndCheckSeqSize(static_cast<int>(sizeof(Short)));
570
- if(sz > 0)
571
- {
572
- Container::iterator begin = i;
573
- i += sz * static_cast<int>(sizeof(Short));
574
- v.resize(static_cast<size_t>(sz));
575
- #ifdef ICE_BIG_ENDIAN
576
- const Byte* src = &(*begin);
577
- Byte* dest = reinterpret_cast<Byte*>(&v[0]) + sizeof(Short) - 1;
578
- for(int j = 0 ; j < sz ; ++j)
579
- {
580
- *dest-- = *src++;
581
- *dest-- = *src++;
582
- dest += 2 * sizeof(Short);
583
- }
584
- #else
585
- copy(begin, i, reinterpret_cast<Byte*>(&v[0]));
586
- #endif
587
- }
588
- else
589
- {
590
- v.clear();
591
- }
592
- }
593
-
594
- #ifdef ICE_CPP11_MAPPING
595
- void
596
- Ice::InputStream::read(pair<const short*, const short*>& v)
597
- #else
598
- void
599
- Ice::InputStream::read(pair<const Short*, const Short*>& v, IceUtil::ScopedArray<Short>& result)
600
- #endif
601
- {
602
- Int sz = readAndCheckSeqSize(static_cast<int>(sizeof(Short)));
603
- if(sz > 0)
604
- {
605
- #ifdef ICE_UNALIGNED
606
- v.first = reinterpret_cast<Short*>(i);
607
- i += sz * static_cast<int>(sizeof(Short));
608
- v.second = reinterpret_cast<Short*>(i);
609
- #else
610
- # ifdef ICE_CPP11_MAPPING
611
- auto result = new short[static_cast<size_t>(sz)];
612
- _deleters.push_back([result] { delete[] result; });
613
- v.first = result;
614
- v.second = result + sz;
615
- # else
616
- result.reset(new Short[static_cast<size_t>(sz)]);
617
- v.first = result.get();
618
- v.second = result.get() + sz;
619
- # endif
620
-
621
- Container::iterator begin = i;
622
- i += sz * static_cast<int>(sizeof(Short));
623
- # ifdef ICE_BIG_ENDIAN
624
- const Byte* src = &(*begin);
625
- Byte* dest = reinterpret_cast<Byte*>(&result[0]) + sizeof(Short) - 1;
626
- for(int j = 0 ; j < sz ; ++j)
627
- {
628
- *dest-- = *src++;
629
- *dest-- = *src++;
630
- dest += 2 * sizeof(Short);
631
- }
632
- # else
633
- copy(begin, i, reinterpret_cast<Byte*>(&result[0]));
634
- # endif
635
- #endif
636
- }
637
- else
638
- {
639
- #ifndef ICE_CPP11_MAPPING
640
- result.reset();
641
- #endif
642
- v.first = v.second = 0;
643
- }
644
- }
645
-
646
- void
647
- Ice::InputStream::read(vector<Int>& v)
648
- {
649
- Int sz = readAndCheckSeqSize(static_cast<int>(sizeof(Int)));
650
- if(sz > 0)
651
- {
652
- Container::iterator begin = i;
653
- i += sz * static_cast<int>(sizeof(Int));
654
- v.resize(static_cast<size_t>(sz));
655
- #ifdef ICE_BIG_ENDIAN
656
- const Byte* src = &(*begin);
657
- Byte* dest = reinterpret_cast<Byte*>(&v[0]) + sizeof(Int) - 1;
658
- for(int j = 0 ; j < sz ; ++j)
659
- {
660
- *dest-- = *src++;
661
- *dest-- = *src++;
662
- *dest-- = *src++;
663
- *dest-- = *src++;
664
- dest += 2 * sizeof(Int);
665
- }
666
- #else
667
- copy(begin, i, reinterpret_cast<Byte*>(&v[0]));
668
- #endif
669
- }
670
- else
671
- {
672
- v.clear();
673
- }
674
- }
675
-
676
- #ifdef ICE_CPP11_MAPPING
677
- void
678
- Ice::InputStream::read(pair<const Int*, const Int*>& v)
679
- #else
680
- void
681
- Ice::InputStream::read(pair<const Int*, const Int*>& v, ::IceUtil::ScopedArray<Int>& result)
682
- #endif
683
- {
684
- Int sz = readAndCheckSeqSize(static_cast<int>(sizeof(Int)));
685
- if(sz > 0)
686
- {
687
- #ifdef ICE_UNALIGNED
688
- v.first = reinterpret_cast<Int*>(i);
689
- i += sz * static_cast<int>(sizeof(Int));
690
- v.second = reinterpret_cast<Int*>(i);
691
- #else
692
-
693
- # ifdef ICE_CPP11_MAPPING
694
- auto result = new int[static_cast<size_t>(sz)];
695
- _deleters.push_back([result] { delete[] result; });
696
- v.first = result;
697
- v.second = result + sz;
698
- # else
699
- result.reset(new Int[static_cast<size_t>(sz)]);
700
- v.first = result.get();
701
- v.second = result.get() + sz;
702
- # endif
703
-
704
- Container::iterator begin = i;
705
- i += sz * static_cast<int>(sizeof(Int));
706
- # ifdef ICE_BIG_ENDIAN
707
- const Byte* src = &(*begin);
708
- Byte* dest = reinterpret_cast<Byte*>(&result[0]) + sizeof(Int) - 1;
709
- for(int j = 0 ; j < sz ; ++j)
710
- {
711
- *dest-- = *src++;
712
- *dest-- = *src++;
713
- *dest-- = *src++;
714
- *dest-- = *src++;
715
- dest += 2 * sizeof(Int);
716
- }
717
- # else
718
- copy(begin, i, reinterpret_cast<Byte*>(&result[0]));
719
- # endif
720
- #endif
721
- }
722
- else
723
- {
724
- #ifndef ICE_CPP11_MAPPING
725
- result.reset();
726
- #endif
727
- v.first = v.second = 0;
728
- }
729
- }
730
-
731
- void
732
- Ice::InputStream::read(Long& v)
733
- {
734
- if(b.end() - i < static_cast<int>(sizeof(Long)))
735
- {
736
- throw UnmarshalOutOfBoundsException(__FILE__, __LINE__);
737
- }
738
- const Byte* src = &(*i);
739
- i += sizeof(Long);
740
- #ifdef ICE_BIG_ENDIAN
741
- Byte* dest = reinterpret_cast<Byte*>(&v) + sizeof(Long) - 1;
742
- *dest-- = *src++;
743
- *dest-- = *src++;
744
- *dest-- = *src++;
745
- *dest-- = *src++;
746
- *dest-- = *src++;
747
- *dest-- = *src++;
748
- *dest-- = *src++;
749
- *dest = *src;
750
- #else
751
- Byte* dest = reinterpret_cast<Byte*>(&v);
752
- *dest++ = *src++;
753
- *dest++ = *src++;
754
- *dest++ = *src++;
755
- *dest++ = *src++;
756
- *dest++ = *src++;
757
- *dest++ = *src++;
758
- *dest++ = *src++;
759
- *dest = *src;
760
- #endif
761
- }
762
-
763
- void
764
- Ice::InputStream::read(vector<Long>& v)
765
- {
766
- Int sz = readAndCheckSeqSize(static_cast<int>(sizeof(Long)));
767
- if(sz > 0)
768
- {
769
- Container::iterator begin = i;
770
- i += sz * static_cast<int>(sizeof(Long));
771
- v.resize(static_cast<size_t>(sz));
772
- #ifdef ICE_BIG_ENDIAN
773
- const Byte* src = &(*begin);
774
- Byte* dest = reinterpret_cast<Byte*>(&v[0]) + sizeof(Long) - 1;
775
- for(int j = 0 ; j < sz ; ++j)
776
- {
777
- *dest-- = *src++;
778
- *dest-- = *src++;
779
- *dest-- = *src++;
780
- *dest-- = *src++;
781
- *dest-- = *src++;
782
- *dest-- = *src++;
783
- *dest-- = *src++;
784
- *dest-- = *src++;
785
- dest += 2 * sizeof(Long);
786
- }
787
- #else
788
- copy(begin, i, reinterpret_cast<Byte*>(&v[0]));
789
- #endif
790
- }
791
- else
792
- {
793
- v.clear();
794
- }
795
- }
796
-
797
- #ifdef ICE_CPP11_MAPPING
798
- void
799
- Ice::InputStream::read(pair<const Long*, const Long*>& v)
800
- #else
801
- void
802
- Ice::InputStream::read(pair<const Long*, const Long*>& v, IceUtil::ScopedArray<Long>& result)
803
- #endif
804
- {
805
- Int sz = readAndCheckSeqSize(static_cast<int>(sizeof(Long)));
806
- if(sz > 0)
807
- {
808
- #ifdef ICE_UNALIGNED
809
- v.first = reinterpret_cast<Long*>(i);
810
- i += sz * static_cast<int>(sizeof(Long));
811
- v.second = reinterpret_cast<Long*>(i);
812
- #else
813
-
814
- # ifdef ICE_CPP11_MAPPING
815
- auto result = new long long[static_cast<size_t>(sz)];
816
- _deleters.push_back([result] { delete[] result; });
817
- v.first = result;
818
- v.second = result + sz;
819
- # else
820
- result.reset(new Long[static_cast<size_t>(sz)]);
821
- v.first = result.get();
822
- v.second = result.get() + sz;
823
- # endif
824
-
825
- Container::iterator begin = i;
826
- i += sz * static_cast<int>(sizeof(Long));
827
- # ifdef ICE_BIG_ENDIAN
828
- const Byte* src = &(*begin);
829
- Byte* dest = reinterpret_cast<Byte*>(&result[0]) + sizeof(Long) - 1;
830
- for(int j = 0 ; j < sz ; ++j)
831
- {
832
- *dest-- = *src++;
833
- *dest-- = *src++;
834
- *dest-- = *src++;
835
- *dest-- = *src++;
836
- *dest-- = *src++;
837
- *dest-- = *src++;
838
- *dest-- = *src++;
839
- *dest-- = *src++;
840
- dest += 2 * sizeof(Long);
841
- }
842
- # else
843
- copy(begin, i, reinterpret_cast<Byte*>(&result[0]));
844
- # endif
845
- #endif
846
- }
847
- else
848
- {
849
- #ifndef ICE_CPP11_MAPPING
850
- result.reset();
851
- #endif
852
- v.first = v.second = 0;
853
- }
854
- }
855
-
856
- void
857
- Ice::InputStream::read(Float& v)
858
- {
859
- if(b.end() - i < static_cast<int>(sizeof(Float)))
860
- {
861
- throw UnmarshalOutOfBoundsException(__FILE__, __LINE__);
862
- }
863
- const Byte* src = &(*i);
864
- i += sizeof(Float);
865
- #ifdef ICE_BIG_ENDIAN
866
- Byte* dest = reinterpret_cast<Byte*>(&v) + sizeof(Float) - 1;
867
- *dest-- = *src++;
868
- *dest-- = *src++;
869
- *dest-- = *src++;
870
- *dest = *src;
871
- #else
872
- Byte* dest = reinterpret_cast<Byte*>(&v);
873
- *dest++ = *src++;
874
- *dest++ = *src++;
875
- *dest++ = *src++;
876
- *dest = *src;
877
- #endif
878
- }
879
-
880
- void
881
- Ice::InputStream::read(vector<Float>& v)
882
- {
883
- Int sz = readAndCheckSeqSize(static_cast<int>(sizeof(Float)));
884
- if(sz > 0)
885
- {
886
- Container::iterator begin = i;
887
- i += sz * static_cast<int>(sizeof(Float));
888
- v.resize(static_cast<size_t>(sz));
889
- #ifdef ICE_BIG_ENDIAN
890
- const Byte* src = &(*begin);
891
- Byte* dest = reinterpret_cast<Byte*>(&v[0]) + sizeof(Float) - 1;
892
- for(int j = 0 ; j < sz ; ++j)
893
- {
894
- *dest-- = *src++;
895
- *dest-- = *src++;
896
- *dest-- = *src++;
897
- *dest-- = *src++;
898
- dest += 2 * sizeof(Float);
899
- }
900
- #else
901
- copy(begin, i, reinterpret_cast<Byte*>(&v[0]));
902
- #endif
903
- }
904
- else
905
- {
906
- v.clear();
907
- }
908
- }
909
-
910
- #ifdef ICE_CPP11_MAPPING
911
- void
912
- Ice::InputStream::read(pair<const Float*, const Float*>& v)
913
- #else
914
- void
915
- Ice::InputStream::read(pair<const Float*, const Float*>& v, IceUtil::ScopedArray<Float>& result)
916
- #endif
917
- {
918
- Int sz = readAndCheckSeqSize(static_cast<int>(sizeof(Float)));
919
- if(sz > 0)
920
- {
921
- #ifdef ICE_UNALIGNED
922
- v.first = reinterpret_cast<Float*>(i);
923
- i += sz * static_cast<int>(sizeof(Float));
924
- v.second = reinterpret_cast<Float*>(i);
925
- #else
926
-
927
- # ifdef ICE_CPP11_MAPPING
928
- auto result = new float[static_cast<size_t>(sz)];
929
- _deleters.push_back([result] { delete[] result; });
930
- v.first = result;
931
- v.second = result + sz;
932
- # else
933
- result.reset(new Float[static_cast<size_t>(sz)]);
934
- v.first = result.get();
935
- v.second = result.get() + sz;
936
- # endif
937
-
938
- Container::iterator begin = i;
939
- i += sz * static_cast<int>(sizeof(Float));
940
- # ifdef ICE_BIG_ENDIAN
941
- const Byte* src = &(*begin);
942
- Byte* dest = reinterpret_cast<Byte*>(&result[0]) + sizeof(Float) - 1;
943
- for(int j = 0 ; j < sz ; ++j)
944
- {
945
- *dest-- = *src++;
946
- *dest-- = *src++;
947
- *dest-- = *src++;
948
- *dest-- = *src++;
949
- dest += 2 * sizeof(Float);
950
- }
951
- # else
952
- copy(begin, i, reinterpret_cast<Byte*>(&result[0]));
953
- # endif
954
- #endif
955
- }
956
- else
957
- {
958
- #ifndef ICE_CPP11_MAPPING
959
- result.reset();
960
- #endif
961
- v.first = v.second = 0;
962
- }
963
- }
964
-
965
- void
966
- Ice::InputStream::read(Double& v)
967
- {
968
- if(b.end() - i < static_cast<int>(sizeof(Double)))
969
- {
970
- throw UnmarshalOutOfBoundsException(__FILE__, __LINE__);
971
- }
972
- const Byte* src = &(*i);
973
- i += sizeof(Double);
974
- #ifdef ICE_BIG_ENDIAN
975
- Byte* dest = reinterpret_cast<Byte*>(&v) + sizeof(Double) - 1;
976
- *dest-- = *src++;
977
- *dest-- = *src++;
978
- *dest-- = *src++;
979
- *dest-- = *src++;
980
- *dest-- = *src++;
981
- *dest-- = *src++;
982
- *dest-- = *src++;
983
- *dest = *src;
984
- #else
985
- Byte* dest = reinterpret_cast<Byte*>(&v);
986
- *dest++ = *src++;
987
- *dest++ = *src++;
988
- *dest++ = *src++;
989
- *dest++ = *src++;
990
- *dest++ = *src++;
991
- *dest++ = *src++;
992
- *dest++ = *src++;
993
- *dest = *src;
994
- #endif
995
- }
996
-
997
- void
998
- Ice::InputStream::read(vector<Double>& v)
999
- {
1000
- Int sz = readAndCheckSeqSize(static_cast<int>(sizeof(Double)));
1001
- if(sz > 0)
1002
- {
1003
- Container::iterator begin = i;
1004
- i += sz * static_cast<int>(sizeof(Double));
1005
- v.resize(static_cast<size_t>(sz));
1006
- #ifdef ICE_BIG_ENDIAN
1007
- const Byte* src = &(*begin);
1008
- Byte* dest = reinterpret_cast<Byte*>(&v[0]) + sizeof(Double) - 1;
1009
- for(int j = 0 ; j < sz ; ++j)
1010
- {
1011
- *dest-- = *src++;
1012
- *dest-- = *src++;
1013
- *dest-- = *src++;
1014
- *dest-- = *src++;
1015
- *dest-- = *src++;
1016
- *dest-- = *src++;
1017
- *dest-- = *src++;
1018
- *dest-- = *src++;
1019
- dest += 2 * sizeof(Double);
1020
- }
1021
- #else
1022
- copy(begin, i, reinterpret_cast<Byte*>(&v[0]));
1023
- #endif
1024
- }
1025
- else
1026
- {
1027
- v.clear();
1028
- }
1029
- }
1030
-
1031
- #ifdef ICE_CPP11_MAPPING
1032
- void
1033
- Ice::InputStream::read(pair<const Double*, const Double*>& v)
1034
- #else
1035
- void
1036
- Ice::InputStream::read(pair<const Double*, const Double*>& v, IceUtil::ScopedArray<Double>& result)
1037
- #endif
1038
- {
1039
- Int sz = readAndCheckSeqSize(static_cast<int>(sizeof(Double)));
1040
- if(sz > 0)
1041
- {
1042
- #ifdef ICE_UNALIGNED
1043
- v.first = reinterpret_cast<Double*>(i);
1044
- i += sz * static_cast<int>(sizeof(Double));
1045
- v.second = reinterpret_cast<Double*>(i);
1046
- #else
1047
-
1048
- # ifdef ICE_CPP11_MAPPING
1049
- auto result = new double[static_cast<size_t>(sz)];
1050
- _deleters.push_back([result] { delete[] result; });
1051
- v.first = result;
1052
- v.second = result + sz;
1053
- # else
1054
- result.reset(new Double[static_cast<size_t>(sz)]);
1055
- v.first = result.get();
1056
- v.second = result.get() + sz;
1057
- # endif
1058
-
1059
- Container::iterator begin = i;
1060
- i += sz * static_cast<int>(sizeof(Double));
1061
- # ifdef ICE_BIG_ENDIAN
1062
- const Byte* src = &(*begin);
1063
- Byte* dest = reinterpret_cast<Byte*>(&result[0]) + sizeof(Double) - 1;
1064
- for(int j = 0 ; j < sz ; ++j)
1065
- {
1066
- *dest-- = *src++;
1067
- *dest-- = *src++;
1068
- *dest-- = *src++;
1069
- *dest-- = *src++;
1070
- *dest-- = *src++;
1071
- *dest-- = *src++;
1072
- *dest-- = *src++;
1073
- *dest-- = *src++;
1074
- dest += 2 * sizeof(Double);
1075
- }
1076
- # else
1077
- copy(begin, i, reinterpret_cast<Byte*>(&result[0]));
1078
- # endif
1079
- #endif
1080
- }
1081
- else
1082
- {
1083
- #ifndef ICE_CPP11_MAPPING
1084
- result.reset();
1085
- #endif
1086
- v.first = v.second = 0;
1087
- }
1088
- }
1089
-
1090
- void
1091
- Ice::InputStream::read(std::string& v, bool convert)
1092
- {
1093
- Int sz = readSize();
1094
- if(sz > 0)
1095
- {
1096
- if(b.end() - i < sz)
1097
- {
1098
- throwUnmarshalOutOfBoundsException(__FILE__, __LINE__);
1099
- }
1100
-
1101
- if(!convert || !readConverted(v, sz))
1102
- {
1103
- string(reinterpret_cast<const char*>(&*i), reinterpret_cast<const char*>(&*i) + sz).swap(v);
1104
- }
1105
- i += sz;
1106
- }
1107
- else
1108
- {
1109
- v.clear();
1110
- }
1111
- }
1112
-
1113
- #ifdef ICE_CPP11_MAPPING
1114
- void
1115
- Ice::InputStream::read(const char*& vdata, size_t& vsize, bool convert)
1116
- {
1117
- int sz = readSize();
1118
- if(sz > 0)
1119
- {
1120
- if(b.end() - i < sz)
1121
- {
1122
- throwUnmarshalOutOfBoundsException(__FILE__, __LINE__);
1123
- }
1124
-
1125
- if(convert == false)
1126
- {
1127
- vdata = reinterpret_cast<const char*>(&*i);
1128
- vsize = static_cast<size_t>(sz);
1129
- i += sz;
1130
- }
1131
- else
1132
- {
1133
- string converted;
1134
- if(readConverted(converted, sz))
1135
- {
1136
- if(converted.size() <= static_cast<size_t>(sz))
1137
- {
1138
- //
1139
- // Write converted string directly into buffer
1140
- //
1141
- std::memcpy(i, converted.data(), converted.size());
1142
- vdata = reinterpret_cast<const char*>(&*i);
1143
- vsize = converted.size();
1144
- }
1145
- else
1146
- {
1147
- auto holder = new string(std::move(converted));
1148
- _deleters.push_back([holder] { delete holder; });
1149
- vdata = holder->data();
1150
- vsize = holder->size();
1151
- }
1152
- }
1153
- else
1154
- {
1155
- vdata = reinterpret_cast<const char*>(&*i);
1156
- vsize = static_cast<size_t>(sz);
1157
- }
1158
- i += sz;
1159
- }
1160
- }
1161
- else
1162
- {
1163
- vdata = 0;
1164
- vsize = 0;
1165
- }
1166
- }
1167
-
1168
- #else
1169
-
1170
- void
1171
- Ice::InputStream::read(const char*& vdata, size_t& vsize)
1172
- {
1173
- Int sz = readSize();
1174
- if(sz > 0)
1175
- {
1176
- if(b.end() - i < sz)
1177
- {
1178
- throwUnmarshalOutOfBoundsException(__FILE__, __LINE__);
1179
- }
1180
-
1181
- vdata = reinterpret_cast<const char*>(&*i);
1182
- vsize = static_cast<size_t>(sz);
1183
- i += sz;
1184
- }
1185
- else
1186
- {
1187
- vdata = 0;
1188
- vsize = 0;
1189
- }
1190
- }
1191
-
1192
- void
1193
- Ice::InputStream::read(const char*& vdata, size_t& vsize, string& holder)
1194
- {
1195
- Int sz = readSize();
1196
- if(sz > 0)
1197
- {
1198
- if(b.end() - i < sz)
1199
- {
1200
- throwUnmarshalOutOfBoundsException(__FILE__, __LINE__);
1201
- }
1202
-
1203
- if(readConverted(holder, sz))
1204
- {
1205
- vdata = holder.data();
1206
- vsize = holder.size();
1207
- }
1208
- else
1209
- {
1210
- vdata = reinterpret_cast<const char*>(&*i);
1211
- vsize = static_cast<size_t>(sz);
1212
- }
1213
- i += sz;
1214
- }
1215
- else
1216
- {
1217
- holder.clear();
1218
- vdata = 0;
1219
- vsize = 0;
1220
- }
1221
- }
1222
- #endif
1223
-
1224
- bool
1225
- Ice::InputStream::readConverted(string& v, int sz)
1226
- {
1227
- try
1228
- {
1229
- bool converted = false;
1230
-
1231
- //
1232
- // NOTE: When using an _instance, we get a const& on the string reference to
1233
- // not have to increment unecessarily its reference count.
1234
- //
1235
-
1236
- if(_instance)
1237
- {
1238
- const StringConverterPtr& stringConverter = _instance->getStringConverter();
1239
- if(stringConverter)
1240
- {
1241
- stringConverter->fromUTF8(i, i + sz, v);
1242
- converted = true;
1243
- }
1244
- }
1245
- else
1246
- {
1247
- StringConverterPtr stringConverter = getProcessStringConverter();
1248
- if(stringConverter)
1249
- {
1250
- stringConverter->fromUTF8(i, i + sz, v);
1251
- converted = true;
1252
- }
1253
- }
1254
-
1255
- return converted;
1256
- }
1257
- catch(const IllegalConversionException& ex)
1258
- {
1259
- throw StringConversionException(__FILE__, __LINE__, ex.reason());
1260
- }
1261
- }
1262
-
1263
- void
1264
- Ice::InputStream::read(vector<string>& v, bool convert)
1265
- {
1266
- Int sz = readAndCheckSeqSize(1);
1267
- if(sz > 0)
1268
- {
1269
- v.resize(static_cast<size_t>(sz));
1270
- for(size_t j = 0; j < static_cast<size_t>(sz); ++j)
1271
- {
1272
- read(v[j], convert);
1273
- }
1274
- }
1275
- else
1276
- {
1277
- v.clear();
1278
- }
1279
- }
1280
-
1281
- void
1282
- Ice::InputStream::read(wstring& v)
1283
- {
1284
- Int sz = readSize();
1285
- if(sz > 0)
1286
- {
1287
- if(b.end() - i < sz)
1288
- {
1289
- throwUnmarshalOutOfBoundsException(__FILE__, __LINE__);
1290
- }
1291
-
1292
- try
1293
- {
1294
- if(_instance)
1295
- {
1296
- const WstringConverterPtr& wstringConverter = _instance->getWstringConverter();
1297
- wstringConverter->fromUTF8(i, i + sz, v);
1298
- }
1299
- else
1300
- {
1301
- WstringConverterPtr wstringConverter = getProcessWstringConverter();
1302
- wstringConverter->fromUTF8(i, i + sz, v);
1303
- }
1304
-
1305
- i += sz;
1306
- }
1307
- catch(const IllegalConversionException& ex)
1308
- {
1309
- throw StringConversionException(__FILE__, __LINE__, ex.reason());
1310
- }
1311
- }
1312
- else
1313
- {
1314
- v.clear();
1315
- }
1316
- }
1317
-
1318
- void
1319
- Ice::InputStream::read(vector<wstring>& v)
1320
- {
1321
- size_t sz = static_cast<size_t>(readAndCheckSeqSize(1));
1322
- if(sz > 0)
1323
- {
1324
- v.resize(sz);
1325
- for(size_t j = 0; j < sz; ++j)
1326
- {
1327
- read(v[j]);
1328
- }
1329
- }
1330
- else
1331
- {
1332
- v.clear();
1333
- }
1334
- }
1335
-
1336
- #ifdef ICE_CPP11_MAPPING
1337
- shared_ptr<ObjectPrx>
1338
- Ice::InputStream::readProxy()
1339
- {
1340
- if(!_instance)
1341
- {
1342
- throw MarshalException(__FILE__, __LINE__, "cannot unmarshal a proxy without a communicator");
1343
- }
1344
-
1345
- return _instance->proxyFactory()->streamToProxy(this);
1346
- }
1347
- #else
1348
- void
1349
- Ice::InputStream::read(ObjectPrx& v)
1350
- {
1351
- if(!_instance)
1352
- {
1353
- throw MarshalException(__FILE__, __LINE__, "cannot unmarshal a proxy without a communicator");
1354
- }
1355
-
1356
- v = _instance->proxyFactory()->streamToProxy(this);
1357
- }
1358
- #endif
1359
-
1360
- Int
1361
- Ice::InputStream::readEnum(Int maxValue)
1362
- {
1363
- if(getEncoding() == Encoding_1_0)
1364
- {
1365
- if(maxValue < 127)
1366
- {
1367
- Byte value;
1368
- read(value);
1369
- return value;
1370
- }
1371
- else if(maxValue < 32767)
1372
- {
1373
- Short value;
1374
- read(value);
1375
- return value;
1376
- }
1377
- else
1378
- {
1379
- Int value;
1380
- read(value);
1381
- return value;
1382
- }
1383
- }
1384
- else
1385
- {
1386
- return readSize();
1387
- }
1388
- }
1389
-
1390
- void
1391
- Ice::InputStream::throwException(ICE_IN(ICE_DELEGATE(UserExceptionFactory)) factory)
1392
- {
1393
- initEncaps();
1394
- _currentEncaps->decoder->throwException(factory);
1395
- }
1396
-
1397
- bool
1398
- Ice::InputStream::readOptImpl(Int readTag, OptionalFormat expectedFormat)
1399
- {
1400
- if(getEncoding() == Encoding_1_0)
1401
- {
1402
- return false; // Optional members aren't supported with the 1.0 encoding.
1403
- }
1404
-
1405
- while(true)
1406
- {
1407
- if(i >= b.begin() + _currentEncaps->start + _currentEncaps->sz)
1408
- {
1409
- return false; // End of encapsulation also indicates end of optionals.
1410
- }
1411
-
1412
- Byte v;
1413
- read(v);
1414
- if(v == OPTIONAL_END_MARKER)
1415
- {
1416
- --i; // Rewind
1417
- return false;
1418
- }
1419
-
1420
- OptionalFormat format = static_cast<OptionalFormat>(v & 0x07); // First 3 bits.
1421
- Int tag = static_cast<Int>(v >> 3);
1422
- if(tag == 30)
1423
- {
1424
- tag = readSize();
1425
- }
1426
-
1427
- if(tag > readTag)
1428
- {
1429
- i -= tag < 30 ? 1 : (tag < 255 ? 2 : 6); // Rewind
1430
- return false; // No optional data members with the requested tag.
1431
- }
1432
- else if(tag < readTag)
1433
- {
1434
- skipOptional(format); // Skip optional data members
1435
- }
1436
- else
1437
- {
1438
- if(format != expectedFormat)
1439
- {
1440
- ostringstream os;
1441
- os << "invalid optional data member `" << tag << "': unexpected format";
1442
- throw MarshalException(__FILE__, __LINE__, os.str());
1443
- }
1444
- return true;
1445
- }
1446
- }
1447
- return true; // Keep the compiler happy.
1448
- }
1449
-
1450
- void
1451
- Ice::InputStream::skipOptional(OptionalFormat type)
1452
- {
1453
- switch(type)
1454
- {
1455
- case ICE_SCOPED_ENUM(OptionalFormat, F1):
1456
- {
1457
- skip(1);
1458
- break;
1459
- }
1460
- case ICE_SCOPED_ENUM(OptionalFormat, F2):
1461
- {
1462
- skip(2);
1463
- break;
1464
- }
1465
- case ICE_SCOPED_ENUM(OptionalFormat, F4):
1466
- {
1467
- skip(4);
1468
- break;
1469
- }
1470
- case ICE_SCOPED_ENUM(OptionalFormat, F8):
1471
- {
1472
- skip(8);
1473
- break;
1474
- }
1475
- case ICE_SCOPED_ENUM(OptionalFormat, Size):
1476
- {
1477
- skipSize();
1478
- break;
1479
- }
1480
- case ICE_SCOPED_ENUM(OptionalFormat, VSize):
1481
- {
1482
- skip(static_cast<size_t>(readSize()));
1483
- break;
1484
- }
1485
- case ICE_SCOPED_ENUM(OptionalFormat, FSize):
1486
- {
1487
- Int sz;
1488
- read(sz);
1489
- if(sz < 0)
1490
- {
1491
- throw UnmarshalOutOfBoundsException(__FILE__, __LINE__);
1492
- }
1493
- skip(static_cast<size_t>(sz));
1494
- break;
1495
- }
1496
- case ICE_SCOPED_ENUM(OptionalFormat, Class):
1497
- {
1498
- read(0, 0);
1499
- break;
1500
- }
1501
- }
1502
- }
1503
-
1504
- void
1505
- Ice::InputStream::skipOptionals()
1506
- {
1507
- //
1508
- // Skip remaining un-read optional members.
1509
- //
1510
- while(true)
1511
- {
1512
- if(i >= b.begin() + _currentEncaps->start + _currentEncaps->sz)
1513
- {
1514
- return; // End of encapsulation also indicates end of optionals.
1515
- }
1516
-
1517
- Byte v;
1518
- read(v);
1519
- if(v == OPTIONAL_END_MARKER)
1520
- {
1521
- return;
1522
- }
1523
-
1524
- OptionalFormat format = static_cast<OptionalFormat>(v & 0x07); // Read first 3 bits.
1525
- if(static_cast<Int>(v >> 3) == 30)
1526
- {
1527
- skipSize();
1528
- }
1529
- skipOptional(format);
1530
- }
1531
- }
1532
-
1533
- void
1534
- Ice::InputStream::throwUnmarshalOutOfBoundsException(const char* file, int line)
1535
- {
1536
- throw UnmarshalOutOfBoundsException(file, line);
1537
- }
1538
-
1539
- void
1540
- Ice::InputStream::throwEncapsulationException(const char* file, int line)
1541
- {
1542
- throw EncapsulationException(file, line);
1543
- }
1544
-
1545
- string
1546
- Ice::InputStream::resolveCompactId(int id) const
1547
- {
1548
- string type;
1549
-
1550
- #ifdef ICE_CPP11_MAPPING
1551
- function<string(int)> resolver = compactIdResolver();
1552
- #else
1553
- CompactIdResolverPtr resolver = compactIdResolver();
1554
- #endif
1555
-
1556
- if(resolver)
1557
- {
1558
- try
1559
- {
1560
- #ifdef ICE_CPP11_MAPPING
1561
- type = resolver(id);
1562
- #else
1563
- type = resolver->resolve(id);
1564
- #endif
1565
- }
1566
- catch(const LocalException&)
1567
- {
1568
- throw;
1569
- }
1570
- catch(const std::exception& ex)
1571
- {
1572
- ostringstream ostr;
1573
- ostr << "exception in CompactIdResolver for ID " << id;
1574
- string msg = ostr.str();
1575
- string what = ex.what();
1576
- if(!what.empty())
1577
- {
1578
- msg += ":\n" + what;
1579
- }
1580
- throw MarshalException(__FILE__, __LINE__, msg);
1581
- }
1582
- catch(...)
1583
- {
1584
- ostringstream ostr;
1585
- ostr << "unknown exception in CompactIdResolver for ID " << id;
1586
- throw MarshalException(__FILE__, __LINE__, ostr.str());
1587
- }
1588
- }
1589
-
1590
- return type;
1591
- }
1592
-
1593
- void
1594
- Ice::InputStream::postUnmarshal(const ValuePtr& v) const
1595
- {
1596
- try
1597
- {
1598
- #ifndef ICE_CPP11_MAPPING
1599
- if(_collectObjects)
1600
- {
1601
- v->ice_collectable(true);
1602
- }
1603
- #endif
1604
- v->ice_postUnmarshal();
1605
- }
1606
- catch(const std::exception& ex)
1607
- {
1608
- if(logger())
1609
- {
1610
- Warning out(logger());
1611
- out << "std::exception raised by ice_postUnmarshal:\n" << ex;
1612
- }
1613
- }
1614
- catch(...)
1615
- {
1616
- if(logger())
1617
- {
1618
- Warning out(logger());
1619
- out << "unknown exception raised by ice_postUnmarshal";
1620
- }
1621
- }
1622
- }
1623
-
1624
- void
1625
- Ice::InputStream::traceSkipSlice(const string& typeId, SliceType sliceType) const
1626
- {
1627
- if(_traceSlicing && logger())
1628
- {
1629
- traceSlicing(sliceType == ExceptionSlice ? "exception" : "object", typeId, "Slicing", logger());
1630
- }
1631
- }
1632
-
1633
- ValueFactoryManagerPtr
1634
- Ice::InputStream::valueFactoryManager() const
1635
- {
1636
- if(_valueFactoryManager)
1637
- {
1638
- return _valueFactoryManager;
1639
- }
1640
- else if(_instance)
1641
- {
1642
- return _instance->initializationData().valueFactoryManager;
1643
- }
1644
-
1645
- return 0;
1646
- }
1647
-
1648
- LoggerPtr
1649
- Ice::InputStream::logger() const
1650
- {
1651
- if(_logger)
1652
- {
1653
- return _logger;
1654
- }
1655
- else if(_instance)
1656
- {
1657
- return _instance->initializationData().logger;
1658
- }
1659
-
1660
- return 0;
1661
- }
1662
-
1663
- #ifdef ICE_CPP11_MAPPING
1664
- function<string(int)>
1665
- Ice::InputStream::compactIdResolver() const
1666
- {
1667
- if(_compactIdResolver)
1668
- {
1669
- return _compactIdResolver;
1670
- }
1671
- else if(_instance)
1672
- {
1673
- return _instance->initializationData().compactIdResolver;
1674
- }
1675
-
1676
- return nullptr;
1677
- }
1678
- #else
1679
- CompactIdResolverPtr
1680
- Ice::InputStream::compactIdResolver() const
1681
- {
1682
- if(_compactIdResolver)
1683
- {
1684
- return _compactIdResolver;
1685
- }
1686
- else if(_instance)
1687
- {
1688
- return _instance->initializationData().compactIdResolver;
1689
- }
1690
-
1691
- return 0;
1692
- }
1693
- #endif
1694
-
1695
- void
1696
- Ice::InputStream::initEncaps()
1697
- {
1698
- if(!_currentEncaps) // Lazy initialization.
1699
- {
1700
- _currentEncaps = &_preAllocatedEncaps;
1701
- _currentEncaps->encoding = _encoding;
1702
- _currentEncaps->sz = static_cast<Ice::Int>(b.size());
1703
- }
1704
-
1705
- if(!_currentEncaps->decoder) // Lazy initialization.
1706
- {
1707
- ValueFactoryManagerPtr vfm = valueFactoryManager();
1708
- if(_currentEncaps->encoding == Encoding_1_0)
1709
- {
1710
- _currentEncaps->decoder = new EncapsDecoder10(this, _currentEncaps, _sliceValues, _classGraphDepthMax, vfm);
1711
- }
1712
- else
1713
- {
1714
- _currentEncaps->decoder = new EncapsDecoder11(this, _currentEncaps, _sliceValues, _classGraphDepthMax, vfm);
1715
- }
1716
- }
1717
- }
1718
-
1719
- Ice::InputStream::EncapsDecoder::~EncapsDecoder()
1720
- {
1721
- // Out of line to avoid weak vtable
1722
- }
1723
-
1724
- string
1725
- Ice::InputStream::EncapsDecoder::readTypeId(bool isIndex)
1726
- {
1727
- if(isIndex)
1728
- {
1729
- Int index = _stream->readSize();
1730
- TypeIdMap::const_iterator k = _typeIdMap.find(index);
1731
- if(k == _typeIdMap.end())
1732
- {
1733
- throw UnmarshalOutOfBoundsException(__FILE__, __LINE__);
1734
- }
1735
- return k->second;
1736
- }
1737
- else
1738
- {
1739
- string typeId;
1740
- _stream->read(typeId, false);
1741
- _typeIdMap.insert(make_pair(++_typeIdIndex, typeId));
1742
- return typeId;
1743
- }
1744
- }
1745
-
1746
- Ice::ValuePtr
1747
- Ice::InputStream::EncapsDecoder::newInstance(const string& typeId)
1748
- {
1749
- Ice::ValuePtr v;
1750
-
1751
- //
1752
- // Try to find a factory registered for the specific type.
1753
- //
1754
- #ifdef ICE_CPP11_MAPPING
1755
- function<ValuePtr(const string&)> userFactory;
1756
- if(_valueFactoryManager)
1757
- {
1758
- userFactory = _valueFactoryManager->find(typeId);
1759
- if(userFactory)
1760
- {
1761
- v = userFactory(typeId);
1762
- }
1763
- }
1764
- #else
1765
- ValueFactoryPtr userFactory;
1766
- if(_valueFactoryManager)
1767
- {
1768
- userFactory = _valueFactoryManager->find(typeId);
1769
- if(userFactory)
1770
- {
1771
- v = userFactory->create(typeId);
1772
- }
1773
- }
1774
- #endif
1775
- //
1776
- // If that fails, invoke the default factory if one has been registered.
1777
- //
1778
- if(!v && _valueFactoryManager)
1779
- {
1780
- userFactory = _valueFactoryManager->find("");
1781
- if(userFactory)
1782
- {
1783
- #ifdef ICE_CPP11_MAPPING
1784
- v = userFactory(typeId);
1785
- #else
1786
- v = userFactory->create(typeId);
1787
- #endif
1788
- }
1789
- }
1790
-
1791
- //
1792
- // Last chance: check the table of static factories (i.e.,
1793
- // automatically generated factories for concrete classes).
1794
- //
1795
- if(!v)
1796
- {
1797
- #ifdef ICE_CPP11_MAPPING
1798
- function<ValuePtr(const string&)> of = IceInternal::factoryTable->getValueFactory(typeId);
1799
- if(of)
1800
- {
1801
- v = of(typeId);
1802
- assert(v);
1803
- }
1804
- #else
1805
- ValueFactoryPtr of = IceInternal::factoryTable->getValueFactory(typeId);
1806
- if(of)
1807
- {
1808
- v = of->create(typeId);
1809
- assert(v);
1810
- }
1811
- #endif
1812
- }
1813
- return v;
1814
- }
1815
-
1816
- void
1817
- Ice::InputStream::EncapsDecoder::addPatchEntry(Int index, PatchFunc patchFunc, void* patchAddr)
1818
- {
1819
- assert(index > 0);
1820
-
1821
- //
1822
- // Check if we already unmarshaled the object. If that's the case, just patch the object smart pointer
1823
- // and we're done. A null value indicates we've encountered a cycle and Ice.AllowClassCycles is false.
1824
- //
1825
- IndexToPtrMap::iterator p = _unmarshaledMap.find(index);
1826
- if(p != _unmarshaledMap.end())
1827
- {
1828
- if (p->second == ICE_NULLPTR)
1829
- {
1830
- assert(!_stream->_instance->acceptClassCycles());
1831
- throw MarshalException(__FILE__, __LINE__, "cycle detected during Value unmarshaling");
1832
- }
1833
- (*patchFunc)(patchAddr, p->second);
1834
- return;
1835
- }
1836
-
1837
- //
1838
- // Add a patch entry if the object isn't unmarshaled yet, the
1839
- // smart pointer will be patched when the instance is
1840
- // unmarshaled.
1841
- //
1842
-
1843
- PatchMap::iterator q = _patchMap.find(index);
1844
- if(q == _patchMap.end())
1845
- {
1846
- //
1847
- // We have no outstanding instances to be patched for this
1848
- // index, so make a new entry in the patch map.
1849
- //
1850
- q = _patchMap.insert(make_pair(index, PatchList())).first;
1851
- }
1852
-
1853
- //
1854
- // Append a patch entry for this instance.
1855
- //
1856
- PatchEntry e;
1857
- e.patchFunc = patchFunc;
1858
- e.patchAddr = patchAddr;
1859
- e.classGraphDepth = _classGraphDepth;
1860
- q->second.push_back(e);
1861
- }
1862
-
1863
- void
1864
- Ice::InputStream::EncapsDecoder::unmarshal(Int index, const Ice::ValuePtr& v)
1865
- {
1866
- //
1867
- // Add the object to the map of unmarshaled instances, this must
1868
- // be done before reading the instances (for circular references).
1869
- //
1870
- // If circular references are not allowed we insert null (for cycle detection) and add
1871
- // the object to the map once it has been fully unmarshaled.
1872
- //
1873
- _unmarshaledMap.insert(make_pair(index, _stream->_instance->acceptClassCycles() ? v : Ice::ValuePtr()));
1874
-
1875
- //
1876
- // Read the object.
1877
- //
1878
- v->_iceRead(_stream);
1879
-
1880
- //
1881
- // Patch all instances now that the object is unmarshaled.
1882
- //
1883
- PatchMap::iterator patchPos = _patchMap.find(index);
1884
- if(patchPos != _patchMap.end())
1885
- {
1886
- assert(patchPos->second.size() > 0);
1887
-
1888
- //
1889
- // Patch all pointers that refer to the instance.
1890
- //
1891
- for(PatchList::iterator k = patchPos->second.begin(); k != patchPos->second.end(); ++k)
1892
- {
1893
- (*k->patchFunc)(k->patchAddr, v);
1894
- }
1895
-
1896
- //
1897
- // Clear out the patch map for that index -- there is nothing left
1898
- // to patch for that index for the time being.
1899
- //
1900
- _patchMap.erase(patchPos);
1901
- }
1902
-
1903
- if(_valueList.empty() && _patchMap.empty())
1904
- {
1905
- _stream->postUnmarshal(v);
1906
- }
1907
- else
1908
- {
1909
- _valueList.push_back(v);
1910
-
1911
- if(_patchMap.empty())
1912
- {
1913
- //
1914
- // Iterate over the value list and invoke ice_postUnmarshal on
1915
- // each value. We must do this after all values have been
1916
- // unmarshaled in order to ensure that any value data members
1917
- // have been properly patched.
1918
- //
1919
- for(ValueList::iterator p = _valueList.begin(); p != _valueList.end(); ++p)
1920
- {
1921
- _stream->postUnmarshal(*p);
1922
- }
1923
- _valueList.clear();
1924
- }
1925
- }
1926
-
1927
- if(!_stream->_instance->acceptClassCycles())
1928
- {
1929
- // This class has been fully unmarshaled without creating any cycles
1930
- // It can be added to the map now.
1931
- _unmarshaledMap[index] = v;
1932
- }
1933
- }
1934
-
1935
- void
1936
- Ice::InputStream::EncapsDecoder10::read(PatchFunc patchFunc, void* patchAddr)
1937
- {
1938
- assert(patchFunc && patchAddr);
1939
-
1940
- //
1941
- // Object references are encoded as a negative integer in 1.0.
1942
- //
1943
- Int index;
1944
- _stream->read(index);
1945
- if(index > 0)
1946
- {
1947
- throw MarshalException(__FILE__, __LINE__, "invalid object id");
1948
- }
1949
- index = -index;
1950
-
1951
- if(index == 0)
1952
- {
1953
- //
1954
- // Calling the patch function for null instances is necessary for correct functioning of Ice for
1955
- // Python and Ruby.
1956
- //
1957
- ValuePtr nil;
1958
- patchFunc(patchAddr, nil);
1959
- }
1960
- else
1961
- {
1962
- addPatchEntry(index, patchFunc, patchAddr);
1963
- }
1964
- }
1965
-
1966
- void
1967
- Ice::InputStream::EncapsDecoder10::throwException(ICE_IN(ICE_DELEGATE(UserExceptionFactory)) factory)
1968
- {
1969
- assert(_sliceType == NoSlice);
1970
-
1971
- //
1972
- // User exception with the 1.0 encoding start with a boolean flag
1973
- // that indicates whether or not the exception has classes.
1974
- //
1975
- // This allows reading the pending values even if some part of
1976
- // the exception was sliced.
1977
- //
1978
- bool usesClasses;
1979
- _stream->read(usesClasses);
1980
-
1981
- _sliceType = ExceptionSlice;
1982
- _skipFirstSlice = false;
1983
-
1984
- //
1985
- // Read the first slice header.
1986
- //
1987
- startSlice();
1988
- const string mostDerivedId = _typeId;
1989
- ICE_DELEGATE(UserExceptionFactory) exceptionFactory = factory;
1990
- while(true)
1991
- {
1992
- //
1993
- // Look for a statically-generated factory for this ID.
1994
- //
1995
- if(!exceptionFactory)
1996
- {
1997
- exceptionFactory = factoryTable->getExceptionFactory(_typeId);
1998
- }
1999
-
2000
- //
2001
- // We found a factory, we get out of this loop.
2002
- //
2003
- if(exceptionFactory)
2004
- {
2005
- //
2006
- // Got factory -- ask the factory to instantiate the
2007
- // exception, initialize the exception members, and throw
2008
- // the exception.
2009
- //
2010
- try
2011
- {
2012
- #ifdef ICE_CPP11_MAPPING
2013
- exceptionFactory(_typeId);
2014
- #else
2015
- exceptionFactory->createAndThrow(_typeId);
2016
- #endif
2017
- }
2018
- catch(UserException& ex)
2019
- {
2020
- ex._read(_stream);
2021
- if(usesClasses)
2022
- {
2023
- readPendingValues();
2024
- }
2025
- throw;
2026
-
2027
- // Never reached.
2028
- }
2029
- }
2030
-
2031
- //
2032
- // Slice off what we don't understand.
2033
- //
2034
- skipSlice();
2035
- try
2036
- {
2037
- startSlice();
2038
- }
2039
- catch(UnmarshalOutOfBoundsException& ex)
2040
- {
2041
- //
2042
- // An oversight in the 1.0 encoding means there is no marker to indicate
2043
- // the last slice of an exception. As a result, we just try to read the
2044
- // next type ID, which raises UnmarshalOutOfBoundsException when the
2045
- // input buffer underflows.
2046
- //
2047
- // Set the reason member to a more helpful message.
2048
- //
2049
- ex.reason = "unknown exception type `" + mostDerivedId + "'";
2050
- throw;
2051
- }
2052
- }
2053
- }
2054
-
2055
- void
2056
- #ifndef NDEBUG
2057
- Ice::InputStream::EncapsDecoder10::startInstance(SliceType sliceType)
2058
- #else
2059
- Ice::InputStream::EncapsDecoder10::startInstance(SliceType)
2060
- #endif
2061
- {
2062
- assert(_sliceType == sliceType);
2063
- _skipFirstSlice = true;
2064
- }
2065
-
2066
- SlicedDataPtr
2067
- Ice::InputStream::EncapsDecoder10::endInstance(bool)
2068
- {
2069
- //
2070
- // Read the Ice::Value slice.
2071
- //
2072
- if(_sliceType == ValueSlice)
2073
- {
2074
- startSlice();
2075
- Int sz = _stream->readSize(); // For compatibility with the old AFM.
2076
- if(sz != 0)
2077
- {
2078
- throw MarshalException(__FILE__, __LINE__, "invalid Object slice");
2079
- }
2080
- endSlice();
2081
- }
2082
- _sliceType = NoSlice;
2083
- return 0;
2084
- }
2085
-
2086
- const std::string&
2087
- Ice::InputStream::EncapsDecoder10::startSlice()
2088
- {
2089
- //
2090
- // If first slice, don't read the header, it was already read in
2091
- // readInstance or throwException to find the factory.
2092
- //
2093
- if(_skipFirstSlice)
2094
- {
2095
- _skipFirstSlice = false;
2096
- return _typeId;
2097
- }
2098
-
2099
- //
2100
- // For values, first read the type ID boolean which indicates
2101
- // whether or not the type ID is encoded as a string or as an
2102
- // index. For exceptions, the type ID is always encoded as a
2103
- // string.
2104
- //
2105
- if(_sliceType == ValueSlice)
2106
- {
2107
- bool isIndex;
2108
- _stream->read(isIndex);
2109
- _typeId = readTypeId(isIndex);
2110
- }
2111
- else
2112
- {
2113
- _stream->read(_typeId, false);
2114
- }
2115
-
2116
- _stream->read(_sliceSize);
2117
- if(_sliceSize < 4)
2118
- {
2119
- throw UnmarshalOutOfBoundsException(__FILE__, __LINE__);
2120
- }
2121
- return _typeId;
2122
- }
2123
-
2124
- void
2125
- Ice::InputStream::EncapsDecoder10::endSlice()
2126
- {
2127
- }
2128
-
2129
- void
2130
- Ice::InputStream::EncapsDecoder10::skipSlice()
2131
- {
2132
- _stream->traceSkipSlice(_typeId, _sliceType);
2133
- assert(_sliceSize >= 4);
2134
- _stream->skip(static_cast<size_t>(_sliceSize) - sizeof(Int));
2135
- }
2136
-
2137
- void
2138
- Ice::InputStream::EncapsDecoder10::readPendingValues()
2139
- {
2140
- Int num;
2141
- do
2142
- {
2143
- num = _stream->readSize();
2144
- for(Int k = num; k > 0; --k)
2145
- {
2146
- readInstance();
2147
- }
2148
- }
2149
- while(num);
2150
-
2151
- if(!_patchMap.empty())
2152
- {
2153
- //
2154
- // If any entries remain in the patch map, the sender has sent an index for an object, but failed
2155
- // to supply the object.
2156
- //
2157
- throw MarshalException(__FILE__, __LINE__, "index for class received, but no instance");
2158
- }
2159
- }
2160
-
2161
- void
2162
- Ice::InputStream::EncapsDecoder10::readInstance()
2163
- {
2164
- Int index;
2165
- _stream->read(index);
2166
-
2167
- if(index <= 0)
2168
- {
2169
- throw MarshalException(__FILE__, __LINE__, "invalid object id");
2170
- }
2171
-
2172
- _sliceType = ValueSlice;
2173
- _skipFirstSlice = false;
2174
-
2175
- //
2176
- // Read the first slice header.
2177
- //
2178
- startSlice();
2179
- const string mostDerivedId = _typeId;
2180
- ValuePtr v;
2181
- while(true)
2182
- {
2183
- //
2184
- // For the 1.0 encoding, the type ID for the base Object class
2185
- // marks the last slice.
2186
- //
2187
- if(_typeId == Object::ice_staticId())
2188
- {
2189
- throw NoValueFactoryException(__FILE__, __LINE__, "", mostDerivedId);
2190
- }
2191
-
2192
- v = newInstance(_typeId);
2193
-
2194
- //
2195
- // We found a factory, we get out of this loop.
2196
- //
2197
- if(v)
2198
- {
2199
- break;
2200
- }
2201
-
2202
- //
2203
- // If value slicing is disabled, stop unmarshaling.
2204
- //
2205
- if(!_sliceValues)
2206
- {
2207
- throw NoValueFactoryException(__FILE__, __LINE__, "no value factory found and value slicing is disabled",
2208
- _typeId);
2209
- }
2210
-
2211
- //
2212
- // Slice off what we don't understand.
2213
- //
2214
- skipSlice();
2215
- startSlice(); // Read next Slice header for next iteration.
2216
- }
2217
-
2218
- //
2219
- // Compute the biggest class graph depth of this object. To compute this,
2220
- // we get the class graph depth of each ancestor from the patch map and
2221
- // keep the biggest one.
2222
- //
2223
- _classGraphDepth = 0;
2224
- PatchMap::iterator patchPos = _patchMap.find(index);
2225
- if(patchPos != _patchMap.end())
2226
- {
2227
- assert(patchPos->second.size() > 0);
2228
- for(PatchList::iterator k = patchPos->second.begin(); k != patchPos->second.end(); ++k)
2229
- {
2230
- if(k->classGraphDepth > _classGraphDepth)
2231
- {
2232
- _classGraphDepth = k->classGraphDepth;
2233
- }
2234
- }
2235
- }
2236
-
2237
- if(++_classGraphDepth > _classGraphDepthMax)
2238
- {
2239
- throw MarshalException(__FILE__, __LINE__, "maximum class graph depth reached");
2240
- }
2241
-
2242
- //
2243
- // Unmarshal the instance and add it to the map of unmarshaled instances.
2244
- //
2245
- unmarshal(index, v);
2246
- }
2247
-
2248
- void
2249
- Ice::InputStream::EncapsDecoder11::read(PatchFunc patchFunc, void* patchAddr)
2250
- {
2251
- Int index = _stream->readSize();
2252
- if(index < 0)
2253
- {
2254
- throw MarshalException(__FILE__, __LINE__, "invalid object id");
2255
- }
2256
- else if(index == 0)
2257
- {
2258
- //
2259
- // Calling the patch function for null instances is necessary for correct functioning of Ice for
2260
- // Python and Ruby.
2261
- //
2262
- if(patchFunc)
2263
- {
2264
- ValuePtr nil;
2265
- patchFunc(patchAddr, nil);
2266
- }
2267
- }
2268
- else if(_current && _current->sliceFlags & FLAG_HAS_INDIRECTION_TABLE)
2269
- {
2270
- //
2271
- // When reading an object within a slice and there's an
2272
- // indirect object table, always read an indirect reference
2273
- // that points to an object from the indirect object table
2274
- // marshaled at the end of the Slice.
2275
- //
2276
- // Maintain a list of indirect references. Note that the
2277
- // indirect index starts at 1, so we decrement it by one to
2278
- // derive an index into the indirection table that we'll read
2279
- // at the end of the slice.
2280
- //
2281
- if(patchFunc)
2282
- {
2283
- IndirectPatchEntry e;
2284
- e.index = index - 1;
2285
- e.patchFunc = patchFunc;
2286
- e.patchAddr = patchAddr;
2287
- _current->indirectPatchList.push_back(e);
2288
- }
2289
- }
2290
- else
2291
- {
2292
- readInstance(index, patchFunc, patchAddr);
2293
- }
2294
- }
2295
-
2296
- void
2297
- Ice::InputStream::EncapsDecoder11::throwException(ICE_IN(ICE_DELEGATE(UserExceptionFactory)) factory)
2298
- {
2299
- assert(!_current);
2300
-
2301
- push(ExceptionSlice);
2302
-
2303
- //
2304
- // Read the first slice header.
2305
- //
2306
- startSlice();
2307
- const string mostDerivedId = _current->typeId;
2308
- ICE_DELEGATE(UserExceptionFactory) exceptionFactory = factory;
2309
- while(true)
2310
- {
2311
- //
2312
- // Look for a statically-generated factory for this ID.
2313
- //
2314
- if(!exceptionFactory)
2315
- {
2316
- exceptionFactory = factoryTable->getExceptionFactory(_current->typeId);
2317
- }
2318
-
2319
- //
2320
- // We found a factory, we get out of this loop.
2321
- //
2322
- if(exceptionFactory)
2323
- {
2324
- //
2325
- // Got factory -- ask the factory to instantiate the
2326
- // exception, initialize the exception members, and throw
2327
- // the exception.
2328
- //
2329
- try
2330
- {
2331
- #ifdef ICE_CPP11_MAPPING
2332
- exceptionFactory(_current->typeId);
2333
- #else
2334
- exceptionFactory->createAndThrow(_current->typeId);
2335
- #endif
2336
- }
2337
- catch(UserException& ex)
2338
- {
2339
- ex._read(_stream);
2340
- throw;
2341
-
2342
- // Never reached.
2343
- }
2344
- }
2345
-
2346
- //
2347
- // Slice off what we don't understand.
2348
- //
2349
- skipSlice();
2350
-
2351
- //
2352
- // If this is the last slice, raise an exception and stop un-marshalling.
2353
- //
2354
- if(_current->sliceFlags & FLAG_IS_LAST_SLICE)
2355
- {
2356
- throw UnknownUserException(__FILE__, __LINE__, mostDerivedId);
2357
- }
2358
-
2359
- startSlice();
2360
- }
2361
- }
2362
-
2363
- void
2364
- #ifndef NDEBUG
2365
- Ice::InputStream::EncapsDecoder11::startInstance(SliceType sliceType)
2366
- #else
2367
- Ice::InputStream::EncapsDecoder11::startInstance(SliceType)
2368
- #endif
2369
- {
2370
- assert(_current->sliceType == sliceType);
2371
- _current->skipFirstSlice = true;
2372
- }
2373
-
2374
- SlicedDataPtr
2375
- Ice::InputStream::EncapsDecoder11::endInstance(bool preserve)
2376
- {
2377
- SlicedDataPtr slicedData;
2378
- if(preserve)
2379
- {
2380
- slicedData = readSlicedData();
2381
- }
2382
- _current->slices.clear();
2383
- _current->indirectionTables.clear();
2384
- _current = _current->previous;
2385
- return slicedData;
2386
- }
2387
-
2388
- const std::string&
2389
- Ice::InputStream::EncapsDecoder11::startSlice()
2390
- {
2391
- //
2392
- // If first slice, don't read the header, it was already read in
2393
- // readInstance or throwException to find the factory.
2394
- //
2395
- if(_current->skipFirstSlice)
2396
- {
2397
- _current->skipFirstSlice = false;
2398
- return _current->typeId;
2399
- }
2400
-
2401
- _stream->read(_current->sliceFlags);
2402
-
2403
- //
2404
- // Read the type ID, for value slices the type ID is encoded as a
2405
- // string or as an index, for exceptions it's always encoded as a
2406
- // string.
2407
- //
2408
- if(_current->sliceType == ValueSlice)
2409
- {
2410
- if((_current->sliceFlags & FLAG_HAS_TYPE_ID_COMPACT) == FLAG_HAS_TYPE_ID_COMPACT) // Must be checked first!
2411
- {
2412
- _current->typeId.clear();
2413
- _current->compactId = _stream->readSize();
2414
- }
2415
- else if(_current->sliceFlags & (FLAG_HAS_TYPE_ID_STRING | FLAG_HAS_TYPE_ID_INDEX))
2416
- {
2417
- _current->typeId = readTypeId(_current->sliceFlags & FLAG_HAS_TYPE_ID_INDEX);
2418
- _current->compactId = -1;
2419
- }
2420
- else
2421
- {
2422
- // Only the most derived slice encodes the type ID for the compact format.
2423
- _current->typeId.clear();
2424
- _current->compactId = -1;
2425
- }
2426
- }
2427
- else
2428
- {
2429
- _stream->read(_current->typeId, false);
2430
- }
2431
-
2432
- //
2433
- // Read the slice size if necessary.
2434
- //
2435
- if(_current->sliceFlags & FLAG_HAS_SLICE_SIZE)
2436
- {
2437
- _stream->read(_current->sliceSize);
2438
- if(_current->sliceSize < 4)
2439
- {
2440
- throw UnmarshalOutOfBoundsException(__FILE__, __LINE__);
2441
- }
2442
- }
2443
- else
2444
- {
2445
- _current->sliceSize = 0;
2446
- }
2447
-
2448
- return _current->typeId;
2449
- }
2450
-
2451
- void
2452
- Ice::InputStream::EncapsDecoder11::endSlice()
2453
- {
2454
- if(_current->sliceFlags & FLAG_HAS_OPTIONAL_MEMBERS)
2455
- {
2456
- _stream->skipOptionals();
2457
- }
2458
-
2459
- //
2460
- // Read the indirect object table if one is present.
2461
- //
2462
- if(_current->sliceFlags & FLAG_HAS_INDIRECTION_TABLE)
2463
- {
2464
- IndexList indirectionTable(static_cast<size_t>(_stream->readAndCheckSeqSize(1)));
2465
- for(IndexList::iterator p = indirectionTable.begin(); p != indirectionTable.end(); ++p)
2466
- {
2467
- *p = readInstance(_stream->readSize(), 0, 0);
2468
- }
2469
-
2470
- //
2471
- // Sanity checks. If there are optional members, it's possible
2472
- // that not all object references were read if they are from
2473
- // unknown optional data members.
2474
- //
2475
- if(indirectionTable.empty())
2476
- {
2477
- throw MarshalException(__FILE__, __LINE__, "empty indirection table");
2478
- }
2479
- if(_current->indirectPatchList.empty() && !(_current->sliceFlags & FLAG_HAS_OPTIONAL_MEMBERS))
2480
- {
2481
- throw MarshalException(__FILE__, __LINE__, "no references to indirection table");
2482
- }
2483
-
2484
- //
2485
- // Convert indirect references into direct references.
2486
- //
2487
- IndirectPatchList::iterator p;
2488
- for(p = _current->indirectPatchList.begin(); p != _current->indirectPatchList.end(); ++p)
2489
- {
2490
- assert(p->index >= 0);
2491
- if(p->index >= static_cast<Int>(indirectionTable.size()))
2492
- {
2493
- throw MarshalException(__FILE__, __LINE__, "indirection out of range");
2494
- }
2495
- addPatchEntry(indirectionTable[static_cast<size_t>(p->index)], p->patchFunc, p->patchAddr);
2496
- }
2497
- _current->indirectPatchList.clear();
2498
- }
2499
- }
2500
-
2501
- void
2502
- Ice::InputStream::EncapsDecoder11::skipSlice()
2503
- {
2504
- _stream->traceSkipSlice(_current->typeId, _current->sliceType);
2505
-
2506
- Container::iterator start = _stream->i;
2507
-
2508
- if(_current->sliceFlags & FLAG_HAS_SLICE_SIZE)
2509
- {
2510
- assert(_current->sliceSize >= 4);
2511
- _stream->skip(static_cast<size_t>(_current->sliceSize) - sizeof(Int));
2512
- }
2513
- else
2514
- {
2515
- if(_current->sliceType == ValueSlice)
2516
- {
2517
- throw NoValueFactoryException(__FILE__, __LINE__,
2518
- "no value factory found and compact format prevents "
2519
- "slicing (the sender should use the sliced format instead)",
2520
- _current->typeId);
2521
- }
2522
- else
2523
- {
2524
- throw UnknownUserException(__FILE__, __LINE__, _current->typeId);
2525
- }
2526
- }
2527
-
2528
- //
2529
- // Preserve this slice.
2530
- //
2531
- SliceInfoPtr info = ICE_MAKE_SHARED(SliceInfo);
2532
- info->typeId = _current->typeId;
2533
- info->compactId = _current->compactId;
2534
- info->hasOptionalMembers = _current->sliceFlags & FLAG_HAS_OPTIONAL_MEMBERS;
2535
- info->isLastSlice = _current->sliceFlags & FLAG_IS_LAST_SLICE;
2536
- if(info->hasOptionalMembers)
2537
- {
2538
- //
2539
- // Don't include the optional member end marker. It will be re-written by
2540
- // endSlice when the sliced data is re-written.
2541
- //
2542
- vector<Byte>(start, _stream->i - 1).swap(info->bytes);
2543
- }
2544
- else
2545
- {
2546
- vector<Byte>(start, _stream->i).swap(info->bytes);
2547
- }
2548
-
2549
- _current->indirectionTables.push_back(IndexList());
2550
-
2551
- //
2552
- // Read the indirect object table. We read the instances or their
2553
- // IDs if the instance is a reference to an already un-marhsaled
2554
- // object.
2555
- //
2556
- // The SliceInfo object sequence is initialized only if
2557
- // readSlicedData is called.
2558
- //
2559
- if(_current->sliceFlags & FLAG_HAS_INDIRECTION_TABLE)
2560
- {
2561
- IndexList& table = _current->indirectionTables.back();
2562
- table.resize(static_cast<size_t>(_stream->readAndCheckSeqSize(1)));
2563
- for(IndexList::iterator p = table.begin(); p != table.end(); ++p)
2564
- {
2565
- *p = readInstance(_stream->readSize(), 0, 0);
2566
- }
2567
- }
2568
-
2569
- _current->slices.push_back(info);
2570
- }
2571
-
2572
- bool
2573
- Ice::InputStream::EncapsDecoder11::readOptional(Ice::Int readTag, Ice::OptionalFormat expectedFormat)
2574
- {
2575
- if(!_current)
2576
- {
2577
- return _stream->readOptImpl(readTag, expectedFormat);
2578
- }
2579
- else if(_current->sliceFlags & FLAG_HAS_OPTIONAL_MEMBERS)
2580
- {
2581
- return _stream->readOptImpl(readTag, expectedFormat);
2582
- }
2583
- return false;
2584
- }
2585
-
2586
- Int
2587
- Ice::InputStream::EncapsDecoder11::readInstance(Int index, PatchFunc patchFunc, void* patchAddr)
2588
- {
2589
- assert(index > 0);
2590
-
2591
- if(index > 1)
2592
- {
2593
- if(patchFunc)
2594
- {
2595
- addPatchEntry(index, patchFunc, patchAddr);
2596
- }
2597
- return index;
2598
- }
2599
-
2600
- push(ValueSlice);
2601
-
2602
- //
2603
- // Get the object ID before we start reading slices. If some
2604
- // slices are skiped, the indirect object table are still read and
2605
- // might read other instances.
2606
- //
2607
- index = ++_valueIdIndex;
2608
-
2609
- //
2610
- // Read the first slice header.
2611
- //
2612
- startSlice();
2613
- const string mostDerivedId = _current->typeId;
2614
- Ice::ValuePtr v;
2615
- while(true)
2616
- {
2617
- if(_current->compactId >= 0)
2618
- {
2619
- //
2620
- // Translate a compact (numeric) type ID into a string type ID.
2621
- //
2622
- _current->typeId = _stream->resolveCompactId(_current->compactId);
2623
- if(_current->typeId.empty())
2624
- {
2625
- _current->typeId = IceInternal::factoryTable->getTypeId(_current->compactId);
2626
- }
2627
- }
2628
-
2629
- if(!_current->typeId.empty())
2630
- {
2631
- v = newInstance(_current->typeId);
2632
-
2633
- //
2634
- // We found a factory, we get out of this loop.
2635
- //
2636
- if(v)
2637
- {
2638
- break;
2639
- }
2640
- }
2641
-
2642
- //
2643
- // If value slicing is disabled, stop unmarshaling.
2644
- //
2645
- if(!_sliceValues)
2646
- {
2647
- throw NoValueFactoryException(__FILE__, __LINE__, "no value factory found and value slicing is disabled",
2648
- _current->typeId);
2649
- }
2650
-
2651
- //
2652
- // Slice off what we don't understand.
2653
- //
2654
- skipSlice();
2655
-
2656
- //
2657
- // If this is the last slice, keep the object as an opaque UnknownSlicedValue.
2658
- //
2659
- if(_current->sliceFlags & FLAG_IS_LAST_SLICE)
2660
- {
2661
- //
2662
- // Provide a factory with an opportunity to supply the object.
2663
- // We pass the "::Ice::Object" ID to indicate that this is the
2664
- // last chance to preserve the object.
2665
- //
2666
- v = newInstance(Object::ice_staticId());
2667
- if(!v)
2668
- {
2669
- v = ICE_MAKE_SHARED(UnknownSlicedValue, mostDerivedId);
2670
- }
2671
-
2672
- break;
2673
- }
2674
-
2675
- startSlice(); // Read next Slice header for next iteration.
2676
- }
2677
-
2678
- if(++_classGraphDepth > _classGraphDepthMax)
2679
- {
2680
- throw MarshalException(__FILE__, __LINE__, "maximum class graph depth reached");
2681
- }
2682
-
2683
- //
2684
- // Unmarshal the object.
2685
- //
2686
- unmarshal(index, v);
2687
-
2688
- --_classGraphDepth;
2689
-
2690
- if(!_current && !_patchMap.empty())
2691
- {
2692
- //
2693
- // If any entries remain in the patch map, the sender has sent an index for an object, but failed
2694
- // to supply the object.
2695
- //
2696
- throw MarshalException(__FILE__, __LINE__, "index for class received, but no instance");
2697
- }
2698
-
2699
- if(patchFunc)
2700
- {
2701
- patchFunc(patchAddr, v);
2702
- }
2703
- return index;
2704
- }
2705
-
2706
- SlicedDataPtr
2707
- Ice::InputStream::EncapsDecoder11::readSlicedData()
2708
- {
2709
- if(_current->slices.empty()) // No preserved slices.
2710
- {
2711
- return 0;
2712
- }
2713
-
2714
- //
2715
- // The indirectionTables member holds the indirection table for
2716
- // each slice in slices.
2717
- //
2718
- assert(_current->slices.size() == _current->indirectionTables.size());
2719
- for(SliceInfoSeq::size_type n = 0; n < _current->slices.size(); ++n)
2720
- {
2721
- //
2722
- // We use the "instances" list in SliceInfo to hold references
2723
- // to the target instances. Note that the instances might not have
2724
- // been read yet in the case of a circular reference to an
2725
- // enclosing instance.
2726
- //
2727
- const IndexList& table = _current->indirectionTables[n];
2728
- vector<ValuePtr>& instances = _current->slices[n]->instances;
2729
- instances.resize(table.size());
2730
- IndexList::size_type j = 0;
2731
- for(IndexList::const_iterator p = table.begin(); p != table.end(); ++p)
2732
- {
2733
- #ifdef ICE_CPP11_MAPPING
2734
- addPatchEntry(*p, &patchHandle<Value>, &instances[j++]);
2735
- #else
2736
- addPatchEntry(*p, &patchHandle<Object>, &instances[j++]);
2737
- #endif
2738
- }
2739
- }
2740
- return ICE_MAKE_SHARED(SlicedData, _current->slices);
2741
- }