zeroc-ice 3.7.10 → 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 (1216) 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/mcpp/system.c +2741 -0
  436. data/dist/ice/slice/Glacier2/Metrics.ice +47 -0
  437. data/dist/ice/slice/Glacier2/PermissionsVerifier.ice +55 -0
  438. data/dist/ice/slice/Glacier2/Router.ice +93 -0
  439. data/dist/ice/slice/Glacier2/SSLInfo.ice +42 -0
  440. data/dist/ice/slice/Glacier2/Session.ice +133 -0
  441. data/dist/ice/slice/Ice/BuiltinSequences.ice +54 -0
  442. data/dist/ice/slice/Ice/Context.ice +24 -0
  443. data/dist/ice/slice/Ice/EndpointTypes.ice +50 -0
  444. data/dist/ice/slice/Ice/Identity.ice +36 -0
  445. data/dist/ice/slice/Ice/Locator.ice +74 -0
  446. data/dist/ice/slice/Ice/LocatorRegistry.ice +77 -0
  447. data/dist/ice/slice/Ice/Metrics.ice +201 -0
  448. data/dist/ice/slice/Ice/OperationMode.ice +38 -0
  449. data/dist/ice/slice/Ice/Process.ice +28 -0
  450. data/dist/ice/slice/Ice/PropertiesAdmin.ice +37 -0
  451. data/dist/ice/slice/Ice/PropertyDict.ice +23 -0
  452. data/dist/ice/slice/Ice/RemoteLogger.ice +126 -0
  453. data/dist/ice/slice/Ice/ReplyStatus.ice +65 -0
  454. data/dist/ice/slice/Ice/Router.ice +54 -0
  455. data/dist/ice/slice/Ice/SliceChecksumDict.ice +18 -0
  456. data/dist/ice/slice/Ice/Version.ice +43 -0
  457. data/dist/ice/slice/IceBox/ServiceManager.ice +79 -0
  458. data/dist/ice/slice/IceGrid/Admin.ice +981 -0
  459. data/dist/ice/slice/IceGrid/Descriptor.ice +519 -0
  460. data/dist/ice/slice/IceGrid/Exception.ice +98 -0
  461. data/dist/ice/slice/IceGrid/FileParser.ice +36 -0
  462. data/dist/ice/slice/IceGrid/Registry.ice +130 -0
  463. data/dist/ice/slice/IceGrid/Session.ice +64 -0
  464. data/dist/ice/slice/IceGrid/UserAccountMapper.ice +34 -0
  465. data/dist/ice/slice/IceStorm/IceStorm.ice +186 -0
  466. data/dist/ice/slice/IceStorm/Metrics.ice +41 -0
  467. data/dist/lib/Glacier2/Metrics.rb +41 -0
  468. data/dist/lib/Glacier2/PermissionsVerifier.rb +61 -0
  469. data/dist/lib/Glacier2/Router.rb +73 -0
  470. data/dist/lib/Glacier2/SSLInfo.rb +64 -0
  471. data/dist/lib/Glacier2/Session.rb +187 -0
  472. data/dist/lib/Glacier2.rb +7 -0
  473. data/dist/lib/Ice/BuiltinSequences.rb +48 -0
  474. data/dist/lib/Ice/CompressBatch.rb +50 -0
  475. data/dist/lib/Ice/Context.rb +12 -0
  476. data/dist/lib/Ice/EndpointSelectionType.rb +49 -0
  477. data/dist/lib/Ice/EndpointTypes.rb +28 -0
  478. data/dist/lib/Ice/Exception.rb +20 -0
  479. data/dist/lib/Ice/Identity.rb +47 -0
  480. data/dist/lib/Ice/IdentitySpaceship.rb +16 -0
  481. data/dist/lib/Ice/InitializationData.rb +12 -0
  482. data/dist/lib/Ice/LocalExceptions.rb +168 -0
  483. data/dist/lib/Ice/Locator.rb +83 -0
  484. data/dist/lib/Ice/LocatorRegistry.rb +73 -0
  485. data/dist/lib/Ice/Metrics.rb +290 -0
  486. data/dist/lib/Ice/OperationMode.rb +58 -0
  487. data/dist/lib/Ice/Process.rb +34 -0
  488. data/dist/lib/Ice/PropertiesAdmin.rb +39 -0
  489. data/dist/lib/Ice/PropertyDict.rb +12 -0
  490. data/dist/lib/Ice/Proxy.rb +85 -0
  491. data/dist/lib/Ice/ProxyFunctions.rb +69 -0
  492. data/dist/lib/Ice/RemoteLogger.rb +176 -0
  493. data/dist/lib/Ice/ReplyStatus.rb +65 -0
  494. data/dist/lib/Ice/Router.rb +59 -0
  495. data/dist/lib/Ice/SliceChecksumDict.rb +12 -0
  496. data/dist/lib/Ice/SliceUtil.rb +41 -0
  497. data/dist/lib/Ice/Struct.rb +11 -0
  498. data/dist/lib/Ice/ToStringMode.rb +50 -0
  499. data/dist/lib/Ice/Value.rb +93 -0
  500. data/dist/lib/Ice/Version.rb +78 -0
  501. data/dist/lib/Ice.rb +37 -0
  502. data/dist/lib/IceBox/ServiceManager.rb +104 -0
  503. data/dist/lib/IceBox.rb +3 -0
  504. data/dist/lib/IceGrid/Admin.rb +1208 -0
  505. data/dist/lib/IceGrid/Descriptor.rb +989 -0
  506. data/dist/lib/IceGrid/Exception.rb +145 -0
  507. data/dist/lib/IceGrid/FileParser.rb +41 -0
  508. data/dist/lib/IceGrid/Registry.rb +168 -0
  509. data/dist/lib/IceGrid/Session.rb +56 -0
  510. data/dist/lib/IceGrid/UserAccountMapper.rb +38 -0
  511. data/dist/lib/IceGrid.rb +9 -0
  512. data/dist/lib/IceStorm/IceStorm.rb +251 -0
  513. data/dist/lib/IceStorm/Metrics.rb +55 -0
  514. data/dist/lib/IceStorm.rb +4 -0
  515. data/extconf.rb +89 -0
  516. data/ice.gemspec +22 -17
  517. data/scripts/slice2rb +10 -0
  518. metadata +536 -712
  519. data/ICE_LICENSE +0 -48
  520. data/LICENSE +0 -340
  521. data/MCPP_LICENSE +0 -29
  522. data/bin/slice2rb +0 -12
  523. data/ext/Communicator.cpp +0 -792
  524. data/ext/Communicator.h +0 -20
  525. data/ext/Config.h +0 -143
  526. data/ext/Connection.cpp +0 -532
  527. data/ext/Connection.h +0 -24
  528. data/ext/Endpoint.cpp +0 -340
  529. data/ext/Endpoint.h +0 -22
  530. data/ext/ImplicitContext.cpp +0 -144
  531. data/ext/ImplicitContext.h +0 -20
  532. data/ext/Init.cpp +0 -49
  533. data/ext/Logger.cpp +0 -147
  534. data/ext/Logger.h +0 -23
  535. data/ext/Operation.cpp +0 -661
  536. data/ext/Operation.h +0 -31
  537. data/ext/Properties.cpp +0 -365
  538. data/ext/Properties.h +0 -20
  539. data/ext/Proxy.cpp +0 -1396
  540. data/ext/Proxy.h +0 -22
  541. data/ext/Slice.cpp +0 -205
  542. data/ext/Slice.h +0 -17
  543. data/ext/Types.cpp +0 -3325
  544. data/ext/Types.h +0 -595
  545. data/ext/Util.cpp +0 -812
  546. data/ext/Util.h +0 -586
  547. data/ext/ValueFactoryManager.cpp +0 -441
  548. data/ext/ValueFactoryManager.h +0 -95
  549. data/ext/extconf.rb +0 -97
  550. data/ext/ice/cpp/include/Ice/Application.h +0 -326
  551. data/ext/ice/cpp/include/Ice/AsyncResult.h +0 -155
  552. data/ext/ice/cpp/include/Ice/AsyncResultF.h +0 -23
  553. data/ext/ice/cpp/include/Ice/BatchRequestInterceptor.h +0 -75
  554. data/ext/ice/cpp/include/Ice/BatchRequestQueueF.h +0 -20
  555. data/ext/ice/cpp/include/Ice/Buffer.h +0 -154
  556. data/ext/ice/cpp/include/Ice/CommunicatorAsync.h +0 -154
  557. data/ext/ice/cpp/include/Ice/Comparable.h +0 -205
  558. data/ext/ice/cpp/include/Ice/Config.h +0 -76
  559. data/ext/ice/cpp/include/Ice/ConnectionAsync.h +0 -302
  560. data/ext/ice/cpp/include/Ice/ConnectionIF.h +0 -38
  561. data/ext/ice/cpp/include/Ice/ConsoleUtil.h +0 -23
  562. data/ext/ice/cpp/include/Ice/DefaultValueFactory.h +0 -57
  563. data/ext/ice/cpp/include/Ice/DispatchInterceptor.h +0 -41
  564. data/ext/ice/cpp/include/Ice/Dispatcher.h +0 -67
  565. data/ext/ice/cpp/include/Ice/DynamicLibrary.h +0 -102
  566. data/ext/ice/cpp/include/Ice/DynamicLibraryF.h +0 -24
  567. data/ext/ice/cpp/include/Ice/Exception.h +0 -161
  568. data/ext/ice/cpp/include/Ice/ExceptionHelpers.h +0 -74
  569. data/ext/ice/cpp/include/Ice/FactoryTable.h +0 -73
  570. data/ext/ice/cpp/include/Ice/FactoryTableInit.h +0 -84
  571. data/ext/ice/cpp/include/Ice/Format.h +0 -38
  572. data/ext/ice/cpp/include/Ice/Functional.h +0 -140
  573. data/ext/ice/cpp/include/Ice/GCObject.h +0 -76
  574. data/ext/ice/cpp/include/Ice/Handle.h +0 -182
  575. data/ext/ice/cpp/include/Ice/Ice.h +0 -55
  576. data/ext/ice/cpp/include/Ice/IconvStringConverter.h +0 -377
  577. data/ext/ice/cpp/include/Ice/Incoming.h +0 -225
  578. data/ext/ice/cpp/include/Ice/IncomingAsync.h +0 -186
  579. data/ext/ice/cpp/include/Ice/IncomingAsyncF.h +0 -36
  580. data/ext/ice/cpp/include/Ice/Initialize.h +0 -957
  581. data/ext/ice/cpp/include/Ice/InputStream.h +0 -1514
  582. data/ext/ice/cpp/include/Ice/InstanceF.h +0 -20
  583. data/ext/ice/cpp/include/Ice/InterfaceByValue.h +0 -57
  584. data/ext/ice/cpp/include/Ice/LocalObject.h +0 -35
  585. data/ext/ice/cpp/include/Ice/LocalObjectF.h +0 -21
  586. data/ext/ice/cpp/include/Ice/LoggerUtil.h +0 -185
  587. data/ext/ice/cpp/include/Ice/MetricsAdminI.h +0 -715
  588. data/ext/ice/cpp/include/Ice/MetricsFunctional.h +0 -159
  589. data/ext/ice/cpp/include/Ice/MetricsObserverI.h +0 -669
  590. data/ext/ice/cpp/include/Ice/NativePropertiesAdmin.h +0 -86
  591. data/ext/ice/cpp/include/Ice/Object.h +0 -507
  592. data/ext/ice/cpp/include/Ice/ObjectF.h +0 -30
  593. data/ext/ice/cpp/include/Ice/ObserverHelper.h +0 -182
  594. data/ext/ice/cpp/include/Ice/Optional.h +0 -1114
  595. data/ext/ice/cpp/include/Ice/OutgoingAsync.h +0 -856
  596. data/ext/ice/cpp/include/Ice/OutgoingAsyncF.h +0 -39
  597. data/ext/ice/cpp/include/Ice/OutputStream.h +0 -1092
  598. data/ext/ice/cpp/include/Ice/Protocol.h +0 -274
  599. data/ext/ice/cpp/include/Ice/Proxy.h +0 -5154
  600. data/ext/ice/cpp/include/Ice/ProxyF.h +0 -53
  601. data/ext/ice/cpp/include/Ice/ProxyFactoryF.h +0 -21
  602. data/ext/ice/cpp/include/Ice/ProxyHandle.h +0 -318
  603. data/ext/ice/cpp/include/Ice/ReferenceF.h +0 -29
  604. data/ext/ice/cpp/include/Ice/RegisterPlugins.h +0 -127
  605. data/ext/ice/cpp/include/Ice/RequestHandlerF.h +0 -30
  606. data/ext/ice/cpp/include/Ice/ResponseHandlerF.h +0 -25
  607. data/ext/ice/cpp/include/Ice/SHA1.h +0 -40
  608. data/ext/ice/cpp/include/Ice/ServantManagerF.h +0 -21
  609. data/ext/ice/cpp/include/Ice/Service.h +0 -379
  610. data/ext/ice/cpp/include/Ice/SliceChecksums.h +0 -33
  611. data/ext/ice/cpp/include/Ice/SlicedData.h +0 -172
  612. data/ext/ice/cpp/include/Ice/SlicedDataF.h +0 -40
  613. data/ext/ice/cpp/include/Ice/StreamHelpers.h +0 -1190
  614. data/ext/ice/cpp/include/Ice/StringConverter.h +0 -78
  615. data/ext/ice/cpp/include/Ice/ThreadPoolF.h +0 -23
  616. data/ext/ice/cpp/include/Ice/UUID.h +0 -19
  617. data/ext/ice/cpp/include/Ice/UniquePtr.h +0 -95
  618. data/ext/ice/cpp/include/Ice/UniqueRef.h +0 -97
  619. data/ext/ice/cpp/include/Ice/UserExceptionFactory.h +0 -88
  620. data/ext/ice/cpp/include/Ice/Value.h +0 -139
  621. data/ext/ice/cpp/include/Ice/ValueF.h +0 -21
  622. data/ext/ice/cpp/include/IceSSL/Config.h +0 -21
  623. data/ext/ice/cpp/include/IceSSL/IceSSL.h +0 -24
  624. data/ext/ice/cpp/include/IceSSL/OpenSSL.h +0 -147
  625. data/ext/ice/cpp/include/IceSSL/Plugin.h +0 -712
  626. data/ext/ice/cpp/include/IceSSL/SChannel.h +0 -72
  627. data/ext/ice/cpp/include/IceSSL/SecureTransport.h +0 -72
  628. data/ext/ice/cpp/include/IceSSL/UWP.h +0 -62
  629. data/ext/ice/cpp/include/IceUtil/Atomic.h +0 -179
  630. data/ext/ice/cpp/include/IceUtil/Cond.h +0 -317
  631. data/ext/ice/cpp/include/IceUtil/Config.h +0 -392
  632. data/ext/ice/cpp/include/IceUtil/ConsoleUtil.h +0 -92
  633. data/ext/ice/cpp/include/IceUtil/CountDownLatch.h +0 -45
  634. data/ext/ice/cpp/include/IceUtil/CtrlCHandler.h +0 -92
  635. data/ext/ice/cpp/include/IceUtil/DisableWarnings.h +0 -44
  636. data/ext/ice/cpp/include/IceUtil/Exception.h +0 -394
  637. data/ext/ice/cpp/include/IceUtil/FileUtil.h +0 -140
  638. data/ext/ice/cpp/include/IceUtil/Functional.h +0 -389
  639. data/ext/ice/cpp/include/IceUtil/Handle.h +0 -261
  640. data/ext/ice/cpp/include/IceUtil/IceUtil.h +0 -40
  641. data/ext/ice/cpp/include/IceUtil/InputUtil.h +0 -42
  642. data/ext/ice/cpp/include/IceUtil/Iterator.h +0 -31
  643. data/ext/ice/cpp/include/IceUtil/Lock.h +0 -128
  644. data/ext/ice/cpp/include/IceUtil/Monitor.h +0 -243
  645. data/ext/ice/cpp/include/IceUtil/Mutex.h +0 -349
  646. data/ext/ice/cpp/include/IceUtil/MutexProtocol.h +0 -23
  647. data/ext/ice/cpp/include/IceUtil/MutexPtrLock.h +0 -78
  648. data/ext/ice/cpp/include/IceUtil/MutexPtrTryLock.h +0 -77
  649. data/ext/ice/cpp/include/IceUtil/Optional.h +0 -433
  650. data/ext/ice/cpp/include/IceUtil/Options.h +0 -135
  651. data/ext/ice/cpp/include/IceUtil/OutputUtil.h +0 -383
  652. data/ext/ice/cpp/include/IceUtil/PopDisableWarnings.h +0 -14
  653. data/ext/ice/cpp/include/IceUtil/PushDisableWarnings.h +0 -33
  654. data/ext/ice/cpp/include/IceUtil/Random.h +0 -55
  655. data/ext/ice/cpp/include/IceUtil/RecMutex.h +0 -107
  656. data/ext/ice/cpp/include/IceUtil/ResourceConfig.h +0 -37
  657. data/ext/ice/cpp/include/IceUtil/ScannerConfig.h +0 -40
  658. data/ext/ice/cpp/include/IceUtil/ScopedArray.h +0 -98
  659. data/ext/ice/cpp/include/IceUtil/Shared.h +0 -127
  660. data/ext/ice/cpp/include/IceUtil/StopWatch.h +0 -49
  661. data/ext/ice/cpp/include/IceUtil/StringConverter.h +0 -195
  662. data/ext/ice/cpp/include/IceUtil/StringUtil.h +0 -97
  663. data/ext/ice/cpp/include/IceUtil/Thread.h +0 -160
  664. data/ext/ice/cpp/include/IceUtil/ThreadException.h +0 -94
  665. data/ext/ice/cpp/include/IceUtil/Time.h +0 -205
  666. data/ext/ice/cpp/include/IceUtil/Timer.h +0 -144
  667. data/ext/ice/cpp/include/IceUtil/UUID.h +0 -21
  668. data/ext/ice/cpp/include/IceUtil/UndefSysMacros.h +0 -37
  669. data/ext/ice/cpp/include/generated/Ice/BuiltinSequences.h +0 -170
  670. data/ext/ice/cpp/include/generated/Ice/Communicator.h +0 -1162
  671. data/ext/ice/cpp/include/generated/Ice/CommunicatorF.h +0 -101
  672. data/ext/ice/cpp/include/generated/Ice/Connection.h +0 -1703
  673. data/ext/ice/cpp/include/generated/Ice/ConnectionF.h +0 -119
  674. data/ext/ice/cpp/include/generated/Ice/Current.h +0 -322
  675. data/ext/ice/cpp/include/generated/Ice/Endpoint.h +0 -979
  676. data/ext/ice/cpp/include/generated/Ice/EndpointF.h +0 -166
  677. data/ext/ice/cpp/include/generated/Ice/EndpointTypes.h +0 -118
  678. data/ext/ice/cpp/include/generated/Ice/FacetMap.h +0 -80
  679. data/ext/ice/cpp/include/generated/Ice/Identity.h +0 -264
  680. data/ext/ice/cpp/include/generated/Ice/ImplicitContext.h +0 -284
  681. data/ext/ice/cpp/include/generated/Ice/ImplicitContextF.h +0 -101
  682. data/ext/ice/cpp/include/generated/Ice/Instrumentation.h +0 -1203
  683. data/ext/ice/cpp/include/generated/Ice/InstrumentationF.h +0 -128
  684. data/ext/ice/cpp/include/generated/Ice/LocalException.h +0 -7437
  685. data/ext/ice/cpp/include/generated/Ice/Locator.h +0 -3898
  686. data/ext/ice/cpp/include/generated/Ice/LocatorF.h +0 -147
  687. data/ext/ice/cpp/include/generated/Ice/Logger.h +0 -237
  688. data/ext/ice/cpp/include/generated/Ice/LoggerF.h +0 -101
  689. data/ext/ice/cpp/include/generated/Ice/Metrics.h +0 -4769
  690. data/ext/ice/cpp/include/generated/Ice/ObjectAdapter.h +0 -1181
  691. data/ext/ice/cpp/include/generated/Ice/ObjectAdapterF.h +0 -101
  692. data/ext/ice/cpp/include/generated/Ice/ObjectFactory.h +0 -203
  693. data/ext/ice/cpp/include/generated/Ice/Plugin.h +0 -318
  694. data/ext/ice/cpp/include/generated/Ice/PluginF.h +0 -110
  695. data/ext/ice/cpp/include/generated/Ice/Process.h +0 -977
  696. data/ext/ice/cpp/include/generated/Ice/ProcessF.h +0 -125
  697. data/ext/ice/cpp/include/generated/Ice/Properties.h +0 -452
  698. data/ext/ice/cpp/include/generated/Ice/PropertiesAdmin.h +0 -1366
  699. data/ext/ice/cpp/include/generated/Ice/PropertiesF.h +0 -134
  700. data/ext/ice/cpp/include/generated/Ice/RemoteLogger.h +0 -2707
  701. data/ext/ice/cpp/include/generated/Ice/Router.h +0 -1850
  702. data/ext/ice/cpp/include/generated/Ice/RouterF.h +0 -125
  703. data/ext/ice/cpp/include/generated/Ice/ServantLocator.h +0 -305
  704. data/ext/ice/cpp/include/generated/Ice/ServantLocatorF.h +0 -101
  705. data/ext/ice/cpp/include/generated/Ice/SliceChecksumDict.h +0 -84
  706. data/ext/ice/cpp/include/generated/Ice/ValueFactory.h +0 -330
  707. data/ext/ice/cpp/include/generated/Ice/Version.h +0 -357
  708. data/ext/ice/cpp/include/generated/IceSSL/ConnectionInfo.h +0 -228
  709. data/ext/ice/cpp/include/generated/IceSSL/ConnectionInfoF.h +0 -101
  710. data/ext/ice/cpp/include/generated/IceSSL/EndpointInfo.h +0 -186
  711. data/ext/ice/cpp/src/Ice/ACM.cpp +0 -380
  712. data/ext/ice/cpp/src/Ice/ACM.h +0 -119
  713. data/ext/ice/cpp/src/Ice/ACMF.h +0 -30
  714. data/ext/ice/cpp/src/Ice/Acceptor.cpp +0 -16
  715. data/ext/ice/cpp/src/Ice/Acceptor.h +0 -37
  716. data/ext/ice/cpp/src/Ice/AcceptorF.h +0 -25
  717. data/ext/ice/cpp/src/Ice/ArgVector.cpp +0 -59
  718. data/ext/ice/cpp/src/Ice/ArgVector.h +0 -36
  719. data/ext/ice/cpp/src/Ice/AsyncResult.cpp +0 -70
  720. data/ext/ice/cpp/src/Ice/Base64.cpp +0 -263
  721. data/ext/ice/cpp/src/Ice/Base64.h +0 -31
  722. data/ext/ice/cpp/src/Ice/BatchRequestQueue.cpp +0 -250
  723. data/ext/ice/cpp/src/Ice/BatchRequestQueue.h +0 -59
  724. data/ext/ice/cpp/src/Ice/Buffer.cpp +0 -155
  725. data/ext/ice/cpp/src/Ice/BuiltinSequences.cpp +0 -49
  726. data/ext/ice/cpp/src/Ice/CollocatedRequestHandler.cpp +0 -407
  727. data/ext/ice/cpp/src/Ice/CollocatedRequestHandler.h +0 -87
  728. data/ext/ice/cpp/src/Ice/Communicator.cpp +0 -79
  729. data/ext/ice/cpp/src/Ice/CommunicatorF.cpp +0 -61
  730. data/ext/ice/cpp/src/Ice/CommunicatorI.cpp +0 -586
  731. data/ext/ice/cpp/src/Ice/CommunicatorI.h +0 -167
  732. data/ext/ice/cpp/src/Ice/Cond.cpp +0 -381
  733. data/ext/ice/cpp/src/Ice/ConnectRequestHandler.cpp +0 -348
  734. data/ext/ice/cpp/src/Ice/ConnectRequestHandler.h +0 -72
  735. data/ext/ice/cpp/src/Ice/ConnectRequestHandlerF.h +0 -24
  736. data/ext/ice/cpp/src/Ice/Connection.cpp +0 -155
  737. data/ext/ice/cpp/src/Ice/ConnectionF.cpp +0 -61
  738. data/ext/ice/cpp/src/Ice/ConnectionFactory.cpp +0 -1972
  739. data/ext/ice/cpp/src/Ice/ConnectionFactory.h +0 -264
  740. data/ext/ice/cpp/src/Ice/ConnectionFactoryF.h +0 -30
  741. data/ext/ice/cpp/src/Ice/ConnectionI.cpp +0 -3670
  742. data/ext/ice/cpp/src/Ice/ConnectionI.h +0 -389
  743. data/ext/ice/cpp/src/Ice/ConnectionRequestHandler.cpp +0 -73
  744. data/ext/ice/cpp/src/Ice/ConnectionRequestHandler.h +0 -41
  745. data/ext/ice/cpp/src/Ice/Connector.cpp +0 -16
  746. data/ext/ice/cpp/src/Ice/Connector.h +0 -32
  747. data/ext/ice/cpp/src/Ice/ConnectorF.h +0 -21
  748. data/ext/ice/cpp/src/Ice/CountDownLatch.cpp +0 -171
  749. data/ext/ice/cpp/src/Ice/Current.cpp +0 -62
  750. data/ext/ice/cpp/src/Ice/DefaultsAndOverrides.cpp +0 -159
  751. data/ext/ice/cpp/src/Ice/DefaultsAndOverrides.h +0 -52
  752. data/ext/ice/cpp/src/Ice/DefaultsAndOverridesF.h +0 -21
  753. data/ext/ice/cpp/src/Ice/DispatchInterceptor.cpp +0 -37
  754. data/ext/ice/cpp/src/Ice/DynamicLibrary.cpp +0 -284
  755. data/ext/ice/cpp/src/Ice/Endpoint.cpp +0 -147
  756. data/ext/ice/cpp/src/Ice/EndpointF.cpp +0 -61
  757. data/ext/ice/cpp/src/Ice/EndpointFactory.cpp +0 -189
  758. data/ext/ice/cpp/src/Ice/EndpointFactory.h +0 -117
  759. data/ext/ice/cpp/src/Ice/EndpointFactoryF.h +0 -21
  760. data/ext/ice/cpp/src/Ice/EndpointFactoryManager.cpp +0 -213
  761. data/ext/ice/cpp/src/Ice/EndpointFactoryManager.h +0 -47
  762. data/ext/ice/cpp/src/Ice/EndpointFactoryManagerF.h +0 -21
  763. data/ext/ice/cpp/src/Ice/EndpointI.cpp +0 -98
  764. data/ext/ice/cpp/src/Ice/EndpointI.h +0 -218
  765. data/ext/ice/cpp/src/Ice/EndpointIF.h +0 -49
  766. data/ext/ice/cpp/src/Ice/EndpointTypes.cpp +0 -51
  767. data/ext/ice/cpp/src/Ice/EventHandler.cpp +0 -32
  768. data/ext/ice/cpp/src/Ice/EventHandler.h +0 -81
  769. data/ext/ice/cpp/src/Ice/EventHandlerF.h +0 -24
  770. data/ext/ice/cpp/src/Ice/Exception.cpp +0 -818
  771. data/ext/ice/cpp/src/Ice/FacetMap.cpp +0 -49
  772. data/ext/ice/cpp/src/Ice/FactoryTable.cpp +0 -162
  773. data/ext/ice/cpp/src/Ice/FactoryTableInit.cpp +0 -88
  774. data/ext/ice/cpp/src/Ice/GCObject.cpp +0 -442
  775. data/ext/ice/cpp/src/Ice/HashUtil.h +0 -53
  776. data/ext/ice/cpp/src/Ice/HttpParser.cpp +0 -684
  777. data/ext/ice/cpp/src/Ice/HttpParser.h +0 -117
  778. data/ext/ice/cpp/src/Ice/IPEndpointI.cpp +0 -710
  779. data/ext/ice/cpp/src/Ice/IPEndpointI.h +0 -152
  780. data/ext/ice/cpp/src/Ice/IPEndpointIF.h +0 -28
  781. data/ext/ice/cpp/src/Ice/IconvStringConverter.cpp +0 -51
  782. data/ext/ice/cpp/src/Ice/Identity.cpp +0 -57
  783. data/ext/ice/cpp/src/Ice/ImplicitContext.cpp +0 -75
  784. data/ext/ice/cpp/src/Ice/ImplicitContextF.cpp +0 -61
  785. data/ext/ice/cpp/src/Ice/ImplicitContextI.cpp +0 -655
  786. data/ext/ice/cpp/src/Ice/ImplicitContextI.h +0 -48
  787. data/ext/ice/cpp/src/Ice/Incoming.cpp +0 -795
  788. data/ext/ice/cpp/src/Ice/IncomingAsync.cpp +0 -230
  789. data/ext/ice/cpp/src/Ice/IncomingRequest.h +0 -33
  790. data/ext/ice/cpp/src/Ice/Initialize.cpp +0 -654
  791. data/ext/ice/cpp/src/Ice/InputStream.cpp +0 -2741
  792. data/ext/ice/cpp/src/Ice/Instance.cpp +0 -1967
  793. data/ext/ice/cpp/src/Ice/Instance.h +0 -235
  794. data/ext/ice/cpp/src/Ice/Instrumentation.cpp +0 -188
  795. data/ext/ice/cpp/src/Ice/InstrumentationF.cpp +0 -66
  796. data/ext/ice/cpp/src/Ice/InstrumentationI.cpp +0 -1094
  797. data/ext/ice/cpp/src/Ice/InstrumentationI.h +0 -256
  798. data/ext/ice/cpp/src/Ice/LocalException.cpp +0 -3262
  799. data/ext/ice/cpp/src/Ice/LocalObject.cpp +0 -23
  800. data/ext/ice/cpp/src/Ice/Locator.cpp +0 -2042
  801. data/ext/ice/cpp/src/Ice/LocatorF.cpp +0 -63
  802. data/ext/ice/cpp/src/Ice/LocatorInfo.cpp +0 -889
  803. data/ext/ice/cpp/src/Ice/LocatorInfo.h +0 -189
  804. data/ext/ice/cpp/src/Ice/LocatorInfoF.h +0 -29
  805. data/ext/ice/cpp/src/Ice/Logger.cpp +0 -73
  806. data/ext/ice/cpp/src/Ice/LoggerAdminI.cpp +0 -956
  807. data/ext/ice/cpp/src/Ice/LoggerAdminI.h +0 -41
  808. data/ext/ice/cpp/src/Ice/LoggerF.cpp +0 -61
  809. data/ext/ice/cpp/src/Ice/LoggerI.cpp +0 -259
  810. data/ext/ice/cpp/src/Ice/LoggerI.h +0 -52
  811. data/ext/ice/cpp/src/Ice/LoggerUtil.cpp +0 -100
  812. data/ext/ice/cpp/src/Ice/Metrics.cpp +0 -2352
  813. data/ext/ice/cpp/src/Ice/MetricsAdminI.cpp +0 -694
  814. data/ext/ice/cpp/src/Ice/MetricsObserverI.cpp +0 -8
  815. data/ext/ice/cpp/src/Ice/Network.cpp +0 -2249
  816. data/ext/ice/cpp/src/Ice/Network.h +0 -289
  817. data/ext/ice/cpp/src/Ice/NetworkF.h +0 -19
  818. data/ext/ice/cpp/src/Ice/NetworkProxy.cpp +0 -311
  819. data/ext/ice/cpp/src/Ice/NetworkProxy.h +0 -72
  820. data/ext/ice/cpp/src/Ice/NetworkProxyF.h +0 -21
  821. data/ext/ice/cpp/src/Ice/OSLogLoggerI.cpp +0 -57
  822. data/ext/ice/cpp/src/Ice/OSLogLoggerI.h +0 -40
  823. data/ext/ice/cpp/src/Ice/Object.cpp +0 -435
  824. data/ext/ice/cpp/src/Ice/ObjectAdapter.cpp +0 -79
  825. data/ext/ice/cpp/src/Ice/ObjectAdapterF.cpp +0 -61
  826. data/ext/ice/cpp/src/Ice/ObjectAdapterFactory.cpp +0 -291
  827. data/ext/ice/cpp/src/Ice/ObjectAdapterFactory.h +0 -53
  828. data/ext/ice/cpp/src/Ice/ObjectAdapterFactoryF.h +0 -25
  829. data/ext/ice/cpp/src/Ice/ObjectAdapterI.cpp +0 -1530
  830. data/ext/ice/cpp/src/Ice/ObjectAdapterI.h +0 -159
  831. data/ext/ice/cpp/src/Ice/ObjectFactory.cpp +0 -75
  832. data/ext/ice/cpp/src/Ice/ObserverHelper.cpp +0 -56
  833. data/ext/ice/cpp/src/Ice/OpaqueEndpointI.cpp +0 -408
  834. data/ext/ice/cpp/src/Ice/OpaqueEndpointI.h +0 -74
  835. data/ext/ice/cpp/src/Ice/OutgoingAsync.cpp +0 -1322
  836. data/ext/ice/cpp/src/Ice/OutputStream.cpp +0 -1367
  837. data/ext/ice/cpp/src/Ice/Plugin.cpp +0 -87
  838. data/ext/ice/cpp/src/Ice/PluginF.cpp +0 -61
  839. data/ext/ice/cpp/src/Ice/PluginManagerI.cpp +0 -503
  840. data/ext/ice/cpp/src/Ice/PluginManagerI.h +0 -61
  841. data/ext/ice/cpp/src/Ice/Process.cpp +0 -471
  842. data/ext/ice/cpp/src/Ice/ProcessF.cpp +0 -63
  843. data/ext/ice/cpp/src/Ice/Properties.cpp +0 -78
  844. data/ext/ice/cpp/src/Ice/PropertiesAdmin.cpp +0 -603
  845. data/ext/ice/cpp/src/Ice/PropertiesAdminI.cpp +0 -265
  846. data/ext/ice/cpp/src/Ice/PropertiesAdminI.h +0 -64
  847. data/ext/ice/cpp/src/Ice/PropertiesF.cpp +0 -63
  848. data/ext/ice/cpp/src/Ice/PropertiesI.cpp +0 -739
  849. data/ext/ice/cpp/src/Ice/PropertiesI.h +0 -70
  850. data/ext/ice/cpp/src/Ice/PropertyNames.cpp +0 -1429
  851. data/ext/ice/cpp/src/Ice/PropertyNames.h +0 -78
  852. data/ext/ice/cpp/src/Ice/Protocol.cpp +0 -124
  853. data/ext/ice/cpp/src/Ice/ProtocolInstance.cpp +0 -131
  854. data/ext/ice/cpp/src/Ice/ProtocolInstance.h +0 -93
  855. data/ext/ice/cpp/src/Ice/ProtocolInstanceF.h +0 -21
  856. data/ext/ice/cpp/src/Ice/ProtocolPluginFacade.cpp +0 -51
  857. data/ext/ice/cpp/src/Ice/ProtocolPluginFacade.h +0 -64
  858. data/ext/ice/cpp/src/Ice/ProtocolPluginFacadeF.h +0 -21
  859. data/ext/ice/cpp/src/Ice/Proxy.cpp +0 -1601
  860. data/ext/ice/cpp/src/Ice/ProxyFactory.cpp +0 -300
  861. data/ext/ice/cpp/src/Ice/ProxyFactory.h +0 -57
  862. data/ext/ice/cpp/src/Ice/Reference.cpp +0 -2046
  863. data/ext/ice/cpp/src/Ice/Reference.h +0 -323
  864. data/ext/ice/cpp/src/Ice/ReferenceFactory.cpp +0 -888
  865. data/ext/ice/cpp/src/Ice/ReferenceFactory.h +0 -76
  866. data/ext/ice/cpp/src/Ice/ReferenceFactoryF.h +0 -19
  867. data/ext/ice/cpp/src/Ice/RegisterPluginsInit.cpp +0 -38
  868. data/ext/ice/cpp/src/Ice/RegisterPluginsInit.h +0 -20
  869. data/ext/ice/cpp/src/Ice/RemoteLogger.cpp +0 -1171
  870. data/ext/ice/cpp/src/Ice/ReplyStatus.h +0 -24
  871. data/ext/ice/cpp/src/Ice/RequestHandler.cpp +0 -37
  872. data/ext/ice/cpp/src/Ice/RequestHandler.h +0 -78
  873. data/ext/ice/cpp/src/Ice/RequestHandlerFactory.cpp +0 -77
  874. data/ext/ice/cpp/src/Ice/RequestHandlerFactory.h +0 -37
  875. data/ext/ice/cpp/src/Ice/ResponseHandler.cpp +0 -12
  876. data/ext/ice/cpp/src/Ice/ResponseHandler.h +0 -43
  877. data/ext/ice/cpp/src/Ice/RetryQueue.cpp +0 -157
  878. data/ext/ice/cpp/src/Ice/RetryQueue.h +0 -66
  879. data/ext/ice/cpp/src/Ice/RetryQueueF.h +0 -19
  880. data/ext/ice/cpp/src/Ice/Router.cpp +0 -977
  881. data/ext/ice/cpp/src/Ice/RouterF.cpp +0 -63
  882. data/ext/ice/cpp/src/Ice/RouterInfo.cpp +0 -379
  883. data/ext/ice/cpp/src/Ice/RouterInfo.h +0 -152
  884. data/ext/ice/cpp/src/Ice/RouterInfoF.h +0 -25
  885. data/ext/ice/cpp/src/Ice/SHA1.cpp +0 -169
  886. data/ext/ice/cpp/src/Ice/Selector.cpp +0 -1525
  887. data/ext/ice/cpp/src/Ice/Selector.h +0 -292
  888. data/ext/ice/cpp/src/Ice/ServantLocator.cpp +0 -75
  889. data/ext/ice/cpp/src/Ice/ServantLocatorF.cpp +0 -61
  890. data/ext/ice/cpp/src/Ice/ServantManager.cpp +0 -480
  891. data/ext/ice/cpp/src/Ice/ServantManager.h +0 -69
  892. data/ext/ice/cpp/src/Ice/SharedContext.h +0 -46
  893. data/ext/ice/cpp/src/Ice/SliceChecksumDict.cpp +0 -49
  894. data/ext/ice/cpp/src/Ice/SliceChecksums.cpp +0 -75
  895. data/ext/ice/cpp/src/Ice/SlicedData.cpp +0 -127
  896. data/ext/ice/cpp/src/Ice/StreamSocket.cpp +0 -519
  897. data/ext/ice/cpp/src/Ice/StreamSocket.h +0 -85
  898. data/ext/ice/cpp/src/Ice/StringConverterPlugin.cpp +0 -192
  899. data/ext/ice/cpp/src/Ice/StringUtil.h +0 -30
  900. data/ext/ice/cpp/src/Ice/SysLoggerI.cpp +0 -166
  901. data/ext/ice/cpp/src/Ice/SysLoggerI.h +0 -37
  902. data/ext/ice/cpp/src/Ice/SystemdJournalI.cpp +0 -66
  903. data/ext/ice/cpp/src/Ice/SystemdJournalI.h +0 -39
  904. data/ext/ice/cpp/src/Ice/TcpAcceptor.cpp +0 -234
  905. data/ext/ice/cpp/src/Ice/TcpAcceptor.h +0 -61
  906. data/ext/ice/cpp/src/Ice/TcpConnector.cpp +0 -127
  907. data/ext/ice/cpp/src/Ice/TcpConnector.h +0 -45
  908. data/ext/ice/cpp/src/Ice/TcpEndpointI.cpp +0 -385
  909. data/ext/ice/cpp/src/Ice/TcpEndpointI.h +0 -90
  910. data/ext/ice/cpp/src/Ice/TcpTransceiver.cpp +0 -135
  911. data/ext/ice/cpp/src/Ice/TcpTransceiver.h +0 -58
  912. data/ext/ice/cpp/src/Ice/Thread.cpp +0 -569
  913. data/ext/ice/cpp/src/Ice/ThreadPool.cpp +0 -1292
  914. data/ext/ice/cpp/src/Ice/ThreadPool.h +0 -393
  915. data/ext/ice/cpp/src/Ice/Timer.cpp +0 -263
  916. data/ext/ice/cpp/src/Ice/TraceLevels.cpp +0 -38
  917. data/ext/ice/cpp/src/Ice/TraceLevels.h +0 -45
  918. data/ext/ice/cpp/src/Ice/TraceLevelsF.h +0 -21
  919. data/ext/ice/cpp/src/Ice/TraceUtil.cpp +0 -478
  920. data/ext/ice/cpp/src/Ice/TraceUtil.h +0 -30
  921. data/ext/ice/cpp/src/Ice/Transceiver.cpp +0 -18
  922. data/ext/ice/cpp/src/Ice/Transceiver.h +0 -49
  923. data/ext/ice/cpp/src/Ice/TransceiverF.h +0 -33
  924. data/ext/ice/cpp/src/Ice/UdpConnector.cpp +0 -131
  925. data/ext/ice/cpp/src/Ice/UdpConnector.h +0 -45
  926. data/ext/ice/cpp/src/Ice/UdpEndpointI.cpp +0 -515
  927. data/ext/ice/cpp/src/Ice/UdpEndpointI.h +0 -95
  928. data/ext/ice/cpp/src/Ice/UdpTransceiver.cpp +0 -806
  929. data/ext/ice/cpp/src/Ice/UdpTransceiver.h +0 -96
  930. data/ext/ice/cpp/src/Ice/Value.cpp +0 -76
  931. data/ext/ice/cpp/src/Ice/ValueFactory.cpp +0 -83
  932. data/ext/ice/cpp/src/Ice/ValueFactoryManagerI.cpp +0 -61
  933. data/ext/ice/cpp/src/Ice/ValueFactoryManagerI.h +0 -37
  934. data/ext/ice/cpp/src/Ice/Version.cpp +0 -57
  935. data/ext/ice/cpp/src/Ice/VirtualShared.h +0 -38
  936. data/ext/ice/cpp/src/Ice/WSAcceptor.cpp +0 -92
  937. data/ext/ice/cpp/src/Ice/WSAcceptor.h +0 -52
  938. data/ext/ice/cpp/src/Ice/WSConnector.cpp +0 -102
  939. data/ext/ice/cpp/src/Ice/WSConnector.h +0 -43
  940. data/ext/ice/cpp/src/Ice/WSEndpoint.cpp +0 -508
  941. data/ext/ice/cpp/src/Ice/WSEndpoint.h +0 -93
  942. data/ext/ice/cpp/src/Ice/WSTransceiver.cpp +0 -1704
  943. data/ext/ice/cpp/src/Ice/WSTransceiver.h +0 -141
  944. data/ext/ice/cpp/src/IceDiscovery/IceDiscovery.cpp +0 -915
  945. data/ext/ice/cpp/src/IceDiscovery/IceDiscovery.h +0 -1889
  946. data/ext/ice/cpp/src/IceDiscovery/LocatorI.cpp +0 -265
  947. data/ext/ice/cpp/src/IceDiscovery/LocatorI.h +0 -109
  948. data/ext/ice/cpp/src/IceDiscovery/LookupI.cpp +0 -608
  949. data/ext/ice/cpp/src/IceDiscovery/LookupI.h +0 -228
  950. data/ext/ice/cpp/src/IceDiscovery/PluginI.cpp +0 -176
  951. data/ext/ice/cpp/src/IceDiscovery/PluginI.h +0 -36
  952. data/ext/ice/cpp/src/IceLocatorDiscovery/IceLocatorDiscovery.cpp +0 -730
  953. data/ext/ice/cpp/src/IceLocatorDiscovery/IceLocatorDiscovery.h +0 -1197
  954. data/ext/ice/cpp/src/IceLocatorDiscovery/Plugin.h +0 -47
  955. data/ext/ice/cpp/src/IceLocatorDiscovery/PluginI.cpp +0 -1048
  956. data/ext/ice/cpp/src/IceSSL/AcceptorI.cpp +0 -105
  957. data/ext/ice/cpp/src/IceSSL/AcceptorI.h +0 -52
  958. data/ext/ice/cpp/src/IceSSL/CertificateI.cpp +0 -301
  959. data/ext/ice/cpp/src/IceSSL/CertificateI.h +0 -64
  960. data/ext/ice/cpp/src/IceSSL/ConnectionInfo.cpp +0 -75
  961. data/ext/ice/cpp/src/IceSSL/ConnectionInfoF.cpp +0 -61
  962. data/ext/ice/cpp/src/IceSSL/ConnectorI.cpp +0 -102
  963. data/ext/ice/cpp/src/IceSSL/ConnectorI.h +0 -44
  964. data/ext/ice/cpp/src/IceSSL/EndpointI.cpp +0 -372
  965. data/ext/ice/cpp/src/IceSSL/EndpointI.h +0 -100
  966. data/ext/ice/cpp/src/IceSSL/EndpointInfo.cpp +0 -75
  967. data/ext/ice/cpp/src/IceSSL/Instance.cpp +0 -28
  968. data/ext/ice/cpp/src/IceSSL/Instance.h +0 -37
  969. data/ext/ice/cpp/src/IceSSL/InstanceF.h +0 -33
  970. data/ext/ice/cpp/src/IceSSL/OpenSSLCertificateI.cpp +0 -688
  971. data/ext/ice/cpp/src/IceSSL/OpenSSLEngine.cpp +0 -1147
  972. data/ext/ice/cpp/src/IceSSL/OpenSSLEngine.h +0 -59
  973. data/ext/ice/cpp/src/IceSSL/OpenSSLEngineF.h +0 -27
  974. data/ext/ice/cpp/src/IceSSL/OpenSSLPluginI.cpp +0 -127
  975. data/ext/ice/cpp/src/IceSSL/OpenSSLTransceiverI.cpp +0 -1092
  976. data/ext/ice/cpp/src/IceSSL/OpenSSLTransceiverI.h +0 -90
  977. data/ext/ice/cpp/src/IceSSL/OpenSSLUtil.cpp +0 -288
  978. data/ext/ice/cpp/src/IceSSL/OpenSSLUtil.h +0 -58
  979. data/ext/ice/cpp/src/IceSSL/PluginI.cpp +0 -246
  980. data/ext/ice/cpp/src/IceSSL/PluginI.h +0 -67
  981. data/ext/ice/cpp/src/IceSSL/RFC2253.cpp +0 -490
  982. data/ext/ice/cpp/src/IceSSL/RFC2253.h +0 -62
  983. data/ext/ice/cpp/src/IceSSL/SChannelCertificateI.cpp +0 -721
  984. data/ext/ice/cpp/src/IceSSL/SChannelEngine.cpp +0 -1283
  985. data/ext/ice/cpp/src/IceSSL/SChannelEngine.h +0 -123
  986. data/ext/ice/cpp/src/IceSSL/SChannelEngineF.h +0 -31
  987. data/ext/ice/cpp/src/IceSSL/SChannelPluginI.cpp +0 -73
  988. data/ext/ice/cpp/src/IceSSL/SChannelTransceiverI.cpp +0 -1174
  989. data/ext/ice/cpp/src/IceSSL/SChannelTransceiverI.h +0 -133
  990. data/ext/ice/cpp/src/IceSSL/SSLEngine.cpp +0 -313
  991. data/ext/ice/cpp/src/IceSSL/SSLEngine.h +0 -100
  992. data/ext/ice/cpp/src/IceSSL/SSLEngineF.h +0 -21
  993. data/ext/ice/cpp/src/IceSSL/SecureTransportCertificateI.cpp +0 -999
  994. data/ext/ice/cpp/src/IceSSL/SecureTransportEngine.cpp +0 -1308
  995. data/ext/ice/cpp/src/IceSSL/SecureTransportEngine.h +0 -59
  996. data/ext/ice/cpp/src/IceSSL/SecureTransportEngineF.h +0 -29
  997. data/ext/ice/cpp/src/IceSSL/SecureTransportPluginI.cpp +0 -75
  998. data/ext/ice/cpp/src/IceSSL/SecureTransportTransceiverI.cpp +0 -719
  999. data/ext/ice/cpp/src/IceSSL/SecureTransportTransceiverI.h +0 -92
  1000. data/ext/ice/cpp/src/IceSSL/SecureTransportUtil.cpp +0 -868
  1001. data/ext/ice/cpp/src/IceSSL/SecureTransportUtil.h +0 -45
  1002. data/ext/ice/cpp/src/IceSSL/TrustManager.cpp +0 -236
  1003. data/ext/ice/cpp/src/IceSSL/TrustManager.h +0 -46
  1004. data/ext/ice/cpp/src/IceSSL/TrustManagerF.h +0 -21
  1005. data/ext/ice/cpp/src/IceSSL/UWPCertificateI.cpp +0 -266
  1006. data/ext/ice/cpp/src/IceSSL/UWPEngine.cpp +0 -338
  1007. data/ext/ice/cpp/src/IceSSL/UWPEngine.h +0 -41
  1008. data/ext/ice/cpp/src/IceSSL/UWPEngineF.h +0 -26
  1009. data/ext/ice/cpp/src/IceSSL/UWPPluginI.cpp +0 -89
  1010. data/ext/ice/cpp/src/IceSSL/UWPTransceiverI.cpp +0 -383
  1011. data/ext/ice/cpp/src/IceSSL/UWPTransceiverI.h +0 -71
  1012. data/ext/ice/cpp/src/IceSSL/Util.cpp +0 -192
  1013. data/ext/ice/cpp/src/IceSSL/Util.h +0 -99
  1014. data/ext/ice/cpp/src/IceUtil/ConsoleUtil.cpp +0 -157
  1015. data/ext/ice/cpp/src/IceUtil/ConvertUTF.cpp +0 -472
  1016. data/ext/ice/cpp/src/IceUtil/ConvertUTF.h +0 -147
  1017. data/ext/ice/cpp/src/IceUtil/CtrlCHandler.cpp +0 -259
  1018. data/ext/ice/cpp/src/IceUtil/FileUtil.cpp +0 -471
  1019. data/ext/ice/cpp/src/IceUtil/InputUtil.cpp +0 -36
  1020. data/ext/ice/cpp/src/IceUtil/MutexProtocol.cpp +0 -19
  1021. data/ext/ice/cpp/src/IceUtil/Options.cpp +0 -1051
  1022. data/ext/ice/cpp/src/IceUtil/OutputUtil.cpp +0 -609
  1023. data/ext/ice/cpp/src/IceUtil/Random.cpp +0 -180
  1024. data/ext/ice/cpp/src/IceUtil/RecMutex.cpp +0 -238
  1025. data/ext/ice/cpp/src/IceUtil/Shared.cpp +0 -71
  1026. data/ext/ice/cpp/src/IceUtil/StringConverter.cpp +0 -690
  1027. data/ext/ice/cpp/src/IceUtil/StringUtil.cpp +0 -1135
  1028. data/ext/ice/cpp/src/IceUtil/ThreadException.cpp +0 -130
  1029. data/ext/ice/cpp/src/IceUtil/Time.cpp +0 -307
  1030. data/ext/ice/cpp/src/IceUtil/UUID.cpp +0 -165
  1031. data/ext/ice/cpp/src/IceUtil/Unicode.cpp +0 -183
  1032. data/ext/ice/cpp/src/IceUtil/Unicode.h +0 -43
  1033. data/ext/ice/cpp/src/IceUtil/UtilException.cpp +0 -839
  1034. data/ext/ice/cpp/src/Slice/CPlusPlusUtil.cpp +0 -1810
  1035. data/ext/ice/cpp/src/Slice/CPlusPlusUtil.h +0 -72
  1036. data/ext/ice/cpp/src/Slice/Checksum.cpp +0 -447
  1037. data/ext/ice/cpp/src/Slice/Checksum.h +0 -21
  1038. data/ext/ice/cpp/src/Slice/FileTracker.cpp +0 -146
  1039. data/ext/ice/cpp/src/Slice/FileTracker.h +0 -66
  1040. data/ext/ice/cpp/src/Slice/Grammar.cpp +0 -4793
  1041. data/ext/ice/cpp/src/Slice/Grammar.h +0 -118
  1042. data/ext/ice/cpp/src/Slice/GrammarUtil.h +0 -228
  1043. data/ext/ice/cpp/src/Slice/JavaUtil.cpp +0 -5176
  1044. data/ext/ice/cpp/src/Slice/JavaUtil.h +0 -407
  1045. data/ext/ice/cpp/src/Slice/MD5.cpp +0 -52
  1046. data/ext/ice/cpp/src/Slice/MD5.h +0 -39
  1047. data/ext/ice/cpp/src/Slice/MD5I.cpp +0 -393
  1048. data/ext/ice/cpp/src/Slice/MD5I.h +0 -91
  1049. data/ext/ice/cpp/src/Slice/PHPUtil.cpp +0 -157
  1050. data/ext/ice/cpp/src/Slice/PHPUtil.h +0 -36
  1051. data/ext/ice/cpp/src/Slice/Parser.cpp +0 -7058
  1052. data/ext/ice/cpp/src/Slice/Parser.h +0 -1174
  1053. data/ext/ice/cpp/src/Slice/Preprocessor.cpp +0 -797
  1054. data/ext/ice/cpp/src/Slice/Preprocessor.h +0 -60
  1055. data/ext/ice/cpp/src/Slice/Python.cpp +0 -830
  1056. data/ext/ice/cpp/src/Slice/PythonUtil.cpp +0 -3439
  1057. data/ext/ice/cpp/src/Slice/PythonUtil.h +0 -70
  1058. data/ext/ice/cpp/src/Slice/Ruby.cpp +0 -350
  1059. data/ext/ice/cpp/src/Slice/RubyUtil.cpp +0 -1571
  1060. data/ext/ice/cpp/src/Slice/RubyUtil.h +0 -49
  1061. data/ext/ice/cpp/src/Slice/Scanner.cpp +0 -2807
  1062. data/ext/ice/cpp/src/Slice/SliceUtil.cpp +0 -424
  1063. data/ext/ice/cpp/src/Slice/StringLiteralUtil.cpp +0 -456
  1064. data/ext/ice/cpp/src/Slice/Util.h +0 -50
  1065. data/ext/ice/mcpp/CMakeLists.txt +0 -80
  1066. data/ext/ice/mcpp/LICENSE +0 -29
  1067. data/ext/ice/mcpp/Makefile +0 -63
  1068. data/ext/ice/mcpp/README.md +0 -32
  1069. data/ext/ice/mcpp/internal.H +0 -530
  1070. data/ext/ice/mcpp/mcpp.gyp +0 -88
  1071. data/ext/ice/mcpp/system.c +0 -2737
  1072. data/lib/Glacier2/Metrics.rb +0 -56
  1073. data/lib/Glacier2/PermissionsVerifier.rb +0 -93
  1074. data/lib/Glacier2/PermissionsVerifierF.rb +0 -30
  1075. data/lib/Glacier2/Router.rb +0 -95
  1076. data/lib/Glacier2/RouterF.rb +0 -25
  1077. data/lib/Glacier2/SSLInfo.rb +0 -72
  1078. data/lib/Glacier2/Session.rb +0 -247
  1079. data/lib/Glacier2.rb +0 -7
  1080. data/lib/Ice/BuiltinSequences.rb +0 -60
  1081. data/lib/Ice/Communicator.rb +0 -87
  1082. data/lib/Ice/CommunicatorF.rb +0 -24
  1083. data/lib/Ice/Connection.rb +0 -413
  1084. data/lib/Ice/ConnectionF.rb +0 -32
  1085. data/lib/Ice/Current.rb +0 -141
  1086. data/lib/Ice/Endpoint.rb +0 -187
  1087. data/lib/Ice/EndpointF.rb +0 -48
  1088. data/lib/Ice/EndpointTypes.rb +0 -69
  1089. data/lib/Ice/FacetMap.rb +0 -24
  1090. data/lib/Ice/Identity.rb +0 -63
  1091. data/lib/Ice/ImplicitContext.rb +0 -26
  1092. data/lib/Ice/ImplicitContextF.rb +0 -24
  1093. data/lib/Ice/Instrumentation.rb +0 -169
  1094. data/lib/Ice/InstrumentationF.rb +0 -31
  1095. data/lib/Ice/LocalException.rb +0 -1031
  1096. data/lib/Ice/Locator.rb +0 -196
  1097. data/lib/Ice/LocatorF.rb +0 -30
  1098. data/lib/Ice/Logger.rb +0 -24
  1099. data/lib/Ice/LoggerF.rb +0 -24
  1100. data/lib/Ice/Metrics.rb +0 -337
  1101. data/lib/Ice/ObjectAdapter.rb +0 -29
  1102. data/lib/Ice/ObjectAdapterF.rb +0 -24
  1103. data/lib/Ice/ObjectFactory.rb +0 -24
  1104. data/lib/Ice/Plugin.rb +0 -30
  1105. data/lib/Ice/PluginF.rb +0 -28
  1106. data/lib/Ice/Process.rb +0 -53
  1107. data/lib/Ice/ProcessF.rb +0 -25
  1108. data/lib/Ice/Properties.rb +0 -25
  1109. data/lib/Ice/PropertiesAdmin.rb +0 -63
  1110. data/lib/Ice/PropertiesF.rb +0 -29
  1111. data/lib/Ice/RemoteLogger.rb +0 -207
  1112. data/lib/Ice/Router.rb +0 -87
  1113. data/lib/Ice/RouterF.rb +0 -25
  1114. data/lib/Ice/ServantLocator.rb +0 -26
  1115. data/lib/Ice/ServantLocatorF.rb +0 -24
  1116. data/lib/Ice/SliceChecksumDict.rb +0 -24
  1117. data/lib/Ice/ValueFactory.rb +0 -28
  1118. data/lib/Ice/Version.rb +0 -90
  1119. data/lib/Ice.rb +0 -673
  1120. data/lib/IceBox/IceBox.rb +0 -164
  1121. data/lib/IceBox.rb +0 -5
  1122. data/lib/IceGrid/Admin.rb +0 -1196
  1123. data/lib/IceGrid/Descriptor.rb +0 -1034
  1124. data/lib/IceGrid/Exception.rb +0 -376
  1125. data/lib/IceGrid/FileParser.rb +0 -65
  1126. data/lib/IceGrid/PluginFacade.rb +0 -35
  1127. data/lib/IceGrid/Registry.rb +0 -209
  1128. data/lib/IceGrid/Session.rb +0 -71
  1129. data/lib/IceGrid/UserAccountMapper.rb +0 -61
  1130. data/lib/IceGrid.rb +0 -9
  1131. data/lib/IcePatch2/FileInfo.rb +0 -115
  1132. data/lib/IcePatch2/FileServer.rb +0 -123
  1133. data/lib/IcePatch2.rb +0 -5
  1134. data/lib/IceStorm/IceStorm.rb +0 -332
  1135. data/lib/IceStorm/Metrics.rb +0 -73
  1136. data/lib/IceStorm.rb +0 -6
  1137. data/slice/Glacier2/Metrics.ice +0 -88
  1138. data/slice/Glacier2/PermissionsVerifier.ice +0 -111
  1139. data/slice/Glacier2/PermissionsVerifierF.ice +0 -30
  1140. data/slice/Glacier2/Router.ice +0 -186
  1141. data/slice/Glacier2/RouterF.ice +0 -29
  1142. data/slice/Glacier2/SSLInfo.ice +0 -59
  1143. data/slice/Glacier2/Session.ice +0 -274
  1144. data/slice/Ice/BuiltinSequences.ice +0 -59
  1145. data/slice/Ice/Communicator.ice +0 -676
  1146. data/slice/Ice/CommunicatorF.ice +0 -31
  1147. data/slice/Ice/Connection.ice +0 -516
  1148. data/slice/Ice/ConnectionF.ice +0 -33
  1149. data/slice/Ice/Current.ice +0 -170
  1150. data/slice/Ice/Endpoint.ice +0 -291
  1151. data/slice/Ice/EndpointF.ice +0 -43
  1152. data/slice/Ice/EndpointTypes.ice +0 -48
  1153. data/slice/Ice/FacetMap.ice +0 -36
  1154. data/slice/Ice/Identity.ice +0 -75
  1155. data/slice/Ice/ImplicitContext.ice +0 -119
  1156. data/slice/Ice/ImplicitContextF.ice +0 -30
  1157. data/slice/Ice/Instrumentation.ice +0 -509
  1158. data/slice/Ice/InstrumentationF.ice +0 -38
  1159. data/slice/Ice/LocalException.ice +0 -1040
  1160. data/slice/Ice/Locator.ice +0 -239
  1161. data/slice/Ice/LocatorF.ice +0 -32
  1162. data/slice/Ice/Logger.ice +0 -99
  1163. data/slice/Ice/LoggerF.ice +0 -31
  1164. data/slice/Ice/Metrics.ice +0 -436
  1165. data/slice/Ice/ObjectAdapter.ice +0 -710
  1166. data/slice/Ice/ObjectAdapterF.ice +0 -31
  1167. data/slice/Ice/ObjectFactory.ice +0 -71
  1168. data/slice/Ice/Plugin.ice +0 -131
  1169. data/slice/Ice/PluginF.ice +0 -36
  1170. data/slice/Ice/Process.ice +0 -64
  1171. data/slice/Ice/ProcessF.ice +0 -31
  1172. data/slice/Ice/Properties.ice +0 -244
  1173. data/slice/Ice/PropertiesAdmin.ice +0 -87
  1174. data/slice/Ice/PropertiesF.ice +0 -32
  1175. data/slice/Ice/RemoteLogger.ice +0 -226
  1176. data/slice/Ice/Router.ice +0 -103
  1177. data/slice/Ice/RouterF.ice +0 -31
  1178. data/slice/Ice/ServantLocator.ice +0 -136
  1179. data/slice/Ice/ServantLocatorF.ice +0 -31
  1180. data/slice/Ice/SliceChecksumDict.ice +0 -36
  1181. data/slice/Ice/ValueFactory.ice +0 -133
  1182. data/slice/Ice/Version.ice +0 -51
  1183. data/slice/IceBT/ConnectionInfo.ice +0 -59
  1184. data/slice/IceBT/EndpointInfo.ice +0 -57
  1185. data/slice/IceBT/Types.ice +0 -45
  1186. data/slice/IceBox/IceBox.ice +0 -216
  1187. data/slice/IceDiscovery/IceDiscovery.ice +0 -98
  1188. data/slice/IceGrid/Admin.ice +0 -1957
  1189. data/slice/IceGrid/Descriptor.ice +0 -1094
  1190. data/slice/IceGrid/Exception.ice +0 -396
  1191. data/slice/IceGrid/FileParser.ice +0 -72
  1192. data/slice/IceGrid/PluginFacade.ice +0 -329
  1193. data/slice/IceGrid/Registry.ice +0 -269
  1194. data/slice/IceGrid/Session.ice +0 -128
  1195. data/slice/IceGrid/UserAccountMapper.ice +0 -69
  1196. data/slice/IceIAP/ConnectionInfo.ice +0 -74
  1197. data/slice/IceIAP/EndpointInfo.ice +0 -68
  1198. data/slice/IceLocatorDiscovery/IceLocatorDiscovery.ice +0 -83
  1199. data/slice/IcePatch2/FileInfo.ice +0 -85
  1200. data/slice/IcePatch2/FileServer.ice +0 -191
  1201. data/slice/IceSSL/ConnectionInfo.ice +0 -54
  1202. data/slice/IceSSL/ConnectionInfoF.ice +0 -31
  1203. data/slice/IceSSL/EndpointInfo.ice +0 -45
  1204. data/slice/IceStorm/IceStorm.ice +0 -414
  1205. data/slice/IceStorm/Metrics.ice +0 -83
  1206. /data/{ext → dist}/ice/mcpp/config.h +0 -0
  1207. /data/{ext → dist}/ice/mcpp/configed.H +0 -0
  1208. /data/{ext → dist}/ice/mcpp/directive.c +0 -0
  1209. /data/{ext → dist}/ice/mcpp/eval.c +0 -0
  1210. /data/{ext → dist}/ice/mcpp/expand.c +0 -0
  1211. /data/{ext → dist}/ice/mcpp/mbchar.c +0 -0
  1212. /data/{ext → dist}/ice/mcpp/mcpp_lib.h +0 -0
  1213. /data/{ext/ice/mcpp/main.c → dist/ice/mcpp/mcpp_main.c} +0 -0
  1214. /data/{ext → dist}/ice/mcpp/mcpp_out.h +0 -0
  1215. /data/{ext → dist}/ice/mcpp/support.c +0 -0
  1216. /data/{ext → dist}/ice/mcpp/system.H +0 -0
@@ -0,0 +1,1454 @@
1
+ // Copyright (c) ZeroC, Inc.
2
+
3
+ #include "Ice/OutputStream.h"
4
+ #include "DefaultsAndOverrides.h"
5
+ #include "Endian.h"
6
+ #include "Ice/LocalExceptions.h"
7
+ #include "Ice/LoggerUtil.h"
8
+ #include "Ice/Object.h"
9
+ #include "Ice/Proxy.h"
10
+ #include "Ice/SlicedData.h"
11
+ #include "Ice/StringConverter.h"
12
+ #include "Instance.h"
13
+ #include "TraceUtil.h"
14
+
15
+ #include <iterator>
16
+
17
+ using namespace std;
18
+ using namespace Ice;
19
+ using namespace IceInternal;
20
+
21
+ namespace
22
+ {
23
+ class StreamUTF8BufferI final : public Ice::UTF8Buffer
24
+ {
25
+ public:
26
+ StreamUTF8BufferI(OutputStream& stream) : _stream(stream) {}
27
+
28
+ byte* getMoreBytes(size_t howMany, byte* firstUnused) final
29
+ {
30
+ assert(howMany > 0);
31
+
32
+ if (firstUnused)
33
+ {
34
+ //
35
+ // Return unused bytes
36
+ //
37
+ _stream.resize(static_cast<size_t>(firstUnused - _stream.b.begin()));
38
+ }
39
+
40
+ //
41
+ // Index of first unused byte
42
+ //
43
+ Buffer::Container::size_type pos = _stream.b.size();
44
+
45
+ //
46
+ // Since resize may reallocate the buffer, when firstUnused != 0, the
47
+ // return value can be != firstUnused
48
+ //
49
+ _stream.resize(pos + howMany);
50
+
51
+ return &_stream.b[pos];
52
+ }
53
+
54
+ private:
55
+ OutputStream& _stream;
56
+ };
57
+ }
58
+
59
+ Ice::OutputStream::OutputStream(
60
+ EncodingVersion encoding,
61
+ FormatType format,
62
+ StringConverterPtr stringConverter,
63
+ WstringConverterPtr wstringConverter)
64
+ : _stringConverter(std::move(stringConverter)),
65
+ _wstringConverter(std::move(wstringConverter)),
66
+ _closure(nullptr),
67
+ _encoding(encoding),
68
+ _format(format),
69
+ _currentEncaps(nullptr)
70
+ {
71
+ }
72
+
73
+ Ice::OutputStream::OutputStream(
74
+ pair<const byte*, const byte*> buf,
75
+ EncodingVersion encoding,
76
+ FormatType format,
77
+ StringConverterPtr stringConverter,
78
+ WstringConverterPtr wstringConverter)
79
+ : Buffer(buf.first, buf.second),
80
+ _stringConverter(std::move(stringConverter)),
81
+ _wstringConverter(std::move(wstringConverter)),
82
+ _closure(nullptr),
83
+ _encoding(encoding),
84
+ _format(format),
85
+ _currentEncaps(nullptr)
86
+ {
87
+ b.reset();
88
+ }
89
+
90
+ Ice::OutputStream::OutputStream(const CommunicatorPtr& communicator, EncodingVersion encoding)
91
+ : OutputStream(getInstance(communicator).get(), encoding)
92
+ {
93
+ }
94
+
95
+ Ice::OutputStream::OutputStream(const CommunicatorPtr& communicator)
96
+ : OutputStream(communicator, getInstance(communicator)->defaultsAndOverrides()->defaultEncoding)
97
+ {
98
+ }
99
+
100
+ Ice::OutputStream::OutputStream(Instance* instance, EncodingVersion encoding)
101
+ : OutputStream(
102
+ encoding,
103
+ instance->defaultsAndOverrides()->defaultFormat,
104
+ instance->getStringConverter(),
105
+ instance->getWstringConverter())
106
+ {
107
+ }
108
+
109
+ Ice::OutputStream::OutputStream(OutputStream&& other) noexcept
110
+ : Buffer(std::move(other)),
111
+ _stringConverter(std::move(other._stringConverter)),
112
+ _wstringConverter(std::move(other._wstringConverter)),
113
+ _closure(other._closure),
114
+ _encoding(other._encoding),
115
+ _format(other._format),
116
+ _currentEncaps(other._currentEncaps)
117
+ {
118
+ // Reset other to its default state.
119
+ other._closure = nullptr;
120
+ other._encoding = Encoding_1_1;
121
+ other._format = FormatType::CompactFormat;
122
+ other._currentEncaps = nullptr;
123
+ other._preAllocatedEncaps.reset();
124
+
125
+ // Reset in the unusual case where other held a "failed" encapsulation.
126
+ resetEncapsulation();
127
+ }
128
+
129
+ Ice::OutputStream&
130
+ Ice::OutputStream::operator=(OutputStream&& other) noexcept
131
+ {
132
+ if (this != &other)
133
+ {
134
+ Buffer::operator=(std::move(other));
135
+ _stringConverter = std::move(other._stringConverter);
136
+ _wstringConverter = std::move(other._wstringConverter);
137
+ _closure = other._closure;
138
+ _encoding = other._encoding;
139
+ _format = other._format;
140
+ _currentEncaps = other._currentEncaps;
141
+
142
+ // Reset other to its default state.
143
+ other._closure = nullptr;
144
+ other._encoding = Encoding_1_1;
145
+ other._format = FormatType::CompactFormat;
146
+ other._currentEncaps = nullptr;
147
+ other._preAllocatedEncaps.reset();
148
+
149
+ // Reset in the unusual case where other held a "failed" encapsulation.
150
+ resetEncapsulation();
151
+ }
152
+ return *this;
153
+ }
154
+
155
+ void
156
+ Ice::OutputStream::clear()
157
+ {
158
+ while (_currentEncaps && _currentEncaps != &_preAllocatedEncaps)
159
+ {
160
+ Encaps* oldEncaps = _currentEncaps;
161
+ _currentEncaps = _currentEncaps->previous;
162
+ delete oldEncaps;
163
+ }
164
+ }
165
+
166
+ void*
167
+ Ice::OutputStream::getClosure() const
168
+ {
169
+ return _closure;
170
+ }
171
+
172
+ void*
173
+ Ice::OutputStream::setClosure(void* p)
174
+ {
175
+ void* prev = _closure;
176
+ _closure = p;
177
+ return prev;
178
+ }
179
+
180
+ void
181
+ Ice::OutputStream::swap(OutputStream& other) noexcept
182
+ {
183
+ swapBuffer(other);
184
+
185
+ std::swap(_stringConverter, other._stringConverter);
186
+ std::swap(_wstringConverter, other._wstringConverter);
187
+ std::swap(_closure, other._closure);
188
+ std::swap(_encoding, other._encoding);
189
+ std::swap(_format, other._format);
190
+
191
+ //
192
+ // Swap is never called for streams that have encapsulations being written. However,
193
+ // encapsulations might still be set in case marshaling failed. We just
194
+ // reset the encapsulations if there are still some set.
195
+ //
196
+ resetEncapsulation();
197
+ other.resetEncapsulation();
198
+ }
199
+
200
+ void
201
+ Ice::OutputStream::resetEncapsulation()
202
+ {
203
+ while (_currentEncaps && _currentEncaps != &_preAllocatedEncaps)
204
+ {
205
+ Encaps* oldEncaps = _currentEncaps;
206
+ _currentEncaps = _currentEncaps->previous;
207
+ delete oldEncaps;
208
+ }
209
+
210
+ _preAllocatedEncaps.reset();
211
+ }
212
+
213
+ void
214
+ Ice::OutputStream::startEncapsulation()
215
+ {
216
+ //
217
+ // If no encoding version is specified, use the current write
218
+ // encapsulation encoding version if there's a current write
219
+ // encapsulation, otherwise, use the stream encoding version.
220
+ //
221
+
222
+ if (_currentEncaps)
223
+ {
224
+ startEncapsulation(_currentEncaps->encoding, _currentEncaps->format);
225
+ }
226
+ else
227
+ {
228
+ startEncapsulation(_encoding, nullopt);
229
+ }
230
+ }
231
+
232
+ void
233
+ Ice::OutputStream::startEncapsulation(const EncodingVersion& encoding, std::optional<FormatType> format)
234
+ {
235
+ IceInternal::checkSupportedEncoding(encoding);
236
+
237
+ Encaps* oldEncaps = _currentEncaps;
238
+ if (!oldEncaps) // First allocated encaps?
239
+ {
240
+ _currentEncaps = &_preAllocatedEncaps;
241
+ }
242
+ else
243
+ {
244
+ _currentEncaps = new Encaps();
245
+ _currentEncaps->previous = oldEncaps;
246
+ }
247
+ _currentEncaps->format = format.value_or(_format);
248
+ _currentEncaps->encoding = encoding;
249
+ _currentEncaps->start = b.size();
250
+
251
+ write(std::int32_t(0)); // Placeholder for the encapsulation length.
252
+ write(_currentEncaps->encoding);
253
+ }
254
+
255
+ void
256
+ Ice::OutputStream::endEncapsulation()
257
+ {
258
+ assert(_currentEncaps);
259
+
260
+ // Size includes size and version.
261
+ auto sz = static_cast<std::int32_t>(b.size() - _currentEncaps->start);
262
+ write(sz, &(*(b.begin() + _currentEncaps->start)));
263
+
264
+ Encaps* oldEncaps = _currentEncaps;
265
+ _currentEncaps = _currentEncaps->previous;
266
+ if (oldEncaps == &_preAllocatedEncaps)
267
+ {
268
+ oldEncaps->reset();
269
+ }
270
+ else
271
+ {
272
+ delete oldEncaps;
273
+ }
274
+ }
275
+
276
+ void
277
+ Ice::OutputStream::writeEmptyEncapsulation(const EncodingVersion& encoding)
278
+ {
279
+ IceInternal::checkSupportedEncoding(encoding);
280
+ write(std::int32_t(6)); // Size
281
+ write(encoding);
282
+ }
283
+
284
+ void
285
+ Ice::OutputStream::writeEncapsulation(const byte* v, int32_t sz)
286
+ {
287
+ if (sz < 6)
288
+ {
289
+ throw MarshalException{
290
+ __FILE__,
291
+ __LINE__,
292
+ "the provided array does not have enough bytes for an encapsulation"};
293
+ }
294
+
295
+ Container::size_type position = b.size();
296
+ resize(position + static_cast<size_t>(sz));
297
+ memcpy(&b[position], &v[0], static_cast<size_t>(sz));
298
+ }
299
+
300
+ void
301
+ Ice::OutputStream::writePendingValues()
302
+ {
303
+ if (_currentEncaps && _currentEncaps->encoder)
304
+ {
305
+ _currentEncaps->encoder->writePendingValues();
306
+ }
307
+ else if (getEncoding() == Ice::Encoding_1_0)
308
+ {
309
+ //
310
+ // If using the 1.0 encoding and no instances were written, we
311
+ // still write an empty sequence for pending instances if
312
+ // requested (i.e.: if this is called).
313
+ //
314
+ // This is required by the 1.0 encoding, even if no instances
315
+ // are written we do marshal an empty sequence if marshaled
316
+ // data types use classes.
317
+ //
318
+ writeSize(0);
319
+ }
320
+ }
321
+
322
+ void
323
+ Ice::OutputStream::writeBlob(const vector<byte>& v)
324
+ {
325
+ if (!v.empty())
326
+ {
327
+ Container::size_type pos = b.size();
328
+ resize(pos + v.size());
329
+ memcpy(&b[pos], &v[0], v.size());
330
+ }
331
+ }
332
+
333
+ void
334
+ Ice::OutputStream::write(const byte* begin, const byte* end)
335
+ {
336
+ auto sz = static_cast<int32_t>(end - begin);
337
+ writeSize(sz);
338
+ if (sz > 0)
339
+ {
340
+ Container::size_type pos = b.size();
341
+ resize(pos + static_cast<size_t>(sz));
342
+ memcpy(&b[pos], begin, static_cast<size_t>(sz));
343
+ }
344
+ }
345
+
346
+ void
347
+ Ice::OutputStream::write(const uint8_t* begin, const uint8_t* end)
348
+ {
349
+ auto sz = static_cast<int32_t>(end - begin);
350
+ writeSize(sz);
351
+ if (sz > 0)
352
+ {
353
+ Container::size_type pos = b.size();
354
+ resize(pos + static_cast<size_t>(sz));
355
+ memcpy(&b[pos], begin, static_cast<size_t>(sz));
356
+ }
357
+ }
358
+
359
+ void
360
+ Ice::OutputStream::write(const vector<bool>& v)
361
+ {
362
+ auto sz = static_cast<int32_t>(v.size());
363
+ writeSize(sz);
364
+ if (sz > 0)
365
+ {
366
+ Container::size_type pos = b.size();
367
+ resize(pos + static_cast<size_t>(sz));
368
+ copy(v.begin(), v.end(), reinterpret_cast<uint8_t*>(b.begin()) + pos);
369
+ }
370
+ }
371
+
372
+ namespace
373
+ {
374
+ template<size_t boolSize> struct WriteBoolHelper
375
+ {
376
+ static void
377
+ write(const bool* begin, OutputStream::Container::size_type pos, OutputStream::Container& b, int32_t sz)
378
+ {
379
+ for (size_t idx = 0; idx < static_cast<size_t>(sz); ++idx)
380
+ {
381
+ b[pos + idx] = static_cast<std::byte>(*(begin + idx));
382
+ }
383
+ }
384
+ };
385
+
386
+ template<> struct WriteBoolHelper<1>
387
+ {
388
+ static void
389
+ write(const bool* begin, OutputStream::Container::size_type pos, OutputStream::Container& b, int32_t sz)
390
+ {
391
+ memcpy(&b[pos], begin, static_cast<size_t>(sz));
392
+ }
393
+ };
394
+ }
395
+
396
+ void
397
+ Ice::OutputStream::write(const bool* begin, const bool* end)
398
+ {
399
+ auto sz = static_cast<int32_t>(end - begin);
400
+ writeSize(sz);
401
+ if (sz > 0)
402
+ {
403
+ Container::size_type pos = b.size();
404
+ resize(pos + static_cast<size_t>(sz));
405
+ WriteBoolHelper<sizeof(bool)>::write(begin, pos, b, sz);
406
+ }
407
+ }
408
+
409
+ void
410
+ Ice::OutputStream::write(int16_t v)
411
+ {
412
+ Container::size_type pos = b.size();
413
+ resize(pos + sizeof(int16_t));
414
+ byte* dest = &b[pos];
415
+ if constexpr (endian::native == endian::big)
416
+ {
417
+ const byte* src = reinterpret_cast<const byte*>(&v) + sizeof(int16_t) - 1;
418
+ *dest++ = *src--;
419
+ *dest = *src;
420
+ }
421
+ else
422
+ {
423
+ const byte* src = reinterpret_cast<const byte*>(&v);
424
+ *dest++ = *src++;
425
+ *dest = *src;
426
+ }
427
+ }
428
+
429
+ void
430
+ Ice::OutputStream::write(const int16_t* begin, const int16_t* end)
431
+ {
432
+ auto sz = static_cast<int32_t>(end - begin);
433
+ writeSize(sz);
434
+ if (sz > 0)
435
+ {
436
+ Container::size_type pos = b.size();
437
+ resize(pos + static_cast<size_t>(sz) * sizeof(int16_t));
438
+ if constexpr (endian::native == endian::big)
439
+ {
440
+ const byte* src = reinterpret_cast<const byte*>(begin) + sizeof(int16_t) - 1;
441
+ byte* dest = &(*(b.begin() + pos));
442
+ for (int j = 0; j < sz; ++j)
443
+ {
444
+ *dest++ = *src--;
445
+ *dest++ = *src--;
446
+ src += 2 * sizeof(int16_t);
447
+ }
448
+ }
449
+ else
450
+ {
451
+ memcpy(&b[pos], reinterpret_cast<const byte*>(begin), static_cast<size_t>(sz) * sizeof(int16_t));
452
+ }
453
+ }
454
+ }
455
+
456
+ void
457
+ Ice::OutputStream::write(int32_t v, Container::iterator dest)
458
+ {
459
+ if constexpr (endian::native == endian::big)
460
+ {
461
+ const std::byte* src = reinterpret_cast<const std::byte*>(&v) + sizeof(std::int32_t) - 1;
462
+ *dest++ = *src--;
463
+ *dest++ = *src--;
464
+ *dest++ = *src--;
465
+ *dest = *src;
466
+ }
467
+ else
468
+ {
469
+ auto src = reinterpret_cast<const std::byte*>(&v);
470
+ *dest++ = *src++;
471
+ *dest++ = *src++;
472
+ *dest++ = *src++;
473
+ *dest = *src;
474
+ }
475
+ }
476
+
477
+ void
478
+ Ice::OutputStream::write(const int32_t* begin, const int32_t* end)
479
+ {
480
+ auto sz = static_cast<int32_t>(end - begin);
481
+ writeSize(sz);
482
+ if (sz > 0)
483
+ {
484
+ Container::size_type pos = b.size();
485
+ resize(pos + static_cast<size_t>(sz) * sizeof(int32_t));
486
+ if constexpr (endian::native == endian::big)
487
+ {
488
+ const byte* src = reinterpret_cast<const byte*>(begin) + sizeof(int32_t) - 1;
489
+ byte* dest = &(*(b.begin() + pos));
490
+ for (int j = 0; j < sz; ++j)
491
+ {
492
+ *dest++ = *src--;
493
+ *dest++ = *src--;
494
+ *dest++ = *src--;
495
+ *dest++ = *src--;
496
+ src += 2 * sizeof(int32_t);
497
+ }
498
+ }
499
+ else
500
+ {
501
+ memcpy(&b[pos], reinterpret_cast<const byte*>(begin), static_cast<size_t>(sz) * sizeof(int32_t));
502
+ }
503
+ }
504
+ }
505
+
506
+ void
507
+ Ice::OutputStream::write(int64_t v)
508
+ {
509
+ Container::size_type pos = b.size();
510
+ resize(pos + sizeof(int64_t));
511
+ byte* dest = &b[pos];
512
+ if constexpr (endian::native == endian::big)
513
+ {
514
+ const byte* src = reinterpret_cast<const byte*>(&v) + sizeof(std::int64_t) - 1;
515
+ *dest++ = *src--;
516
+ *dest++ = *src--;
517
+ *dest++ = *src--;
518
+ *dest++ = *src--;
519
+ *dest++ = *src--;
520
+ *dest++ = *src--;
521
+ *dest++ = *src--;
522
+ *dest = *src;
523
+ }
524
+ else
525
+ {
526
+ const byte* src = reinterpret_cast<const byte*>(&v);
527
+ *dest++ = *src++;
528
+ *dest++ = *src++;
529
+ *dest++ = *src++;
530
+ *dest++ = *src++;
531
+ *dest++ = *src++;
532
+ *dest++ = *src++;
533
+ *dest++ = *src++;
534
+ *dest = *src;
535
+ }
536
+ }
537
+
538
+ void
539
+ Ice::OutputStream::write(const int64_t* begin, const int64_t* end)
540
+ {
541
+ auto sz = static_cast<int32_t>(end - begin);
542
+ writeSize(sz);
543
+ if (sz > 0)
544
+ {
545
+ Container::size_type pos = b.size();
546
+ resize(pos + static_cast<size_t>(sz) * sizeof(int64_t));
547
+ if constexpr (endian::native == endian::big)
548
+ {
549
+ const byte* src = reinterpret_cast<const byte*>(begin) + sizeof(int64_t) - 1;
550
+ byte* dest = &(*(b.begin() + pos));
551
+ for (int j = 0; j < sz; ++j)
552
+ {
553
+ *dest++ = *src--;
554
+ *dest++ = *src--;
555
+ *dest++ = *src--;
556
+ *dest++ = *src--;
557
+ *dest++ = *src--;
558
+ *dest++ = *src--;
559
+ *dest++ = *src--;
560
+ *dest++ = *src--;
561
+ src += 2 * sizeof(int64_t);
562
+ }
563
+ }
564
+ else
565
+ {
566
+ memcpy(&b[pos], reinterpret_cast<const byte*>(begin), static_cast<size_t>(sz) * sizeof(int64_t));
567
+ }
568
+ }
569
+ }
570
+
571
+ void
572
+ Ice::OutputStream::write(float v)
573
+ {
574
+ Container::size_type pos = b.size();
575
+ resize(pos + sizeof(float));
576
+ byte* dest = &b[pos];
577
+ if constexpr (endian::native == endian::big)
578
+ {
579
+ const byte* src = reinterpret_cast<const byte*>(&v) + sizeof(float) - 1;
580
+ *dest++ = *src--;
581
+ *dest++ = *src--;
582
+ *dest++ = *src--;
583
+ *dest = *src;
584
+ }
585
+ else
586
+ {
587
+ const byte* src = reinterpret_cast<const byte*>(&v);
588
+ *dest++ = *src++;
589
+ *dest++ = *src++;
590
+ *dest++ = *src++;
591
+ *dest = *src;
592
+ }
593
+ }
594
+
595
+ void
596
+ Ice::OutputStream::write(const float* begin, const float* end)
597
+ {
598
+ auto sz = static_cast<int32_t>(end - begin);
599
+ writeSize(sz);
600
+ if (sz > 0)
601
+ {
602
+ Container::size_type pos = b.size();
603
+ resize(pos + static_cast<size_t>(sz) * sizeof(float));
604
+ if constexpr (endian::native == endian::big)
605
+ {
606
+ const byte* src = reinterpret_cast<const byte*>(begin) + sizeof(float) - 1;
607
+ byte* dest = &(*(b.begin() + pos));
608
+ for (int j = 0; j < sz; ++j)
609
+ {
610
+ *dest++ = *src--;
611
+ *dest++ = *src--;
612
+ *dest++ = *src--;
613
+ *dest++ = *src--;
614
+ src += 2 * sizeof(float);
615
+ }
616
+ }
617
+ else
618
+ {
619
+ memcpy(&b[pos], reinterpret_cast<const byte*>(begin), static_cast<size_t>(sz) * sizeof(float));
620
+ }
621
+ }
622
+ }
623
+
624
+ void
625
+ Ice::OutputStream::write(double v)
626
+ {
627
+ Container::size_type pos = b.size();
628
+ resize(pos + sizeof(double));
629
+ byte* dest = &b[pos];
630
+ if constexpr (endian::native == endian::big)
631
+ {
632
+ const byte* src = reinterpret_cast<const byte*>(&v) + sizeof(double) - 1;
633
+ *dest++ = *src--;
634
+ *dest++ = *src--;
635
+ *dest++ = *src--;
636
+ *dest++ = *src--;
637
+ *dest++ = *src--;
638
+ *dest++ = *src--;
639
+ *dest++ = *src--;
640
+ *dest = *src;
641
+ }
642
+ else
643
+ {
644
+ const byte* src = reinterpret_cast<const byte*>(&v);
645
+ *dest++ = *src++;
646
+ *dest++ = *src++;
647
+ *dest++ = *src++;
648
+ *dest++ = *src++;
649
+ *dest++ = *src++;
650
+ *dest++ = *src++;
651
+ *dest++ = *src++;
652
+ *dest = *src;
653
+ }
654
+ }
655
+
656
+ void
657
+ Ice::OutputStream::write(const double* begin, const double* end)
658
+ {
659
+ auto sz = static_cast<int32_t>(end - begin);
660
+ writeSize(sz);
661
+ if (sz > 0)
662
+ {
663
+ Container::size_type pos = b.size();
664
+ resize(pos + static_cast<size_t>(sz) * sizeof(double));
665
+ if constexpr (endian::native == endian::big)
666
+ {
667
+ const byte* src = reinterpret_cast<const byte*>(begin) + sizeof(double) - 1;
668
+ byte* dest = &(*(b.begin() + pos));
669
+ for (int j = 0; j < sz; ++j)
670
+ {
671
+ *dest++ = *src--;
672
+ *dest++ = *src--;
673
+ *dest++ = *src--;
674
+ *dest++ = *src--;
675
+ *dest++ = *src--;
676
+ *dest++ = *src--;
677
+ *dest++ = *src--;
678
+ *dest++ = *src--;
679
+ src += 2 * sizeof(double);
680
+ }
681
+ }
682
+ else
683
+ {
684
+ memcpy(&b[pos], reinterpret_cast<const byte*>(begin), static_cast<size_t>(sz) * sizeof(double));
685
+ }
686
+ }
687
+ }
688
+
689
+ //
690
+ // NOTE: This member function is intentionally omitted in order to
691
+ // cause a link error if it is used. This is for efficiency reasons:
692
+ // writing a const char * requires a traversal of the string to get
693
+ // the string length first, which takes O(n) time, whereas getting the
694
+ // string length from a std::string takes constant time.
695
+ //
696
+ /*
697
+ void
698
+ Ice::OutputStream::write(const char*)
699
+ {
700
+ }
701
+ */
702
+
703
+ void
704
+ Ice::OutputStream::writeConverted(const char* vdata, size_t vsize)
705
+ {
706
+ //
707
+ // What is the size of the resulting UTF-8 encoded string?
708
+ // Impossible to tell, so we guess. If we don't guess correctly,
709
+ // we'll have to fix the mistake afterwards
710
+ //
711
+ try
712
+ {
713
+ auto guessedSize = static_cast<int32_t>(vsize);
714
+ writeSize(guessedSize); // writeSize() only writes the size; it does not reserve any buffer space.
715
+
716
+ size_t firstIndex = b.size();
717
+ StreamUTF8BufferI buffer(*this);
718
+
719
+ byte* lastByte = nullptr;
720
+ bool converted = false;
721
+
722
+ StringConverterPtr stringConverter = _stringConverter;
723
+ if (!stringConverter)
724
+ {
725
+ stringConverter = getProcessStringConverter();
726
+ }
727
+ if (stringConverter)
728
+ {
729
+ lastByte = stringConverter->toUTF8(vdata, vdata + vsize, buffer);
730
+ converted = true;
731
+ }
732
+
733
+ if (!converted)
734
+ {
735
+ Container::size_type position = b.size();
736
+ resize(position + vsize);
737
+ memcpy(&b[position], vdata, vsize);
738
+ return;
739
+ }
740
+
741
+ if (lastByte != b.end())
742
+ {
743
+ resize(static_cast<size_t>(lastByte - b.begin()));
744
+ }
745
+ size_t lastIndex = b.size();
746
+
747
+ auto actualSize = static_cast<int32_t>(lastIndex - firstIndex);
748
+
749
+ //
750
+ // Check against the guess
751
+ //
752
+ if (guessedSize != actualSize)
753
+ {
754
+ if (guessedSize <= 254 && actualSize > 254)
755
+ {
756
+ //
757
+ // Move the UTF-8 sequence 4 bytes further
758
+ // Use memmove instead of memcpy since the source and destination typically overlap.
759
+ //
760
+ resize(b.size() + 4);
761
+ memmove(b.begin() + firstIndex + 4, b.begin() + firstIndex, static_cast<size_t>(actualSize));
762
+ }
763
+ else if (guessedSize > 254 && actualSize <= 254)
764
+ {
765
+ //
766
+ // Move the UTF-8 sequence 4 bytes back
767
+ //
768
+ memmove(b.begin() + firstIndex - 4, b.begin() + firstIndex, static_cast<size_t>(actualSize));
769
+ resize(b.size() - 4);
770
+ }
771
+
772
+ if (guessedSize <= 254)
773
+ {
774
+ rewriteSize(actualSize, b.begin() + firstIndex - 1);
775
+ }
776
+ else
777
+ {
778
+ rewriteSize(actualSize, b.begin() + firstIndex - 1 - 4);
779
+ }
780
+ }
781
+ }
782
+ catch (const Ice::IllegalConversionException& ex)
783
+ {
784
+ throw MarshalException{__FILE__, __LINE__, string{"failed to marshal a string:\n"} + ex.what()};
785
+ }
786
+ }
787
+
788
+ void
789
+ Ice::OutputStream::write(const string* begin, const string* end, bool convert)
790
+ {
791
+ auto sz = static_cast<int32_t>(end - begin);
792
+ writeSize(sz);
793
+ if (sz > 0)
794
+ {
795
+ for (int j = 0; j < sz; ++j)
796
+ {
797
+ write(begin[j], convert);
798
+ }
799
+ }
800
+ }
801
+
802
+ void
803
+ Ice::OutputStream::write(wstring_view v)
804
+ {
805
+ if (v.empty())
806
+ {
807
+ writeSize(0);
808
+ return;
809
+ }
810
+
811
+ //
812
+ // What is the size of the resulting UTF-8 encoded string?
813
+ // Impossible to tell, so we guess. If we don't guess correctly,
814
+ // we'll have to fix the mistake afterwards
815
+ //
816
+ try
817
+ {
818
+ auto guessedSize = static_cast<int32_t>(v.size());
819
+ writeSize(guessedSize); // writeSize() only writes the size; it does not reserve any buffer space.
820
+
821
+ size_t firstIndex = b.size();
822
+ StreamUTF8BufferI buffer(*this);
823
+
824
+ byte* lastByte = nullptr;
825
+
826
+ WstringConverterPtr wstringConverter = _wstringConverter;
827
+ if (!wstringConverter)
828
+ {
829
+ wstringConverter = getProcessWstringConverter();
830
+ }
831
+ assert(wstringConverter); // never null
832
+ lastByte = wstringConverter->toUTF8(v.data(), v.data() + v.size(), buffer);
833
+
834
+ if (lastByte != b.end())
835
+ {
836
+ resize(static_cast<size_t>(lastByte - b.begin()));
837
+ }
838
+ size_t lastIndex = b.size();
839
+
840
+ auto actualSize = static_cast<int32_t>(lastIndex - firstIndex);
841
+
842
+ //
843
+ // Check against the guess
844
+ //
845
+ if (guessedSize != actualSize)
846
+ {
847
+ if (guessedSize <= 254 && actualSize > 254)
848
+ {
849
+ //
850
+ // Move the UTF-8 sequence 4 bytes further
851
+ // Use memmove instead of memcpy since the source and destination typically overlap.
852
+ //
853
+ resize(b.size() + 4);
854
+ memmove(b.begin() + firstIndex + 4, b.begin() + firstIndex, static_cast<size_t>(actualSize));
855
+ }
856
+ else if (guessedSize > 254 && actualSize <= 254)
857
+ {
858
+ //
859
+ // Move the UTF-8 sequence 4 bytes back
860
+ //
861
+ memmove(b.begin() + firstIndex - 4, b.begin() + firstIndex, static_cast<size_t>(actualSize));
862
+ resize(b.size() - 4);
863
+ }
864
+
865
+ if (guessedSize <= 254)
866
+ {
867
+ rewriteSize(actualSize, b.begin() + firstIndex - 1);
868
+ }
869
+ else
870
+ {
871
+ rewriteSize(actualSize, b.begin() + firstIndex - 1 - 4);
872
+ }
873
+ }
874
+ }
875
+ catch (const Ice::IllegalConversionException& ex)
876
+ {
877
+ throw MarshalException{__FILE__, __LINE__, string{"failed to marshal a string:\n"} + ex.what()};
878
+ }
879
+ }
880
+
881
+ void
882
+ Ice::OutputStream::write(const wstring* begin, const wstring* end)
883
+ {
884
+ auto sz = static_cast<int32_t>(end - begin);
885
+ writeSize(sz);
886
+ if (sz > 0)
887
+ {
888
+ for (int j = 0; j < sz; ++j)
889
+ {
890
+ write(begin[j]);
891
+ }
892
+ }
893
+ }
894
+
895
+ void
896
+ Ice::OutputStream::writeProxy(const ObjectPrx& v)
897
+ {
898
+ v->_write(*this);
899
+ }
900
+
901
+ void
902
+ Ice::OutputStream::writeNullProxy()
903
+ {
904
+ Identity ident;
905
+ write(ident);
906
+ }
907
+
908
+ void
909
+ Ice::OutputStream::writeEnum(int32_t v, int32_t maxValue)
910
+ {
911
+ if (getEncoding() == Encoding_1_0)
912
+ {
913
+ if (maxValue < 127)
914
+ {
915
+ write(static_cast<uint8_t>(v));
916
+ }
917
+ else if (maxValue < 32767)
918
+ {
919
+ write(static_cast<int16_t>(v));
920
+ }
921
+ else
922
+ {
923
+ write(v);
924
+ }
925
+ }
926
+ else
927
+ {
928
+ writeSize(v);
929
+ }
930
+ }
931
+
932
+ void
933
+ Ice::OutputStream::writeException(const UserException& e)
934
+ {
935
+ initEncaps();
936
+ // Exceptions are always encoded with the sliced format.
937
+ _currentEncaps->format = FormatType::SlicedFormat;
938
+ _currentEncaps->encoder->write(e);
939
+ }
940
+
941
+ bool
942
+ Ice::OutputStream::writeOptImpl(int32_t tag, OptionalFormat type)
943
+ {
944
+ if (getEncoding() == Encoding_1_0)
945
+ {
946
+ return false; // Optional members aren't supported with the 1.0 encoding.
947
+ }
948
+
949
+ auto v = static_cast<uint8_t>(type);
950
+ if (tag < 30)
951
+ {
952
+ v |= static_cast<uint8_t>(tag << 3);
953
+ write(v);
954
+ }
955
+ else
956
+ {
957
+ v |= 0xF0; // tag = 30
958
+ write(v);
959
+ writeSize(tag);
960
+ }
961
+ return true;
962
+ }
963
+
964
+ void
965
+ Ice::OutputStream::finished(vector<byte>& bytes)
966
+ {
967
+ vector<byte>(b.begin(), b.end()).swap(bytes);
968
+ }
969
+
970
+ pair<const byte*, const byte*>
971
+ Ice::OutputStream::finished()
972
+ {
973
+ if (b.empty())
974
+ {
975
+ return {nullptr, nullptr};
976
+ }
977
+ else
978
+ {
979
+ return {&b[0], &b[0] + b.size()};
980
+ }
981
+ }
982
+
983
+ void
984
+ Ice::OutputStream::initEncaps()
985
+ {
986
+ if (!_currentEncaps) // Lazy initialization.
987
+ {
988
+ _currentEncaps = &_preAllocatedEncaps;
989
+ _currentEncaps->start = b.size();
990
+ _currentEncaps->encoding = _encoding;
991
+ }
992
+
993
+ if (!_currentEncaps->encoder) // Lazy initialization.
994
+ {
995
+ if (_currentEncaps->encoding == Encoding_1_0)
996
+ {
997
+ _currentEncaps->encoder = new EncapsEncoder10(this, _currentEncaps);
998
+ }
999
+ else
1000
+ {
1001
+ _currentEncaps->encoder = new EncapsEncoder11(this, _currentEncaps);
1002
+ }
1003
+ }
1004
+ }
1005
+
1006
+ // Out of line to avoid weak vtable
1007
+ Ice::OutputStream::EncapsEncoder::~EncapsEncoder() = default;
1008
+
1009
+ int32_t
1010
+ Ice::OutputStream::EncapsEncoder::registerTypeId(string_view typeId)
1011
+ {
1012
+ auto p = _typeIdMap.find(typeId);
1013
+ if (p != _typeIdMap.end())
1014
+ {
1015
+ return p->second;
1016
+ }
1017
+ else
1018
+ {
1019
+ _typeIdMap.insert(make_pair(string{typeId}, ++_typeIdIndex));
1020
+ return -1;
1021
+ }
1022
+ }
1023
+
1024
+ void
1025
+ Ice::OutputStream::EncapsEncoder10::write(const shared_ptr<Value>& v)
1026
+ {
1027
+ //
1028
+ // Object references are encoded as a negative integer in 1.0.
1029
+ //
1030
+ if (v)
1031
+ {
1032
+ _stream->write(-registerValue(v));
1033
+ }
1034
+ else
1035
+ {
1036
+ _stream->write(0);
1037
+ }
1038
+ }
1039
+
1040
+ void
1041
+ Ice::OutputStream::EncapsEncoder10::write(const UserException& v)
1042
+ {
1043
+ //
1044
+ // User exception with the 1.0 encoding start with a boolean
1045
+ // flag that indicates whether or not the exception uses
1046
+ // classes.
1047
+ //
1048
+ // This allows reading the pending instances even if some part of
1049
+ // the exception was sliced.
1050
+ //
1051
+ bool usesClasses = v._usesClasses();
1052
+ _stream->write(usesClasses);
1053
+ v._write(_stream);
1054
+ if (usesClasses)
1055
+ {
1056
+ writePendingValues();
1057
+ }
1058
+ }
1059
+
1060
+ void
1061
+ Ice::OutputStream::EncapsEncoder10::startInstance(SliceType sliceType, const SlicedDataPtr&)
1062
+ {
1063
+ _sliceType = sliceType;
1064
+ }
1065
+
1066
+ void
1067
+ Ice::OutputStream::EncapsEncoder10::endInstance()
1068
+ {
1069
+ if (_sliceType == ValueSlice)
1070
+ {
1071
+ //
1072
+ // Write the Object slice.
1073
+ //
1074
+ startSlice(Value::ice_staticId(), -1, true);
1075
+ _stream->writeSize(0); // For compatibility with the old AFM.
1076
+ endSlice();
1077
+ }
1078
+ _sliceType = NoSlice;
1079
+ }
1080
+
1081
+ void
1082
+ Ice::OutputStream::EncapsEncoder10::startSlice(string_view typeId, int, bool /*last*/)
1083
+ {
1084
+ //
1085
+ // For instance slices, encode a boolean to indicate how the type ID
1086
+ // is encoded and the type ID either as a string or index. For
1087
+ // exception slices, always encode the type ID as a string.
1088
+ //
1089
+ if (_sliceType == ValueSlice)
1090
+ {
1091
+ int32_t index = registerTypeId(typeId);
1092
+ if (index < 0)
1093
+ {
1094
+ _stream->write(false);
1095
+ _stream->write(typeId, false);
1096
+ }
1097
+ else
1098
+ {
1099
+ _stream->write(true);
1100
+ _stream->writeSize(index);
1101
+ }
1102
+ }
1103
+ else
1104
+ {
1105
+ _stream->write(typeId, false);
1106
+ }
1107
+
1108
+ _stream->write(int32_t(0)); // Placeholder for the slice length.
1109
+
1110
+ _writeSlice = _stream->b.size();
1111
+ }
1112
+
1113
+ void
1114
+ Ice::OutputStream::EncapsEncoder10::endSlice()
1115
+ {
1116
+ //
1117
+ // Write the slice length.
1118
+ //
1119
+ auto sz = static_cast<int32_t>(_stream->b.size() - _writeSlice + sizeof(int32_t));
1120
+ byte* dest = &(*(_stream->b.begin() + _writeSlice - sizeof(int32_t)));
1121
+ _stream->write(sz, dest);
1122
+ }
1123
+
1124
+ void
1125
+ Ice::OutputStream::EncapsEncoder10::writePendingValues()
1126
+ {
1127
+ while (!_toBeMarshaledMap.empty())
1128
+ {
1129
+ //
1130
+ // Consider the to be marshaled instances as marshaled now,
1131
+ // this is necessary to avoid adding again the "to be
1132
+ // marshaled instances" into _toBeMarshaledMap while writing
1133
+ // instances.
1134
+ //
1135
+ _marshaledMap.insert(_toBeMarshaledMap.begin(), _toBeMarshaledMap.end());
1136
+
1137
+ PtrToIndexMap savedMap;
1138
+ savedMap.swap(_toBeMarshaledMap);
1139
+ _stream->writeSize(static_cast<int32_t>(savedMap.size()));
1140
+ for (const auto& entry : savedMap)
1141
+ {
1142
+ // Ask the instance to marshal itself. Any new class
1143
+ // instances that are triggered by the classes marshaled
1144
+ // are added to toBeMarshaledMap.
1145
+ _stream->write(entry.second);
1146
+
1147
+ entry.first->ice_preMarshal();
1148
+ entry.first->_iceWrite(_stream);
1149
+ }
1150
+ }
1151
+ _stream->writeSize(0); // Zero marker indicates end of sequence of sequences of instances.
1152
+ }
1153
+
1154
+ int32_t
1155
+ Ice::OutputStream::EncapsEncoder10::registerValue(const shared_ptr<Value>& v)
1156
+ {
1157
+ assert(v);
1158
+
1159
+ //
1160
+ // Look for this instance in the to-be-marshaled map.
1161
+ //
1162
+ auto p = _toBeMarshaledMap.find(v);
1163
+ if (p != _toBeMarshaledMap.end())
1164
+ {
1165
+ return p->second;
1166
+ }
1167
+
1168
+ //
1169
+ // Didn't find it, try the marshaled map next.
1170
+ //
1171
+ auto q = _marshaledMap.find(v);
1172
+ if (q != _marshaledMap.end())
1173
+ {
1174
+ return q->second;
1175
+ }
1176
+
1177
+ //
1178
+ // We haven't seen this instance previously, create a new
1179
+ // index, and insert it into the to-be-marshaled map.
1180
+ //
1181
+ _toBeMarshaledMap.insert(make_pair(v, ++_valueIdIndex));
1182
+ return _valueIdIndex;
1183
+ }
1184
+
1185
+ void
1186
+ Ice::OutputStream::EncapsEncoder11::write(const shared_ptr<Value>& v)
1187
+ {
1188
+ if (!v)
1189
+ {
1190
+ _stream->writeSize(0); // Nil reference.
1191
+ }
1192
+ else if (_current && _encaps->format == FormatType::SlicedFormat)
1193
+ {
1194
+ //
1195
+ // If writing an instance within a slice and using the sliced
1196
+ // format, write an index from the instance indirection
1197
+ // table. The indirect instance table is encoded at the end of
1198
+ // each slice and is always read (even if the Slice is
1199
+ // unknown).
1200
+ //
1201
+ auto p = _current->indirectionMap.find(v);
1202
+ if (p == _current->indirectionMap.end())
1203
+ {
1204
+ _current->indirectionTable.push_back(v);
1205
+ auto idx = static_cast<int32_t>(_current->indirectionTable.size()); // Position + 1 (0 is reserved for nil)
1206
+ _current->indirectionMap.insert(make_pair(v, idx));
1207
+ _stream->writeSize(idx);
1208
+ }
1209
+ else
1210
+ {
1211
+ _stream->writeSize(p->second);
1212
+ }
1213
+ }
1214
+ else
1215
+ {
1216
+ writeInstance(v); // Write the instance or a reference if already marshaled.
1217
+ }
1218
+ }
1219
+
1220
+ void
1221
+ Ice::OutputStream::EncapsEncoder11::write(const UserException& v)
1222
+ {
1223
+ v._write(_stream);
1224
+ }
1225
+
1226
+ void
1227
+ Ice::OutputStream::EncapsEncoder11::startInstance(SliceType sliceType, const SlicedDataPtr& data)
1228
+ {
1229
+ if (!_current)
1230
+ {
1231
+ _current = &_preAllocatedInstanceData;
1232
+ }
1233
+ else
1234
+ {
1235
+ _current = _current->next ? _current->next : new InstanceData(_current);
1236
+ }
1237
+ _current->sliceType = sliceType;
1238
+ _current->firstSlice = true;
1239
+
1240
+ if (data)
1241
+ {
1242
+ writeSlicedData(data);
1243
+ }
1244
+ }
1245
+
1246
+ void
1247
+ Ice::OutputStream::EncapsEncoder11::endInstance()
1248
+ {
1249
+ _current = _current->previous;
1250
+ }
1251
+
1252
+ void
1253
+ Ice::OutputStream::EncapsEncoder11::startSlice(string_view typeId, int compactId, bool last)
1254
+ {
1255
+ assert(_current->indirectionTable.empty() && _current->indirectionMap.empty());
1256
+
1257
+ _current->sliceFlagsPos = _stream->b.size();
1258
+
1259
+ _current->sliceFlags = 0;
1260
+ if (_encaps->format == FormatType::SlicedFormat)
1261
+ {
1262
+ _current->sliceFlags |= FLAG_HAS_SLICE_SIZE; // Encode the slice size if using the sliced format.
1263
+ }
1264
+ if (last)
1265
+ {
1266
+ _current->sliceFlags |= FLAG_IS_LAST_SLICE; // This is the last slice.
1267
+ }
1268
+
1269
+ _stream->write(std::uint8_t(0)); // Placeholder for the slice flags
1270
+
1271
+ //
1272
+ // For instance slices, encode the flag and the type ID either as a
1273
+ // string or index. For exception slices, always encode the type
1274
+ // ID a string.
1275
+ //
1276
+ if (_current->sliceType == ValueSlice)
1277
+ {
1278
+ //
1279
+ // Encode the type ID (only in the first slice for the compact
1280
+ // encoding).
1281
+ //
1282
+ if (_encaps->format == FormatType::SlicedFormat || _current->firstSlice)
1283
+ {
1284
+ if (compactId != -1)
1285
+ {
1286
+ _current->sliceFlags |= FLAG_HAS_TYPE_ID_COMPACT;
1287
+ _stream->writeSize(compactId);
1288
+ }
1289
+ else
1290
+ {
1291
+ int32_t index = registerTypeId(typeId);
1292
+ if (index < 0)
1293
+ {
1294
+ _current->sliceFlags |= FLAG_HAS_TYPE_ID_STRING;
1295
+ _stream->write(typeId, false);
1296
+ }
1297
+ else
1298
+ {
1299
+ _current->sliceFlags |= FLAG_HAS_TYPE_ID_INDEX;
1300
+ _stream->writeSize(index);
1301
+ }
1302
+ }
1303
+ }
1304
+ }
1305
+ else
1306
+ {
1307
+ _stream->write(typeId, false);
1308
+ }
1309
+
1310
+ if (_current->sliceFlags & FLAG_HAS_SLICE_SIZE)
1311
+ {
1312
+ _stream->write(int32_t(0)); // Placeholder for the slice length.
1313
+ }
1314
+
1315
+ _current->writeSlice = _stream->b.size();
1316
+ _current->firstSlice = false;
1317
+ }
1318
+
1319
+ void
1320
+ Ice::OutputStream::EncapsEncoder11::endSlice()
1321
+ {
1322
+ //
1323
+ // Write the optional member end marker if some optional members
1324
+ // were encoded. Note that the optional members are encoded before
1325
+ // the indirection table and are included in the slice size.
1326
+ //
1327
+ if (_current->sliceFlags & FLAG_HAS_OPTIONAL_MEMBERS)
1328
+ {
1329
+ _stream->write(OPTIONAL_END_MARKER);
1330
+ }
1331
+
1332
+ //
1333
+ // Write the slice length if necessary.
1334
+ //
1335
+ if (_current->sliceFlags & FLAG_HAS_SLICE_SIZE)
1336
+ {
1337
+ auto sz = static_cast<int32_t>(_stream->b.size() - _current->writeSlice + sizeof(int32_t));
1338
+ byte* dest = &(*(_stream->b.begin() + _current->writeSlice - sizeof(int32_t)));
1339
+ _stream->write(sz, dest);
1340
+ }
1341
+
1342
+ //
1343
+ // Only write the indirection table if it contains entries.
1344
+ //
1345
+ if (!_current->indirectionTable.empty())
1346
+ {
1347
+ assert(_encaps->format == FormatType::SlicedFormat);
1348
+ _current->sliceFlags |= FLAG_HAS_INDIRECTION_TABLE;
1349
+
1350
+ //
1351
+ // Write the indirect instance table.
1352
+ //
1353
+ _stream->writeSize(static_cast<int32_t>(_current->indirectionTable.size()));
1354
+ ValueList::const_iterator p;
1355
+ for (p = _current->indirectionTable.begin(); p != _current->indirectionTable.end(); ++p)
1356
+ {
1357
+ writeInstance(*p);
1358
+ }
1359
+ _current->indirectionTable.clear();
1360
+ _current->indirectionMap.clear();
1361
+ }
1362
+
1363
+ //
1364
+ // Finally, update the slice flags.
1365
+ //
1366
+ byte* dest = &(*(_stream->b.begin() + _current->sliceFlagsPos));
1367
+ *dest = byte{_current->sliceFlags};
1368
+ }
1369
+
1370
+ bool
1371
+ Ice::OutputStream::EncapsEncoder11::writeOptional(int32_t tag, Ice::OptionalFormat format)
1372
+ {
1373
+ if (!_current)
1374
+ {
1375
+ return _stream->writeOptImpl(tag, format);
1376
+ }
1377
+ else
1378
+ {
1379
+ if (_stream->writeOptImpl(tag, format))
1380
+ {
1381
+ _current->sliceFlags |= FLAG_HAS_OPTIONAL_MEMBERS;
1382
+ return true;
1383
+ }
1384
+ else
1385
+ {
1386
+ return false;
1387
+ }
1388
+ }
1389
+ }
1390
+
1391
+ void
1392
+ Ice::OutputStream::EncapsEncoder11::writeSlicedData(const SlicedDataPtr& slicedData)
1393
+ {
1394
+ assert(slicedData);
1395
+
1396
+ //
1397
+ // We only remarshal preserved slices if we are using the sliced
1398
+ // format. Otherwise, we ignore the preserved slices, which
1399
+ // essentially "slices" the instance into the most-derived type
1400
+ // known by the sender.
1401
+ //
1402
+ if (_encaps->format != FormatType::SlicedFormat)
1403
+ {
1404
+ return;
1405
+ }
1406
+
1407
+ for (const auto& slice : slicedData->slices)
1408
+ {
1409
+ startSlice(slice->typeId, slice->compactId, slice->isLastSlice);
1410
+
1411
+ //
1412
+ // Write the bytes associated with this slice.
1413
+ //
1414
+ _stream->writeBlob(slice->bytes);
1415
+
1416
+ if (slice->hasOptionalMembers)
1417
+ {
1418
+ _current->sliceFlags |= FLAG_HAS_OPTIONAL_MEMBERS;
1419
+ }
1420
+
1421
+ //
1422
+ // Make sure to also re-write the instance indirection table.
1423
+ //
1424
+ _current->indirectionTable = slice->instances;
1425
+
1426
+ endSlice();
1427
+ }
1428
+ }
1429
+
1430
+ void
1431
+ Ice::OutputStream::EncapsEncoder11::writeInstance(const shared_ptr<Value>& v)
1432
+ {
1433
+ assert(v);
1434
+
1435
+ //
1436
+ // If the instance was already marshaled, just write it's ID.
1437
+ //
1438
+ auto q = _marshaledMap.find(v);
1439
+ if (q != _marshaledMap.end())
1440
+ {
1441
+ _stream->writeSize(q->second);
1442
+ return;
1443
+ }
1444
+
1445
+ //
1446
+ // We haven't seen this instance previously, create a new ID,
1447
+ // insert it into the marshaled map, and write the instance.
1448
+ //
1449
+ _marshaledMap.insert(make_pair(v, ++_valueIdIndex));
1450
+
1451
+ v->ice_preMarshal();
1452
+ _stream->writeSize(1); // Object instance marker.
1453
+ v->_iceWrite(_stream);
1454
+ }