zeroc-ice 3.7.11 → 3.8.1

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 (895) hide show
  1. checksums.yaml +4 -4
  2. data/dist/IceRuby/Communicator.cpp +159 -376
  3. data/dist/IceRuby/Communicator.h +8 -9
  4. data/dist/IceRuby/Config.h +23 -89
  5. data/dist/IceRuby/Connection.cpp +111 -219
  6. data/dist/IceRuby/Connection.h +8 -12
  7. data/dist/IceRuby/DefaultSliceLoader.cpp +45 -0
  8. data/dist/IceRuby/DefaultSliceLoader.h +25 -0
  9. data/dist/IceRuby/Endpoint.cpp +63 -65
  10. data/dist/IceRuby/Endpoint.h +7 -11
  11. data/dist/IceRuby/ImplicitContext.cpp +26 -31
  12. data/dist/IceRuby/ImplicitContext.h +6 -10
  13. data/dist/IceRuby/Init.cpp +27 -40
  14. data/dist/IceRuby/Logger.cpp +23 -28
  15. data/dist/IceRuby/Logger.h +8 -12
  16. data/dist/IceRuby/Operation.cpp +177 -219
  17. data/dist/IceRuby/Operation.h +15 -18
  18. data/dist/IceRuby/Properties.cpp +133 -89
  19. data/dist/IceRuby/Properties.h +6 -10
  20. data/dist/IceRuby/Proxy.cpp +179 -649
  21. data/dist/IceRuby/Proxy.h +11 -12
  22. data/dist/IceRuby/RubySliceLoader.cpp +39 -0
  23. data/dist/IceRuby/RubySliceLoader.h +27 -0
  24. data/dist/IceRuby/Slice.cpp +88 -94
  25. data/dist/IceRuby/Slice.h +3 -7
  26. data/dist/IceRuby/Types.cpp +987 -1190
  27. data/dist/IceRuby/Types.h +390 -461
  28. data/dist/IceRuby/Util.cpp +214 -473
  29. data/dist/IceRuby/Util.h +378 -479
  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 +4 -10
  33. data/dist/ice/cpp/include/Ice/Buffer.h +116 -111
  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 +46 -62
  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 +6 -28
  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 +46 -151
  48. data/dist/ice/cpp/include/Ice/FacetMap.h +16 -0
  49. data/dist/ice/cpp/include/Ice/Format.h +11 -27
  50. data/dist/ice/cpp/include/Ice/Ice.h +53 -48
  51. data/dist/ice/cpp/include/Ice/IconvStringConverter.h +165 -326
  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 +113 -927
  55. data/dist/ice/cpp/include/Ice/InputStream.h +748 -1320
  56. data/dist/ice/cpp/include/Ice/InstanceF.h +4 -10
  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 +124 -147
  62. data/dist/ice/cpp/include/Ice/MarshaledResult.h +50 -0
  63. data/dist/ice/cpp/include/Ice/NativePropertiesAdmin.h +41 -71
  64. data/dist/ice/cpp/include/Ice/Object.h +151 -490
  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 +5 -19
  68. data/dist/ice/cpp/include/Ice/ObserverHelper.h +115 -132
  69. data/dist/ice/cpp/include/Ice/OutgoingAsync.h +392 -748
  70. data/dist/ice/cpp/include/Ice/OutgoingResponse.h +129 -0
  71. data/dist/ice/cpp/include/Ice/OutputStream.h +756 -956
  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/{IceUtil → Ice}/PopDisableWarnings.h +8 -6
  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 +665 -5094
  78. data/dist/ice/cpp/include/Ice/ProxyF.h +2 -44
  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 +4 -19
  82. data/dist/ice/cpp/include/Ice/RequestHandlerF.h +8 -18
  83. data/dist/ice/cpp/include/Ice/SSL/ClientAuthenticationOptions.h +276 -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 +286 -0
  90. data/dist/ice/cpp/include/Ice/ServantLocator.h +51 -0
  91. data/dist/ice/cpp/include/Ice/Service.h +182 -342
  92. data/dist/ice/cpp/include/Ice/SliceLoader.h +67 -0
  93. data/dist/ice/cpp/include/Ice/SlicedData.h +113 -160
  94. data/dist/ice/cpp/include/Ice/SlicedDataF.h +17 -27
  95. data/dist/ice/cpp/include/Ice/StreamHelpers.h +532 -1070
  96. data/dist/ice/cpp/include/Ice/StreamableTraits.h +291 -0
  97. data/dist/ice/cpp/include/Ice/StringConverter.h +152 -63
  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 +6 -9
  102. data/dist/ice/cpp/include/Ice/UserException.h +46 -0
  103. data/dist/ice/cpp/include/Ice/UserExceptionFactory.h +4 -79
  104. data/dist/ice/cpp/include/Ice/Value.h +103 -115
  105. data/dist/ice/cpp/include/Ice/ValueF.h +6 -11
  106. data/dist/ice/cpp/include/IceDiscovery/IceDiscovery.h +16 -1877
  107. data/dist/ice/cpp/include/IceLocatorDiscovery/IceLocatorDiscovery.h +16 -1185
  108. data/dist/ice/cpp/include/generated/Ice/BuiltinSequences.h +46 -146
  109. data/dist/ice/cpp/include/generated/Ice/Context.h +40 -0
  110. data/dist/ice/cpp/include/generated/Ice/EndpointTypes.h +49 -93
  111. data/dist/ice/cpp/include/generated/Ice/Identity.h +70 -226
  112. data/dist/ice/cpp/include/generated/Ice/Locator.h +494 -3850
  113. data/dist/ice/cpp/include/generated/Ice/LocatorRegistry.h +443 -0
  114. data/dist/ice/cpp/include/generated/Ice/Metrics.h +937 -4603
  115. data/dist/ice/cpp/include/generated/Ice/OperationMode.h +73 -0
  116. data/dist/ice/cpp/include/generated/Ice/Process.h +197 -929
  117. data/dist/ice/cpp/include/generated/Ice/PropertiesAdmin.h +249 -1301
  118. data/dist/ice/cpp/include/generated/Ice/PropertyDict.h +39 -0
  119. data/dist/ice/cpp/include/generated/Ice/RemoteLogger.h +637 -2620
  120. data/dist/ice/cpp/include/generated/Ice/ReplyStatus.h +94 -0
  121. data/dist/ice/cpp/include/generated/Ice/Router.h +429 -1783
  122. data/dist/ice/cpp/include/generated/Ice/SliceChecksumDict.h +18 -65
  123. data/dist/ice/cpp/include/generated/Ice/Version.h +73 -318
  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 +28 -24
  127. data/dist/ice/cpp/src/Ice/AcceptorF.h +6 -14
  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 +17 -18
  132. data/dist/ice/cpp/src/Ice/ArgVector.h +19 -25
  133. data/dist/ice/cpp/src/Ice/Base64.cpp +66 -66
  134. data/dist/ice/cpp/src/Ice/Base64.h +14 -19
  135. data/dist/ice/cpp/src/Ice/BatchRequestQueue.cpp +70 -121
  136. data/dist/ice/cpp/src/Ice/BatchRequestQueue.h +37 -47
  137. data/dist/ice/cpp/src/Ice/Buffer.cpp +73 -41
  138. data/dist/ice/cpp/src/Ice/CheckIdentity.h +21 -0
  139. data/dist/ice/cpp/src/Ice/CollocatedRequestHandler.cpp +215 -249
  140. data/dist/ice/cpp/src/Ice/CollocatedRequestHandler.h +38 -60
  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 +63 -184
  145. data/dist/ice/cpp/src/Ice/ConnectRequestHandler.h +30 -51
  146. data/dist/ice/cpp/src/Ice/ConnectRequestHandlerF.h +4 -14
  147. data/dist/ice/cpp/src/Ice/Connection.cpp +44 -0
  148. data/dist/ice/cpp/src/Ice/ConnectionFactory.cpp +578 -792
  149. data/dist/ice/cpp/src/Ice/ConnectionFactory.h +200 -200
  150. data/dist/ice/cpp/src/Ice/ConnectionFactoryF.h +6 -19
  151. data/dist/ice/cpp/src/Ice/ConnectionI.cpp +1674 -1782
  152. data/dist/ice/cpp/src/Ice/ConnectionI.h +333 -293
  153. data/dist/ice/cpp/src/Ice/ConnectionOptions.h +22 -0
  154. data/dist/ice/cpp/src/Ice/Connector.h +25 -19
  155. data/dist/ice/cpp/src/Ice/ConnectorF.h +4 -11
  156. data/dist/ice/cpp/src/{IceUtil → Ice}/ConsoleUtil.cpp +32 -53
  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 +25 -35
  161. data/dist/ice/cpp/src/Ice/DefaultSliceLoader.cpp +39 -0
  162. data/dist/ice/cpp/src/Ice/DefaultsAndOverrides.cpp +41 -119
  163. data/dist/ice/cpp/src/Ice/DefaultsAndOverrides.h +27 -41
  164. data/dist/ice/cpp/src/Ice/DefaultsAndOverridesF.h +4 -11
  165. data/dist/ice/cpp/src/Ice/Demangle.cpp +26 -0
  166. data/dist/ice/cpp/src/Ice/DisableWarnings.h +31 -0
  167. data/dist/ice/cpp/src/Ice/DynamicLibrary.cpp +44 -112
  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 +35 -59
  171. data/dist/ice/cpp/src/Ice/EndpointFactory.h +82 -103
  172. data/dist/ice/cpp/src/Ice/EndpointFactoryF.h +4 -11
  173. data/dist/ice/cpp/src/Ice/EndpointFactoryManager.cpp +54 -87
  174. data/dist/ice/cpp/src/Ice/EndpointFactoryManager.h +28 -33
  175. data/dist/ice/cpp/src/Ice/EndpointFactoryManagerF.h +4 -11
  176. data/dist/ice/cpp/src/Ice/EndpointI.cpp +53 -23
  177. data/dist/ice/cpp/src/Ice/EndpointI.h +132 -200
  178. data/dist/ice/cpp/src/Ice/EndpointIF.h +11 -39
  179. data/dist/ice/cpp/src/Ice/EventHandler.cpp +3 -26
  180. data/dist/ice/cpp/src/Ice/EventHandler.h +46 -56
  181. data/dist/ice/cpp/src/Ice/EventHandlerF.h +4 -14
  182. data/dist/ice/cpp/src/Ice/Exception.cpp +3 -816
  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 +46 -32
  188. data/dist/ice/cpp/src/Ice/HttpParser.cpp +431 -431
  189. data/dist/ice/cpp/src/Ice/HttpParser.h +95 -100
  190. data/dist/ice/cpp/src/Ice/IPEndpointI.cpp +207 -324
  191. data/dist/ice/cpp/src/Ice/IPEndpointI.h +80 -126
  192. data/dist/ice/cpp/src/Ice/IPEndpointIF.h +6 -17
  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 +48 -542
  198. data/dist/ice/cpp/src/Ice/InputStream.cpp +848 -1385
  199. data/dist/ice/cpp/src/Ice/Instance.cpp +816 -827
  200. data/dist/ice/cpp/src/Ice/Instance.h +202 -212
  201. data/dist/ice/cpp/src/Ice/InstrumentationI.cpp +526 -661
  202. data/dist/ice/cpp/src/Ice/InstrumentationI.h +171 -192
  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 +291 -329
  206. data/dist/ice/cpp/src/Ice/LocatorInfo.h +144 -157
  207. data/dist/ice/cpp/src/Ice/LocatorInfoF.h +8 -17
  208. data/dist/ice/cpp/src/Ice/LoggerAdminI.cpp +561 -743
  209. data/dist/ice/cpp/src/Ice/LoggerAdminI.h +18 -28
  210. data/dist/ice/cpp/src/Ice/LoggerI.cpp +66 -91
  211. data/dist/ice/cpp/src/Ice/LoggerI.h +36 -41
  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 +14 -38
  215. data/dist/ice/cpp/src/Ice/MarshaledResult.cpp +20 -0
  216. data/dist/ice/cpp/src/Ice/MetricsAdminI.cpp +194 -280
  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 +595 -917
  222. data/dist/ice/cpp/src/Ice/Network.h +189 -213
  223. data/dist/ice/cpp/src/Ice/NetworkF.h +2 -10
  224. data/dist/ice/cpp/src/Ice/NetworkProxy.cpp +99 -104
  225. data/dist/ice/cpp/src/Ice/NetworkProxy.h +49 -54
  226. data/dist/ice/cpp/src/Ice/NetworkProxyF.h +4 -11
  227. data/dist/ice/cpp/src/Ice/OSLogLoggerI.cpp +16 -18
  228. data/dist/ice/cpp/src/Ice/OSLogLoggerI.h +22 -27
  229. data/dist/ice/cpp/src/Ice/Object.cpp +152 -338
  230. data/dist/ice/cpp/src/Ice/ObjectAdapterFactory.cpp +170 -113
  231. data/dist/ice/cpp/src/Ice/ObjectAdapterFactory.h +41 -41
  232. data/dist/ice/cpp/src/Ice/ObjectAdapterFactoryF.h +4 -15
  233. data/dist/ice/cpp/src/Ice/ObjectAdapterI.cpp +580 -727
  234. data/dist/ice/cpp/src/Ice/ObjectAdapterI.h +149 -145
  235. data/dist/ice/cpp/src/Ice/ObserverHelper.cpp +36 -17
  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 +147 -187
  239. data/dist/ice/cpp/src/Ice/OpaqueEndpointI.h +56 -64
  240. data/dist/ice/cpp/src/{IceUtil → Ice}/Options.cpp +187 -258
  241. data/dist/ice/cpp/src/Ice/Options.h +119 -0
  242. data/dist/ice/cpp/src/Ice/OutgoingAsync.cpp +516 -732
  243. data/dist/ice/cpp/src/Ice/OutgoingResponse.cpp +276 -0
  244. data/dist/ice/cpp/src/Ice/OutputStream.cpp +610 -543
  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 +118 -277
  248. data/dist/ice/cpp/src/Ice/PluginManagerI.h +41 -48
  249. data/dist/ice/cpp/src/Ice/Properties.cpp +931 -0
  250. data/dist/ice/cpp/src/Ice/PropertyNames.cpp +519 -1341
  251. data/dist/ice/cpp/src/Ice/PropertyNames.h +49 -64
  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 +129 -94
  255. data/dist/ice/cpp/src/Ice/Protocol.h +116 -0
  256. data/dist/ice/cpp/src/Ice/ProtocolInstance.cpp +117 -62
  257. data/dist/ice/cpp/src/Ice/ProtocolInstance.h +63 -82
  258. data/dist/ice/cpp/src/Ice/ProtocolInstanceF.h +4 -11
  259. data/dist/ice/cpp/src/Ice/ProtocolPluginFacade.cpp +10 -32
  260. data/dist/ice/cpp/src/Ice/ProtocolPluginFacade.h +25 -54
  261. data/dist/ice/cpp/src/Ice/Proxy.cpp +294 -1357
  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 +635 -1097
  268. data/dist/ice/cpp/src/Ice/Reference.h +314 -298
  269. data/dist/ice/cpp/src/Ice/ReferenceFactory.cpp +320 -378
  270. data/dist/ice/cpp/src/Ice/ReferenceFactory.h +48 -66
  271. data/dist/ice/cpp/src/Ice/ReferenceFactoryF.h +4 -9
  272. data/dist/ice/cpp/src/Ice/RequestHandler.cpp +15 -24
  273. data/dist/ice/cpp/src/Ice/RequestHandler.h +43 -68
  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 +51 -57
  278. data/dist/ice/cpp/src/Ice/RetryQueue.h +39 -46
  279. data/dist/ice/cpp/src/Ice/RetryQueueF.h +4 -9
  280. data/dist/ice/cpp/src/Ice/RouterInfo.cpp +97 -201
  281. data/dist/ice/cpp/src/Ice/RouterInfo.h +61 -118
  282. data/dist/ice/cpp/src/Ice/RouterInfoF.h +6 -14
  283. data/dist/ice/cpp/src/Ice/SHA1.cpp +86 -60
  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 +521 -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 +646 -0
  291. data/dist/ice/cpp/src/Ice/SSL/OpenSSLTransceiverI.h +80 -0
  292. data/dist/ice/cpp/src/{IceSSL → Ice/SSL}/RFC2253.cpp +85 -88
  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 +69 -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 +673 -0
  308. data/dist/ice/cpp/src/Ice/SSL/SSLUtil.h +118 -0
  309. data/dist/ice/cpp/src/Ice/SSL/SchannelEngine.cpp +1449 -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 +1088 -0
  313. data/dist/ice/cpp/src/Ice/SSL/SchannelTransceiverI.h +118 -0
  314. data/dist/ice/cpp/src/Ice/SSL/SecureTransportEngine.cpp +825 -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 +1048 -0
  320. data/dist/ice/cpp/src/Ice/SSL/SecureTransportUtil.h +40 -0
  321. data/dist/ice/cpp/src/Ice/SSL/TrustManager.cpp +233 -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 +341 -606
  326. data/dist/ice/cpp/src/Ice/Selector.h +167 -224
  327. data/dist/ice/cpp/src/Ice/ServantManager.cpp +195 -128
  328. data/dist/ice/cpp/src/Ice/ServantManager.h +52 -55
  329. data/dist/ice/cpp/src/Ice/ServantManagerF.h +14 -0
  330. data/dist/ice/cpp/src/Ice/Service.cpp +548 -641
  331. data/dist/ice/cpp/src/Ice/SharedContext.h +13 -26
  332. data/dist/ice/cpp/src/Ice/SliceLoader.cpp +53 -0
  333. data/dist/ice/cpp/src/Ice/SlicedData.cpp +17 -96
  334. data/dist/ice/cpp/src/Ice/StreamSocket.cpp +104 -151
  335. data/dist/ice/cpp/src/Ice/StreamSocket.h +48 -60
  336. data/dist/ice/cpp/src/Ice/StringConverter.cpp +586 -0
  337. data/dist/ice/cpp/src/Ice/StringUtil.cpp +1137 -0
  338. data/dist/ice/cpp/src/Ice/SysLoggerI.cpp +41 -47
  339. data/dist/ice/cpp/src/Ice/SysLoggerI.h +24 -27
  340. data/dist/ice/cpp/src/Ice/SystemdJournalI.cpp +16 -17
  341. data/dist/ice/cpp/src/Ice/SystemdJournalI.h +19 -25
  342. data/dist/ice/cpp/src/Ice/TargetCompare.h +96 -0
  343. data/dist/ice/cpp/src/Ice/TcpAcceptor.cpp +67 -88
  344. data/dist/ice/cpp/src/Ice/TcpAcceptor.h +34 -40
  345. data/dist/ice/cpp/src/Ice/TcpConnector.cpp +42 -41
  346. data/dist/ice/cpp/src/Ice/TcpConnector.h +26 -35
  347. data/dist/ice/cpp/src/Ice/TcpEndpointI.cpp +172 -146
  348. data/dist/ice/cpp/src/Ice/TcpEndpointI.h +76 -80
  349. data/dist/ice/cpp/src/Ice/TcpTransceiver.cpp +38 -26
  350. data/dist/ice/cpp/src/Ice/TcpTransceiver.h +40 -45
  351. data/dist/ice/cpp/src/Ice/ThreadPool.cpp +333 -515
  352. data/dist/ice/cpp/src/Ice/ThreadPool.h +202 -290
  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 +73 -167
  357. data/dist/ice/cpp/src/Ice/Timer.h +212 -0
  358. data/dist/ice/cpp/src/Ice/TraceLevels.cpp +11 -29
  359. data/dist/ice/cpp/src/Ice/TraceLevels.h +22 -28
  360. data/dist/ice/cpp/src/Ice/TraceLevelsF.h +4 -11
  361. data/dist/ice/cpp/src/Ice/TraceUtil.cpp +136 -215
  362. data/dist/ice/cpp/src/Ice/TraceUtil.h +27 -16
  363. data/dist/ice/cpp/src/Ice/Transceiver.cpp +3 -7
  364. data/dist/ice/cpp/src/Ice/Transceiver.h +35 -32
  365. data/dist/ice/cpp/src/Ice/TransceiverF.h +10 -20
  366. data/dist/ice/cpp/src/Ice/UUID.cpp +79 -0
  367. data/dist/ice/cpp/src/Ice/UdpConnector.cpp +39 -39
  368. data/dist/ice/cpp/src/Ice/UdpConnector.h +27 -36
  369. data/dist/ice/cpp/src/Ice/UdpEndpointI.cpp +178 -213
  370. data/dist/ice/cpp/src/Ice/UdpEndpointI.h +82 -85
  371. data/dist/ice/cpp/src/Ice/UdpTransceiver.cpp +201 -221
  372. data/dist/ice/cpp/src/Ice/UdpTransceiver.h +68 -74
  373. data/dist/ice/cpp/{include/IceUtil → src/Ice}/UndefSysMacros.h +12 -12
  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 +107 -38
  377. data/dist/ice/cpp/src/Ice/WSAcceptor.cpp +10 -15
  378. data/dist/ice/cpp/src/Ice/WSAcceptor.h +31 -37
  379. data/dist/ice/cpp/src/Ice/WSConnector.cpp +25 -40
  380. data/dist/ice/cpp/src/Ice/WSConnector.h +26 -33
  381. data/dist/ice/cpp/src/Ice/WSEndpoint.cpp +164 -217
  382. data/dist/ice/cpp/src/Ice/WSEndpoint.h +72 -83
  383. data/dist/ice/cpp/src/Ice/WSTransceiver.cpp +469 -458
  384. data/dist/ice/cpp/src/Ice/WSTransceiver.h +117 -123
  385. data/dist/ice/cpp/src/Ice/generated/BuiltinSequences.cpp +20 -29
  386. data/dist/ice/cpp/src/Ice/generated/Context.cpp +40 -0
  387. data/dist/ice/cpp/src/Ice/generated/EndpointTypes.cpp +20 -31
  388. data/dist/ice/cpp/src/Ice/generated/Identity.cpp +24 -34
  389. data/dist/ice/cpp/src/Ice/generated/Locator.cpp +454 -1744
  390. data/dist/ice/cpp/src/Ice/generated/LocatorRegistry.cpp +577 -0
  391. data/dist/ice/cpp/src/Ice/generated/Metrics.cpp +824 -1971
  392. data/dist/ice/cpp/src/Ice/generated/OperationMode.cpp +56 -0
  393. data/dist/ice/cpp/src/Ice/generated/Process.cpp +190 -331
  394. data/dist/ice/cpp/src/Ice/generated/PropertiesAdmin.cpp +289 -449
  395. data/dist/ice/cpp/src/Ice/generated/PropertyDict.cpp +40 -0
  396. data/dist/ice/cpp/src/Ice/generated/RemoteLogger.cpp +547 -867
  397. data/dist/ice/cpp/src/Ice/generated/ReplyStatus.cpp +70 -0
  398. data/dist/ice/cpp/src/Ice/generated/Router.cpp +406 -723
  399. data/dist/ice/cpp/src/Ice/generated/SliceChecksumDict.cpp +19 -29
  400. data/dist/ice/cpp/src/Ice/generated/Version.cpp +28 -31
  401. data/dist/ice/cpp/src/IceDiscovery/LocatorI.cpp +76 -139
  402. data/dist/ice/cpp/src/IceDiscovery/LocatorI.h +55 -96
  403. data/dist/ice/cpp/src/IceDiscovery/LookupI.cpp +190 -303
  404. data/dist/ice/cpp/src/IceDiscovery/LookupI.h +126 -185
  405. data/dist/ice/cpp/src/IceDiscovery/PluginI.cpp +56 -77
  406. data/dist/ice/cpp/src/IceDiscovery/PluginI.h +20 -25
  407. data/dist/ice/cpp/src/IceDiscovery/generated/Lookup.cpp +638 -0
  408. data/dist/ice/cpp/src/IceLocatorDiscovery/Plugin.h +14 -37
  409. data/dist/ice/cpp/src/IceLocatorDiscovery/PluginI.cpp +411 -649
  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 +25 -75
  416. data/dist/ice/cpp/src/Slice/FileTracker.h +35 -56
  417. data/dist/ice/cpp/src/Slice/Grammar.cpp +2711 -3382
  418. data/dist/ice/cpp/src/Slice/Grammar.h +95 -75
  419. data/dist/ice/cpp/src/Slice/GrammarUtil.h +117 -217
  420. data/dist/ice/cpp/src/Slice/MetadataValidation.cpp +486 -0
  421. data/dist/ice/cpp/src/Slice/MetadataValidation.h +106 -0
  422. data/dist/ice/cpp/src/Slice/Parser.cpp +3068 -5223
  423. data/dist/ice/cpp/src/Slice/Parser.h +1086 -1065
  424. data/dist/ice/cpp/src/Slice/Preprocessor.cpp +97 -599
  425. data/dist/ice/cpp/src/Slice/Preprocessor.h +26 -42
  426. data/dist/ice/cpp/src/Slice/Scanner.cpp +1562 -924
  427. data/dist/ice/cpp/src/Slice/SliceUtil.cpp +517 -113
  428. data/dist/ice/cpp/src/Slice/StringLiteralUtil.cpp +254 -269
  429. data/dist/ice/cpp/src/Slice/Util.h +126 -35
  430. data/dist/ice/cpp/src/slice2rb/Main.cpp +13 -15
  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/slice/Glacier2/Metrics.ice +34 -75
  435. data/dist/ice/slice/Glacier2/PermissionsVerifier.ice +42 -98
  436. data/dist/ice/slice/Glacier2/Router.ice +80 -173
  437. data/dist/ice/slice/Glacier2/SSLInfo.ice +23 -40
  438. data/dist/ice/slice/Glacier2/Session.ice +120 -261
  439. data/dist/ice/slice/Ice/BuiltinSequences.ice +33 -38
  440. data/dist/ice/slice/Ice/Context.ice +24 -0
  441. data/dist/ice/slice/Ice/EndpointTypes.ice +35 -33
  442. data/dist/ice/slice/Ice/Identity.ice +24 -63
  443. data/dist/ice/slice/Ice/Locator.ice +61 -226
  444. data/dist/ice/slice/Ice/LocatorRegistry.ice +77 -0
  445. data/dist/ice/slice/Ice/Metrics.ice +189 -424
  446. data/dist/ice/slice/Ice/OperationMode.ice +38 -0
  447. data/dist/ice/slice/Ice/Process.ice +16 -52
  448. data/dist/ice/slice/Ice/PropertiesAdmin.ice +25 -75
  449. data/dist/ice/slice/Ice/PropertyDict.ice +23 -0
  450. data/dist/ice/slice/Ice/RemoteLogger.ice +113 -213
  451. data/dist/ice/slice/Ice/ReplyStatus.ice +65 -0
  452. data/dist/ice/slice/Ice/Router.ice +42 -91
  453. data/dist/ice/slice/Ice/SliceChecksumDict.ice +7 -25
  454. data/dist/ice/slice/Ice/Version.ice +31 -39
  455. data/dist/ice/slice/IceBox/ServiceManager.ice +79 -0
  456. data/dist/ice/slice/IceGrid/Admin.ice +942 -1918
  457. data/dist/ice/slice/IceGrid/Descriptor.ice +476 -1051
  458. data/dist/ice/slice/IceGrid/Exception.ice +86 -384
  459. data/dist/ice/slice/IceGrid/FileParser.ice +23 -59
  460. data/dist/ice/slice/IceGrid/Registry.ice +117 -256
  461. data/dist/ice/slice/IceGrid/Session.ice +46 -110
  462. data/dist/ice/slice/IceGrid/UserAccountMapper.ice +22 -57
  463. data/dist/ice/slice/IceStorm/IceStorm.ice +173 -401
  464. data/dist/ice/slice/IceStorm/Metrics.ice +28 -70
  465. data/dist/lib/Glacier2/Metrics.rb +16 -31
  466. data/dist/lib/Glacier2/PermissionsVerifier.rb +18 -50
  467. data/dist/lib/Glacier2/Router.rb +20 -42
  468. data/dist/lib/Glacier2/SSLInfo.rb +14 -22
  469. data/dist/lib/Glacier2/Session.rb +53 -113
  470. data/dist/lib/Glacier2.rb +6 -6
  471. data/dist/lib/Ice/BuiltinSequences.rb +14 -26
  472. data/dist/lib/Ice/CompressBatch.rb +50 -0
  473. data/dist/lib/Ice/Context.rb +12 -0
  474. data/dist/lib/Ice/EndpointSelectionType.rb +49 -0
  475. data/dist/lib/Ice/EndpointTypes.rb +14 -55
  476. data/dist/lib/Ice/Exception.rb +20 -0
  477. data/dist/lib/Ice/Identity.rb +10 -26
  478. data/dist/lib/Ice/IdentitySpaceship.rb +16 -0
  479. data/dist/lib/Ice/InitializationData.rb +12 -0
  480. data/dist/lib/Ice/LocalExceptions.rb +168 -0
  481. data/dist/lib/Ice/Locator.rb +21 -134
  482. data/dist/lib/Ice/LocatorRegistry.rb +73 -0
  483. data/dist/lib/Ice/Metrics.rb +85 -132
  484. data/dist/lib/Ice/OperationMode.rb +58 -0
  485. data/dist/lib/Ice/Process.rb +12 -31
  486. data/dist/lib/Ice/PropertiesAdmin.rb +12 -36
  487. data/dist/lib/Ice/PropertyDict.rb +12 -0
  488. data/dist/lib/Ice/Proxy.rb +85 -0
  489. data/dist/lib/Ice/ProxyFunctions.rb +69 -0
  490. data/dist/lib/Ice/RemoteLogger.rb +29 -60
  491. data/dist/lib/Ice/ReplyStatus.rb +65 -0
  492. data/dist/lib/Ice/Router.rb +19 -47
  493. data/dist/lib/Ice/SliceChecksumDict.rb +5 -17
  494. data/dist/lib/Ice/SliceUtil.rb +41 -0
  495. data/dist/lib/Ice/Struct.rb +11 -0
  496. data/dist/lib/Ice/ToStringMode.rb +50 -0
  497. data/dist/lib/Ice/Value.rb +93 -0
  498. data/dist/lib/Ice/Version.rb +12 -24
  499. data/dist/lib/Ice.rb +29 -665
  500. data/dist/lib/IceBox/ServiceManager.rb +104 -0
  501. data/dist/lib/IceBox.rb +2 -4
  502. data/dist/lib/IceGrid/Admin.rb +303 -291
  503. data/dist/lib/IceGrid/Descriptor.rb +147 -192
  504. data/dist/lib/IceGrid/Exception.rb +26 -257
  505. data/dist/lib/IceGrid/FileParser.rb +12 -36
  506. data/dist/lib/IceGrid/Registry.rb +35 -76
  507. data/dist/lib/IceGrid/Session.rb +19 -34
  508. data/dist/lib/IceGrid/UserAccountMapper.rb +11 -34
  509. data/dist/lib/IceGrid.rb +3 -3
  510. data/dist/lib/IceStorm/IceStorm.rb +51 -132
  511. data/dist/lib/IceStorm/Metrics.rb +19 -37
  512. data/dist/lib/IceStorm.rb +3 -5
  513. data/extconf.rb +6 -8
  514. data/ice.gemspec +3 -3
  515. data/scripts/slice2rb +1 -3
  516. metadata +206 -386
  517. data/dist/IceRuby/ValueFactoryManager.cpp +0 -445
  518. data/dist/IceRuby/ValueFactoryManager.h +0 -95
  519. data/dist/ice/cpp/include/Ice/Application.h +0 -326
  520. data/dist/ice/cpp/include/Ice/AsyncResult.h +0 -155
  521. data/dist/ice/cpp/include/Ice/AsyncResultF.h +0 -23
  522. data/dist/ice/cpp/include/Ice/BatchRequestInterceptor.h +0 -75
  523. data/dist/ice/cpp/include/Ice/CommunicatorAsync.h +0 -154
  524. data/dist/ice/cpp/include/Ice/Comparable.h +0 -205
  525. data/dist/ice/cpp/include/Ice/ConnectionAsync.h +0 -302
  526. data/dist/ice/cpp/include/Ice/ConsoleUtil.h +0 -23
  527. data/dist/ice/cpp/include/Ice/DefaultValueFactory.h +0 -57
  528. data/dist/ice/cpp/include/Ice/DispatchInterceptor.h +0 -41
  529. data/dist/ice/cpp/include/Ice/Dispatcher.h +0 -67
  530. data/dist/ice/cpp/include/Ice/DynamicLibrary.h +0 -102
  531. data/dist/ice/cpp/include/Ice/DynamicLibraryF.h +0 -24
  532. data/dist/ice/cpp/include/Ice/ExceptionHelpers.h +0 -74
  533. data/dist/ice/cpp/include/Ice/FactoryTable.h +0 -73
  534. data/dist/ice/cpp/include/Ice/FactoryTableInit.h +0 -84
  535. data/dist/ice/cpp/include/Ice/Functional.h +0 -140
  536. data/dist/ice/cpp/include/Ice/GCObject.h +0 -76
  537. data/dist/ice/cpp/include/Ice/Handle.h +0 -182
  538. data/dist/ice/cpp/include/Ice/Incoming.h +0 -225
  539. data/dist/ice/cpp/include/Ice/IncomingAsync.h +0 -186
  540. data/dist/ice/cpp/include/Ice/IncomingAsyncF.h +0 -36
  541. data/dist/ice/cpp/include/Ice/InterfaceByValue.h +0 -57
  542. data/dist/ice/cpp/include/Ice/LocalObject.h +0 -35
  543. data/dist/ice/cpp/include/Ice/LocalObjectF.h +0 -21
  544. data/dist/ice/cpp/include/Ice/MetricsAdminI.h +0 -715
  545. data/dist/ice/cpp/include/Ice/MetricsFunctional.h +0 -159
  546. data/dist/ice/cpp/include/Ice/MetricsObserverI.h +0 -669
  547. data/dist/ice/cpp/include/Ice/Optional.h +0 -1114
  548. data/dist/ice/cpp/include/Ice/OutgoingAsyncF.h +0 -39
  549. data/dist/ice/cpp/include/Ice/Protocol.h +0 -274
  550. data/dist/ice/cpp/include/Ice/ProxyFactoryF.h +0 -21
  551. data/dist/ice/cpp/include/Ice/ProxyHandle.h +0 -318
  552. data/dist/ice/cpp/include/Ice/RegisterPlugins.h +0 -127
  553. data/dist/ice/cpp/include/Ice/ResponseHandlerF.h +0 -25
  554. data/dist/ice/cpp/include/Ice/SHA1.h +0 -40
  555. data/dist/ice/cpp/include/Ice/ServantManagerF.h +0 -21
  556. data/dist/ice/cpp/include/Ice/SliceChecksums.h +0 -33
  557. data/dist/ice/cpp/include/Ice/ThreadPoolF.h +0 -23
  558. data/dist/ice/cpp/include/Ice/UniquePtr.h +0 -95
  559. data/dist/ice/cpp/include/Ice/UniqueRef.h +0 -97
  560. data/dist/ice/cpp/include/IceSSL/Config.h +0 -21
  561. data/dist/ice/cpp/include/IceSSL/IceSSL.h +0 -24
  562. data/dist/ice/cpp/include/IceSSL/OpenSSL.h +0 -147
  563. data/dist/ice/cpp/include/IceSSL/Plugin.h +0 -712
  564. data/dist/ice/cpp/include/IceSSL/SChannel.h +0 -72
  565. data/dist/ice/cpp/include/IceSSL/SecureTransport.h +0 -72
  566. data/dist/ice/cpp/include/IceUtil/Atomic.h +0 -179
  567. data/dist/ice/cpp/include/IceUtil/Cond.h +0 -317
  568. data/dist/ice/cpp/include/IceUtil/Config.h +0 -392
  569. data/dist/ice/cpp/include/IceUtil/ConsoleUtil.h +0 -92
  570. data/dist/ice/cpp/include/IceUtil/CountDownLatch.h +0 -45
  571. data/dist/ice/cpp/include/IceUtil/CtrlCHandler.h +0 -96
  572. data/dist/ice/cpp/include/IceUtil/DisableWarnings.h +0 -44
  573. data/dist/ice/cpp/include/IceUtil/Exception.h +0 -394
  574. data/dist/ice/cpp/include/IceUtil/FileUtil.h +0 -140
  575. data/dist/ice/cpp/include/IceUtil/Functional.h +0 -389
  576. data/dist/ice/cpp/include/IceUtil/Handle.h +0 -261
  577. data/dist/ice/cpp/include/IceUtil/IceUtil.h +0 -40
  578. data/dist/ice/cpp/include/IceUtil/InputUtil.h +0 -42
  579. data/dist/ice/cpp/include/IceUtil/Iterator.h +0 -31
  580. data/dist/ice/cpp/include/IceUtil/Lock.h +0 -128
  581. data/dist/ice/cpp/include/IceUtil/Monitor.h +0 -243
  582. data/dist/ice/cpp/include/IceUtil/Mutex.h +0 -349
  583. data/dist/ice/cpp/include/IceUtil/MutexProtocol.h +0 -23
  584. data/dist/ice/cpp/include/IceUtil/MutexPtrLock.h +0 -78
  585. data/dist/ice/cpp/include/IceUtil/MutexPtrTryLock.h +0 -77
  586. data/dist/ice/cpp/include/IceUtil/Optional.h +0 -433
  587. data/dist/ice/cpp/include/IceUtil/Options.h +0 -135
  588. data/dist/ice/cpp/include/IceUtil/OutputUtil.h +0 -383
  589. data/dist/ice/cpp/include/IceUtil/PushDisableWarnings.h +0 -33
  590. data/dist/ice/cpp/include/IceUtil/Random.h +0 -55
  591. data/dist/ice/cpp/include/IceUtil/RecMutex.h +0 -107
  592. data/dist/ice/cpp/include/IceUtil/ResourceConfig.h +0 -37
  593. data/dist/ice/cpp/include/IceUtil/ScannerConfig.h +0 -40
  594. data/dist/ice/cpp/include/IceUtil/ScopedArray.h +0 -98
  595. data/dist/ice/cpp/include/IceUtil/Shared.h +0 -127
  596. data/dist/ice/cpp/include/IceUtil/StopWatch.h +0 -49
  597. data/dist/ice/cpp/include/IceUtil/StringConverter.h +0 -195
  598. data/dist/ice/cpp/include/IceUtil/StringUtil.h +0 -97
  599. data/dist/ice/cpp/include/IceUtil/Thread.h +0 -160
  600. data/dist/ice/cpp/include/IceUtil/ThreadException.h +0 -94
  601. data/dist/ice/cpp/include/IceUtil/Time.h +0 -205
  602. data/dist/ice/cpp/include/IceUtil/Timer.h +0 -153
  603. data/dist/ice/cpp/include/IceUtil/UUID.h +0 -21
  604. data/dist/ice/cpp/include/generated/Glacier2/Metrics.h +0 -475
  605. data/dist/ice/cpp/include/generated/Glacier2/PermissionsVerifier.h +0 -1430
  606. data/dist/ice/cpp/include/generated/Glacier2/PermissionsVerifierF.h +0 -147
  607. data/dist/ice/cpp/include/generated/Glacier2/Router.h +0 -3260
  608. data/dist/ice/cpp/include/generated/Glacier2/RouterF.h +0 -125
  609. data/dist/ice/cpp/include/generated/Glacier2/SSLInfo.h +0 -223
  610. data/dist/ice/cpp/include/generated/Glacier2/Session.h +0 -5894
  611. data/dist/ice/cpp/include/generated/Ice/Communicator.h +0 -1162
  612. data/dist/ice/cpp/include/generated/Ice/CommunicatorF.h +0 -101
  613. data/dist/ice/cpp/include/generated/Ice/Connection.h +0 -1703
  614. data/dist/ice/cpp/include/generated/Ice/ConnectionF.h +0 -119
  615. data/dist/ice/cpp/include/generated/Ice/Current.h +0 -322
  616. data/dist/ice/cpp/include/generated/Ice/Endpoint.h +0 -979
  617. data/dist/ice/cpp/include/generated/Ice/EndpointF.h +0 -166
  618. data/dist/ice/cpp/include/generated/Ice/FacetMap.h +0 -80
  619. data/dist/ice/cpp/include/generated/Ice/ImplicitContext.h +0 -284
  620. data/dist/ice/cpp/include/generated/Ice/ImplicitContextF.h +0 -101
  621. data/dist/ice/cpp/include/generated/Ice/Instrumentation.h +0 -1203
  622. data/dist/ice/cpp/include/generated/Ice/InstrumentationF.h +0 -128
  623. data/dist/ice/cpp/include/generated/Ice/LocalException.h +0 -7437
  624. data/dist/ice/cpp/include/generated/Ice/LocatorF.h +0 -147
  625. data/dist/ice/cpp/include/generated/Ice/Logger.h +0 -237
  626. data/dist/ice/cpp/include/generated/Ice/LoggerF.h +0 -101
  627. data/dist/ice/cpp/include/generated/Ice/ObjectAdapter.h +0 -1181
  628. data/dist/ice/cpp/include/generated/Ice/ObjectAdapterF.h +0 -101
  629. data/dist/ice/cpp/include/generated/Ice/ObjectFactory.h +0 -203
  630. data/dist/ice/cpp/include/generated/Ice/Plugin.h +0 -318
  631. data/dist/ice/cpp/include/generated/Ice/PluginF.h +0 -110
  632. data/dist/ice/cpp/include/generated/Ice/ProcessF.h +0 -125
  633. data/dist/ice/cpp/include/generated/Ice/Properties.h +0 -452
  634. data/dist/ice/cpp/include/generated/Ice/PropertiesF.h +0 -134
  635. data/dist/ice/cpp/include/generated/Ice/RouterF.h +0 -125
  636. data/dist/ice/cpp/include/generated/Ice/ServantLocator.h +0 -305
  637. data/dist/ice/cpp/include/generated/Ice/ServantLocatorF.h +0 -101
  638. data/dist/ice/cpp/include/generated/Ice/ValueFactory.h +0 -330
  639. data/dist/ice/cpp/include/generated/IceBox/IceBox.h +0 -3269
  640. data/dist/ice/cpp/include/generated/IceGrid/Admin.h +0 -33773
  641. data/dist/ice/cpp/include/generated/IceGrid/Descriptor.h +0 -5254
  642. data/dist/ice/cpp/include/generated/IceGrid/Exception.h +0 -2834
  643. data/dist/ice/cpp/include/generated/IceGrid/FileParser.h +0 -824
  644. data/dist/ice/cpp/include/generated/IceGrid/PluginFacade.h +0 -635
  645. data/dist/ice/cpp/include/generated/IceGrid/Registry.h +0 -5089
  646. data/dist/ice/cpp/include/generated/IceGrid/Session.h +0 -2240
  647. data/dist/ice/cpp/include/generated/IceGrid/UserAccountMapper.h +0 -800
  648. data/dist/ice/cpp/include/generated/IcePatch2/FileInfo.h +0 -325
  649. data/dist/ice/cpp/include/generated/IcePatch2/FileServer.h +0 -2891
  650. data/dist/ice/cpp/include/generated/IceSSL/ConnectionInfo.h +0 -228
  651. data/dist/ice/cpp/include/generated/IceSSL/ConnectionInfoF.h +0 -101
  652. data/dist/ice/cpp/include/generated/IceSSL/EndpointInfo.h +0 -186
  653. data/dist/ice/cpp/include/generated/IceStorm/IceStorm.h +0 -6627
  654. data/dist/ice/cpp/include/generated/IceStorm/Metrics.h +0 -665
  655. data/dist/ice/cpp/src/Ice/ACM.cpp +0 -380
  656. data/dist/ice/cpp/src/Ice/ACM.h +0 -119
  657. data/dist/ice/cpp/src/Ice/ACMF.h +0 -30
  658. data/dist/ice/cpp/src/Ice/Acceptor.cpp +0 -16
  659. data/dist/ice/cpp/src/Ice/Application.cpp +0 -661
  660. data/dist/ice/cpp/src/Ice/AsyncResult.cpp +0 -70
  661. data/dist/ice/cpp/src/Ice/CommunicatorI.cpp +0 -586
  662. data/dist/ice/cpp/src/Ice/CommunicatorI.h +0 -167
  663. data/dist/ice/cpp/src/Ice/Cond.cpp +0 -381
  664. data/dist/ice/cpp/src/Ice/ConnectionRequestHandler.cpp +0 -73
  665. data/dist/ice/cpp/src/Ice/ConnectionRequestHandler.h +0 -41
  666. data/dist/ice/cpp/src/Ice/Connector.cpp +0 -16
  667. data/dist/ice/cpp/src/Ice/CountDownLatch.cpp +0 -171
  668. data/dist/ice/cpp/src/Ice/DispatchInterceptor.cpp +0 -37
  669. data/dist/ice/cpp/src/Ice/FactoryTable.cpp +0 -162
  670. data/dist/ice/cpp/src/Ice/FactoryTableInit.cpp +0 -88
  671. data/dist/ice/cpp/src/Ice/GCObject.cpp +0 -442
  672. data/dist/ice/cpp/src/Ice/IconvStringConverter.cpp +0 -51
  673. data/dist/ice/cpp/src/Ice/ImplicitContextI.cpp +0 -655
  674. data/dist/ice/cpp/src/Ice/ImplicitContextI.h +0 -48
  675. data/dist/ice/cpp/src/Ice/Incoming.cpp +0 -795
  676. data/dist/ice/cpp/src/Ice/IncomingAsync.cpp +0 -230
  677. data/dist/ice/cpp/src/Ice/IncomingRequest.h +0 -33
  678. data/dist/ice/cpp/src/Ice/LocalObject.cpp +0 -23
  679. data/dist/ice/cpp/src/Ice/MetricsObserverI.cpp +0 -8
  680. data/dist/ice/cpp/src/Ice/PropertiesAdminI.cpp +0 -265
  681. data/dist/ice/cpp/src/Ice/PropertiesAdminI.h +0 -64
  682. data/dist/ice/cpp/src/Ice/PropertiesI.cpp +0 -739
  683. data/dist/ice/cpp/src/Ice/PropertiesI.h +0 -70
  684. data/dist/ice/cpp/src/Ice/ProtocolPluginFacadeF.h +0 -21
  685. data/dist/ice/cpp/src/Ice/ProxyFactory.cpp +0 -300
  686. data/dist/ice/cpp/src/Ice/ProxyFactory.h +0 -57
  687. data/dist/ice/cpp/src/Ice/RegisterPluginsInit.cpp +0 -38
  688. data/dist/ice/cpp/src/Ice/RegisterPluginsInit.h +0 -20
  689. data/dist/ice/cpp/src/Ice/ReplyStatus.h +0 -24
  690. data/dist/ice/cpp/src/Ice/RequestHandlerFactory.cpp +0 -77
  691. data/dist/ice/cpp/src/Ice/RequestHandlerFactory.h +0 -37
  692. data/dist/ice/cpp/src/Ice/ResponseHandler.cpp +0 -12
  693. data/dist/ice/cpp/src/Ice/ResponseHandler.h +0 -43
  694. data/dist/ice/cpp/src/Ice/SliceChecksums.cpp +0 -75
  695. data/dist/ice/cpp/src/Ice/StringConverterPlugin.cpp +0 -192
  696. data/dist/ice/cpp/src/Ice/StringUtil.h +0 -30
  697. data/dist/ice/cpp/src/Ice/Thread.cpp +0 -569
  698. data/dist/ice/cpp/src/Ice/ValueFactoryManagerI.cpp +0 -61
  699. data/dist/ice/cpp/src/Ice/ValueFactoryManagerI.h +0 -37
  700. data/dist/ice/cpp/src/Ice/VirtualShared.h +0 -38
  701. data/dist/ice/cpp/src/Ice/generated/Communicator.cpp +0 -79
  702. data/dist/ice/cpp/src/Ice/generated/CommunicatorF.cpp +0 -61
  703. data/dist/ice/cpp/src/Ice/generated/Connection.cpp +0 -155
  704. data/dist/ice/cpp/src/Ice/generated/ConnectionF.cpp +0 -61
  705. data/dist/ice/cpp/src/Ice/generated/Current.cpp +0 -62
  706. data/dist/ice/cpp/src/Ice/generated/Endpoint.cpp +0 -147
  707. data/dist/ice/cpp/src/Ice/generated/EndpointF.cpp +0 -61
  708. data/dist/ice/cpp/src/Ice/generated/FacetMap.cpp +0 -49
  709. data/dist/ice/cpp/src/Ice/generated/ImplicitContext.cpp +0 -75
  710. data/dist/ice/cpp/src/Ice/generated/ImplicitContextF.cpp +0 -61
  711. data/dist/ice/cpp/src/Ice/generated/Instrumentation.cpp +0 -188
  712. data/dist/ice/cpp/src/Ice/generated/InstrumentationF.cpp +0 -66
  713. data/dist/ice/cpp/src/Ice/generated/LocalException.cpp +0 -3262
  714. data/dist/ice/cpp/src/Ice/generated/LocatorF.cpp +0 -63
  715. data/dist/ice/cpp/src/Ice/generated/Logger.cpp +0 -73
  716. data/dist/ice/cpp/src/Ice/generated/LoggerF.cpp +0 -61
  717. data/dist/ice/cpp/src/Ice/generated/ObjectAdapter.cpp +0 -79
  718. data/dist/ice/cpp/src/Ice/generated/ObjectAdapterF.cpp +0 -61
  719. data/dist/ice/cpp/src/Ice/generated/ObjectFactory.cpp +0 -75
  720. data/dist/ice/cpp/src/Ice/generated/Plugin.cpp +0 -87
  721. data/dist/ice/cpp/src/Ice/generated/PluginF.cpp +0 -61
  722. data/dist/ice/cpp/src/Ice/generated/ProcessF.cpp +0 -63
  723. data/dist/ice/cpp/src/Ice/generated/Properties.cpp +0 -78
  724. data/dist/ice/cpp/src/Ice/generated/PropertiesF.cpp +0 -63
  725. data/dist/ice/cpp/src/Ice/generated/RouterF.cpp +0 -63
  726. data/dist/ice/cpp/src/Ice/generated/ServantLocator.cpp +0 -75
  727. data/dist/ice/cpp/src/Ice/generated/ServantLocatorF.cpp +0 -61
  728. data/dist/ice/cpp/src/Ice/generated/ValueFactory.cpp +0 -83
  729. data/dist/ice/cpp/src/Ice/ios/StreamAcceptor.cpp +0 -154
  730. data/dist/ice/cpp/src/Ice/ios/StreamAcceptor.h +0 -49
  731. data/dist/ice/cpp/src/Ice/ios/StreamConnector.cpp +0 -146
  732. data/dist/ice/cpp/src/Ice/ios/StreamConnector.h +0 -52
  733. data/dist/ice/cpp/src/Ice/ios/StreamEndpointI.cpp +0 -477
  734. data/dist/ice/cpp/src/Ice/ios/StreamEndpointI.h +0 -156
  735. data/dist/ice/cpp/src/Ice/ios/StreamTransceiver.cpp +0 -570
  736. data/dist/ice/cpp/src/Ice/ios/StreamTransceiver.h +0 -93
  737. data/dist/ice/cpp/src/IceDiscovery/generated/IceDiscovery/IceDiscovery.h +0 -1889
  738. data/dist/ice/cpp/src/IceDiscovery/generated/IceDiscovery.cpp +0 -915
  739. data/dist/ice/cpp/src/IceLocatorDiscovery/generated/IceLocatorDiscovery/IceLocatorDiscovery.h +0 -1197
  740. data/dist/ice/cpp/src/IceLocatorDiscovery/generated/IceLocatorDiscovery.cpp +0 -730
  741. data/dist/ice/cpp/src/IceSSL/AcceptorI.cpp +0 -105
  742. data/dist/ice/cpp/src/IceSSL/AcceptorI.h +0 -52
  743. data/dist/ice/cpp/src/IceSSL/CertificateI.cpp +0 -301
  744. data/dist/ice/cpp/src/IceSSL/CertificateI.h +0 -64
  745. data/dist/ice/cpp/src/IceSSL/ConnectorI.cpp +0 -102
  746. data/dist/ice/cpp/src/IceSSL/ConnectorI.h +0 -44
  747. data/dist/ice/cpp/src/IceSSL/EndpointI.cpp +0 -372
  748. data/dist/ice/cpp/src/IceSSL/EndpointI.h +0 -100
  749. data/dist/ice/cpp/src/IceSSL/Instance.cpp +0 -28
  750. data/dist/ice/cpp/src/IceSSL/Instance.h +0 -37
  751. data/dist/ice/cpp/src/IceSSL/InstanceF.h +0 -33
  752. data/dist/ice/cpp/src/IceSSL/OpenSSLCertificateI.cpp +0 -688
  753. data/dist/ice/cpp/src/IceSSL/OpenSSLEngine.cpp +0 -1147
  754. data/dist/ice/cpp/src/IceSSL/OpenSSLEngine.h +0 -59
  755. data/dist/ice/cpp/src/IceSSL/OpenSSLEngineF.h +0 -27
  756. data/dist/ice/cpp/src/IceSSL/OpenSSLPluginI.cpp +0 -127
  757. data/dist/ice/cpp/src/IceSSL/OpenSSLTransceiverI.cpp +0 -1092
  758. data/dist/ice/cpp/src/IceSSL/OpenSSLTransceiverI.h +0 -90
  759. data/dist/ice/cpp/src/IceSSL/OpenSSLUtil.cpp +0 -288
  760. data/dist/ice/cpp/src/IceSSL/OpenSSLUtil.h +0 -58
  761. data/dist/ice/cpp/src/IceSSL/PluginI.cpp +0 -246
  762. data/dist/ice/cpp/src/IceSSL/PluginI.h +0 -67
  763. data/dist/ice/cpp/src/IceSSL/RFC2253.h +0 -62
  764. data/dist/ice/cpp/src/IceSSL/SChannelCertificateI.cpp +0 -721
  765. data/dist/ice/cpp/src/IceSSL/SChannelEngine.cpp +0 -1283
  766. data/dist/ice/cpp/src/IceSSL/SChannelEngine.h +0 -123
  767. data/dist/ice/cpp/src/IceSSL/SChannelEngineF.h +0 -31
  768. data/dist/ice/cpp/src/IceSSL/SChannelPluginI.cpp +0 -73
  769. data/dist/ice/cpp/src/IceSSL/SChannelTransceiverI.cpp +0 -1174
  770. data/dist/ice/cpp/src/IceSSL/SChannelTransceiverI.h +0 -133
  771. data/dist/ice/cpp/src/IceSSL/SSLEngine.cpp +0 -313
  772. data/dist/ice/cpp/src/IceSSL/SSLEngine.h +0 -100
  773. data/dist/ice/cpp/src/IceSSL/SSLEngineF.h +0 -21
  774. data/dist/ice/cpp/src/IceSSL/SecureTransportCertificateI.cpp +0 -999
  775. data/dist/ice/cpp/src/IceSSL/SecureTransportEngine.cpp +0 -1308
  776. data/dist/ice/cpp/src/IceSSL/SecureTransportEngine.h +0 -59
  777. data/dist/ice/cpp/src/IceSSL/SecureTransportEngineF.h +0 -29
  778. data/dist/ice/cpp/src/IceSSL/SecureTransportPluginI.cpp +0 -75
  779. data/dist/ice/cpp/src/IceSSL/SecureTransportTransceiverI.cpp +0 -719
  780. data/dist/ice/cpp/src/IceSSL/SecureTransportTransceiverI.h +0 -92
  781. data/dist/ice/cpp/src/IceSSL/SecureTransportUtil.cpp +0 -868
  782. data/dist/ice/cpp/src/IceSSL/SecureTransportUtil.h +0 -45
  783. data/dist/ice/cpp/src/IceSSL/TrustManager.cpp +0 -236
  784. data/dist/ice/cpp/src/IceSSL/TrustManager.h +0 -46
  785. data/dist/ice/cpp/src/IceSSL/TrustManagerF.h +0 -21
  786. data/dist/ice/cpp/src/IceSSL/Util.cpp +0 -192
  787. data/dist/ice/cpp/src/IceSSL/Util.h +0 -99
  788. data/dist/ice/cpp/src/IceSSL/generated/ConnectionInfo.cpp +0 -75
  789. data/dist/ice/cpp/src/IceSSL/generated/ConnectionInfoF.cpp +0 -61
  790. data/dist/ice/cpp/src/IceSSL/generated/EndpointInfo.cpp +0 -75
  791. data/dist/ice/cpp/src/IceUtil/ConvertUTF.cpp +0 -472
  792. data/dist/ice/cpp/src/IceUtil/ConvertUTF.h +0 -147
  793. data/dist/ice/cpp/src/IceUtil/CtrlCHandler.cpp +0 -259
  794. data/dist/ice/cpp/src/IceUtil/FileUtil.cpp +0 -471
  795. data/dist/ice/cpp/src/IceUtil/InputUtil.cpp +0 -36
  796. data/dist/ice/cpp/src/IceUtil/MutexProtocol.cpp +0 -19
  797. data/dist/ice/cpp/src/IceUtil/OutputUtil.cpp +0 -609
  798. data/dist/ice/cpp/src/IceUtil/Random.cpp +0 -180
  799. data/dist/ice/cpp/src/IceUtil/RecMutex.cpp +0 -238
  800. data/dist/ice/cpp/src/IceUtil/Shared.cpp +0 -71
  801. data/dist/ice/cpp/src/IceUtil/StringConverter.cpp +0 -690
  802. data/dist/ice/cpp/src/IceUtil/StringUtil.cpp +0 -1135
  803. data/dist/ice/cpp/src/IceUtil/ThreadException.cpp +0 -130
  804. data/dist/ice/cpp/src/IceUtil/Time.cpp +0 -307
  805. data/dist/ice/cpp/src/IceUtil/UUID.cpp +0 -165
  806. data/dist/ice/cpp/src/IceUtil/Unicode.cpp +0 -183
  807. data/dist/ice/cpp/src/IceUtil/Unicode.h +0 -43
  808. data/dist/ice/cpp/src/IceUtil/UtilException.cpp +0 -839
  809. data/dist/ice/cpp/src/Slice/CPlusPlusUtil.cpp +0 -1810
  810. data/dist/ice/cpp/src/Slice/CPlusPlusUtil.h +0 -72
  811. data/dist/ice/cpp/src/Slice/Checksum.cpp +0 -447
  812. data/dist/ice/cpp/src/Slice/Checksum.h +0 -21
  813. data/dist/ice/cpp/src/Slice/JavaUtil.cpp +0 -5183
  814. data/dist/ice/cpp/src/Slice/JavaUtil.h +0 -407
  815. data/dist/ice/cpp/src/Slice/MD5.cpp +0 -52
  816. data/dist/ice/cpp/src/Slice/MD5.h +0 -39
  817. data/dist/ice/cpp/src/Slice/MD5I.cpp +0 -393
  818. data/dist/ice/cpp/src/Slice/MD5I.h +0 -91
  819. data/dist/ice/cpp/src/Slice/PHPUtil.cpp +0 -157
  820. data/dist/ice/cpp/src/Slice/PHPUtil.h +0 -36
  821. data/dist/ice/cpp/src/Slice/Python.cpp +0 -830
  822. data/dist/ice/cpp/src/Slice/PythonUtil.cpp +0 -3439
  823. data/dist/ice/cpp/src/Slice/PythonUtil.h +0 -70
  824. data/dist/ice/cpp/src/Slice/Ruby.cpp +0 -350
  825. data/dist/ice/cpp/src/Slice/RubyUtil.cpp +0 -1571
  826. data/dist/ice/cpp/src/Slice/RubyUtil.h +0 -49
  827. data/dist/ice/slice/Glacier2/PermissionsVerifierF.ice +0 -30
  828. data/dist/ice/slice/Glacier2/RouterF.ice +0 -29
  829. data/dist/ice/slice/Ice/Communicator.ice +0 -676
  830. data/dist/ice/slice/Ice/CommunicatorF.ice +0 -31
  831. data/dist/ice/slice/Ice/Connection.ice +0 -516
  832. data/dist/ice/slice/Ice/ConnectionF.ice +0 -33
  833. data/dist/ice/slice/Ice/Current.ice +0 -170
  834. data/dist/ice/slice/Ice/Endpoint.ice +0 -291
  835. data/dist/ice/slice/Ice/EndpointF.ice +0 -43
  836. data/dist/ice/slice/Ice/FacetMap.ice +0 -36
  837. data/dist/ice/slice/Ice/ImplicitContext.ice +0 -119
  838. data/dist/ice/slice/Ice/ImplicitContextF.ice +0 -30
  839. data/dist/ice/slice/Ice/Instrumentation.ice +0 -509
  840. data/dist/ice/slice/Ice/InstrumentationF.ice +0 -38
  841. data/dist/ice/slice/Ice/LocalException.ice +0 -1040
  842. data/dist/ice/slice/Ice/LocatorF.ice +0 -32
  843. data/dist/ice/slice/Ice/Logger.ice +0 -99
  844. data/dist/ice/slice/Ice/LoggerF.ice +0 -31
  845. data/dist/ice/slice/Ice/ObjectAdapter.ice +0 -710
  846. data/dist/ice/slice/Ice/ObjectAdapterF.ice +0 -31
  847. data/dist/ice/slice/Ice/ObjectFactory.ice +0 -71
  848. data/dist/ice/slice/Ice/Plugin.ice +0 -131
  849. data/dist/ice/slice/Ice/PluginF.ice +0 -36
  850. data/dist/ice/slice/Ice/ProcessF.ice +0 -31
  851. data/dist/ice/slice/Ice/Properties.ice +0 -244
  852. data/dist/ice/slice/Ice/PropertiesF.ice +0 -32
  853. data/dist/ice/slice/Ice/RouterF.ice +0 -31
  854. data/dist/ice/slice/Ice/ServantLocator.ice +0 -136
  855. data/dist/ice/slice/Ice/ServantLocatorF.ice +0 -31
  856. data/dist/ice/slice/Ice/ValueFactory.ice +0 -133
  857. data/dist/ice/slice/IceBox/IceBox.ice +0 -216
  858. data/dist/ice/slice/IceGrid/PluginFacade.ice +0 -329
  859. data/dist/ice/slice/IcePatch2/FileInfo.ice +0 -85
  860. data/dist/ice/slice/IcePatch2/FileServer.ice +0 -191
  861. data/dist/lib/Glacier2/PermissionsVerifierF.rb +0 -30
  862. data/dist/lib/Glacier2/RouterF.rb +0 -25
  863. data/dist/lib/Ice/Communicator.rb +0 -87
  864. data/dist/lib/Ice/CommunicatorF.rb +0 -24
  865. data/dist/lib/Ice/Connection.rb +0 -413
  866. data/dist/lib/Ice/ConnectionF.rb +0 -32
  867. data/dist/lib/Ice/Current.rb +0 -141
  868. data/dist/lib/Ice/Endpoint.rb +0 -187
  869. data/dist/lib/Ice/EndpointF.rb +0 -48
  870. data/dist/lib/Ice/FacetMap.rb +0 -24
  871. data/dist/lib/Ice/ImplicitContext.rb +0 -26
  872. data/dist/lib/Ice/ImplicitContextF.rb +0 -24
  873. data/dist/lib/Ice/Instrumentation.rb +0 -169
  874. data/dist/lib/Ice/InstrumentationF.rb +0 -31
  875. data/dist/lib/Ice/LocalException.rb +0 -1031
  876. data/dist/lib/Ice/LocatorF.rb +0 -30
  877. data/dist/lib/Ice/Logger.rb +0 -24
  878. data/dist/lib/Ice/LoggerF.rb +0 -24
  879. data/dist/lib/Ice/ObjectAdapter.rb +0 -29
  880. data/dist/lib/Ice/ObjectAdapterF.rb +0 -24
  881. data/dist/lib/Ice/ObjectFactory.rb +0 -24
  882. data/dist/lib/Ice/Plugin.rb +0 -30
  883. data/dist/lib/Ice/PluginF.rb +0 -28
  884. data/dist/lib/Ice/ProcessF.rb +0 -25
  885. data/dist/lib/Ice/Properties.rb +0 -25
  886. data/dist/lib/Ice/PropertiesF.rb +0 -29
  887. data/dist/lib/Ice/RouterF.rb +0 -25
  888. data/dist/lib/Ice/ServantLocator.rb +0 -26
  889. data/dist/lib/Ice/ServantLocatorF.rb +0 -24
  890. data/dist/lib/Ice/ValueFactory.rb +0 -28
  891. data/dist/lib/IceBox/IceBox.rb +0 -164
  892. data/dist/lib/IceGrid/PluginFacade.rb +0 -35
  893. data/dist/lib/IcePatch2/FileInfo.rb +0 -115
  894. data/dist/lib/IcePatch2/FileServer.rb +0 -123
  895. data/dist/lib/IcePatch2.rb +0 -5
@@ -1,1810 +0,0 @@
1
- //
2
- // Copyright (c) ZeroC, Inc. All rights reserved.
3
- //
4
-
5
- #include <Slice/CPlusPlusUtil.h>
6
- #include <Slice/Util.h>
7
- #include <cstring>
8
- #include <functional>
9
-
10
- #ifndef _WIN32
11
- # include <fcntl.h>
12
- #endif
13
-
14
- using namespace std;
15
- using namespace Slice;
16
- using namespace IceUtil;
17
- using namespace IceUtilInternal;
18
-
19
- namespace
20
- {
21
-
22
- string toTemplateArg(const string& arg)
23
- {
24
- if(arg.empty())
25
- {
26
- return arg;
27
- }
28
- string fixed = arg;
29
- if(arg[0] == ':')
30
- {
31
- fixed = " " + fixed;
32
- }
33
- if(fixed[fixed.length() - 1] == '>')
34
- {
35
- fixed = fixed + " ";
36
- }
37
- return fixed;
38
- }
39
-
40
- string
41
- toOptional(const string& s, int typeCtx)
42
- {
43
- bool cpp11 = (typeCtx & TypeContextCpp11) != 0;
44
- string result = cpp11 ? "Ice::optional" : "IceUtil::Optional";
45
- result += '<';
46
- if(cpp11)
47
- {
48
- result += s;
49
- }
50
- else
51
- {
52
- result += toTemplateArg(s);
53
- }
54
-
55
- result += '>';
56
- return result;
57
- }
58
-
59
- string
60
- stringTypeToString(const TypePtr&, const StringList& metaData, int typeCtx)
61
- {
62
- string strType = findMetaData(metaData, typeCtx);
63
- if(strType == "wstring" || (typeCtx & TypeContextUseWstring && strType == ""))
64
- {
65
- return "::std::wstring";
66
- }
67
- else if(strType != "" && strType != "string")
68
- {
69
- return strType;
70
- }
71
- else
72
- {
73
- return "::std::string";
74
- }
75
- }
76
-
77
- string
78
- sequenceTypeToString(const SequencePtr& seq, const string& scope, const StringList& metaData, int typeCtx)
79
- {
80
- string seqType = findMetaData(metaData, typeCtx);
81
- if(!seqType.empty())
82
- {
83
- if(seqType == "%array")
84
- {
85
- BuiltinPtr builtin = BuiltinPtr::dynamicCast(seq->type());
86
- if(typeCtx & TypeContextAMIPrivateEnd)
87
- {
88
- if(builtin && builtin->kind() == Builtin::KindByte)
89
- {
90
- string s = typeToString(seq->type(), scope);
91
- return "::std::pair<const " + s + "*, const " + s + "*>";
92
- }
93
- else if(builtin &&
94
- builtin->kind() != Builtin::KindString &&
95
- builtin->kind() != Builtin::KindObject &&
96
- builtin->kind() != Builtin::KindObjectProxy)
97
- {
98
- string s = toTemplateArg(typeToString(builtin, scope));
99
- return "::std::pair< ::IceUtil::ScopedArray<" + s + ">, " +
100
- "::std::pair<const " + s + "*, const " + s + "*> >";
101
- }
102
- else
103
- {
104
- string s = toTemplateArg(typeToString(seq->type(), scope, seq->typeMetaData(),
105
- inWstringModule(seq) ? TypeContextUseWstring : 0));
106
- return "::std::vector<" + s + '>';
107
- }
108
- }
109
- string s = typeToString(seq->type(), scope, seq->typeMetaData(),
110
- typeCtx | (inWstringModule(seq) ? TypeContextUseWstring : 0));
111
- return "::std::pair<const " + s + "*, const " + s + "*>";
112
- }
113
- else if(seqType.find("%range") == 0)
114
- {
115
- string s;
116
- if(seqType.find("%range:") == 0)
117
- {
118
- s = seqType.substr(strlen("%range:"));
119
- }
120
- else
121
- {
122
- s = getUnqualified(fixKwd(seq->scoped()), scope);
123
- }
124
-
125
- if(typeCtx & TypeContextAMIPrivateEnd)
126
- {
127
- return s;
128
- }
129
-
130
- if(s[0] == ':')
131
- {
132
- s = " " + s;
133
- }
134
- return "::std::pair<" + s + "::const_iterator, " + s + "::const_iterator>";
135
- }
136
- else
137
- {
138
- return seqType;
139
- }
140
- }
141
- else
142
- {
143
- return getUnqualified(fixKwd(seq->scoped()), scope);
144
- }
145
- }
146
-
147
- string
148
- dictionaryTypeToString(const DictionaryPtr& dict, const string& scope, const StringList& metaData, int typeCtx)
149
- {
150
- const string dictType = findMetaData(metaData, typeCtx);
151
- if(dictType.empty())
152
- {
153
- return getUnqualified(fixKwd(dict->scoped()), scope);
154
- }
155
- else
156
- {
157
- return dictType;
158
- }
159
- }
160
-
161
- void
162
- writeParamAllocateCode(Output& out, const TypePtr& type, bool optional, const string& scope, const string& fixedName,
163
- const StringList& metaData, int typeCtx, bool endArg)
164
- {
165
- string s = typeToString(type, scope, metaData, typeCtx);
166
- if(optional)
167
- {
168
- s = toOptional(s, typeCtx);
169
- }
170
- out << nl << s << ' ' << fixedName << ';';
171
-
172
- if((typeCtx & TypeContextCpp11) || !(typeCtx & TypeContextInParam) || !endArg)
173
- {
174
- return; // We're done.
175
- }
176
-
177
- //
178
- // If using a range or array we need to allocate the range container, or
179
- // array as well now to ensure they are always in the same scope.
180
- //
181
- SequencePtr seq = SequencePtr::dynamicCast(type);
182
- if(seq)
183
- {
184
- string seqType = findMetaData(metaData, typeCtx);
185
- if(seqType.empty())
186
- {
187
- seqType = findMetaData(seq->getMetaData(), typeCtx);
188
- }
189
-
190
- string str;
191
- if(seqType == "%array")
192
- {
193
- str = typeToString(seq, scope, metaData, TypeContextAMIPrivateEnd);
194
- }
195
- else if(seqType.find("%range") == 0)
196
- {
197
- StringList md;
198
- if(seqType.find("%range:") == 0)
199
- {
200
- md.push_back("cpp:type:" + seqType.substr(strlen("%range:")));
201
- }
202
- str = typeToString(seq, scope, md, 0);
203
- }
204
-
205
- if(!str.empty())
206
- {
207
- if(optional)
208
- {
209
- str = toOptional(str, typeCtx);
210
- }
211
- out << nl << str << ' ' << fixedName << "_tmp_;";
212
- }
213
- }
214
- }
215
-
216
- void
217
- writeParamEndCode(Output& out, const TypePtr& type, bool optional, const string& fixedName, const StringList& metaData,
218
- const string& obj = "")
219
- {
220
- string objPrefix = obj.empty() ? obj : obj + ".";
221
- string paramName = objPrefix + fixedName;
222
- string escapedParamName = objPrefix + fixedName + "_tmp_";
223
-
224
- SequencePtr seq = SequencePtr::dynamicCast(type);
225
- if(seq)
226
- {
227
- string seqType = findMetaData(metaData, TypeContextInParam);
228
- if(seqType.empty())
229
- {
230
- seqType = findMetaData(seq->getMetaData(), TypeContextInParam);
231
- }
232
-
233
- if(seqType == "%array")
234
- {
235
- BuiltinPtr builtin = BuiltinPtr::dynamicCast(seq->type());
236
- if(builtin &&
237
- builtin->kind() != Builtin::KindByte &&
238
- builtin->kind() != Builtin::KindString &&
239
- builtin->kind() != Builtin::KindObject &&
240
- builtin->kind() != Builtin::KindObjectProxy)
241
- {
242
- if(optional)
243
- {
244
- out << nl << "if(" << escapedParamName << ")";
245
- out << sb;
246
- out << nl << paramName << " = " << escapedParamName << "->second;";
247
- out << eb;
248
- }
249
- else
250
- {
251
- out << nl << paramName << " = " << escapedParamName << ".second;";
252
- }
253
- }
254
- else if(!builtin ||
255
- builtin->kind() == Builtin::KindString ||
256
- builtin->kind() == Builtin::KindObject ||
257
- builtin->kind() == Builtin::KindObjectProxy)
258
- {
259
- if(optional)
260
- {
261
- out << nl << "if(" << escapedParamName << ")";
262
- out << sb;
263
- out << nl << paramName << ".__setIsSet();";
264
- out << nl << "if(!" << escapedParamName << "->empty())";
265
- out << sb;
266
- out << nl << paramName << "->first" << " = &(*" << escapedParamName << ")[0];";
267
- out << nl << paramName << "->second" << " = " << paramName << "->first + " << escapedParamName
268
- << "->size();";
269
- out << eb;
270
- out << nl << "else";
271
- out << sb;
272
- out << nl << paramName << "->first" << " = " << paramName << "->second" << " = 0;";
273
- out << eb;
274
- out << eb;
275
- }
276
- else
277
- {
278
- out << nl << "if(!" << escapedParamName << ".empty())";
279
- out << sb;
280
- out << nl << paramName << ".first" << " = &" << escapedParamName << "[0];";
281
- out << nl << paramName << ".second" << " = " << paramName << ".first + " << escapedParamName
282
- << ".size();";
283
- out << eb;
284
- out << nl << "else";
285
- out << sb;
286
- out << nl << paramName << ".first" << " = " << paramName << ".second" << " = 0;";
287
- out << eb;
288
- }
289
- }
290
- }
291
- else if(seqType.find("%range") == 0)
292
- {
293
- if(optional)
294
- {
295
- out << nl << "if(" << escapedParamName << ")";
296
- out << sb;
297
- out << nl << paramName << ".__setIsSet();";
298
- out << nl << paramName << "->first = (*" << escapedParamName << ").begin();";
299
- out << nl << paramName << "->second = (*" << escapedParamName << ").end();";
300
- out << eb;
301
- }
302
- else
303
- {
304
- out << nl << paramName << ".first = " << escapedParamName << ".begin();";
305
- out << nl << paramName << ".second = " << escapedParamName << ".end();";
306
- }
307
- }
308
- }
309
- }
310
-
311
- void
312
- writeMarshalUnmarshalParams(Output& out, const ParamDeclList& params, const OperationPtr& op, bool marshal,
313
- bool prepend, int typeCtx, const string& customStream = "", const string& retP = "",
314
- const string& obj = "")
315
- {
316
- string prefix = prepend ? paramPrefix : "";
317
- string returnValueS = retP.empty() ? string("ret") : retP;
318
- string objPrefix = obj.empty() ? obj : obj + ".";
319
-
320
- string stream = customStream;
321
- if(stream.empty())
322
- {
323
- stream = marshal ? "ostr" : "istr";
324
- }
325
-
326
- bool cpp11 = (typeCtx & TypeContextCpp11) != 0;
327
-
328
- //
329
- // Marshal non optional parameters.
330
- //
331
- ParamDeclList requiredParams;
332
- ParamDeclList optionals;
333
- for(ParamDeclList::const_iterator p = params.begin(); p != params.end(); ++p)
334
- {
335
- if((*p)->optional())
336
- {
337
- optionals.push_back(*p);
338
- }
339
- else
340
- {
341
- requiredParams.push_back(*p);
342
- }
343
- }
344
-
345
- if(!requiredParams.empty() || (op && op->returnType() && !op->returnIsOptional()))
346
- {
347
- if(cpp11)
348
- {
349
- out << nl;
350
- if(marshal)
351
- {
352
- out << stream << "->writeAll";
353
- }
354
- else
355
- {
356
- out << stream << "->readAll";
357
- }
358
- out << spar;
359
- for(ParamDeclList::const_iterator p = requiredParams.begin(); p != requiredParams.end(); ++p)
360
- {
361
- out << objPrefix + fixKwd(prefix + (*p)->name());
362
- }
363
- if(op && op->returnType() && !op->returnIsOptional())
364
- {
365
- out << objPrefix + returnValueS;
366
- }
367
- out << epar << ";";
368
- }
369
- else
370
- {
371
- for(ParamDeclList::const_iterator p = requiredParams.begin(); p != requiredParams.end(); ++p)
372
- {
373
- writeMarshalUnmarshalCode(out, (*p)->type(), false, 0, fixKwd(prefix + (*p)->name()), marshal,
374
- (*p)->getMetaData(), typeCtx, customStream, true, obj);
375
- }
376
-
377
- if(op && op->returnType())
378
- {
379
- if(!op->returnIsOptional())
380
- {
381
- writeMarshalUnmarshalCode(out, op->returnType(), false, 0, returnValueS, marshal, op->getMetaData(),
382
- typeCtx, customStream, true, obj);
383
- }
384
- }
385
- }
386
- }
387
-
388
- if(!optionals.empty() || (op && op->returnType() && op->returnIsOptional()))
389
- {
390
- //
391
- // Sort optional parameters by tag.
392
- //
393
- class SortFn
394
- {
395
- public:
396
- static bool compare(const ParamDeclPtr& lhs, const ParamDeclPtr& rhs)
397
- {
398
- return lhs->tag() < rhs->tag();
399
- }
400
- };
401
- optionals.sort(SortFn::compare);
402
-
403
- if(cpp11)
404
- {
405
- out << nl;
406
- if(marshal)
407
- {
408
- out << stream << "->writeAll";
409
- }
410
- else
411
- {
412
- out << stream << "->readAll";
413
- }
414
- out << spar;
415
-
416
- {
417
- //
418
- // Tags
419
- //
420
- ostringstream os;
421
- os << '{';
422
- bool checkReturnType = op && op->returnIsOptional();
423
- bool insertComma = false;
424
- for(ParamDeclList::const_iterator p = optionals.begin(); p != optionals.end(); ++p)
425
- {
426
- if(checkReturnType && op->returnTag() < (*p)->tag())
427
- {
428
- os << (insertComma ? ", " : "") << op->returnTag();
429
- checkReturnType = false;
430
- insertComma = true;
431
- }
432
- os << (insertComma ? ", " : "") << (*p)->tag();
433
- insertComma = true;
434
- }
435
- if(checkReturnType)
436
- {
437
- os << (insertComma ? ", " : "") << op->returnTag();
438
- }
439
- os << '}';
440
- out << os.str();
441
- }
442
-
443
- {
444
- //
445
- // Parameters
446
- //
447
- bool checkReturnType = op && op->returnIsOptional();
448
- for(ParamDeclList::const_iterator p = optionals.begin(); p != optionals.end(); ++p)
449
- {
450
- if(checkReturnType && op->returnTag() < (*p)->tag())
451
- {
452
- out << objPrefix + returnValueS;
453
- checkReturnType = false;
454
- }
455
- out << objPrefix + fixKwd(prefix + (*p)->name());
456
- }
457
- if(checkReturnType)
458
- {
459
- out << objPrefix + returnValueS;
460
- }
461
- }
462
- out << epar << ";";
463
- }
464
- else
465
- {
466
-
467
- //
468
- // Marshal optional parameters.
469
- //
470
-
471
- bool checkReturnType = op && op->returnIsOptional();
472
- for(ParamDeclList::const_iterator p = optionals.begin(); p != optionals.end(); ++p)
473
- {
474
- if(checkReturnType && op->returnTag() < (*p)->tag())
475
- {
476
- writeMarshalUnmarshalCode(out, op->returnType(), true, op->returnTag(), returnValueS, marshal,
477
- op->getMetaData(), typeCtx, customStream, true, obj);
478
-
479
- checkReturnType = false;
480
- }
481
- writeMarshalUnmarshalCode(out, (*p)->type(), true, (*p)->tag(), fixKwd(prefix + (*p)->name()), marshal,
482
- (*p)->getMetaData(), typeCtx, customStream, true, obj);
483
- }
484
- if(checkReturnType)
485
- {
486
- writeMarshalUnmarshalCode(out, op->returnType(), true, op->returnTag(), returnValueS, marshal,
487
- op->getMetaData(), typeCtx, customStream, true, obj);
488
- }
489
- }
490
- }
491
- }
492
- }
493
-
494
- string Slice::paramPrefix = "iceP_";
495
-
496
- char
497
- Slice::ToIfdef::operator()(char c)
498
- {
499
- if(!isalnum(static_cast<unsigned char>(c)))
500
- {
501
- return '_';
502
- }
503
- else
504
- {
505
- return c;
506
- }
507
- }
508
-
509
- void
510
- Slice::printHeader(Output& out)
511
- {
512
- static const char* header =
513
- "//\n"
514
- "// Copyright (c) ZeroC, Inc. All rights reserved.\n"
515
- "//\n"
516
- ;
517
-
518
- out << header;
519
- out << "//\n";
520
- out << "// Ice version " << ICE_STRING_VERSION << "\n";
521
- out << "//\n";
522
- }
523
-
524
- void
525
- Slice::printVersionCheck(Output& out)
526
- {
527
- out << "\n";
528
- out << "\n#ifndef ICE_IGNORE_VERSION";
529
- int iceVersion = ICE_INT_VERSION; // Use this to prevent warning with C++Builder
530
- if(iceVersion % 100 >= 50)
531
- {
532
- //
533
- // Beta version: exact match required
534
- //
535
- out << "\n# if ICE_INT_VERSION != " << ICE_INT_VERSION;
536
- out << "\n# error Ice version mismatch: an exact match is required for beta generated code";
537
- out << "\n# endif";
538
- }
539
- else
540
- {
541
- out << "\n# if ICE_INT_VERSION / 100 != " << ICE_INT_VERSION / 100;
542
- out << "\n# error Ice version mismatch!";
543
- out << "\n# endif";
544
-
545
- //
546
- // Generated code is release; reject beta header
547
- //
548
- out << "\n# if ICE_INT_VERSION % 100 >= 50";
549
- out << "\n# error Beta header file detected";
550
- out << "\n# endif";
551
-
552
- out << "\n# if ICE_INT_VERSION % 100 < " << ICE_INT_VERSION % 100;
553
- out << "\n# error Ice patch level mismatch!";
554
- out << "\n# endif";
555
- }
556
- out << "\n#endif";
557
- }
558
-
559
- void
560
- Slice::printDllExportStuff(Output& out, const string& dllExport)
561
- {
562
- if(dllExport.size())
563
- {
564
- out << sp;
565
- out << "\n#ifndef " << dllExport;
566
- out << "\n# if defined(ICE_STATIC_LIBS)";
567
- out << "\n# define " << dllExport << " /**/";
568
- out << "\n# elif defined(" << dllExport << "_EXPORTS)";
569
- out << "\n# define " << dllExport << " ICE_DECLSPEC_EXPORT";
570
- out << "\n# else";
571
- out << "\n# define " << dllExport << " ICE_DECLSPEC_IMPORT";
572
- out << "\n# endif";
573
- out << "\n#endif";
574
- }
575
- }
576
-
577
- bool
578
- Slice::isMovable(const TypePtr& type)
579
- {
580
- BuiltinPtr builtin = BuiltinPtr::dynamicCast(type);
581
- if(builtin)
582
- {
583
- switch(builtin->kind())
584
- {
585
- case Builtin::KindString:
586
- case Builtin::KindObject:
587
- case Builtin::KindObjectProxy:
588
- case Builtin::KindLocalObject:
589
- case Builtin::KindValue:
590
- {
591
- return true;
592
- }
593
- default:
594
- {
595
- return false;
596
- }
597
- }
598
- }
599
- return !EnumPtr::dynamicCast(type);
600
- }
601
-
602
- string
603
- Slice::getUnqualified(const std::string& type, const std::string& scope)
604
- {
605
- if(type.find("::") != string::npos)
606
- {
607
- string prefix;
608
- if(type.find("const ") == 0)
609
- {
610
- prefix += "const ";
611
- }
612
-
613
- if(type.find("::std::shared_ptr<", prefix.size()) == prefix.size())
614
- {
615
- prefix += "::std::shared_ptr<";
616
- }
617
-
618
- if(type.find(scope, prefix.size()) == prefix.size())
619
- {
620
- string t = type.substr(prefix.size() + scope.size());
621
- if(t.find("::") == string::npos)
622
- {
623
- return prefix + t;
624
- }
625
- }
626
- }
627
- return type;
628
- }
629
-
630
- string
631
- Slice::typeToString(const TypePtr& type, const string& scope, const StringList& metaData, int typeCtx)
632
- {
633
- bool cpp11 = (typeCtx & TypeContextCpp11) != 0;
634
-
635
- static const char* builtinTable[] =
636
- {
637
- "::Ice::Byte",
638
- "bool",
639
- "::Ice::Short",
640
- "::Ice::Int",
641
- "::Ice::Long",
642
- "::Ice::Float",
643
- "::Ice::Double",
644
- "::std::string",
645
- "::Ice::ObjectPtr",
646
- "::Ice::ObjectPrx",
647
- "::Ice::LocalObjectPtr",
648
- "::Ice::ValuePtr"
649
- };
650
-
651
- static const char* cpp11BuiltinTable[] =
652
- {
653
- "::Ice::Byte",
654
- "bool",
655
- "short",
656
- "int",
657
- "long long int",
658
- "float",
659
- "double",
660
- "::std::string",
661
- "::std::shared_ptr<::Ice::Object>",
662
- "::std::shared_ptr<::Ice::ObjectPrx>",
663
- "::std::shared_ptr<void>",
664
- "::std::shared_ptr<::Ice::Value>"
665
- };
666
-
667
- if((typeCtx & TypeContextLocal) != 0)
668
- {
669
- for(StringList::const_iterator i = metaData.begin(); i != metaData.end(); ++i)
670
- {
671
- const string cppType = "cpp:type:";
672
- const string meta = *i;
673
-
674
- if(meta.find(cppType) == 0)
675
- {
676
- return meta.substr(cppType.size());
677
- }
678
- }
679
- }
680
-
681
- BuiltinPtr builtin = BuiltinPtr::dynamicCast(type);
682
- if(builtin)
683
- {
684
- if(builtin->kind() == Builtin::KindString)
685
- {
686
- return stringTypeToString(type, metaData, typeCtx);
687
- }
688
- else if(cpp11)
689
- {
690
- if(builtin->kind() == Builtin::KindObject && !(typeCtx & TypeContextLocal))
691
- {
692
- return getUnqualified(cpp11BuiltinTable[Builtin::KindValue], scope);
693
- }
694
- else
695
- {
696
- return getUnqualified(cpp11BuiltinTable[builtin->kind()], scope);
697
- }
698
- }
699
- else
700
- {
701
- return getUnqualified(builtinTable[builtin->kind()], scope);
702
- }
703
- }
704
-
705
- ClassDeclPtr cl = ClassDeclPtr::dynamicCast(type);
706
- if(cl)
707
- {
708
- if(cpp11)
709
- {
710
- if(cl->definition() && cl->definition()->isDelegate())
711
- {
712
- return getUnqualified(fixKwd(cl->scoped()), scope);
713
- }
714
- else if(cl->isInterface() && !cl->isLocal())
715
- {
716
- return getUnqualified(cpp11BuiltinTable[Builtin::KindValue], scope);
717
- }
718
- else
719
- {
720
- return "::std::shared_ptr<" + getUnqualified(cl->scoped(), scope) + ">";
721
- }
722
- }
723
- else
724
- {
725
- return getUnqualified(cl->scoped() + "Ptr", scope);
726
- }
727
- }
728
-
729
- StructPtr st = StructPtr::dynamicCast(type);
730
- if(st)
731
- {
732
- //
733
- // C++11 mapping doesn't accept cpp:class metadata
734
- //
735
- if(!cpp11 && findMetaData(st->getMetaData()) == "%class")
736
- {
737
- return getUnqualified(fixKwd(st->scoped() + "Ptr"), scope);
738
- }
739
- else
740
- {
741
- return getUnqualified(fixKwd(st->scoped()), scope);
742
- }
743
- }
744
-
745
- ProxyPtr proxy = ProxyPtr::dynamicCast(type);
746
- if(proxy)
747
- {
748
- if(cpp11)
749
- {
750
- ClassDefPtr def = proxy->_class()->definition();
751
- //
752
- // Non local classes without operations map to the base
753
- // proxy class shared_ptr<Ice::ObjectPrx>
754
- //
755
- if(!def || def->isAbstract())
756
- {
757
- return "::std::shared_ptr<" + getUnqualified(fixKwd(proxy->_class()->scoped() + "Prx"), scope) + ">";
758
- }
759
- else
760
- {
761
- return getUnqualified(cpp11BuiltinTable[Builtin::KindObjectProxy], scope);
762
- }
763
- }
764
- else
765
- {
766
- return getUnqualified(fixKwd(proxy->_class()->scoped() + "Prx"), scope);
767
- }
768
- }
769
-
770
- EnumPtr en = EnumPtr::dynamicCast(type);
771
- if(en)
772
- {
773
- return getUnqualified(fixKwd(en->scoped()), scope);
774
- }
775
-
776
- SequencePtr seq = SequencePtr::dynamicCast(type);
777
- if(seq)
778
- {
779
- return sequenceTypeToString(seq, scope, metaData, typeCtx);
780
- }
781
-
782
- DictionaryPtr dict = DictionaryPtr::dynamicCast(type);
783
- if(dict)
784
- {
785
- return dictionaryTypeToString(dict, scope, metaData, typeCtx);
786
- }
787
-
788
- return "???";
789
- }
790
-
791
- string
792
- Slice::typeToString(const TypePtr& type, bool optional, const string& scope, const StringList& metaData, int typeCtx)
793
- {
794
- if(optional)
795
- {
796
- return toOptional(typeToString(type, scope, metaData, typeCtx), typeCtx);
797
- }
798
- else
799
- {
800
- return typeToString(type, scope, metaData, typeCtx);
801
- }
802
- }
803
-
804
- string
805
- Slice::returnTypeToString(const TypePtr& type, bool optional, const string& scope, const StringList& metaData,
806
- int typeCtx)
807
- {
808
- if(!type)
809
- {
810
- return "void";
811
- }
812
-
813
- if(optional)
814
- {
815
- return toOptional(typeToString(type, scope, metaData, typeCtx), typeCtx);
816
- }
817
-
818
- return typeToString(type, scope, metaData, typeCtx);
819
- }
820
-
821
- string
822
- Slice::inputTypeToString(const TypePtr& type, bool optional, const string& scope, const StringList& metaData,
823
- int typeCtx)
824
- {
825
- bool cpp11 = (typeCtx & TypeContextCpp11) != 0;
826
-
827
- static const char* cpp98InputBuiltinTable[] =
828
- {
829
- "::Ice::Byte",
830
- "bool",
831
- "::Ice::Short",
832
- "::Ice::Int",
833
- "::Ice::Long",
834
- "::Ice::Float",
835
- "::Ice::Double",
836
- "const ::std::string&",
837
- "const ::Ice::ObjectPtr&",
838
- "const ::Ice::ObjectPrx&",
839
- "const ::Ice::LocalObjectPtr&",
840
- "const ::Ice::ValuePtr&"
841
- };
842
-
843
- static const char* cpp11InputBuiltinTable[] =
844
- {
845
- "::Ice::Byte",
846
- "bool",
847
- "short",
848
- "int",
849
- "long long int",
850
- "float",
851
- "double",
852
- "const ::std::string&",
853
- "const ::std::shared_ptr<::Ice::Object>&",
854
- "const ::std::shared_ptr<::Ice::ObjectPrx>&",
855
- "const ::std::shared_ptr<void>&",
856
- "const ::std::shared_ptr<::Ice::Value>&"
857
- };
858
-
859
- typeCtx |= TypeContextInParam;
860
-
861
- if(optional)
862
- {
863
- return "const " + toOptional(typeToString(type, scope, metaData, typeCtx), typeCtx) + '&';
864
- }
865
-
866
- BuiltinPtr builtin = BuiltinPtr::dynamicCast(type);
867
- if(builtin)
868
- {
869
- if(builtin->kind() == Builtin::KindString)
870
- {
871
- return string("const ") + stringTypeToString(type, metaData, typeCtx) + '&';
872
- }
873
- else if(cpp11)
874
- {
875
- if(builtin->kind() == Builtin::KindObject && !(typeCtx & TypeContextLocal))
876
- {
877
- return getUnqualified(cpp11InputBuiltinTable[Builtin::KindValue], scope);
878
- }
879
- else
880
- {
881
- return getUnqualified(cpp11InputBuiltinTable[builtin->kind()], scope);
882
- }
883
- }
884
- else
885
- {
886
- return getUnqualified(cpp98InputBuiltinTable[builtin->kind()], scope);
887
- }
888
- }
889
-
890
- ClassDeclPtr cl = ClassDeclPtr::dynamicCast(type);
891
- if(cl)
892
- {
893
- if(cpp11)
894
- {
895
- if(cl->definition() && cl->definition()->isDelegate())
896
- {
897
- return getUnqualified(fixKwd(cl->scoped()), scope);
898
- }
899
- else if(cl->isInterface() && !cl->isLocal())
900
- {
901
- return getUnqualified(cpp11InputBuiltinTable[Builtin::KindValue], scope);
902
- }
903
- else
904
- {
905
- return "const ::std::shared_ptr<" + getUnqualified(fixKwd(cl->scoped()), scope) + ">&";
906
- }
907
- }
908
- else
909
- {
910
- return "const " + getUnqualified(fixKwd(cl->scoped() + "Ptr&"), scope);
911
- }
912
- }
913
-
914
- StructPtr st = StructPtr::dynamicCast(type);
915
- if(st)
916
- {
917
- if(cpp11)
918
- {
919
- return "const " + getUnqualified(fixKwd(st->scoped()), scope) + "&";
920
- }
921
- else
922
- {
923
- if(findMetaData(st->getMetaData()) == "%class")
924
- {
925
- return "const " + getUnqualified(fixKwd(st->scoped() + "Ptr"), scope) + "&";
926
- }
927
- else
928
- {
929
- return "const " + getUnqualified(fixKwd(st->scoped()), scope) + "&";
930
- }
931
- }
932
- }
933
-
934
- ProxyPtr proxy = ProxyPtr::dynamicCast(type);
935
- if(proxy)
936
- {
937
- if(cpp11)
938
- {
939
- ClassDefPtr def = proxy->_class()->definition();
940
- if(def && !def->isInterface() && def->allOperations().empty())
941
- {
942
- return getUnqualified(cpp11InputBuiltinTable[Builtin::KindObjectProxy], scope);
943
- }
944
- else
945
- {
946
- return "const ::std::shared_ptr<" + getUnqualified(fixKwd(proxy->_class()->scoped() + "Prx"), scope) + ">&";
947
- }
948
- }
949
- else
950
- {
951
- return "const " + getUnqualified(fixKwd(proxy->_class()->scoped() + "Prx"), scope) + "&";
952
- }
953
- }
954
-
955
- EnumPtr en = EnumPtr::dynamicCast(type);
956
- if(en)
957
- {
958
- return getUnqualified(fixKwd(en->scoped()), scope);
959
- }
960
-
961
- SequencePtr seq = SequencePtr::dynamicCast(type);
962
- if(seq)
963
- {
964
- return "const " + sequenceTypeToString(seq, scope, metaData, typeCtx) + "&";
965
- }
966
-
967
- DictionaryPtr dict = DictionaryPtr::dynamicCast(type);
968
- if(dict)
969
- {
970
- return "const " + dictionaryTypeToString(dict, scope, metaData, typeCtx) + "&";
971
- }
972
-
973
- return "???";
974
- }
975
-
976
- string
977
- Slice::outputTypeToString(const TypePtr& type, bool optional, const string& scope, const StringList& metaData,
978
- int typeCtx)
979
- {
980
- bool cpp11 = (typeCtx & TypeContextCpp11) != 0;
981
-
982
- static const char* outputBuiltinTable[] =
983
- {
984
- "::Ice::Byte&",
985
- "bool&",
986
- "::Ice::Short&",
987
- "::Ice::Int&",
988
- "::Ice::Long&",
989
- "::Ice::Float&",
990
- "::Ice::Double&",
991
- "::std::string&",
992
- "::Ice::ObjectPtr&",
993
- "::Ice::ObjectPrxPtr&",
994
- "::Ice::LocalObjectPtr&",
995
- "::Ice::ValuePtr&"
996
- };
997
-
998
- static const char* cpp11OutputBuiltinTable[] =
999
- {
1000
- "::Ice::Byte&",
1001
- "bool&",
1002
- "short&",
1003
- "int&",
1004
- "long long int&",
1005
- "float&",
1006
- "double&",
1007
- "::std::string&",
1008
- "::std::shared_ptr<::Ice::Object>&",
1009
- "::std::shared_ptr<::Ice::ObjectPrx>&",
1010
- "::std::shared_ptr<void>&",
1011
- "::std::shared_ptr<::Ice::Value>&"
1012
- };
1013
-
1014
- if(optional)
1015
- {
1016
- return toOptional(typeToString(type, scope, metaData, typeCtx), typeCtx) + '&';
1017
- }
1018
-
1019
- BuiltinPtr builtin = BuiltinPtr::dynamicCast(type);
1020
- if(builtin)
1021
- {
1022
- if(builtin->kind() == Builtin::KindString)
1023
- {
1024
- return stringTypeToString(type, metaData, typeCtx) + "&";
1025
- }
1026
- else if(cpp11)
1027
- {
1028
- if(builtin->kind() == Builtin::KindObject && !(typeCtx & TypeContextLocal))
1029
- {
1030
- return getUnqualified(cpp11OutputBuiltinTable[Builtin::KindValue], scope);
1031
- }
1032
- else
1033
- {
1034
- return getUnqualified(cpp11OutputBuiltinTable[builtin->kind()], scope);
1035
- }
1036
- }
1037
- else
1038
- {
1039
- return getUnqualified(outputBuiltinTable[builtin->kind()], scope);
1040
- }
1041
- }
1042
-
1043
- ClassDeclPtr cl = ClassDeclPtr::dynamicCast(type);
1044
- if(cl)
1045
- {
1046
- if(cpp11)
1047
- {
1048
- if(cl->definition() && cl->definition()->isDelegate())
1049
- {
1050
- return getUnqualified(fixKwd(cl->scoped()), scope) + "&";
1051
- }
1052
- else if(cl->isInterface() && !cl->isLocal())
1053
- {
1054
- return getUnqualified(cpp11OutputBuiltinTable[Builtin::KindValue], scope);
1055
- }
1056
- else
1057
- {
1058
- return "::std::shared_ptr<" + getUnqualified(fixKwd(cl->scoped()), scope) + ">&";
1059
- }
1060
- }
1061
- else
1062
- {
1063
- return getUnqualified(fixKwd(cl->scoped() + "Ptr&"), scope);
1064
- }
1065
- }
1066
-
1067
- StructPtr st = StructPtr::dynamicCast(type);
1068
- if(st)
1069
- {
1070
- if(!cpp11 && findMetaData(st->getMetaData()) == "%class")
1071
- {
1072
- return getUnqualified(fixKwd(st->scoped() + "Ptr&"), scope);
1073
- }
1074
- else
1075
- {
1076
- return getUnqualified(fixKwd(st->scoped()), scope) + "&";
1077
- }
1078
- }
1079
-
1080
- ProxyPtr proxy = ProxyPtr::dynamicCast(type);
1081
- if(proxy)
1082
- {
1083
- if(cpp11)
1084
- {
1085
- ClassDefPtr def = proxy->_class()->definition();
1086
- //
1087
- // Non local classes without operations map to the base
1088
- // proxy class shared_ptr<Ice::ObjectPrx>
1089
- //
1090
- if(def && !def->isInterface() && def->allOperations().empty())
1091
- {
1092
- return getUnqualified(cpp11OutputBuiltinTable[Builtin::KindObjectProxy], scope);
1093
- }
1094
- else
1095
- {
1096
- return "::std::shared_ptr<" + getUnqualified(fixKwd(proxy->_class()->scoped() + "Prx"), scope) + ">&";
1097
- }
1098
- }
1099
- else
1100
- {
1101
- return getUnqualified(fixKwd(proxy->_class()->scoped() + "Prx&"), scope);
1102
- }
1103
- }
1104
-
1105
- EnumPtr en = EnumPtr::dynamicCast(type);
1106
- if(en)
1107
- {
1108
- return getUnqualified(fixKwd(en->scoped()), scope) + "&";
1109
- }
1110
-
1111
- SequencePtr seq = SequencePtr::dynamicCast(type);
1112
- if(seq)
1113
- {
1114
- return sequenceTypeToString(seq, scope, metaData, typeCtx) + "&";
1115
- }
1116
-
1117
- DictionaryPtr dict = DictionaryPtr::dynamicCast(type);
1118
- if(dict)
1119
- {
1120
- return dictionaryTypeToString(dict, scope, metaData, typeCtx) + "&";
1121
- }
1122
-
1123
- return "???";
1124
- }
1125
-
1126
- string
1127
- Slice::operationModeToString(Operation::Mode mode, bool cpp11)
1128
- {
1129
- string prefix = cpp11 ? "::Ice::OperationMode::" : "::Ice::";
1130
- switch(mode)
1131
- {
1132
- case Operation::Normal:
1133
- {
1134
- return prefix + "Normal";
1135
- }
1136
-
1137
- case Operation::Nonmutating:
1138
- {
1139
- return prefix + "Nonmutating";
1140
- }
1141
-
1142
- case Operation::Idempotent:
1143
- {
1144
- return prefix + "Idempotent";
1145
- }
1146
- default:
1147
- {
1148
- assert(false);
1149
- }
1150
- }
1151
-
1152
- return "???";
1153
- }
1154
-
1155
- string
1156
- Slice::opFormatTypeToString(const OperationPtr& op, bool cpp11)
1157
- {
1158
- string prefix = cpp11 ? "::Ice::FormatType::" : "::Ice::";
1159
-
1160
- switch(op->format())
1161
- {
1162
- case DefaultFormat:
1163
- return prefix + "DefaultFormat";
1164
- case CompactFormat:
1165
- return prefix + "CompactFormat";
1166
- case SlicedFormat:
1167
- return prefix + "SlicedFormat";
1168
-
1169
- default:
1170
- assert(false);
1171
- }
1172
-
1173
- return "???";
1174
- }
1175
-
1176
- //
1177
- // If the passed name is a keyword, return the name with a "_cpp_" prefix;
1178
- // otherwise, return the name unchanged.
1179
- //
1180
-
1181
- static string
1182
- lookupKwd(const string& name)
1183
- {
1184
- //
1185
- // Keyword list. *Must* be kept in alphabetical order.
1186
- //
1187
- // Note that this keyword list unnecessarily contains C++ keywords
1188
- // that are illegal Slice identifiers -- namely identifiers that
1189
- // are Slice keywords (class, int, etc.). They have not been removed
1190
- // so that the keyword list is kept complete.
1191
- //
1192
- static const string keywordList[] =
1193
- {
1194
- "alignas", "alignof", "and", "and_eq", "asm", "auto", "bitand", "bitor", "bool", "break",
1195
- "case", "catch", "char", "char16_t", "char32_t", "class", "compl", "const", "const_cast", "constexpr", "continue",
1196
- "decltype", "default", "delete", "do", "double", "dynamic_cast",
1197
- "else", "enum", "explicit", "export", "extern", "false", "float", "for", "friend",
1198
- "goto", "if", "inline", "int", "long", "mutable", "namespace", "new", "noexcept", "not", "not_eq", "nullptr",
1199
- "operator", "or", "or_eq", "private", "protected", "public", "register", "reinterpret_cast", "requires",
1200
- "return", "short", "signed", "sizeof", "static", "static_assert", "static_cast", "struct", "switch",
1201
- "template", "this", "thread_local", "throw", "true", "try", "typedef", "typeid", "typename",
1202
- "union", "unsigned", "using", "virtual", "void", "volatile", "wchar_t", "while", "xor", "xor_eq"
1203
- };
1204
- bool found = binary_search(&keywordList[0],
1205
- &keywordList[sizeof(keywordList) / sizeof(*keywordList)],
1206
- name);
1207
- return found ? "_cpp_" + name : name;
1208
- }
1209
-
1210
- //
1211
- // Split a scoped name into its components and return the components as a list of (unscoped) identifiers.
1212
- //
1213
- static StringList
1214
- splitScopedName(const string& scoped)
1215
- {
1216
- assert(scoped[0] == ':');
1217
- StringList ids;
1218
- string::size_type next = 0;
1219
- string::size_type pos;
1220
- while((pos = scoped.find("::", next)) != string::npos)
1221
- {
1222
- pos += 2;
1223
- if(pos != scoped.size())
1224
- {
1225
- string::size_type endpos = scoped.find("::", pos);
1226
- if(endpos != string::npos)
1227
- {
1228
- ids.push_back(scoped.substr(pos, endpos - pos));
1229
- }
1230
- }
1231
- next = pos;
1232
- }
1233
- if(next != scoped.size())
1234
- {
1235
- ids.push_back(scoped.substr(next));
1236
- }
1237
- else
1238
- {
1239
- ids.push_back("");
1240
- }
1241
-
1242
- return ids;
1243
- }
1244
-
1245
- //
1246
- // If the passed name is a scoped name, return the identical scoped name,
1247
- // but with all components that are C++ keywords replaced by
1248
- // their "_cpp_"-prefixed version; otherwise, if the passed name is
1249
- // not scoped, but a C++ keyword, return the "_cpp_"-prefixed name;
1250
- // otherwise, return the name unchanged.
1251
- //
1252
- string
1253
- Slice::fixKwd(const string& name)
1254
- {
1255
- if(name[0] != ':')
1256
- {
1257
- return lookupKwd(name);
1258
- }
1259
- StringList ids = splitScopedName(name);
1260
- #ifdef ICE_CPP11_COMPILER
1261
- transform(ids.begin(), ids.end(), ids.begin(), [](const string& id) -> string { return lookupKwd(id); });
1262
- #else
1263
- transform(ids.begin(), ids.end(), ids.begin(), ptr_fun(lookupKwd));
1264
- #endif
1265
- stringstream result;
1266
- for(StringList::const_iterator i = ids.begin(); i != ids.end(); ++i)
1267
- {
1268
- result << "::" + *i;
1269
- }
1270
- return result.str();
1271
- }
1272
-
1273
- void
1274
- Slice::writeMarshalUnmarshalCode(Output& out, const TypePtr& type, bool optional, int tag, const string& param,
1275
- bool marshal, const StringList& metaData, int typeCtx, const string& customStream,
1276
- bool pointer, const string& obj)
1277
- {
1278
- string objPrefix = obj.empty() ? obj : obj + ".";
1279
-
1280
- ostringstream os;
1281
- if(customStream.empty())
1282
- {
1283
- os << (marshal ? "ostr" : "istr");
1284
- }
1285
- else
1286
- {
1287
- os << customStream;
1288
- }
1289
-
1290
- string deref;
1291
- if(pointer)
1292
- {
1293
- os << "->";
1294
- }
1295
- else
1296
- {
1297
- os << '.';
1298
- }
1299
-
1300
- if(marshal)
1301
- {
1302
- os << "write(";
1303
- }
1304
- else
1305
- {
1306
- os << "read(";
1307
- }
1308
-
1309
- if(optional)
1310
- {
1311
- os << tag << ", ";
1312
- }
1313
-
1314
- string func = os.str();
1315
- if(!marshal)
1316
- {
1317
- SequencePtr seq = SequencePtr::dynamicCast(type);
1318
- if(seq && !(typeCtx & TypeContextAMIPrivateEnd))
1319
- {
1320
- string seqType = findMetaData(metaData, typeCtx);
1321
- if(seqType == "%array")
1322
- {
1323
- BuiltinPtr builtin = BuiltinPtr::dynamicCast(seq->type());
1324
- if(builtin && builtin->kind() == Builtin::KindByte)
1325
- {
1326
- out << nl << func << objPrefix << param << ");";
1327
- return;
1328
- }
1329
-
1330
- out << nl << func << objPrefix << param << "_tmp_);";
1331
- writeParamEndCode(out, seq, optional, param, metaData, obj);
1332
- return;
1333
- }
1334
- else if(seqType.find("%range") == 0)
1335
- {
1336
- out << nl << func << objPrefix << param << "_tmp_);";
1337
- writeParamEndCode(out, seq, optional, param, metaData, obj);
1338
- return;
1339
- }
1340
- }
1341
- }
1342
-
1343
- out << nl << func << objPrefix << param << ");";
1344
- }
1345
-
1346
- void
1347
- Slice::writeMarshalCode(Output& out, const ParamDeclList& params, const OperationPtr& op, bool prepend, int typeCtx,
1348
- const string& customStream, const string& retP)
1349
- {
1350
- writeMarshalUnmarshalParams(out, params, op, true, prepend, typeCtx, customStream, retP);
1351
- }
1352
-
1353
- void
1354
- Slice::writeUnmarshalCode(Output& out, const ParamDeclList& params, const OperationPtr& op, bool prepend, int typeCtx,
1355
- const string& customStream, const string& retP, const string& obj)
1356
- {
1357
- writeMarshalUnmarshalParams(out, params, op, false, prepend, typeCtx, customStream, retP, obj);
1358
- }
1359
-
1360
- void
1361
- Slice::writeAllocateCode(Output& out, const ParamDeclList& params, const OperationPtr& op, bool prepend,
1362
- const string& clScope, int typeCtx, const string& customRet)
1363
- {
1364
- string prefix = prepend ? paramPrefix : "";
1365
- string returnValueS = customRet;
1366
- if(returnValueS.empty())
1367
- {
1368
- returnValueS = "ret";
1369
- }
1370
-
1371
- for(ParamDeclList::const_iterator p = params.begin(); p != params.end(); ++p)
1372
- {
1373
- writeParamAllocateCode(out, (*p)->type(), (*p)->optional(), clScope, fixKwd(prefix + (*p)->name()),
1374
- (*p)->getMetaData(), typeCtx, getEndArg((*p)->type(), (*p)->getMetaData(),
1375
- (*p)->name()) != (*p)->name());
1376
- }
1377
-
1378
- if(op && op->returnType())
1379
- {
1380
- writeParamAllocateCode(out, op->returnType(), op->returnIsOptional(), clScope, returnValueS, op->getMetaData(),
1381
- typeCtx, getEndArg(op->returnType(), op->getMetaData(), returnValueS) != returnValueS);
1382
- }
1383
- }
1384
-
1385
- string
1386
- Slice::getEndArg(const TypePtr& type, const StringList& metaData, const string& arg)
1387
- {
1388
- string endArg = arg;
1389
- SequencePtr seq = SequencePtr::dynamicCast(type);
1390
- if(seq)
1391
- {
1392
- string seqType = findMetaData(metaData, TypeContextInParam);
1393
- if(seqType.empty())
1394
- {
1395
- seqType = findMetaData(seq->getMetaData(), TypeContextInParam);
1396
- }
1397
-
1398
- if(seqType == "%array")
1399
- {
1400
- BuiltinPtr builtin = BuiltinPtr::dynamicCast(seq->type());
1401
- if(builtin &&
1402
- builtin->kind() != Builtin::KindByte &&
1403
- builtin->kind() != Builtin::KindString &&
1404
- builtin->kind() != Builtin::KindObject &&
1405
- builtin->kind() != Builtin::KindObjectProxy)
1406
- {
1407
- endArg += "_tmp_";
1408
- }
1409
- else if(!builtin || builtin->kind() != Builtin::KindByte)
1410
- {
1411
- endArg += "_tmp_";
1412
- }
1413
- }
1414
- else if(seqType.find("%range") == 0)
1415
- {
1416
- StringList md;
1417
- if(seqType.find("%range:") == 0)
1418
- {
1419
- md.push_back("cpp:type:" + seqType.substr(strlen("%range:")));
1420
- }
1421
- endArg += "_tmp_";
1422
- }
1423
- }
1424
- return endArg;
1425
- }
1426
-
1427
- void
1428
- Slice::writeEndCode(Output& out, const ParamDeclList& params, const OperationPtr& op, bool prepend)
1429
- {
1430
- string prefix = prepend ? paramPrefix : "";
1431
- for(ParamDeclList::const_iterator p = params.begin(); p != params.end(); ++p)
1432
- {
1433
- writeParamEndCode(out, (*p)->type(), (*p)->optional(), fixKwd(prefix + (*p)->name()), (*p)->getMetaData());
1434
- }
1435
- if(op && op->returnType())
1436
- {
1437
- writeParamEndCode(out, op->returnType(), op->returnIsOptional(), "ret", op->getMetaData());
1438
- }
1439
- }
1440
-
1441
- void
1442
- Slice::writeMarshalUnmarshalDataMemberInHolder(IceUtilInternal::Output& C,
1443
- const string& holder,
1444
- const DataMemberPtr& p,
1445
- bool marshal)
1446
- {
1447
- writeMarshalUnmarshalCode(C, p->type(), p->optional(), p->tag(), holder + fixKwd(p->name()), marshal,
1448
- p->getMetaData());
1449
- }
1450
-
1451
- void
1452
- Slice::writeMarshalUnmarshalAllInHolder(IceUtilInternal::Output& out,
1453
- const string& holder,
1454
- const DataMemberList& dataMembers,
1455
- bool optional,
1456
- bool marshal)
1457
- {
1458
- if(dataMembers.empty())
1459
- {
1460
- return;
1461
- }
1462
-
1463
- string stream = marshal ? "ostr" : "istr";
1464
- string streamOp = marshal ? "writeAll" : "readAll";
1465
-
1466
- out << nl << stream << "->" << streamOp;
1467
- out << spar;
1468
-
1469
- if(optional)
1470
- {
1471
- ostringstream os;
1472
- os << "{";
1473
- for(DataMemberList::const_iterator q = dataMembers.begin(); q != dataMembers.end(); ++q)
1474
- {
1475
- if(q != dataMembers.begin())
1476
- {
1477
- os << ", ";
1478
- }
1479
- os << (*q)->tag();
1480
- }
1481
- os << "}";
1482
- out << os.str();
1483
- }
1484
-
1485
- for(DataMemberList::const_iterator q = dataMembers.begin(); q != dataMembers.end(); ++q)
1486
- {
1487
- out << holder + fixKwd((*q)->name());
1488
- }
1489
-
1490
- out << epar << ";";
1491
-
1492
- }
1493
-
1494
- void
1495
- Slice::writeStreamHelpers(Output& out,
1496
- const ContainedPtr& c,
1497
- DataMemberList dataMembers,
1498
- bool hasBaseDataMembers,
1499
- bool checkClassMetaData,
1500
- bool cpp11)
1501
- {
1502
- // If c is a C++11 class/exception whose base class contains data members (recursively), then we need to generate
1503
- // a StreamWriter even if its implementation is empty. This is because our default marshaling uses ice_tuple() which
1504
- // contains all of our class/exception's data members as well the base data members, which breaks marshaling. This
1505
- // is not an issue for structs.
1506
- if(dataMembers.empty() && !(cpp11 && hasBaseDataMembers))
1507
- {
1508
- return;
1509
- }
1510
-
1511
- DataMemberList requiredMembers;
1512
- DataMemberList optionalMembers;
1513
-
1514
- for(DataMemberList::const_iterator q = dataMembers.begin(); q != dataMembers.end(); ++q)
1515
- {
1516
- if((*q)->optional())
1517
- {
1518
- optionalMembers.push_back(*q);
1519
- }
1520
- else
1521
- {
1522
- requiredMembers.push_back(*q);
1523
- }
1524
- }
1525
-
1526
- // Sort optional data members
1527
- class SortFn
1528
- {
1529
- public:
1530
- static bool compare(const DataMemberPtr& lhs, const DataMemberPtr& rhs)
1531
- {
1532
- return lhs->tag() < rhs->tag();
1533
- }
1534
- };
1535
- optionalMembers.sort(SortFn::compare);
1536
-
1537
- string scoped = c->scoped();
1538
- bool classMetaData = checkClassMetaData ? (findMetaData(c->getMetaData(), false) == "%class") : false;
1539
- string fullName = classMetaData ? fixKwd(scoped + "Ptr") : fixKwd(scoped);
1540
- string holder = classMetaData ? "v->" : "v.";
1541
-
1542
- //
1543
- // Generate StreamWriter
1544
- //
1545
- // Only generate StreamWriter specializations if we are generating for C++98 or
1546
- // we are generating for C++11 with optional data members and no base class data members
1547
- //
1548
- if(!cpp11 || !optionalMembers.empty() || hasBaseDataMembers)
1549
- {
1550
- out << nl << "template<typename S>";
1551
- out << nl << "struct StreamWriter" << (cpp11 ? "<" : "< ") << fullName << ", S>";
1552
- out << sb;
1553
- if(requiredMembers.empty() && optionalMembers.empty())
1554
- {
1555
- out << nl << "static void write(S*, const " << fullName << "&)";
1556
- }
1557
- else
1558
- {
1559
- out << nl << "static void write(S* ostr, const " << fullName << "& v)";
1560
- }
1561
-
1562
- out << sb;
1563
-
1564
- if(cpp11)
1565
- {
1566
- writeMarshalUnmarshalAllInHolder(out, holder, requiredMembers, false, true);
1567
- writeMarshalUnmarshalAllInHolder(out, holder, optionalMembers, true, true);
1568
- }
1569
- else
1570
- {
1571
- for(DataMemberList::const_iterator q = requiredMembers.begin(); q != requiredMembers.end(); ++q)
1572
- {
1573
- writeMarshalUnmarshalDataMemberInHolder(out, holder, *q, true);
1574
- }
1575
-
1576
- for(DataMemberList::const_iterator q = optionalMembers.begin(); q != optionalMembers.end(); ++q)
1577
- {
1578
- writeMarshalUnmarshalDataMemberInHolder(out, holder, *q, true);
1579
- }
1580
- }
1581
-
1582
- out << eb;
1583
- out << eb << ";" << nl;
1584
- }
1585
-
1586
- //
1587
- // Generate StreamReader
1588
- //
1589
- out << nl << "template<typename S>";
1590
- out << nl << "struct StreamReader" << (cpp11 ? "<" : "< ") << fullName << ", S>";
1591
- out << sb;
1592
- if (requiredMembers.empty() && optionalMembers.empty())
1593
- {
1594
- out << nl << "static void read(S*, " << fullName << "&)";
1595
- }
1596
- else
1597
- {
1598
- out << nl << "static void read(S* istr, " << fullName << "& v)";
1599
- }
1600
-
1601
- out << sb;
1602
-
1603
- if(cpp11)
1604
- {
1605
- writeMarshalUnmarshalAllInHolder(out, holder, requiredMembers, false, false);
1606
- writeMarshalUnmarshalAllInHolder(out, holder, optionalMembers, true, false);
1607
- }
1608
- else
1609
- {
1610
- for(DataMemberList::const_iterator q = requiredMembers.begin(); q != requiredMembers.end(); ++q)
1611
- {
1612
- writeMarshalUnmarshalDataMemberInHolder(out, holder, *q, false);
1613
- }
1614
-
1615
- for(DataMemberList::const_iterator q = optionalMembers.begin(); q != optionalMembers.end(); ++q)
1616
- {
1617
- writeMarshalUnmarshalDataMemberInHolder(out, holder, *q, false);
1618
- }
1619
- }
1620
-
1621
- out << eb;
1622
- out << eb << ";" << nl;
1623
- }
1624
-
1625
- void
1626
- Slice::writeIceTuple(::IceUtilInternal::Output& out, DataMemberList dataMembers, int typeCtx)
1627
- {
1628
- //
1629
- // Use an empty scope to get full qualified names from calls to typeToString.
1630
- //
1631
- const string scope = "";
1632
- out << nl << "std::tuple<";
1633
- for(DataMemberList::const_iterator q = dataMembers.begin(); q != dataMembers.end(); ++q)
1634
- {
1635
- if(q != dataMembers.begin())
1636
- {
1637
- out << ", ";
1638
- }
1639
- out << "const ";
1640
- out << typeToString((*q)->type(), (*q)->optional(), scope, (*q)->getMetaData(), typeCtx | TypeContextCpp11)
1641
- << "&";
1642
- }
1643
- out << "> ice_tuple() const";
1644
-
1645
- out << sb;
1646
- out << nl << "return std::tie(";
1647
- for(DataMemberList::const_iterator pi = dataMembers.begin(); pi != dataMembers.end(); ++pi)
1648
- {
1649
- if(pi != dataMembers.begin())
1650
- {
1651
- out << ", ";
1652
- }
1653
- out << fixKwd((*pi)->name());
1654
- }
1655
- out << ");" << eb;
1656
- }
1657
-
1658
- bool
1659
- Slice::findMetaData(const string& prefix, const ClassDeclPtr& cl, string& value)
1660
- {
1661
- if(findMetaData(prefix, cl->getMetaData(), value))
1662
- {
1663
- return true;
1664
- }
1665
-
1666
- ClassDefPtr def = cl->definition();
1667
- return def ? findMetaData(prefix, def->getMetaData(), value) : false;
1668
- }
1669
-
1670
- bool
1671
- Slice::findMetaData(const string& prefix, const StringList& metaData, string& value)
1672
- {
1673
- for(StringList::const_iterator i = metaData.begin(); i != metaData.end(); i++)
1674
- {
1675
- string s = *i;
1676
- if(s.find(prefix) == 0)
1677
- {
1678
- value = s.substr(prefix.size());
1679
- return true;
1680
- }
1681
- }
1682
- return false;
1683
- }
1684
-
1685
- string
1686
- Slice::findMetaData(const StringList& metaData, int typeCtx)
1687
- {
1688
- static const string prefix = "cpp:";
1689
-
1690
- for(StringList::const_iterator q = metaData.begin(); q != metaData.end(); ++q)
1691
- {
1692
- string str = *q;
1693
- if(str.find(prefix) == 0)
1694
- {
1695
- string::size_type pos = str.find(':', prefix.size());
1696
-
1697
- //
1698
- // If the form is cpp:type:<...> the data after cpp:type:
1699
- // is returned.
1700
- // If the form is cpp:view-type:<...> the data after the
1701
- // cpp:view-type: is returned
1702
- // If the form is cpp:range[:<...>], cpp:array or cpp:class,
1703
- // the return value is % followed by the string after cpp:.
1704
- //
1705
- // The priority of the metadata is as follows:
1706
- // 1: array, range (C++98 only), view-type for "view" parameters
1707
- // 2: class (C++98 only), scoped (C++98 only), unscoped (C++11 only)
1708
- //
1709
-
1710
- if(pos != string::npos)
1711
- {
1712
- string ss = str.substr(prefix.size());
1713
-
1714
- if(typeCtx & (TypeContextInParam | TypeContextAMIPrivateEnd))
1715
- {
1716
- if(ss.find("view-type:") == 0)
1717
- {
1718
- return str.substr(pos + 1);
1719
- }
1720
- else if(ss.find("range:") == 0 && !(typeCtx & TypeContextCpp11))
1721
- {
1722
- return string("%") + str.substr(prefix.size());
1723
- }
1724
- }
1725
-
1726
- if(ss.find("type:") == 0)
1727
- {
1728
- return str.substr(pos + 1);
1729
- }
1730
- }
1731
- else if(typeCtx & (TypeContextInParam | TypeContextAMIPrivateEnd))
1732
- {
1733
- string ss = str.substr(prefix.size());
1734
- if(ss == "array")
1735
- {
1736
- return "%array";
1737
- }
1738
- else if(ss == "range" && !(typeCtx & TypeContextCpp11))
1739
- {
1740
- return "%range";
1741
- }
1742
- }
1743
- //
1744
- // Otherwise if the data is "class", "scoped" or "unscoped" it is returned.
1745
- //
1746
- else
1747
- {
1748
- string ss = str.substr(prefix.size());
1749
- if(ss == "class" && !(typeCtx & TypeContextCpp11))
1750
- {
1751
- return "%class";
1752
- }
1753
- else if(ss == "scoped" && !(typeCtx & TypeContextCpp11))
1754
- {
1755
- return "%scoped";
1756
- }
1757
- else if(ss == "unscoped" && (typeCtx & TypeContextCpp11))
1758
- {
1759
- return "%unscoped";
1760
- }
1761
- }
1762
- }
1763
- }
1764
-
1765
- return "";
1766
- }
1767
-
1768
- bool
1769
- Slice::inWstringModule(const SequencePtr& seq)
1770
- {
1771
- ContainerPtr cont = seq->container();
1772
- while(cont)
1773
- {
1774
- ModulePtr mod = ModulePtr::dynamicCast(cont);
1775
- if(!mod)
1776
- {
1777
- break;
1778
- }
1779
- StringList metaData = mod->getMetaData();
1780
- if(find(metaData.begin(), metaData.end(), "cpp:type:wstring") != metaData.end())
1781
- {
1782
- return true;
1783
- }
1784
- else if(find(metaData.begin(), metaData.end(), "cpp:type:string") != metaData.end())
1785
- {
1786
- return false;
1787
- }
1788
- cont = mod->container();
1789
- }
1790
- return false;
1791
- }
1792
-
1793
- string
1794
- Slice::getDataMemberRef(const DataMemberPtr& p)
1795
- {
1796
- string name = fixKwd(p->name());
1797
- if(!p->optional())
1798
- {
1799
- return name;
1800
- }
1801
-
1802
- if(BuiltinPtr::dynamicCast(p->type()))
1803
- {
1804
- return "*" + name;
1805
- }
1806
- else
1807
- {
1808
- return "(*" + name + ")";
1809
- }
1810
- }