zeroc-ice 3.7.10 → 3.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1216) hide show
  1. checksums.yaml +4 -4
  2. data/dist/IceRuby/Communicator.cpp +575 -0
  3. data/dist/IceRuby/Communicator.h +19 -0
  4. data/dist/IceRuby/Config.h +77 -0
  5. data/dist/IceRuby/Connection.cpp +428 -0
  6. data/dist/IceRuby/Connection.h +20 -0
  7. data/dist/IceRuby/DefaultSliceLoader.cpp +45 -0
  8. data/dist/IceRuby/DefaultSliceLoader.h +25 -0
  9. data/dist/IceRuby/Endpoint.cpp +342 -0
  10. data/dist/IceRuby/Endpoint.h +18 -0
  11. data/dist/IceRuby/ImplicitContext.cpp +143 -0
  12. data/dist/IceRuby/ImplicitContext.h +16 -0
  13. data/dist/IceRuby/Init.cpp +36 -0
  14. data/dist/IceRuby/Logger.cpp +146 -0
  15. data/dist/IceRuby/Logger.h +19 -0
  16. data/dist/IceRuby/Operation.cpp +623 -0
  17. data/dist/IceRuby/Operation.h +28 -0
  18. data/dist/IceRuby/Properties.cpp +413 -0
  19. data/dist/IceRuby/Properties.h +16 -0
  20. data/dist/IceRuby/Proxy.cpp +926 -0
  21. data/dist/IceRuby/Proxy.h +21 -0
  22. data/dist/IceRuby/RubySliceLoader.cpp +39 -0
  23. data/dist/IceRuby/RubySliceLoader.h +27 -0
  24. data/dist/IceRuby/Slice.cpp +199 -0
  25. data/dist/IceRuby/Slice.h +13 -0
  26. data/dist/IceRuby/Types.cpp +3133 -0
  27. data/dist/IceRuby/Types.h +533 -0
  28. data/dist/IceRuby/Util.cpp +553 -0
  29. data/dist/IceRuby/Util.h +485 -0
  30. data/dist/ice/cpp/include/Ice/AsyncResponseHandler.h +85 -0
  31. data/dist/ice/cpp/include/Ice/BatchRequest.h +39 -0
  32. data/dist/ice/cpp/include/Ice/BatchRequestQueueF.h +14 -0
  33. data/dist/ice/cpp/include/Ice/Buffer.h +159 -0
  34. data/dist/ice/cpp/include/Ice/Communicator.h +411 -0
  35. data/dist/ice/cpp/include/Ice/CommunicatorF.h +16 -0
  36. data/dist/ice/cpp/include/Ice/Config.h +60 -0
  37. data/dist/ice/cpp/include/Ice/Connection.h +410 -0
  38. data/dist/ice/cpp/include/Ice/ConnectionF.h +36 -0
  39. data/dist/ice/cpp/include/Ice/ConnectionIF.h +16 -0
  40. data/dist/ice/cpp/include/Ice/CtrlCHandler.h +56 -0
  41. data/dist/ice/cpp/include/Ice/Current.h +60 -0
  42. data/dist/ice/cpp/include/Ice/DefaultSliceLoader.h +160 -0
  43. data/dist/ice/cpp/include/Ice/Demangle.h +17 -0
  44. data/dist/ice/cpp/include/Ice/Endpoint.h +298 -0
  45. data/dist/ice/cpp/include/Ice/EndpointF.h +44 -0
  46. data/dist/ice/cpp/include/Ice/EndpointSelectionType.h +21 -0
  47. data/dist/ice/cpp/include/Ice/Exception.h +56 -0
  48. data/dist/ice/cpp/include/Ice/FacetMap.h +16 -0
  49. data/dist/ice/cpp/include/Ice/Format.h +22 -0
  50. data/dist/ice/cpp/include/Ice/Ice.h +60 -0
  51. data/dist/ice/cpp/include/Ice/IconvStringConverter.h +216 -0
  52. data/dist/ice/cpp/include/Ice/ImplicitContext.h +76 -0
  53. data/dist/ice/cpp/include/Ice/IncomingRequest.h +75 -0
  54. data/dist/ice/cpp/include/Ice/Initialize.h +143 -0
  55. data/dist/ice/cpp/include/Ice/InputStream.h +942 -0
  56. data/dist/ice/cpp/include/Ice/InstanceF.h +14 -0
  57. data/dist/ice/cpp/include/Ice/Instrumentation.h +319 -0
  58. data/dist/ice/cpp/include/Ice/LocalException.h +58 -0
  59. data/dist/ice/cpp/include/Ice/LocalExceptions.h +870 -0
  60. data/dist/ice/cpp/include/Ice/Logger.h +62 -0
  61. data/dist/ice/cpp/include/Ice/LoggerUtil.h +162 -0
  62. data/dist/ice/cpp/include/Ice/MarshaledResult.h +50 -0
  63. data/dist/ice/cpp/include/Ice/NativePropertiesAdmin.h +54 -0
  64. data/dist/ice/cpp/include/Ice/Object.h +168 -0
  65. data/dist/ice/cpp/include/Ice/ObjectAdapter.h +324 -0
  66. data/dist/ice/cpp/include/Ice/ObjectAdapterF.h +16 -0
  67. data/dist/ice/cpp/include/Ice/ObjectF.h +16 -0
  68. data/dist/ice/cpp/include/Ice/ObserverHelper.h +164 -0
  69. data/dist/ice/cpp/include/Ice/OutgoingAsync.h +512 -0
  70. data/dist/ice/cpp/include/Ice/OutgoingResponse.h +129 -0
  71. data/dist/ice/cpp/include/Ice/OutputStream.h +872 -0
  72. data/dist/ice/cpp/include/Ice/Plugin.h +73 -0
  73. data/dist/ice/cpp/include/Ice/PluginFactory.h +77 -0
  74. data/dist/ice/cpp/include/Ice/PopDisableWarnings.h +16 -0
  75. data/dist/ice/cpp/include/Ice/Properties.h +307 -0
  76. data/dist/ice/cpp/include/Ice/PropertiesF.h +19 -0
  77. data/dist/ice/cpp/include/Ice/Proxy.h +742 -0
  78. data/dist/ice/cpp/include/Ice/ProxyF.h +11 -0
  79. data/dist/ice/cpp/include/Ice/ProxyFunctions.h +209 -0
  80. data/dist/ice/cpp/include/Ice/PushDisableWarnings.h +29 -0
  81. data/dist/ice/cpp/include/Ice/ReferenceF.h +14 -0
  82. data/dist/ice/cpp/include/Ice/RequestHandlerF.h +20 -0
  83. data/dist/ice/cpp/include/Ice/SSL/ClientAuthenticationOptions.h +268 -0
  84. data/dist/ice/cpp/include/Ice/SSL/Config.h +54 -0
  85. data/dist/ice/cpp/include/Ice/SSL/ConnectionInfo.h +107 -0
  86. data/dist/ice/cpp/include/Ice/SSL/ConnectionInfoF.h +39 -0
  87. data/dist/ice/cpp/include/Ice/SSL/EndpointInfo.h +40 -0
  88. data/dist/ice/cpp/include/Ice/SSL/SSLException.h +32 -0
  89. data/dist/ice/cpp/include/Ice/SSL/ServerAuthenticationOptions.h +278 -0
  90. data/dist/ice/cpp/include/Ice/ServantLocator.h +51 -0
  91. data/dist/ice/cpp/include/Ice/Service.h +219 -0
  92. data/dist/ice/cpp/include/Ice/SliceLoader.h +67 -0
  93. data/dist/ice/cpp/include/Ice/SlicedData.h +125 -0
  94. data/dist/ice/cpp/include/Ice/SlicedDataF.h +30 -0
  95. data/dist/ice/cpp/include/Ice/StreamHelpers.h +652 -0
  96. data/dist/ice/cpp/include/Ice/StreamableTraits.h +291 -0
  97. data/dist/ice/cpp/include/Ice/StringConverter.h +167 -0
  98. data/dist/ice/cpp/include/Ice/StringUtil.h +114 -0
  99. data/dist/ice/cpp/include/Ice/TimerTask.h +24 -0
  100. data/dist/ice/cpp/include/Ice/TupleCompare.h +103 -0
  101. data/dist/ice/cpp/include/Ice/UUID.h +16 -0
  102. data/dist/ice/cpp/include/Ice/UserException.h +46 -0
  103. data/dist/ice/cpp/include/Ice/UserExceptionFactory.h +15 -0
  104. data/dist/ice/cpp/include/Ice/Value.h +127 -0
  105. data/dist/ice/cpp/include/Ice/ValueF.h +16 -0
  106. data/dist/ice/cpp/include/IceDiscovery/IceDiscovery.h +28 -0
  107. data/dist/ice/cpp/include/IceLocatorDiscovery/IceLocatorDiscovery.h +28 -0
  108. data/dist/ice/cpp/include/generated/Ice/BuiltinSequences.h +70 -0
  109. data/dist/ice/cpp/include/generated/Ice/Context.h +40 -0
  110. data/dist/ice/cpp/include/generated/Ice/EndpointTypes.h +74 -0
  111. data/dist/ice/cpp/include/generated/Ice/Identity.h +108 -0
  112. data/dist/ice/cpp/include/generated/Ice/Locator.h +542 -0
  113. data/dist/ice/cpp/include/generated/Ice/LocatorRegistry.h +443 -0
  114. data/dist/ice/cpp/include/generated/Ice/Metrics.h +1103 -0
  115. data/dist/ice/cpp/include/generated/Ice/OperationMode.h +73 -0
  116. data/dist/ice/cpp/include/generated/Ice/Process.h +245 -0
  117. data/dist/ice/cpp/include/generated/Ice/PropertiesAdmin.h +314 -0
  118. data/dist/ice/cpp/include/generated/Ice/PropertyDict.h +39 -0
  119. data/dist/ice/cpp/include/generated/Ice/RemoteLogger.h +724 -0
  120. data/dist/ice/cpp/include/generated/Ice/ReplyStatus.h +94 -0
  121. data/dist/ice/cpp/include/generated/Ice/Router.h +496 -0
  122. data/dist/ice/cpp/include/generated/Ice/SliceChecksumDict.h +37 -0
  123. data/dist/ice/cpp/include/generated/Ice/Version.h +112 -0
  124. data/dist/ice/cpp/include/generated/IceDiscovery/Lookup.h +498 -0
  125. data/dist/ice/cpp/include/generated/IceLocatorDiscovery/Lookup.h +387 -0
  126. data/dist/ice/cpp/src/Ice/Acceptor.h +41 -0
  127. data/dist/ice/cpp/src/Ice/AcceptorF.h +17 -0
  128. data/dist/ice/cpp/src/Ice/AddDefaultPluginFactories.h +16 -0
  129. data/dist/ice/cpp/src/Ice/AddDefaultPluginFactories_all.cpp +43 -0
  130. data/dist/ice/cpp/src/Ice/AddDefaultPluginFactories_min.cpp +17 -0
  131. data/dist/ice/cpp/src/Ice/ArgVector.cpp +58 -0
  132. data/dist/ice/cpp/src/Ice/ArgVector.h +30 -0
  133. data/dist/ice/cpp/src/Ice/Base64.cpp +263 -0
  134. data/dist/ice/cpp/src/Ice/Base64.h +26 -0
  135. data/dist/ice/cpp/src/Ice/BatchRequestQueue.cpp +199 -0
  136. data/dist/ice/cpp/src/Ice/BatchRequestQueue.h +49 -0
  137. data/dist/ice/cpp/src/Ice/Buffer.cpp +187 -0
  138. data/dist/ice/cpp/src/Ice/CheckIdentity.h +21 -0
  139. data/dist/ice/cpp/src/Ice/CollocatedRequestHandler.cpp +373 -0
  140. data/dist/ice/cpp/src/Ice/CollocatedRequestHandler.h +65 -0
  141. data/dist/ice/cpp/src/Ice/Communicator.cpp +399 -0
  142. data/dist/ice/cpp/src/Ice/CommunicatorFlushBatchAsync.cpp +140 -0
  143. data/dist/ice/cpp/src/Ice/CommunicatorFlushBatchAsync.h +39 -0
  144. data/dist/ice/cpp/src/Ice/ConnectRequestHandler.cpp +227 -0
  145. data/dist/ice/cpp/src/Ice/ConnectRequestHandler.h +51 -0
  146. data/dist/ice/cpp/src/Ice/ConnectRequestHandlerF.h +14 -0
  147. data/dist/ice/cpp/src/Ice/Connection.cpp +44 -0
  148. data/dist/ice/cpp/src/Ice/ConnectionFactory.cpp +1758 -0
  149. data/dist/ice/cpp/src/Ice/ConnectionFactory.h +264 -0
  150. data/dist/ice/cpp/src/Ice/ConnectionFactoryF.h +17 -0
  151. data/dist/ice/cpp/src/Ice/ConnectionI.cpp +3563 -0
  152. data/dist/ice/cpp/src/Ice/ConnectionI.h +429 -0
  153. data/dist/ice/cpp/src/Ice/ConnectionOptions.h +22 -0
  154. data/dist/ice/cpp/src/Ice/Connector.h +38 -0
  155. data/dist/ice/cpp/src/Ice/ConnectorF.h +14 -0
  156. data/dist/ice/cpp/src/Ice/ConsoleUtil.cpp +136 -0
  157. data/dist/ice/cpp/src/Ice/ConsoleUtil.h +79 -0
  158. data/dist/ice/cpp/src/Ice/CtrlCHandler.cpp +189 -0
  159. data/dist/ice/cpp/src/Ice/Current.cpp +29 -0
  160. data/dist/ice/cpp/src/Ice/DLLMain.cpp +40 -0
  161. data/dist/ice/cpp/src/Ice/DefaultSliceLoader.cpp +39 -0
  162. data/dist/ice/cpp/src/Ice/DefaultsAndOverrides.cpp +81 -0
  163. data/dist/ice/cpp/src/Ice/DefaultsAndOverrides.h +38 -0
  164. data/dist/ice/cpp/src/Ice/DefaultsAndOverridesF.h +14 -0
  165. data/dist/ice/cpp/src/Ice/Demangle.cpp +25 -0
  166. data/dist/ice/cpp/src/Ice/DisableWarnings.h +31 -0
  167. data/dist/ice/cpp/src/Ice/DynamicLibrary.cpp +216 -0
  168. data/dist/ice/cpp/src/Ice/DynamicLibrary.h +91 -0
  169. data/dist/ice/cpp/src/Ice/Endian.h +40 -0
  170. data/dist/ice/cpp/src/Ice/EndpointFactory.cpp +165 -0
  171. data/dist/ice/cpp/src/Ice/EndpointFactory.h +96 -0
  172. data/dist/ice/cpp/src/Ice/EndpointFactoryF.h +14 -0
  173. data/dist/ice/cpp/src/Ice/EndpointFactoryManager.cpp +180 -0
  174. data/dist/ice/cpp/src/Ice/EndpointFactoryManager.h +42 -0
  175. data/dist/ice/cpp/src/Ice/EndpointFactoryManagerF.h +14 -0
  176. data/dist/ice/cpp/src/Ice/EndpointI.cpp +128 -0
  177. data/dist/ice/cpp/src/Ice/EndpointI.h +150 -0
  178. data/dist/ice/cpp/src/Ice/EndpointIF.h +21 -0
  179. data/dist/ice/cpp/src/Ice/EventHandler.cpp +9 -0
  180. data/dist/ice/cpp/src/Ice/EventHandler.h +71 -0
  181. data/dist/ice/cpp/src/Ice/EventHandlerF.h +14 -0
  182. data/dist/ice/cpp/src/Ice/Exception.cpp +5 -0
  183. data/dist/ice/cpp/src/Ice/FileUtil.cpp +476 -0
  184. data/dist/ice/cpp/src/Ice/FileUtil.h +152 -0
  185. data/dist/ice/cpp/src/Ice/FixedRequestHandler.cpp +34 -0
  186. data/dist/ice/cpp/src/Ice/FixedRequestHandler.h +29 -0
  187. data/dist/ice/cpp/src/Ice/HashUtil.h +67 -0
  188. data/dist/ice/cpp/src/Ice/HttpParser.cpp +684 -0
  189. data/dist/ice/cpp/src/Ice/HttpParser.h +112 -0
  190. data/dist/ice/cpp/src/Ice/IPEndpointI.cpp +593 -0
  191. data/dist/ice/cpp/src/Ice/IPEndpointI.h +106 -0
  192. data/dist/ice/cpp/src/Ice/IPEndpointIF.h +17 -0
  193. data/dist/ice/cpp/src/Ice/IdleTimeoutTransceiverDecorator.cpp +172 -0
  194. data/dist/ice/cpp/src/Ice/IdleTimeoutTransceiverDecorator.h +89 -0
  195. data/dist/ice/cpp/src/Ice/ImplicitContext.cpp +109 -0
  196. data/dist/ice/cpp/src/Ice/IncomingRequest.cpp +66 -0
  197. data/dist/ice/cpp/src/Ice/Initialize.cpp +160 -0
  198. data/dist/ice/cpp/src/Ice/InputStream.cpp +2206 -0
  199. data/dist/ice/cpp/src/Ice/Instance.cpp +1956 -0
  200. data/dist/ice/cpp/src/Ice/Instance.h +225 -0
  201. data/dist/ice/cpp/src/Ice/InstrumentationI.cpp +959 -0
  202. data/dist/ice/cpp/src/Ice/InstrumentationI.h +235 -0
  203. data/dist/ice/cpp/src/Ice/LocalException.cpp +518 -0
  204. data/dist/ice/cpp/src/Ice/LocalExceptions.cpp +577 -0
  205. data/dist/ice/cpp/src/Ice/LocatorInfo.cpp +851 -0
  206. data/dist/ice/cpp/src/Ice/LocatorInfo.h +176 -0
  207. data/dist/ice/cpp/src/Ice/LocatorInfoF.h +20 -0
  208. data/dist/ice/cpp/src/Ice/LoggerAdminI.cpp +774 -0
  209. data/dist/ice/cpp/src/Ice/LoggerAdminI.h +31 -0
  210. data/dist/ice/cpp/src/Ice/LoggerI.cpp +234 -0
  211. data/dist/ice/cpp/src/Ice/LoggerI.h +47 -0
  212. data/dist/ice/cpp/src/Ice/LoggerMiddleware.cpp +176 -0
  213. data/dist/ice/cpp/src/Ice/LoggerMiddleware.h +42 -0
  214. data/dist/ice/cpp/src/Ice/LoggerUtil.cpp +76 -0
  215. data/dist/ice/cpp/src/Ice/MarshaledResult.cpp +20 -0
  216. data/dist/ice/cpp/src/Ice/MetricsAdminI.cpp +608 -0
  217. data/dist/ice/cpp/src/Ice/MetricsAdminI.h +600 -0
  218. data/dist/ice/cpp/src/Ice/MetricsFunctional.h +92 -0
  219. data/dist/ice/cpp/src/Ice/MetricsObserverI.h +587 -0
  220. data/dist/ice/cpp/src/Ice/NativePropertiesAdmin.cpp +185 -0
  221. data/dist/ice/cpp/src/Ice/Network.cpp +1927 -0
  222. data/dist/ice/cpp/src/Ice/Network.h +265 -0
  223. data/dist/ice/cpp/src/Ice/NetworkF.h +11 -0
  224. data/dist/ice/cpp/src/Ice/NetworkProxy.cpp +306 -0
  225. data/dist/ice/cpp/src/Ice/NetworkProxy.h +67 -0
  226. data/dist/ice/cpp/src/Ice/NetworkProxyF.h +14 -0
  227. data/dist/ice/cpp/src/Ice/OSLogLoggerI.cpp +55 -0
  228. data/dist/ice/cpp/src/Ice/OSLogLoggerI.h +35 -0
  229. data/dist/ice/cpp/src/Ice/Object.cpp +249 -0
  230. data/dist/ice/cpp/src/Ice/ObjectAdapterFactory.cpp +348 -0
  231. data/dist/ice/cpp/src/Ice/ObjectAdapterFactory.h +53 -0
  232. data/dist/ice/cpp/src/Ice/ObjectAdapterFactoryF.h +14 -0
  233. data/dist/ice/cpp/src/Ice/ObjectAdapterI.cpp +1383 -0
  234. data/dist/ice/cpp/src/Ice/ObjectAdapterI.h +163 -0
  235. data/dist/ice/cpp/src/Ice/ObserverHelper.cpp +75 -0
  236. data/dist/ice/cpp/src/Ice/ObserverMiddleware.cpp +96 -0
  237. data/dist/ice/cpp/src/Ice/ObserverMiddleware.h +25 -0
  238. data/dist/ice/cpp/src/Ice/OpaqueEndpointI.cpp +368 -0
  239. data/dist/ice/cpp/src/Ice/OpaqueEndpointI.h +66 -0
  240. data/dist/ice/cpp/src/Ice/Options.cpp +980 -0
  241. data/dist/ice/cpp/src/Ice/Options.h +119 -0
  242. data/dist/ice/cpp/src/Ice/OutgoingAsync.cpp +1106 -0
  243. data/dist/ice/cpp/src/Ice/OutgoingResponse.cpp +276 -0
  244. data/dist/ice/cpp/src/Ice/OutputStream.cpp +1454 -0
  245. data/dist/ice/cpp/src/Ice/OutputUtil.cpp +344 -0
  246. data/dist/ice/cpp/src/Ice/OutputUtil.h +173 -0
  247. data/dist/ice/cpp/src/Ice/PluginManagerI.cpp +344 -0
  248. data/dist/ice/cpp/src/Ice/PluginManagerI.h +54 -0
  249. data/dist/ice/cpp/src/Ice/Properties.cpp +931 -0
  250. data/dist/ice/cpp/src/Ice/PropertyNames.cpp +606 -0
  251. data/dist/ice/cpp/src/Ice/PropertyNames.h +63 -0
  252. data/dist/ice/cpp/src/Ice/PropertyUtil.cpp +103 -0
  253. data/dist/ice/cpp/src/Ice/PropertyUtil.h +31 -0
  254. data/dist/ice/cpp/src/Ice/Protocol.cpp +159 -0
  255. data/dist/ice/cpp/src/Ice/Protocol.h +116 -0
  256. data/dist/ice/cpp/src/Ice/ProtocolInstance.cpp +186 -0
  257. data/dist/ice/cpp/src/Ice/ProtocolInstance.h +74 -0
  258. data/dist/ice/cpp/src/Ice/ProtocolInstanceF.h +14 -0
  259. data/dist/ice/cpp/src/Ice/ProtocolPluginFacade.cpp +29 -0
  260. data/dist/ice/cpp/src/Ice/ProtocolPluginFacade.h +35 -0
  261. data/dist/ice/cpp/src/Ice/Proxy.cpp +541 -0
  262. data/dist/ice/cpp/src/Ice/ProxyAsync.cpp +684 -0
  263. data/dist/ice/cpp/src/Ice/ProxyFunctions.cpp +90 -0
  264. data/dist/ice/cpp/src/Ice/PushDisableDeprecatedWarnings.h +15 -0
  265. data/dist/ice/cpp/src/Ice/Random.cpp +29 -0
  266. data/dist/ice/cpp/src/Ice/Random.h +23 -0
  267. data/dist/ice/cpp/src/Ice/Reference.cpp +1584 -0
  268. data/dist/ice/cpp/src/Ice/Reference.h +339 -0
  269. data/dist/ice/cpp/src/Ice/ReferenceFactory.cpp +830 -0
  270. data/dist/ice/cpp/src/Ice/ReferenceFactory.h +58 -0
  271. data/dist/ice/cpp/src/Ice/ReferenceFactoryF.h +14 -0
  272. data/dist/ice/cpp/src/Ice/RequestHandler.cpp +28 -0
  273. data/dist/ice/cpp/src/Ice/RequestHandler.h +53 -0
  274. data/dist/ice/cpp/src/Ice/RequestHandlerCache.cpp +76 -0
  275. data/dist/ice/cpp/src/Ice/RequestHandlerCache.h +33 -0
  276. data/dist/ice/cpp/src/Ice/ResourceConfig.h +27 -0
  277. data/dist/ice/cpp/src/Ice/RetryQueue.cpp +151 -0
  278. data/dist/ice/cpp/src/Ice/RetryQueue.h +59 -0
  279. data/dist/ice/cpp/src/Ice/RetryQueueF.h +14 -0
  280. data/dist/ice/cpp/src/Ice/RouterInfo.cpp +275 -0
  281. data/dist/ice/cpp/src/Ice/RouterInfo.h +95 -0
  282. data/dist/ice/cpp/src/Ice/RouterInfoF.h +17 -0
  283. data/dist/ice/cpp/src/Ice/SHA1.cpp +195 -0
  284. data/dist/ice/cpp/src/Ice/SHA1.h +35 -0
  285. data/dist/ice/cpp/src/Ice/SSL/DistinguishedName.cpp +89 -0
  286. data/dist/ice/cpp/src/Ice/SSL/DistinguishedName.h +87 -0
  287. data/dist/ice/cpp/src/Ice/SSL/OpenSSLEngine.cpp +513 -0
  288. data/dist/ice/cpp/src/Ice/SSL/OpenSSLEngine.h +40 -0
  289. data/dist/ice/cpp/src/Ice/SSL/OpenSSLEngineF.h +13 -0
  290. data/dist/ice/cpp/src/Ice/SSL/OpenSSLTransceiverI.cpp +635 -0
  291. data/dist/ice/cpp/src/Ice/SSL/OpenSSLTransceiverI.h +80 -0
  292. data/dist/ice/cpp/src/Ice/SSL/RFC2253.cpp +487 -0
  293. data/dist/ice/cpp/src/Ice/SSL/RFC2253.h +58 -0
  294. data/dist/ice/cpp/src/Ice/SSL/SSLAcceptorI.cpp +124 -0
  295. data/dist/ice/cpp/src/Ice/SSL/SSLAcceptorI.h +52 -0
  296. data/dist/ice/cpp/src/Ice/SSL/SSLConnectorI.cpp +92 -0
  297. data/dist/ice/cpp/src/Ice/SSL/SSLConnectorI.h +38 -0
  298. data/dist/ice/cpp/src/Ice/SSL/SSLEndpointI.cpp +377 -0
  299. data/dist/ice/cpp/src/Ice/SSL/SSLEndpointI.h +84 -0
  300. data/dist/ice/cpp/src/Ice/SSL/SSLEngine.cpp +115 -0
  301. data/dist/ice/cpp/src/Ice/SSL/SSLEngine.h +72 -0
  302. data/dist/ice/cpp/src/Ice/SSL/SSLEngineF.h +14 -0
  303. data/dist/ice/cpp/src/Ice/SSL/SSLException.cpp +18 -0
  304. data/dist/ice/cpp/src/Ice/SSL/SSLInstance.cpp +27 -0
  305. data/dist/ice/cpp/src/Ice/SSL/SSLInstance.h +26 -0
  306. data/dist/ice/cpp/src/Ice/SSL/SSLInstanceF.h +19 -0
  307. data/dist/ice/cpp/src/Ice/SSL/SSLUtil.cpp +654 -0
  308. data/dist/ice/cpp/src/Ice/SSL/SSLUtil.h +104 -0
  309. data/dist/ice/cpp/src/Ice/SSL/SchannelEngine.cpp +1437 -0
  310. data/dist/ice/cpp/src/Ice/SSL/SchannelEngine.h +58 -0
  311. data/dist/ice/cpp/src/Ice/SSL/SchannelEngineF.h +18 -0
  312. data/dist/ice/cpp/src/Ice/SSL/SchannelTransceiverI.cpp +1085 -0
  313. data/dist/ice/cpp/src/Ice/SSL/SchannelTransceiverI.h +118 -0
  314. data/dist/ice/cpp/src/Ice/SSL/SecureTransportEngine.cpp +822 -0
  315. data/dist/ice/cpp/src/Ice/SSL/SecureTransportEngine.h +44 -0
  316. data/dist/ice/cpp/src/Ice/SSL/SecureTransportEngineF.h +18 -0
  317. data/dist/ice/cpp/src/Ice/SSL/SecureTransportTransceiverI.cpp +621 -0
  318. data/dist/ice/cpp/src/Ice/SSL/SecureTransportTransceiverI.h +91 -0
  319. data/dist/ice/cpp/src/Ice/SSL/SecureTransportUtil.cpp +1061 -0
  320. data/dist/ice/cpp/src/Ice/SSL/SecureTransportUtil.h +40 -0
  321. data/dist/ice/cpp/src/Ice/SSL/TrustManager.cpp +222 -0
  322. data/dist/ice/cpp/src/Ice/SSL/TrustManager.h +42 -0
  323. data/dist/ice/cpp/src/Ice/SSL/TrustManagerF.h +14 -0
  324. data/dist/ice/cpp/src/Ice/ScannerConfig.h +35 -0
  325. data/dist/ice/cpp/src/Ice/Selector.cpp +1270 -0
  326. data/dist/ice/cpp/src/Ice/Selector.h +235 -0
  327. data/dist/ice/cpp/src/Ice/ServantManager.cpp +547 -0
  328. data/dist/ice/cpp/src/Ice/ServantManager.h +66 -0
  329. data/dist/ice/cpp/src/Ice/ServantManagerF.h +14 -0
  330. data/dist/ice/cpp/src/Ice/Service.cpp +1790 -0
  331. data/dist/ice/cpp/src/Ice/SharedContext.h +33 -0
  332. data/dist/ice/cpp/src/Ice/SliceLoader.cpp +53 -0
  333. data/dist/ice/cpp/src/Ice/SlicedData.cpp +48 -0
  334. data/dist/ice/cpp/src/Ice/StreamSocket.cpp +472 -0
  335. data/dist/ice/cpp/src/Ice/StreamSocket.h +73 -0
  336. data/dist/ice/cpp/src/Ice/StringConverter.cpp +582 -0
  337. data/dist/ice/cpp/src/Ice/StringUtil.cpp +1137 -0
  338. data/dist/ice/cpp/src/Ice/SysLoggerI.cpp +160 -0
  339. data/dist/ice/cpp/src/Ice/SysLoggerI.h +34 -0
  340. data/dist/ice/cpp/src/Ice/SystemdJournalI.cpp +65 -0
  341. data/dist/ice/cpp/src/Ice/SystemdJournalI.h +33 -0
  342. data/dist/ice/cpp/src/Ice/TargetCompare.h +96 -0
  343. data/dist/ice/cpp/src/Ice/TcpAcceptor.cpp +213 -0
  344. data/dist/ice/cpp/src/Ice/TcpAcceptor.h +55 -0
  345. data/dist/ice/cpp/src/Ice/TcpConnector.cpp +128 -0
  346. data/dist/ice/cpp/src/Ice/TcpConnector.h +36 -0
  347. data/dist/ice/cpp/src/Ice/TcpEndpointI.cpp +411 -0
  348. data/dist/ice/cpp/src/Ice/TcpEndpointI.h +86 -0
  349. data/dist/ice/cpp/src/Ice/TcpTransceiver.cpp +147 -0
  350. data/dist/ice/cpp/src/Ice/TcpTransceiver.h +53 -0
  351. data/dist/ice/cpp/src/Ice/ThreadPool.cpp +1110 -0
  352. data/dist/ice/cpp/src/Ice/ThreadPool.h +305 -0
  353. data/dist/ice/cpp/src/Ice/ThreadPoolF.h +14 -0
  354. data/dist/ice/cpp/src/Ice/TimeUtil.cpp +47 -0
  355. data/dist/ice/cpp/src/Ice/TimeUtil.h +21 -0
  356. data/dist/ice/cpp/src/Ice/Timer.cpp +169 -0
  357. data/dist/ice/cpp/src/Ice/Timer.h +212 -0
  358. data/dist/ice/cpp/src/Ice/TraceLevels.cpp +20 -0
  359. data/dist/ice/cpp/src/Ice/TraceLevels.h +39 -0
  360. data/dist/ice/cpp/src/Ice/TraceLevelsF.h +14 -0
  361. data/dist/ice/cpp/src/Ice/TraceUtil.cpp +399 -0
  362. data/dist/ice/cpp/src/Ice/TraceUtil.h +41 -0
  363. data/dist/ice/cpp/src/Ice/Transceiver.cpp +14 -0
  364. data/dist/ice/cpp/src/Ice/Transceiver.h +52 -0
  365. data/dist/ice/cpp/src/Ice/TransceiverF.h +23 -0
  366. data/dist/ice/cpp/src/Ice/UUID.cpp +79 -0
  367. data/dist/ice/cpp/src/Ice/UdpConnector.cpp +131 -0
  368. data/dist/ice/cpp/src/Ice/UdpConnector.h +36 -0
  369. data/dist/ice/cpp/src/Ice/UdpEndpointI.cpp +480 -0
  370. data/dist/ice/cpp/src/Ice/UdpEndpointI.h +92 -0
  371. data/dist/ice/cpp/src/Ice/UdpTransceiver.cpp +786 -0
  372. data/dist/ice/cpp/src/Ice/UdpTransceiver.h +90 -0
  373. data/dist/ice/cpp/src/Ice/UndefSysMacros.h +37 -0
  374. data/dist/ice/cpp/src/Ice/UniqueRef.h +77 -0
  375. data/dist/ice/cpp/src/Ice/UserException.cpp +58 -0
  376. data/dist/ice/cpp/src/Ice/Value.cpp +145 -0
  377. data/dist/ice/cpp/src/Ice/WSAcceptor.cpp +87 -0
  378. data/dist/ice/cpp/src/Ice/WSAcceptor.h +46 -0
  379. data/dist/ice/cpp/src/Ice/WSConnector.cpp +87 -0
  380. data/dist/ice/cpp/src/Ice/WSConnector.h +36 -0
  381. data/dist/ice/cpp/src/Ice/WSEndpoint.cpp +455 -0
  382. data/dist/ice/cpp/src/Ice/WSEndpoint.h +82 -0
  383. data/dist/ice/cpp/src/Ice/WSTransceiver.cpp +1715 -0
  384. data/dist/ice/cpp/src/Ice/WSTransceiver.h +135 -0
  385. data/dist/ice/cpp/src/Ice/generated/BuiltinSequences.cpp +40 -0
  386. data/dist/ice/cpp/src/Ice/generated/Context.cpp +40 -0
  387. data/dist/ice/cpp/src/Ice/generated/EndpointTypes.cpp +40 -0
  388. data/dist/ice/cpp/src/Ice/generated/Identity.cpp +47 -0
  389. data/dist/ice/cpp/src/Ice/generated/Locator.cpp +752 -0
  390. data/dist/ice/cpp/src/Ice/generated/LocatorRegistry.cpp +577 -0
  391. data/dist/ice/cpp/src/Ice/generated/Metrics.cpp +1205 -0
  392. data/dist/ice/cpp/src/Ice/generated/OperationMode.cpp +56 -0
  393. data/dist/ice/cpp/src/Ice/generated/Process.cpp +330 -0
  394. data/dist/ice/cpp/src/Ice/generated/PropertiesAdmin.cpp +443 -0
  395. data/dist/ice/cpp/src/Ice/generated/PropertyDict.cpp +40 -0
  396. data/dist/ice/cpp/src/Ice/generated/RemoteLogger.cpp +851 -0
  397. data/dist/ice/cpp/src/Ice/generated/ReplyStatus.cpp +70 -0
  398. data/dist/ice/cpp/src/Ice/generated/Router.cpp +660 -0
  399. data/dist/ice/cpp/src/Ice/generated/SliceChecksumDict.cpp +39 -0
  400. data/dist/ice/cpp/src/Ice/generated/Version.cpp +54 -0
  401. data/dist/ice/cpp/src/IceDiscovery/LocatorI.cpp +202 -0
  402. data/dist/ice/cpp/src/IceDiscovery/LocatorI.h +68 -0
  403. data/dist/ice/cpp/src/IceDiscovery/LookupI.cpp +494 -0
  404. data/dist/ice/cpp/src/IceDiscovery/LookupI.h +168 -0
  405. data/dist/ice/cpp/src/IceDiscovery/PluginI.cpp +155 -0
  406. data/dist/ice/cpp/src/IceDiscovery/PluginI.h +31 -0
  407. data/dist/ice/cpp/src/IceDiscovery/generated/Lookup.cpp +638 -0
  408. data/dist/ice/cpp/src/IceLocatorDiscovery/Plugin.h +24 -0
  409. data/dist/ice/cpp/src/IceLocatorDiscovery/PluginI.cpp +822 -0
  410. data/dist/ice/cpp/src/IceLocatorDiscovery/generated/Lookup.cpp +468 -0
  411. data/dist/ice/cpp/src/Slice/DeprecationReporter.cpp +172 -0
  412. data/dist/ice/cpp/src/Slice/DeprecationReporter.h +14 -0
  413. data/dist/ice/cpp/src/Slice/DocCommentParser.cpp +736 -0
  414. data/dist/ice/cpp/src/Slice/DocCommentParser.h +61 -0
  415. data/dist/ice/cpp/src/Slice/FileTracker.cpp +96 -0
  416. data/dist/ice/cpp/src/Slice/FileTracker.h +44 -0
  417. data/dist/ice/cpp/src/Slice/Grammar.cpp +4125 -0
  418. data/dist/ice/cpp/src/Slice/Grammar.h +138 -0
  419. data/dist/ice/cpp/src/Slice/GrammarUtil.h +128 -0
  420. data/dist/ice/cpp/src/Slice/MetadataValidation.cpp +473 -0
  421. data/dist/ice/cpp/src/Slice/MetadataValidation.h +106 -0
  422. data/dist/ice/cpp/src/Slice/Parser.cpp +4906 -0
  423. data/dist/ice/cpp/src/Slice/Parser.h +1175 -0
  424. data/dist/ice/cpp/src/Slice/Preprocessor.cpp +295 -0
  425. data/dist/ice/cpp/src/Slice/Preprocessor.h +44 -0
  426. data/dist/ice/cpp/src/Slice/Scanner.cpp +3445 -0
  427. data/dist/ice/cpp/src/Slice/SliceUtil.cpp +790 -0
  428. data/dist/ice/cpp/src/Slice/StringLiteralUtil.cpp +448 -0
  429. data/dist/ice/cpp/src/Slice/Util.h +134 -0
  430. data/dist/ice/cpp/src/slice2rb/Main.cpp +33 -0
  431. data/dist/ice/cpp/src/slice2rb/Ruby.cpp +250 -0
  432. data/dist/ice/cpp/src/slice2rb/RubyUtil.cpp +1197 -0
  433. data/dist/ice/cpp/src/slice2rb/RubyUtil.h +56 -0
  434. data/dist/ice/mcpp/internal.H +530 -0
  435. data/dist/ice/mcpp/system.c +2741 -0
  436. data/dist/ice/slice/Glacier2/Metrics.ice +47 -0
  437. data/dist/ice/slice/Glacier2/PermissionsVerifier.ice +55 -0
  438. data/dist/ice/slice/Glacier2/Router.ice +93 -0
  439. data/dist/ice/slice/Glacier2/SSLInfo.ice +42 -0
  440. data/dist/ice/slice/Glacier2/Session.ice +133 -0
  441. data/dist/ice/slice/Ice/BuiltinSequences.ice +54 -0
  442. data/dist/ice/slice/Ice/Context.ice +24 -0
  443. data/dist/ice/slice/Ice/EndpointTypes.ice +50 -0
  444. data/dist/ice/slice/Ice/Identity.ice +36 -0
  445. data/dist/ice/slice/Ice/Locator.ice +74 -0
  446. data/dist/ice/slice/Ice/LocatorRegistry.ice +77 -0
  447. data/dist/ice/slice/Ice/Metrics.ice +201 -0
  448. data/dist/ice/slice/Ice/OperationMode.ice +38 -0
  449. data/dist/ice/slice/Ice/Process.ice +28 -0
  450. data/dist/ice/slice/Ice/PropertiesAdmin.ice +37 -0
  451. data/dist/ice/slice/Ice/PropertyDict.ice +23 -0
  452. data/dist/ice/slice/Ice/RemoteLogger.ice +126 -0
  453. data/dist/ice/slice/Ice/ReplyStatus.ice +65 -0
  454. data/dist/ice/slice/Ice/Router.ice +54 -0
  455. data/dist/ice/slice/Ice/SliceChecksumDict.ice +18 -0
  456. data/dist/ice/slice/Ice/Version.ice +43 -0
  457. data/dist/ice/slice/IceBox/ServiceManager.ice +79 -0
  458. data/dist/ice/slice/IceGrid/Admin.ice +981 -0
  459. data/dist/ice/slice/IceGrid/Descriptor.ice +519 -0
  460. data/dist/ice/slice/IceGrid/Exception.ice +98 -0
  461. data/dist/ice/slice/IceGrid/FileParser.ice +36 -0
  462. data/dist/ice/slice/IceGrid/Registry.ice +130 -0
  463. data/dist/ice/slice/IceGrid/Session.ice +64 -0
  464. data/dist/ice/slice/IceGrid/UserAccountMapper.ice +34 -0
  465. data/dist/ice/slice/IceStorm/IceStorm.ice +186 -0
  466. data/dist/ice/slice/IceStorm/Metrics.ice +41 -0
  467. data/dist/lib/Glacier2/Metrics.rb +41 -0
  468. data/dist/lib/Glacier2/PermissionsVerifier.rb +61 -0
  469. data/dist/lib/Glacier2/Router.rb +73 -0
  470. data/dist/lib/Glacier2/SSLInfo.rb +64 -0
  471. data/dist/lib/Glacier2/Session.rb +187 -0
  472. data/dist/lib/Glacier2.rb +7 -0
  473. data/dist/lib/Ice/BuiltinSequences.rb +48 -0
  474. data/dist/lib/Ice/CompressBatch.rb +50 -0
  475. data/dist/lib/Ice/Context.rb +12 -0
  476. data/dist/lib/Ice/EndpointSelectionType.rb +49 -0
  477. data/dist/lib/Ice/EndpointTypes.rb +28 -0
  478. data/dist/lib/Ice/Exception.rb +20 -0
  479. data/dist/lib/Ice/Identity.rb +47 -0
  480. data/dist/lib/Ice/IdentitySpaceship.rb +16 -0
  481. data/dist/lib/Ice/InitializationData.rb +12 -0
  482. data/dist/lib/Ice/LocalExceptions.rb +168 -0
  483. data/dist/lib/Ice/Locator.rb +83 -0
  484. data/dist/lib/Ice/LocatorRegistry.rb +73 -0
  485. data/dist/lib/Ice/Metrics.rb +290 -0
  486. data/dist/lib/Ice/OperationMode.rb +58 -0
  487. data/dist/lib/Ice/Process.rb +34 -0
  488. data/dist/lib/Ice/PropertiesAdmin.rb +39 -0
  489. data/dist/lib/Ice/PropertyDict.rb +12 -0
  490. data/dist/lib/Ice/Proxy.rb +85 -0
  491. data/dist/lib/Ice/ProxyFunctions.rb +69 -0
  492. data/dist/lib/Ice/RemoteLogger.rb +176 -0
  493. data/dist/lib/Ice/ReplyStatus.rb +65 -0
  494. data/dist/lib/Ice/Router.rb +59 -0
  495. data/dist/lib/Ice/SliceChecksumDict.rb +12 -0
  496. data/dist/lib/Ice/SliceUtil.rb +41 -0
  497. data/dist/lib/Ice/Struct.rb +11 -0
  498. data/dist/lib/Ice/ToStringMode.rb +50 -0
  499. data/dist/lib/Ice/Value.rb +93 -0
  500. data/dist/lib/Ice/Version.rb +78 -0
  501. data/dist/lib/Ice.rb +37 -0
  502. data/dist/lib/IceBox/ServiceManager.rb +104 -0
  503. data/dist/lib/IceBox.rb +3 -0
  504. data/dist/lib/IceGrid/Admin.rb +1208 -0
  505. data/dist/lib/IceGrid/Descriptor.rb +989 -0
  506. data/dist/lib/IceGrid/Exception.rb +145 -0
  507. data/dist/lib/IceGrid/FileParser.rb +41 -0
  508. data/dist/lib/IceGrid/Registry.rb +168 -0
  509. data/dist/lib/IceGrid/Session.rb +56 -0
  510. data/dist/lib/IceGrid/UserAccountMapper.rb +38 -0
  511. data/dist/lib/IceGrid.rb +9 -0
  512. data/dist/lib/IceStorm/IceStorm.rb +251 -0
  513. data/dist/lib/IceStorm/Metrics.rb +55 -0
  514. data/dist/lib/IceStorm.rb +4 -0
  515. data/extconf.rb +89 -0
  516. data/ice.gemspec +22 -17
  517. data/scripts/slice2rb +10 -0
  518. metadata +536 -712
  519. data/ICE_LICENSE +0 -48
  520. data/LICENSE +0 -340
  521. data/MCPP_LICENSE +0 -29
  522. data/bin/slice2rb +0 -12
  523. data/ext/Communicator.cpp +0 -792
  524. data/ext/Communicator.h +0 -20
  525. data/ext/Config.h +0 -143
  526. data/ext/Connection.cpp +0 -532
  527. data/ext/Connection.h +0 -24
  528. data/ext/Endpoint.cpp +0 -340
  529. data/ext/Endpoint.h +0 -22
  530. data/ext/ImplicitContext.cpp +0 -144
  531. data/ext/ImplicitContext.h +0 -20
  532. data/ext/Init.cpp +0 -49
  533. data/ext/Logger.cpp +0 -147
  534. data/ext/Logger.h +0 -23
  535. data/ext/Operation.cpp +0 -661
  536. data/ext/Operation.h +0 -31
  537. data/ext/Properties.cpp +0 -365
  538. data/ext/Properties.h +0 -20
  539. data/ext/Proxy.cpp +0 -1396
  540. data/ext/Proxy.h +0 -22
  541. data/ext/Slice.cpp +0 -205
  542. data/ext/Slice.h +0 -17
  543. data/ext/Types.cpp +0 -3325
  544. data/ext/Types.h +0 -595
  545. data/ext/Util.cpp +0 -812
  546. data/ext/Util.h +0 -586
  547. data/ext/ValueFactoryManager.cpp +0 -441
  548. data/ext/ValueFactoryManager.h +0 -95
  549. data/ext/extconf.rb +0 -97
  550. data/ext/ice/cpp/include/Ice/Application.h +0 -326
  551. data/ext/ice/cpp/include/Ice/AsyncResult.h +0 -155
  552. data/ext/ice/cpp/include/Ice/AsyncResultF.h +0 -23
  553. data/ext/ice/cpp/include/Ice/BatchRequestInterceptor.h +0 -75
  554. data/ext/ice/cpp/include/Ice/BatchRequestQueueF.h +0 -20
  555. data/ext/ice/cpp/include/Ice/Buffer.h +0 -154
  556. data/ext/ice/cpp/include/Ice/CommunicatorAsync.h +0 -154
  557. data/ext/ice/cpp/include/Ice/Comparable.h +0 -205
  558. data/ext/ice/cpp/include/Ice/Config.h +0 -76
  559. data/ext/ice/cpp/include/Ice/ConnectionAsync.h +0 -302
  560. data/ext/ice/cpp/include/Ice/ConnectionIF.h +0 -38
  561. data/ext/ice/cpp/include/Ice/ConsoleUtil.h +0 -23
  562. data/ext/ice/cpp/include/Ice/DefaultValueFactory.h +0 -57
  563. data/ext/ice/cpp/include/Ice/DispatchInterceptor.h +0 -41
  564. data/ext/ice/cpp/include/Ice/Dispatcher.h +0 -67
  565. data/ext/ice/cpp/include/Ice/DynamicLibrary.h +0 -102
  566. data/ext/ice/cpp/include/Ice/DynamicLibraryF.h +0 -24
  567. data/ext/ice/cpp/include/Ice/Exception.h +0 -161
  568. data/ext/ice/cpp/include/Ice/ExceptionHelpers.h +0 -74
  569. data/ext/ice/cpp/include/Ice/FactoryTable.h +0 -73
  570. data/ext/ice/cpp/include/Ice/FactoryTableInit.h +0 -84
  571. data/ext/ice/cpp/include/Ice/Format.h +0 -38
  572. data/ext/ice/cpp/include/Ice/Functional.h +0 -140
  573. data/ext/ice/cpp/include/Ice/GCObject.h +0 -76
  574. data/ext/ice/cpp/include/Ice/Handle.h +0 -182
  575. data/ext/ice/cpp/include/Ice/Ice.h +0 -55
  576. data/ext/ice/cpp/include/Ice/IconvStringConverter.h +0 -377
  577. data/ext/ice/cpp/include/Ice/Incoming.h +0 -225
  578. data/ext/ice/cpp/include/Ice/IncomingAsync.h +0 -186
  579. data/ext/ice/cpp/include/Ice/IncomingAsyncF.h +0 -36
  580. data/ext/ice/cpp/include/Ice/Initialize.h +0 -957
  581. data/ext/ice/cpp/include/Ice/InputStream.h +0 -1514
  582. data/ext/ice/cpp/include/Ice/InstanceF.h +0 -20
  583. data/ext/ice/cpp/include/Ice/InterfaceByValue.h +0 -57
  584. data/ext/ice/cpp/include/Ice/LocalObject.h +0 -35
  585. data/ext/ice/cpp/include/Ice/LocalObjectF.h +0 -21
  586. data/ext/ice/cpp/include/Ice/LoggerUtil.h +0 -185
  587. data/ext/ice/cpp/include/Ice/MetricsAdminI.h +0 -715
  588. data/ext/ice/cpp/include/Ice/MetricsFunctional.h +0 -159
  589. data/ext/ice/cpp/include/Ice/MetricsObserverI.h +0 -669
  590. data/ext/ice/cpp/include/Ice/NativePropertiesAdmin.h +0 -86
  591. data/ext/ice/cpp/include/Ice/Object.h +0 -507
  592. data/ext/ice/cpp/include/Ice/ObjectF.h +0 -30
  593. data/ext/ice/cpp/include/Ice/ObserverHelper.h +0 -182
  594. data/ext/ice/cpp/include/Ice/Optional.h +0 -1114
  595. data/ext/ice/cpp/include/Ice/OutgoingAsync.h +0 -856
  596. data/ext/ice/cpp/include/Ice/OutgoingAsyncF.h +0 -39
  597. data/ext/ice/cpp/include/Ice/OutputStream.h +0 -1092
  598. data/ext/ice/cpp/include/Ice/Protocol.h +0 -274
  599. data/ext/ice/cpp/include/Ice/Proxy.h +0 -5154
  600. data/ext/ice/cpp/include/Ice/ProxyF.h +0 -53
  601. data/ext/ice/cpp/include/Ice/ProxyFactoryF.h +0 -21
  602. data/ext/ice/cpp/include/Ice/ProxyHandle.h +0 -318
  603. data/ext/ice/cpp/include/Ice/ReferenceF.h +0 -29
  604. data/ext/ice/cpp/include/Ice/RegisterPlugins.h +0 -127
  605. data/ext/ice/cpp/include/Ice/RequestHandlerF.h +0 -30
  606. data/ext/ice/cpp/include/Ice/ResponseHandlerF.h +0 -25
  607. data/ext/ice/cpp/include/Ice/SHA1.h +0 -40
  608. data/ext/ice/cpp/include/Ice/ServantManagerF.h +0 -21
  609. data/ext/ice/cpp/include/Ice/Service.h +0 -379
  610. data/ext/ice/cpp/include/Ice/SliceChecksums.h +0 -33
  611. data/ext/ice/cpp/include/Ice/SlicedData.h +0 -172
  612. data/ext/ice/cpp/include/Ice/SlicedDataF.h +0 -40
  613. data/ext/ice/cpp/include/Ice/StreamHelpers.h +0 -1190
  614. data/ext/ice/cpp/include/Ice/StringConverter.h +0 -78
  615. data/ext/ice/cpp/include/Ice/ThreadPoolF.h +0 -23
  616. data/ext/ice/cpp/include/Ice/UUID.h +0 -19
  617. data/ext/ice/cpp/include/Ice/UniquePtr.h +0 -95
  618. data/ext/ice/cpp/include/Ice/UniqueRef.h +0 -97
  619. data/ext/ice/cpp/include/Ice/UserExceptionFactory.h +0 -88
  620. data/ext/ice/cpp/include/Ice/Value.h +0 -139
  621. data/ext/ice/cpp/include/Ice/ValueF.h +0 -21
  622. data/ext/ice/cpp/include/IceSSL/Config.h +0 -21
  623. data/ext/ice/cpp/include/IceSSL/IceSSL.h +0 -24
  624. data/ext/ice/cpp/include/IceSSL/OpenSSL.h +0 -147
  625. data/ext/ice/cpp/include/IceSSL/Plugin.h +0 -712
  626. data/ext/ice/cpp/include/IceSSL/SChannel.h +0 -72
  627. data/ext/ice/cpp/include/IceSSL/SecureTransport.h +0 -72
  628. data/ext/ice/cpp/include/IceSSL/UWP.h +0 -62
  629. data/ext/ice/cpp/include/IceUtil/Atomic.h +0 -179
  630. data/ext/ice/cpp/include/IceUtil/Cond.h +0 -317
  631. data/ext/ice/cpp/include/IceUtil/Config.h +0 -392
  632. data/ext/ice/cpp/include/IceUtil/ConsoleUtil.h +0 -92
  633. data/ext/ice/cpp/include/IceUtil/CountDownLatch.h +0 -45
  634. data/ext/ice/cpp/include/IceUtil/CtrlCHandler.h +0 -92
  635. data/ext/ice/cpp/include/IceUtil/DisableWarnings.h +0 -44
  636. data/ext/ice/cpp/include/IceUtil/Exception.h +0 -394
  637. data/ext/ice/cpp/include/IceUtil/FileUtil.h +0 -140
  638. data/ext/ice/cpp/include/IceUtil/Functional.h +0 -389
  639. data/ext/ice/cpp/include/IceUtil/Handle.h +0 -261
  640. data/ext/ice/cpp/include/IceUtil/IceUtil.h +0 -40
  641. data/ext/ice/cpp/include/IceUtil/InputUtil.h +0 -42
  642. data/ext/ice/cpp/include/IceUtil/Iterator.h +0 -31
  643. data/ext/ice/cpp/include/IceUtil/Lock.h +0 -128
  644. data/ext/ice/cpp/include/IceUtil/Monitor.h +0 -243
  645. data/ext/ice/cpp/include/IceUtil/Mutex.h +0 -349
  646. data/ext/ice/cpp/include/IceUtil/MutexProtocol.h +0 -23
  647. data/ext/ice/cpp/include/IceUtil/MutexPtrLock.h +0 -78
  648. data/ext/ice/cpp/include/IceUtil/MutexPtrTryLock.h +0 -77
  649. data/ext/ice/cpp/include/IceUtil/Optional.h +0 -433
  650. data/ext/ice/cpp/include/IceUtil/Options.h +0 -135
  651. data/ext/ice/cpp/include/IceUtil/OutputUtil.h +0 -383
  652. data/ext/ice/cpp/include/IceUtil/PopDisableWarnings.h +0 -14
  653. data/ext/ice/cpp/include/IceUtil/PushDisableWarnings.h +0 -33
  654. data/ext/ice/cpp/include/IceUtil/Random.h +0 -55
  655. data/ext/ice/cpp/include/IceUtil/RecMutex.h +0 -107
  656. data/ext/ice/cpp/include/IceUtil/ResourceConfig.h +0 -37
  657. data/ext/ice/cpp/include/IceUtil/ScannerConfig.h +0 -40
  658. data/ext/ice/cpp/include/IceUtil/ScopedArray.h +0 -98
  659. data/ext/ice/cpp/include/IceUtil/Shared.h +0 -127
  660. data/ext/ice/cpp/include/IceUtil/StopWatch.h +0 -49
  661. data/ext/ice/cpp/include/IceUtil/StringConverter.h +0 -195
  662. data/ext/ice/cpp/include/IceUtil/StringUtil.h +0 -97
  663. data/ext/ice/cpp/include/IceUtil/Thread.h +0 -160
  664. data/ext/ice/cpp/include/IceUtil/ThreadException.h +0 -94
  665. data/ext/ice/cpp/include/IceUtil/Time.h +0 -205
  666. data/ext/ice/cpp/include/IceUtil/Timer.h +0 -144
  667. data/ext/ice/cpp/include/IceUtil/UUID.h +0 -21
  668. data/ext/ice/cpp/include/IceUtil/UndefSysMacros.h +0 -37
  669. data/ext/ice/cpp/include/generated/Ice/BuiltinSequences.h +0 -170
  670. data/ext/ice/cpp/include/generated/Ice/Communicator.h +0 -1162
  671. data/ext/ice/cpp/include/generated/Ice/CommunicatorF.h +0 -101
  672. data/ext/ice/cpp/include/generated/Ice/Connection.h +0 -1703
  673. data/ext/ice/cpp/include/generated/Ice/ConnectionF.h +0 -119
  674. data/ext/ice/cpp/include/generated/Ice/Current.h +0 -322
  675. data/ext/ice/cpp/include/generated/Ice/Endpoint.h +0 -979
  676. data/ext/ice/cpp/include/generated/Ice/EndpointF.h +0 -166
  677. data/ext/ice/cpp/include/generated/Ice/EndpointTypes.h +0 -118
  678. data/ext/ice/cpp/include/generated/Ice/FacetMap.h +0 -80
  679. data/ext/ice/cpp/include/generated/Ice/Identity.h +0 -264
  680. data/ext/ice/cpp/include/generated/Ice/ImplicitContext.h +0 -284
  681. data/ext/ice/cpp/include/generated/Ice/ImplicitContextF.h +0 -101
  682. data/ext/ice/cpp/include/generated/Ice/Instrumentation.h +0 -1203
  683. data/ext/ice/cpp/include/generated/Ice/InstrumentationF.h +0 -128
  684. data/ext/ice/cpp/include/generated/Ice/LocalException.h +0 -7437
  685. data/ext/ice/cpp/include/generated/Ice/Locator.h +0 -3898
  686. data/ext/ice/cpp/include/generated/Ice/LocatorF.h +0 -147
  687. data/ext/ice/cpp/include/generated/Ice/Logger.h +0 -237
  688. data/ext/ice/cpp/include/generated/Ice/LoggerF.h +0 -101
  689. data/ext/ice/cpp/include/generated/Ice/Metrics.h +0 -4769
  690. data/ext/ice/cpp/include/generated/Ice/ObjectAdapter.h +0 -1181
  691. data/ext/ice/cpp/include/generated/Ice/ObjectAdapterF.h +0 -101
  692. data/ext/ice/cpp/include/generated/Ice/ObjectFactory.h +0 -203
  693. data/ext/ice/cpp/include/generated/Ice/Plugin.h +0 -318
  694. data/ext/ice/cpp/include/generated/Ice/PluginF.h +0 -110
  695. data/ext/ice/cpp/include/generated/Ice/Process.h +0 -977
  696. data/ext/ice/cpp/include/generated/Ice/ProcessF.h +0 -125
  697. data/ext/ice/cpp/include/generated/Ice/Properties.h +0 -452
  698. data/ext/ice/cpp/include/generated/Ice/PropertiesAdmin.h +0 -1366
  699. data/ext/ice/cpp/include/generated/Ice/PropertiesF.h +0 -134
  700. data/ext/ice/cpp/include/generated/Ice/RemoteLogger.h +0 -2707
  701. data/ext/ice/cpp/include/generated/Ice/Router.h +0 -1850
  702. data/ext/ice/cpp/include/generated/Ice/RouterF.h +0 -125
  703. data/ext/ice/cpp/include/generated/Ice/ServantLocator.h +0 -305
  704. data/ext/ice/cpp/include/generated/Ice/ServantLocatorF.h +0 -101
  705. data/ext/ice/cpp/include/generated/Ice/SliceChecksumDict.h +0 -84
  706. data/ext/ice/cpp/include/generated/Ice/ValueFactory.h +0 -330
  707. data/ext/ice/cpp/include/generated/Ice/Version.h +0 -357
  708. data/ext/ice/cpp/include/generated/IceSSL/ConnectionInfo.h +0 -228
  709. data/ext/ice/cpp/include/generated/IceSSL/ConnectionInfoF.h +0 -101
  710. data/ext/ice/cpp/include/generated/IceSSL/EndpointInfo.h +0 -186
  711. data/ext/ice/cpp/src/Ice/ACM.cpp +0 -380
  712. data/ext/ice/cpp/src/Ice/ACM.h +0 -119
  713. data/ext/ice/cpp/src/Ice/ACMF.h +0 -30
  714. data/ext/ice/cpp/src/Ice/Acceptor.cpp +0 -16
  715. data/ext/ice/cpp/src/Ice/Acceptor.h +0 -37
  716. data/ext/ice/cpp/src/Ice/AcceptorF.h +0 -25
  717. data/ext/ice/cpp/src/Ice/ArgVector.cpp +0 -59
  718. data/ext/ice/cpp/src/Ice/ArgVector.h +0 -36
  719. data/ext/ice/cpp/src/Ice/AsyncResult.cpp +0 -70
  720. data/ext/ice/cpp/src/Ice/Base64.cpp +0 -263
  721. data/ext/ice/cpp/src/Ice/Base64.h +0 -31
  722. data/ext/ice/cpp/src/Ice/BatchRequestQueue.cpp +0 -250
  723. data/ext/ice/cpp/src/Ice/BatchRequestQueue.h +0 -59
  724. data/ext/ice/cpp/src/Ice/Buffer.cpp +0 -155
  725. data/ext/ice/cpp/src/Ice/BuiltinSequences.cpp +0 -49
  726. data/ext/ice/cpp/src/Ice/CollocatedRequestHandler.cpp +0 -407
  727. data/ext/ice/cpp/src/Ice/CollocatedRequestHandler.h +0 -87
  728. data/ext/ice/cpp/src/Ice/Communicator.cpp +0 -79
  729. data/ext/ice/cpp/src/Ice/CommunicatorF.cpp +0 -61
  730. data/ext/ice/cpp/src/Ice/CommunicatorI.cpp +0 -586
  731. data/ext/ice/cpp/src/Ice/CommunicatorI.h +0 -167
  732. data/ext/ice/cpp/src/Ice/Cond.cpp +0 -381
  733. data/ext/ice/cpp/src/Ice/ConnectRequestHandler.cpp +0 -348
  734. data/ext/ice/cpp/src/Ice/ConnectRequestHandler.h +0 -72
  735. data/ext/ice/cpp/src/Ice/ConnectRequestHandlerF.h +0 -24
  736. data/ext/ice/cpp/src/Ice/Connection.cpp +0 -155
  737. data/ext/ice/cpp/src/Ice/ConnectionF.cpp +0 -61
  738. data/ext/ice/cpp/src/Ice/ConnectionFactory.cpp +0 -1972
  739. data/ext/ice/cpp/src/Ice/ConnectionFactory.h +0 -264
  740. data/ext/ice/cpp/src/Ice/ConnectionFactoryF.h +0 -30
  741. data/ext/ice/cpp/src/Ice/ConnectionI.cpp +0 -3670
  742. data/ext/ice/cpp/src/Ice/ConnectionI.h +0 -389
  743. data/ext/ice/cpp/src/Ice/ConnectionRequestHandler.cpp +0 -73
  744. data/ext/ice/cpp/src/Ice/ConnectionRequestHandler.h +0 -41
  745. data/ext/ice/cpp/src/Ice/Connector.cpp +0 -16
  746. data/ext/ice/cpp/src/Ice/Connector.h +0 -32
  747. data/ext/ice/cpp/src/Ice/ConnectorF.h +0 -21
  748. data/ext/ice/cpp/src/Ice/CountDownLatch.cpp +0 -171
  749. data/ext/ice/cpp/src/Ice/Current.cpp +0 -62
  750. data/ext/ice/cpp/src/Ice/DefaultsAndOverrides.cpp +0 -159
  751. data/ext/ice/cpp/src/Ice/DefaultsAndOverrides.h +0 -52
  752. data/ext/ice/cpp/src/Ice/DefaultsAndOverridesF.h +0 -21
  753. data/ext/ice/cpp/src/Ice/DispatchInterceptor.cpp +0 -37
  754. data/ext/ice/cpp/src/Ice/DynamicLibrary.cpp +0 -284
  755. data/ext/ice/cpp/src/Ice/Endpoint.cpp +0 -147
  756. data/ext/ice/cpp/src/Ice/EndpointF.cpp +0 -61
  757. data/ext/ice/cpp/src/Ice/EndpointFactory.cpp +0 -189
  758. data/ext/ice/cpp/src/Ice/EndpointFactory.h +0 -117
  759. data/ext/ice/cpp/src/Ice/EndpointFactoryF.h +0 -21
  760. data/ext/ice/cpp/src/Ice/EndpointFactoryManager.cpp +0 -213
  761. data/ext/ice/cpp/src/Ice/EndpointFactoryManager.h +0 -47
  762. data/ext/ice/cpp/src/Ice/EndpointFactoryManagerF.h +0 -21
  763. data/ext/ice/cpp/src/Ice/EndpointI.cpp +0 -98
  764. data/ext/ice/cpp/src/Ice/EndpointI.h +0 -218
  765. data/ext/ice/cpp/src/Ice/EndpointIF.h +0 -49
  766. data/ext/ice/cpp/src/Ice/EndpointTypes.cpp +0 -51
  767. data/ext/ice/cpp/src/Ice/EventHandler.cpp +0 -32
  768. data/ext/ice/cpp/src/Ice/EventHandler.h +0 -81
  769. data/ext/ice/cpp/src/Ice/EventHandlerF.h +0 -24
  770. data/ext/ice/cpp/src/Ice/Exception.cpp +0 -818
  771. data/ext/ice/cpp/src/Ice/FacetMap.cpp +0 -49
  772. data/ext/ice/cpp/src/Ice/FactoryTable.cpp +0 -162
  773. data/ext/ice/cpp/src/Ice/FactoryTableInit.cpp +0 -88
  774. data/ext/ice/cpp/src/Ice/GCObject.cpp +0 -442
  775. data/ext/ice/cpp/src/Ice/HashUtil.h +0 -53
  776. data/ext/ice/cpp/src/Ice/HttpParser.cpp +0 -684
  777. data/ext/ice/cpp/src/Ice/HttpParser.h +0 -117
  778. data/ext/ice/cpp/src/Ice/IPEndpointI.cpp +0 -710
  779. data/ext/ice/cpp/src/Ice/IPEndpointI.h +0 -152
  780. data/ext/ice/cpp/src/Ice/IPEndpointIF.h +0 -28
  781. data/ext/ice/cpp/src/Ice/IconvStringConverter.cpp +0 -51
  782. data/ext/ice/cpp/src/Ice/Identity.cpp +0 -57
  783. data/ext/ice/cpp/src/Ice/ImplicitContext.cpp +0 -75
  784. data/ext/ice/cpp/src/Ice/ImplicitContextF.cpp +0 -61
  785. data/ext/ice/cpp/src/Ice/ImplicitContextI.cpp +0 -655
  786. data/ext/ice/cpp/src/Ice/ImplicitContextI.h +0 -48
  787. data/ext/ice/cpp/src/Ice/Incoming.cpp +0 -795
  788. data/ext/ice/cpp/src/Ice/IncomingAsync.cpp +0 -230
  789. data/ext/ice/cpp/src/Ice/IncomingRequest.h +0 -33
  790. data/ext/ice/cpp/src/Ice/Initialize.cpp +0 -654
  791. data/ext/ice/cpp/src/Ice/InputStream.cpp +0 -2741
  792. data/ext/ice/cpp/src/Ice/Instance.cpp +0 -1967
  793. data/ext/ice/cpp/src/Ice/Instance.h +0 -235
  794. data/ext/ice/cpp/src/Ice/Instrumentation.cpp +0 -188
  795. data/ext/ice/cpp/src/Ice/InstrumentationF.cpp +0 -66
  796. data/ext/ice/cpp/src/Ice/InstrumentationI.cpp +0 -1094
  797. data/ext/ice/cpp/src/Ice/InstrumentationI.h +0 -256
  798. data/ext/ice/cpp/src/Ice/LocalException.cpp +0 -3262
  799. data/ext/ice/cpp/src/Ice/LocalObject.cpp +0 -23
  800. data/ext/ice/cpp/src/Ice/Locator.cpp +0 -2042
  801. data/ext/ice/cpp/src/Ice/LocatorF.cpp +0 -63
  802. data/ext/ice/cpp/src/Ice/LocatorInfo.cpp +0 -889
  803. data/ext/ice/cpp/src/Ice/LocatorInfo.h +0 -189
  804. data/ext/ice/cpp/src/Ice/LocatorInfoF.h +0 -29
  805. data/ext/ice/cpp/src/Ice/Logger.cpp +0 -73
  806. data/ext/ice/cpp/src/Ice/LoggerAdminI.cpp +0 -956
  807. data/ext/ice/cpp/src/Ice/LoggerAdminI.h +0 -41
  808. data/ext/ice/cpp/src/Ice/LoggerF.cpp +0 -61
  809. data/ext/ice/cpp/src/Ice/LoggerI.cpp +0 -259
  810. data/ext/ice/cpp/src/Ice/LoggerI.h +0 -52
  811. data/ext/ice/cpp/src/Ice/LoggerUtil.cpp +0 -100
  812. data/ext/ice/cpp/src/Ice/Metrics.cpp +0 -2352
  813. data/ext/ice/cpp/src/Ice/MetricsAdminI.cpp +0 -694
  814. data/ext/ice/cpp/src/Ice/MetricsObserverI.cpp +0 -8
  815. data/ext/ice/cpp/src/Ice/Network.cpp +0 -2249
  816. data/ext/ice/cpp/src/Ice/Network.h +0 -289
  817. data/ext/ice/cpp/src/Ice/NetworkF.h +0 -19
  818. data/ext/ice/cpp/src/Ice/NetworkProxy.cpp +0 -311
  819. data/ext/ice/cpp/src/Ice/NetworkProxy.h +0 -72
  820. data/ext/ice/cpp/src/Ice/NetworkProxyF.h +0 -21
  821. data/ext/ice/cpp/src/Ice/OSLogLoggerI.cpp +0 -57
  822. data/ext/ice/cpp/src/Ice/OSLogLoggerI.h +0 -40
  823. data/ext/ice/cpp/src/Ice/Object.cpp +0 -435
  824. data/ext/ice/cpp/src/Ice/ObjectAdapter.cpp +0 -79
  825. data/ext/ice/cpp/src/Ice/ObjectAdapterF.cpp +0 -61
  826. data/ext/ice/cpp/src/Ice/ObjectAdapterFactory.cpp +0 -291
  827. data/ext/ice/cpp/src/Ice/ObjectAdapterFactory.h +0 -53
  828. data/ext/ice/cpp/src/Ice/ObjectAdapterFactoryF.h +0 -25
  829. data/ext/ice/cpp/src/Ice/ObjectAdapterI.cpp +0 -1530
  830. data/ext/ice/cpp/src/Ice/ObjectAdapterI.h +0 -159
  831. data/ext/ice/cpp/src/Ice/ObjectFactory.cpp +0 -75
  832. data/ext/ice/cpp/src/Ice/ObserverHelper.cpp +0 -56
  833. data/ext/ice/cpp/src/Ice/OpaqueEndpointI.cpp +0 -408
  834. data/ext/ice/cpp/src/Ice/OpaqueEndpointI.h +0 -74
  835. data/ext/ice/cpp/src/Ice/OutgoingAsync.cpp +0 -1322
  836. data/ext/ice/cpp/src/Ice/OutputStream.cpp +0 -1367
  837. data/ext/ice/cpp/src/Ice/Plugin.cpp +0 -87
  838. data/ext/ice/cpp/src/Ice/PluginF.cpp +0 -61
  839. data/ext/ice/cpp/src/Ice/PluginManagerI.cpp +0 -503
  840. data/ext/ice/cpp/src/Ice/PluginManagerI.h +0 -61
  841. data/ext/ice/cpp/src/Ice/Process.cpp +0 -471
  842. data/ext/ice/cpp/src/Ice/ProcessF.cpp +0 -63
  843. data/ext/ice/cpp/src/Ice/Properties.cpp +0 -78
  844. data/ext/ice/cpp/src/Ice/PropertiesAdmin.cpp +0 -603
  845. data/ext/ice/cpp/src/Ice/PropertiesAdminI.cpp +0 -265
  846. data/ext/ice/cpp/src/Ice/PropertiesAdminI.h +0 -64
  847. data/ext/ice/cpp/src/Ice/PropertiesF.cpp +0 -63
  848. data/ext/ice/cpp/src/Ice/PropertiesI.cpp +0 -739
  849. data/ext/ice/cpp/src/Ice/PropertiesI.h +0 -70
  850. data/ext/ice/cpp/src/Ice/PropertyNames.cpp +0 -1429
  851. data/ext/ice/cpp/src/Ice/PropertyNames.h +0 -78
  852. data/ext/ice/cpp/src/Ice/Protocol.cpp +0 -124
  853. data/ext/ice/cpp/src/Ice/ProtocolInstance.cpp +0 -131
  854. data/ext/ice/cpp/src/Ice/ProtocolInstance.h +0 -93
  855. data/ext/ice/cpp/src/Ice/ProtocolInstanceF.h +0 -21
  856. data/ext/ice/cpp/src/Ice/ProtocolPluginFacade.cpp +0 -51
  857. data/ext/ice/cpp/src/Ice/ProtocolPluginFacade.h +0 -64
  858. data/ext/ice/cpp/src/Ice/ProtocolPluginFacadeF.h +0 -21
  859. data/ext/ice/cpp/src/Ice/Proxy.cpp +0 -1601
  860. data/ext/ice/cpp/src/Ice/ProxyFactory.cpp +0 -300
  861. data/ext/ice/cpp/src/Ice/ProxyFactory.h +0 -57
  862. data/ext/ice/cpp/src/Ice/Reference.cpp +0 -2046
  863. data/ext/ice/cpp/src/Ice/Reference.h +0 -323
  864. data/ext/ice/cpp/src/Ice/ReferenceFactory.cpp +0 -888
  865. data/ext/ice/cpp/src/Ice/ReferenceFactory.h +0 -76
  866. data/ext/ice/cpp/src/Ice/ReferenceFactoryF.h +0 -19
  867. data/ext/ice/cpp/src/Ice/RegisterPluginsInit.cpp +0 -38
  868. data/ext/ice/cpp/src/Ice/RegisterPluginsInit.h +0 -20
  869. data/ext/ice/cpp/src/Ice/RemoteLogger.cpp +0 -1171
  870. data/ext/ice/cpp/src/Ice/ReplyStatus.h +0 -24
  871. data/ext/ice/cpp/src/Ice/RequestHandler.cpp +0 -37
  872. data/ext/ice/cpp/src/Ice/RequestHandler.h +0 -78
  873. data/ext/ice/cpp/src/Ice/RequestHandlerFactory.cpp +0 -77
  874. data/ext/ice/cpp/src/Ice/RequestHandlerFactory.h +0 -37
  875. data/ext/ice/cpp/src/Ice/ResponseHandler.cpp +0 -12
  876. data/ext/ice/cpp/src/Ice/ResponseHandler.h +0 -43
  877. data/ext/ice/cpp/src/Ice/RetryQueue.cpp +0 -157
  878. data/ext/ice/cpp/src/Ice/RetryQueue.h +0 -66
  879. data/ext/ice/cpp/src/Ice/RetryQueueF.h +0 -19
  880. data/ext/ice/cpp/src/Ice/Router.cpp +0 -977
  881. data/ext/ice/cpp/src/Ice/RouterF.cpp +0 -63
  882. data/ext/ice/cpp/src/Ice/RouterInfo.cpp +0 -379
  883. data/ext/ice/cpp/src/Ice/RouterInfo.h +0 -152
  884. data/ext/ice/cpp/src/Ice/RouterInfoF.h +0 -25
  885. data/ext/ice/cpp/src/Ice/SHA1.cpp +0 -169
  886. data/ext/ice/cpp/src/Ice/Selector.cpp +0 -1525
  887. data/ext/ice/cpp/src/Ice/Selector.h +0 -292
  888. data/ext/ice/cpp/src/Ice/ServantLocator.cpp +0 -75
  889. data/ext/ice/cpp/src/Ice/ServantLocatorF.cpp +0 -61
  890. data/ext/ice/cpp/src/Ice/ServantManager.cpp +0 -480
  891. data/ext/ice/cpp/src/Ice/ServantManager.h +0 -69
  892. data/ext/ice/cpp/src/Ice/SharedContext.h +0 -46
  893. data/ext/ice/cpp/src/Ice/SliceChecksumDict.cpp +0 -49
  894. data/ext/ice/cpp/src/Ice/SliceChecksums.cpp +0 -75
  895. data/ext/ice/cpp/src/Ice/SlicedData.cpp +0 -127
  896. data/ext/ice/cpp/src/Ice/StreamSocket.cpp +0 -519
  897. data/ext/ice/cpp/src/Ice/StreamSocket.h +0 -85
  898. data/ext/ice/cpp/src/Ice/StringConverterPlugin.cpp +0 -192
  899. data/ext/ice/cpp/src/Ice/StringUtil.h +0 -30
  900. data/ext/ice/cpp/src/Ice/SysLoggerI.cpp +0 -166
  901. data/ext/ice/cpp/src/Ice/SysLoggerI.h +0 -37
  902. data/ext/ice/cpp/src/Ice/SystemdJournalI.cpp +0 -66
  903. data/ext/ice/cpp/src/Ice/SystemdJournalI.h +0 -39
  904. data/ext/ice/cpp/src/Ice/TcpAcceptor.cpp +0 -234
  905. data/ext/ice/cpp/src/Ice/TcpAcceptor.h +0 -61
  906. data/ext/ice/cpp/src/Ice/TcpConnector.cpp +0 -127
  907. data/ext/ice/cpp/src/Ice/TcpConnector.h +0 -45
  908. data/ext/ice/cpp/src/Ice/TcpEndpointI.cpp +0 -385
  909. data/ext/ice/cpp/src/Ice/TcpEndpointI.h +0 -90
  910. data/ext/ice/cpp/src/Ice/TcpTransceiver.cpp +0 -135
  911. data/ext/ice/cpp/src/Ice/TcpTransceiver.h +0 -58
  912. data/ext/ice/cpp/src/Ice/Thread.cpp +0 -569
  913. data/ext/ice/cpp/src/Ice/ThreadPool.cpp +0 -1292
  914. data/ext/ice/cpp/src/Ice/ThreadPool.h +0 -393
  915. data/ext/ice/cpp/src/Ice/Timer.cpp +0 -263
  916. data/ext/ice/cpp/src/Ice/TraceLevels.cpp +0 -38
  917. data/ext/ice/cpp/src/Ice/TraceLevels.h +0 -45
  918. data/ext/ice/cpp/src/Ice/TraceLevelsF.h +0 -21
  919. data/ext/ice/cpp/src/Ice/TraceUtil.cpp +0 -478
  920. data/ext/ice/cpp/src/Ice/TraceUtil.h +0 -30
  921. data/ext/ice/cpp/src/Ice/Transceiver.cpp +0 -18
  922. data/ext/ice/cpp/src/Ice/Transceiver.h +0 -49
  923. data/ext/ice/cpp/src/Ice/TransceiverF.h +0 -33
  924. data/ext/ice/cpp/src/Ice/UdpConnector.cpp +0 -131
  925. data/ext/ice/cpp/src/Ice/UdpConnector.h +0 -45
  926. data/ext/ice/cpp/src/Ice/UdpEndpointI.cpp +0 -515
  927. data/ext/ice/cpp/src/Ice/UdpEndpointI.h +0 -95
  928. data/ext/ice/cpp/src/Ice/UdpTransceiver.cpp +0 -806
  929. data/ext/ice/cpp/src/Ice/UdpTransceiver.h +0 -96
  930. data/ext/ice/cpp/src/Ice/Value.cpp +0 -76
  931. data/ext/ice/cpp/src/Ice/ValueFactory.cpp +0 -83
  932. data/ext/ice/cpp/src/Ice/ValueFactoryManagerI.cpp +0 -61
  933. data/ext/ice/cpp/src/Ice/ValueFactoryManagerI.h +0 -37
  934. data/ext/ice/cpp/src/Ice/Version.cpp +0 -57
  935. data/ext/ice/cpp/src/Ice/VirtualShared.h +0 -38
  936. data/ext/ice/cpp/src/Ice/WSAcceptor.cpp +0 -92
  937. data/ext/ice/cpp/src/Ice/WSAcceptor.h +0 -52
  938. data/ext/ice/cpp/src/Ice/WSConnector.cpp +0 -102
  939. data/ext/ice/cpp/src/Ice/WSConnector.h +0 -43
  940. data/ext/ice/cpp/src/Ice/WSEndpoint.cpp +0 -508
  941. data/ext/ice/cpp/src/Ice/WSEndpoint.h +0 -93
  942. data/ext/ice/cpp/src/Ice/WSTransceiver.cpp +0 -1704
  943. data/ext/ice/cpp/src/Ice/WSTransceiver.h +0 -141
  944. data/ext/ice/cpp/src/IceDiscovery/IceDiscovery.cpp +0 -915
  945. data/ext/ice/cpp/src/IceDiscovery/IceDiscovery.h +0 -1889
  946. data/ext/ice/cpp/src/IceDiscovery/LocatorI.cpp +0 -265
  947. data/ext/ice/cpp/src/IceDiscovery/LocatorI.h +0 -109
  948. data/ext/ice/cpp/src/IceDiscovery/LookupI.cpp +0 -608
  949. data/ext/ice/cpp/src/IceDiscovery/LookupI.h +0 -228
  950. data/ext/ice/cpp/src/IceDiscovery/PluginI.cpp +0 -176
  951. data/ext/ice/cpp/src/IceDiscovery/PluginI.h +0 -36
  952. data/ext/ice/cpp/src/IceLocatorDiscovery/IceLocatorDiscovery.cpp +0 -730
  953. data/ext/ice/cpp/src/IceLocatorDiscovery/IceLocatorDiscovery.h +0 -1197
  954. data/ext/ice/cpp/src/IceLocatorDiscovery/Plugin.h +0 -47
  955. data/ext/ice/cpp/src/IceLocatorDiscovery/PluginI.cpp +0 -1048
  956. data/ext/ice/cpp/src/IceSSL/AcceptorI.cpp +0 -105
  957. data/ext/ice/cpp/src/IceSSL/AcceptorI.h +0 -52
  958. data/ext/ice/cpp/src/IceSSL/CertificateI.cpp +0 -301
  959. data/ext/ice/cpp/src/IceSSL/CertificateI.h +0 -64
  960. data/ext/ice/cpp/src/IceSSL/ConnectionInfo.cpp +0 -75
  961. data/ext/ice/cpp/src/IceSSL/ConnectionInfoF.cpp +0 -61
  962. data/ext/ice/cpp/src/IceSSL/ConnectorI.cpp +0 -102
  963. data/ext/ice/cpp/src/IceSSL/ConnectorI.h +0 -44
  964. data/ext/ice/cpp/src/IceSSL/EndpointI.cpp +0 -372
  965. data/ext/ice/cpp/src/IceSSL/EndpointI.h +0 -100
  966. data/ext/ice/cpp/src/IceSSL/EndpointInfo.cpp +0 -75
  967. data/ext/ice/cpp/src/IceSSL/Instance.cpp +0 -28
  968. data/ext/ice/cpp/src/IceSSL/Instance.h +0 -37
  969. data/ext/ice/cpp/src/IceSSL/InstanceF.h +0 -33
  970. data/ext/ice/cpp/src/IceSSL/OpenSSLCertificateI.cpp +0 -688
  971. data/ext/ice/cpp/src/IceSSL/OpenSSLEngine.cpp +0 -1147
  972. data/ext/ice/cpp/src/IceSSL/OpenSSLEngine.h +0 -59
  973. data/ext/ice/cpp/src/IceSSL/OpenSSLEngineF.h +0 -27
  974. data/ext/ice/cpp/src/IceSSL/OpenSSLPluginI.cpp +0 -127
  975. data/ext/ice/cpp/src/IceSSL/OpenSSLTransceiverI.cpp +0 -1092
  976. data/ext/ice/cpp/src/IceSSL/OpenSSLTransceiverI.h +0 -90
  977. data/ext/ice/cpp/src/IceSSL/OpenSSLUtil.cpp +0 -288
  978. data/ext/ice/cpp/src/IceSSL/OpenSSLUtil.h +0 -58
  979. data/ext/ice/cpp/src/IceSSL/PluginI.cpp +0 -246
  980. data/ext/ice/cpp/src/IceSSL/PluginI.h +0 -67
  981. data/ext/ice/cpp/src/IceSSL/RFC2253.cpp +0 -490
  982. data/ext/ice/cpp/src/IceSSL/RFC2253.h +0 -62
  983. data/ext/ice/cpp/src/IceSSL/SChannelCertificateI.cpp +0 -721
  984. data/ext/ice/cpp/src/IceSSL/SChannelEngine.cpp +0 -1283
  985. data/ext/ice/cpp/src/IceSSL/SChannelEngine.h +0 -123
  986. data/ext/ice/cpp/src/IceSSL/SChannelEngineF.h +0 -31
  987. data/ext/ice/cpp/src/IceSSL/SChannelPluginI.cpp +0 -73
  988. data/ext/ice/cpp/src/IceSSL/SChannelTransceiverI.cpp +0 -1174
  989. data/ext/ice/cpp/src/IceSSL/SChannelTransceiverI.h +0 -133
  990. data/ext/ice/cpp/src/IceSSL/SSLEngine.cpp +0 -313
  991. data/ext/ice/cpp/src/IceSSL/SSLEngine.h +0 -100
  992. data/ext/ice/cpp/src/IceSSL/SSLEngineF.h +0 -21
  993. data/ext/ice/cpp/src/IceSSL/SecureTransportCertificateI.cpp +0 -999
  994. data/ext/ice/cpp/src/IceSSL/SecureTransportEngine.cpp +0 -1308
  995. data/ext/ice/cpp/src/IceSSL/SecureTransportEngine.h +0 -59
  996. data/ext/ice/cpp/src/IceSSL/SecureTransportEngineF.h +0 -29
  997. data/ext/ice/cpp/src/IceSSL/SecureTransportPluginI.cpp +0 -75
  998. data/ext/ice/cpp/src/IceSSL/SecureTransportTransceiverI.cpp +0 -719
  999. data/ext/ice/cpp/src/IceSSL/SecureTransportTransceiverI.h +0 -92
  1000. data/ext/ice/cpp/src/IceSSL/SecureTransportUtil.cpp +0 -868
  1001. data/ext/ice/cpp/src/IceSSL/SecureTransportUtil.h +0 -45
  1002. data/ext/ice/cpp/src/IceSSL/TrustManager.cpp +0 -236
  1003. data/ext/ice/cpp/src/IceSSL/TrustManager.h +0 -46
  1004. data/ext/ice/cpp/src/IceSSL/TrustManagerF.h +0 -21
  1005. data/ext/ice/cpp/src/IceSSL/UWPCertificateI.cpp +0 -266
  1006. data/ext/ice/cpp/src/IceSSL/UWPEngine.cpp +0 -338
  1007. data/ext/ice/cpp/src/IceSSL/UWPEngine.h +0 -41
  1008. data/ext/ice/cpp/src/IceSSL/UWPEngineF.h +0 -26
  1009. data/ext/ice/cpp/src/IceSSL/UWPPluginI.cpp +0 -89
  1010. data/ext/ice/cpp/src/IceSSL/UWPTransceiverI.cpp +0 -383
  1011. data/ext/ice/cpp/src/IceSSL/UWPTransceiverI.h +0 -71
  1012. data/ext/ice/cpp/src/IceSSL/Util.cpp +0 -192
  1013. data/ext/ice/cpp/src/IceSSL/Util.h +0 -99
  1014. data/ext/ice/cpp/src/IceUtil/ConsoleUtil.cpp +0 -157
  1015. data/ext/ice/cpp/src/IceUtil/ConvertUTF.cpp +0 -472
  1016. data/ext/ice/cpp/src/IceUtil/ConvertUTF.h +0 -147
  1017. data/ext/ice/cpp/src/IceUtil/CtrlCHandler.cpp +0 -259
  1018. data/ext/ice/cpp/src/IceUtil/FileUtil.cpp +0 -471
  1019. data/ext/ice/cpp/src/IceUtil/InputUtil.cpp +0 -36
  1020. data/ext/ice/cpp/src/IceUtil/MutexProtocol.cpp +0 -19
  1021. data/ext/ice/cpp/src/IceUtil/Options.cpp +0 -1051
  1022. data/ext/ice/cpp/src/IceUtil/OutputUtil.cpp +0 -609
  1023. data/ext/ice/cpp/src/IceUtil/Random.cpp +0 -180
  1024. data/ext/ice/cpp/src/IceUtil/RecMutex.cpp +0 -238
  1025. data/ext/ice/cpp/src/IceUtil/Shared.cpp +0 -71
  1026. data/ext/ice/cpp/src/IceUtil/StringConverter.cpp +0 -690
  1027. data/ext/ice/cpp/src/IceUtil/StringUtil.cpp +0 -1135
  1028. data/ext/ice/cpp/src/IceUtil/ThreadException.cpp +0 -130
  1029. data/ext/ice/cpp/src/IceUtil/Time.cpp +0 -307
  1030. data/ext/ice/cpp/src/IceUtil/UUID.cpp +0 -165
  1031. data/ext/ice/cpp/src/IceUtil/Unicode.cpp +0 -183
  1032. data/ext/ice/cpp/src/IceUtil/Unicode.h +0 -43
  1033. data/ext/ice/cpp/src/IceUtil/UtilException.cpp +0 -839
  1034. data/ext/ice/cpp/src/Slice/CPlusPlusUtil.cpp +0 -1810
  1035. data/ext/ice/cpp/src/Slice/CPlusPlusUtil.h +0 -72
  1036. data/ext/ice/cpp/src/Slice/Checksum.cpp +0 -447
  1037. data/ext/ice/cpp/src/Slice/Checksum.h +0 -21
  1038. data/ext/ice/cpp/src/Slice/FileTracker.cpp +0 -146
  1039. data/ext/ice/cpp/src/Slice/FileTracker.h +0 -66
  1040. data/ext/ice/cpp/src/Slice/Grammar.cpp +0 -4793
  1041. data/ext/ice/cpp/src/Slice/Grammar.h +0 -118
  1042. data/ext/ice/cpp/src/Slice/GrammarUtil.h +0 -228
  1043. data/ext/ice/cpp/src/Slice/JavaUtil.cpp +0 -5176
  1044. data/ext/ice/cpp/src/Slice/JavaUtil.h +0 -407
  1045. data/ext/ice/cpp/src/Slice/MD5.cpp +0 -52
  1046. data/ext/ice/cpp/src/Slice/MD5.h +0 -39
  1047. data/ext/ice/cpp/src/Slice/MD5I.cpp +0 -393
  1048. data/ext/ice/cpp/src/Slice/MD5I.h +0 -91
  1049. data/ext/ice/cpp/src/Slice/PHPUtil.cpp +0 -157
  1050. data/ext/ice/cpp/src/Slice/PHPUtil.h +0 -36
  1051. data/ext/ice/cpp/src/Slice/Parser.cpp +0 -7058
  1052. data/ext/ice/cpp/src/Slice/Parser.h +0 -1174
  1053. data/ext/ice/cpp/src/Slice/Preprocessor.cpp +0 -797
  1054. data/ext/ice/cpp/src/Slice/Preprocessor.h +0 -60
  1055. data/ext/ice/cpp/src/Slice/Python.cpp +0 -830
  1056. data/ext/ice/cpp/src/Slice/PythonUtil.cpp +0 -3439
  1057. data/ext/ice/cpp/src/Slice/PythonUtil.h +0 -70
  1058. data/ext/ice/cpp/src/Slice/Ruby.cpp +0 -350
  1059. data/ext/ice/cpp/src/Slice/RubyUtil.cpp +0 -1571
  1060. data/ext/ice/cpp/src/Slice/RubyUtil.h +0 -49
  1061. data/ext/ice/cpp/src/Slice/Scanner.cpp +0 -2807
  1062. data/ext/ice/cpp/src/Slice/SliceUtil.cpp +0 -424
  1063. data/ext/ice/cpp/src/Slice/StringLiteralUtil.cpp +0 -456
  1064. data/ext/ice/cpp/src/Slice/Util.h +0 -50
  1065. data/ext/ice/mcpp/CMakeLists.txt +0 -80
  1066. data/ext/ice/mcpp/LICENSE +0 -29
  1067. data/ext/ice/mcpp/Makefile +0 -63
  1068. data/ext/ice/mcpp/README.md +0 -32
  1069. data/ext/ice/mcpp/internal.H +0 -530
  1070. data/ext/ice/mcpp/mcpp.gyp +0 -88
  1071. data/ext/ice/mcpp/system.c +0 -2737
  1072. data/lib/Glacier2/Metrics.rb +0 -56
  1073. data/lib/Glacier2/PermissionsVerifier.rb +0 -93
  1074. data/lib/Glacier2/PermissionsVerifierF.rb +0 -30
  1075. data/lib/Glacier2/Router.rb +0 -95
  1076. data/lib/Glacier2/RouterF.rb +0 -25
  1077. data/lib/Glacier2/SSLInfo.rb +0 -72
  1078. data/lib/Glacier2/Session.rb +0 -247
  1079. data/lib/Glacier2.rb +0 -7
  1080. data/lib/Ice/BuiltinSequences.rb +0 -60
  1081. data/lib/Ice/Communicator.rb +0 -87
  1082. data/lib/Ice/CommunicatorF.rb +0 -24
  1083. data/lib/Ice/Connection.rb +0 -413
  1084. data/lib/Ice/ConnectionF.rb +0 -32
  1085. data/lib/Ice/Current.rb +0 -141
  1086. data/lib/Ice/Endpoint.rb +0 -187
  1087. data/lib/Ice/EndpointF.rb +0 -48
  1088. data/lib/Ice/EndpointTypes.rb +0 -69
  1089. data/lib/Ice/FacetMap.rb +0 -24
  1090. data/lib/Ice/Identity.rb +0 -63
  1091. data/lib/Ice/ImplicitContext.rb +0 -26
  1092. data/lib/Ice/ImplicitContextF.rb +0 -24
  1093. data/lib/Ice/Instrumentation.rb +0 -169
  1094. data/lib/Ice/InstrumentationF.rb +0 -31
  1095. data/lib/Ice/LocalException.rb +0 -1031
  1096. data/lib/Ice/Locator.rb +0 -196
  1097. data/lib/Ice/LocatorF.rb +0 -30
  1098. data/lib/Ice/Logger.rb +0 -24
  1099. data/lib/Ice/LoggerF.rb +0 -24
  1100. data/lib/Ice/Metrics.rb +0 -337
  1101. data/lib/Ice/ObjectAdapter.rb +0 -29
  1102. data/lib/Ice/ObjectAdapterF.rb +0 -24
  1103. data/lib/Ice/ObjectFactory.rb +0 -24
  1104. data/lib/Ice/Plugin.rb +0 -30
  1105. data/lib/Ice/PluginF.rb +0 -28
  1106. data/lib/Ice/Process.rb +0 -53
  1107. data/lib/Ice/ProcessF.rb +0 -25
  1108. data/lib/Ice/Properties.rb +0 -25
  1109. data/lib/Ice/PropertiesAdmin.rb +0 -63
  1110. data/lib/Ice/PropertiesF.rb +0 -29
  1111. data/lib/Ice/RemoteLogger.rb +0 -207
  1112. data/lib/Ice/Router.rb +0 -87
  1113. data/lib/Ice/RouterF.rb +0 -25
  1114. data/lib/Ice/ServantLocator.rb +0 -26
  1115. data/lib/Ice/ServantLocatorF.rb +0 -24
  1116. data/lib/Ice/SliceChecksumDict.rb +0 -24
  1117. data/lib/Ice/ValueFactory.rb +0 -28
  1118. data/lib/Ice/Version.rb +0 -90
  1119. data/lib/Ice.rb +0 -673
  1120. data/lib/IceBox/IceBox.rb +0 -164
  1121. data/lib/IceBox.rb +0 -5
  1122. data/lib/IceGrid/Admin.rb +0 -1196
  1123. data/lib/IceGrid/Descriptor.rb +0 -1034
  1124. data/lib/IceGrid/Exception.rb +0 -376
  1125. data/lib/IceGrid/FileParser.rb +0 -65
  1126. data/lib/IceGrid/PluginFacade.rb +0 -35
  1127. data/lib/IceGrid/Registry.rb +0 -209
  1128. data/lib/IceGrid/Session.rb +0 -71
  1129. data/lib/IceGrid/UserAccountMapper.rb +0 -61
  1130. data/lib/IceGrid.rb +0 -9
  1131. data/lib/IcePatch2/FileInfo.rb +0 -115
  1132. data/lib/IcePatch2/FileServer.rb +0 -123
  1133. data/lib/IcePatch2.rb +0 -5
  1134. data/lib/IceStorm/IceStorm.rb +0 -332
  1135. data/lib/IceStorm/Metrics.rb +0 -73
  1136. data/lib/IceStorm.rb +0 -6
  1137. data/slice/Glacier2/Metrics.ice +0 -88
  1138. data/slice/Glacier2/PermissionsVerifier.ice +0 -111
  1139. data/slice/Glacier2/PermissionsVerifierF.ice +0 -30
  1140. data/slice/Glacier2/Router.ice +0 -186
  1141. data/slice/Glacier2/RouterF.ice +0 -29
  1142. data/slice/Glacier2/SSLInfo.ice +0 -59
  1143. data/slice/Glacier2/Session.ice +0 -274
  1144. data/slice/Ice/BuiltinSequences.ice +0 -59
  1145. data/slice/Ice/Communicator.ice +0 -676
  1146. data/slice/Ice/CommunicatorF.ice +0 -31
  1147. data/slice/Ice/Connection.ice +0 -516
  1148. data/slice/Ice/ConnectionF.ice +0 -33
  1149. data/slice/Ice/Current.ice +0 -170
  1150. data/slice/Ice/Endpoint.ice +0 -291
  1151. data/slice/Ice/EndpointF.ice +0 -43
  1152. data/slice/Ice/EndpointTypes.ice +0 -48
  1153. data/slice/Ice/FacetMap.ice +0 -36
  1154. data/slice/Ice/Identity.ice +0 -75
  1155. data/slice/Ice/ImplicitContext.ice +0 -119
  1156. data/slice/Ice/ImplicitContextF.ice +0 -30
  1157. data/slice/Ice/Instrumentation.ice +0 -509
  1158. data/slice/Ice/InstrumentationF.ice +0 -38
  1159. data/slice/Ice/LocalException.ice +0 -1040
  1160. data/slice/Ice/Locator.ice +0 -239
  1161. data/slice/Ice/LocatorF.ice +0 -32
  1162. data/slice/Ice/Logger.ice +0 -99
  1163. data/slice/Ice/LoggerF.ice +0 -31
  1164. data/slice/Ice/Metrics.ice +0 -436
  1165. data/slice/Ice/ObjectAdapter.ice +0 -710
  1166. data/slice/Ice/ObjectAdapterF.ice +0 -31
  1167. data/slice/Ice/ObjectFactory.ice +0 -71
  1168. data/slice/Ice/Plugin.ice +0 -131
  1169. data/slice/Ice/PluginF.ice +0 -36
  1170. data/slice/Ice/Process.ice +0 -64
  1171. data/slice/Ice/ProcessF.ice +0 -31
  1172. data/slice/Ice/Properties.ice +0 -244
  1173. data/slice/Ice/PropertiesAdmin.ice +0 -87
  1174. data/slice/Ice/PropertiesF.ice +0 -32
  1175. data/slice/Ice/RemoteLogger.ice +0 -226
  1176. data/slice/Ice/Router.ice +0 -103
  1177. data/slice/Ice/RouterF.ice +0 -31
  1178. data/slice/Ice/ServantLocator.ice +0 -136
  1179. data/slice/Ice/ServantLocatorF.ice +0 -31
  1180. data/slice/Ice/SliceChecksumDict.ice +0 -36
  1181. data/slice/Ice/ValueFactory.ice +0 -133
  1182. data/slice/Ice/Version.ice +0 -51
  1183. data/slice/IceBT/ConnectionInfo.ice +0 -59
  1184. data/slice/IceBT/EndpointInfo.ice +0 -57
  1185. data/slice/IceBT/Types.ice +0 -45
  1186. data/slice/IceBox/IceBox.ice +0 -216
  1187. data/slice/IceDiscovery/IceDiscovery.ice +0 -98
  1188. data/slice/IceGrid/Admin.ice +0 -1957
  1189. data/slice/IceGrid/Descriptor.ice +0 -1094
  1190. data/slice/IceGrid/Exception.ice +0 -396
  1191. data/slice/IceGrid/FileParser.ice +0 -72
  1192. data/slice/IceGrid/PluginFacade.ice +0 -329
  1193. data/slice/IceGrid/Registry.ice +0 -269
  1194. data/slice/IceGrid/Session.ice +0 -128
  1195. data/slice/IceGrid/UserAccountMapper.ice +0 -69
  1196. data/slice/IceIAP/ConnectionInfo.ice +0 -74
  1197. data/slice/IceIAP/EndpointInfo.ice +0 -68
  1198. data/slice/IceLocatorDiscovery/IceLocatorDiscovery.ice +0 -83
  1199. data/slice/IcePatch2/FileInfo.ice +0 -85
  1200. data/slice/IcePatch2/FileServer.ice +0 -191
  1201. data/slice/IceSSL/ConnectionInfo.ice +0 -54
  1202. data/slice/IceSSL/ConnectionInfoF.ice +0 -31
  1203. data/slice/IceSSL/EndpointInfo.ice +0 -45
  1204. data/slice/IceStorm/IceStorm.ice +0 -414
  1205. data/slice/IceStorm/Metrics.ice +0 -83
  1206. /data/{ext → dist}/ice/mcpp/config.h +0 -0
  1207. /data/{ext → dist}/ice/mcpp/configed.H +0 -0
  1208. /data/{ext → dist}/ice/mcpp/directive.c +0 -0
  1209. /data/{ext → dist}/ice/mcpp/eval.c +0 -0
  1210. /data/{ext → dist}/ice/mcpp/expand.c +0 -0
  1211. /data/{ext → dist}/ice/mcpp/mbchar.c +0 -0
  1212. /data/{ext → dist}/ice/mcpp/mcpp_lib.h +0 -0
  1213. /data/{ext/ice/mcpp/main.c → dist/ice/mcpp/mcpp_main.c} +0 -0
  1214. /data/{ext → dist}/ice/mcpp/mcpp_out.h +0 -0
  1215. /data/{ext → dist}/ice/mcpp/support.c +0 -0
  1216. /data/{ext → dist}/ice/mcpp/system.H +0 -0
@@ -0,0 +1,1175 @@
1
+ // Copyright (c) ZeroC, Inc.
2
+
3
+ #ifndef SLICE_PARSER_H
4
+ #define SLICE_PARSER_H
5
+
6
+ #include <array>
7
+ #include <cstdint>
8
+ #include <functional>
9
+ #include <list>
10
+ #include <map>
11
+ #include <memory>
12
+ #include <optional>
13
+ #include <ostream>
14
+ #include <set>
15
+ #include <stack>
16
+ #include <stdio.h>
17
+ #include <string>
18
+ #include <string_view>
19
+
20
+ namespace Slice
21
+ {
22
+ //
23
+ // Format to use when marshaling a class instance.
24
+ //
25
+ enum FormatType
26
+ {
27
+ CompactFormat, // Minimal format.
28
+ SlicedFormat // Full format.
29
+ };
30
+
31
+ enum WarningCategory
32
+ {
33
+ All,
34
+ Deprecated,
35
+ InvalidMetadata,
36
+ InvalidComment
37
+ };
38
+
39
+ class GrammarBase;
40
+ class SyntaxTreeBase;
41
+ class Metadata;
42
+ class Type;
43
+ class Builtin;
44
+ class Contained;
45
+ class Container;
46
+ class Module;
47
+ class ClassDecl;
48
+ class ClassDef;
49
+ class InterfaceDecl;
50
+ class InterfaceDef;
51
+ class Exception;
52
+ class Struct;
53
+ class Operation;
54
+ class Parameter;
55
+ class DataMember;
56
+ class Sequence;
57
+ class Dictionary;
58
+ class Enum;
59
+ class Enumerator;
60
+ class Const;
61
+ class Unit;
62
+
63
+ using GrammarBasePtr = std::shared_ptr<GrammarBase>;
64
+ using SyntaxTreeBasePtr = std::shared_ptr<SyntaxTreeBase>;
65
+ using MetadataPtr = std::shared_ptr<Metadata>;
66
+ using TypePtr = std::shared_ptr<Type>;
67
+ using BuiltinPtr = std::shared_ptr<Builtin>;
68
+ using ContainedPtr = std::shared_ptr<Contained>;
69
+ using ContainerPtr = std::shared_ptr<Container>;
70
+ using ModulePtr = std::shared_ptr<Module>;
71
+ using ClassDeclPtr = std::shared_ptr<ClassDecl>;
72
+ using ClassDefPtr = std::shared_ptr<ClassDef>;
73
+ using InterfaceDeclPtr = std::shared_ptr<InterfaceDecl>;
74
+ using InterfaceDefPtr = std::shared_ptr<InterfaceDef>;
75
+ using ExceptionPtr = std::shared_ptr<Exception>;
76
+ using StructPtr = std::shared_ptr<Struct>;
77
+ using OperationPtr = std::shared_ptr<Operation>;
78
+ using ParameterPtr = std::shared_ptr<Parameter>;
79
+ using DataMemberPtr = std::shared_ptr<DataMember>;
80
+ using SequencePtr = std::shared_ptr<Sequence>;
81
+ using DictionaryPtr = std::shared_ptr<Dictionary>;
82
+ using EnumPtr = std::shared_ptr<Enum>;
83
+ using EnumeratorPtr = std::shared_ptr<Enumerator>;
84
+ using ConstPtr = std::shared_ptr<Const>;
85
+ using UnitPtr = std::shared_ptr<Unit>;
86
+
87
+ using StringList = std::list<std::string>;
88
+ using MetadataList = std::list<MetadataPtr>;
89
+ using TypeList = std::list<TypePtr>;
90
+ using ContainedList = std::list<ContainedPtr>;
91
+ using ModuleList = std::list<ModulePtr>;
92
+ using ClassList = std::list<ClassDefPtr>;
93
+ using InterfaceList = std::list<InterfaceDefPtr>;
94
+ using ExceptionList = std::list<ExceptionPtr>;
95
+ using EnumList = std::list<EnumPtr>;
96
+ using OperationList = std::list<OperationPtr>;
97
+ using DataMemberList = std::list<DataMemberPtr>;
98
+ using ParameterList = std::list<ParameterPtr>;
99
+ using EnumeratorList = std::list<EnumeratorPtr>;
100
+
101
+ bool containedCompare(const ContainedPtr& lhs, const ContainedPtr& rhs);
102
+ bool containedEqual(const ContainedPtr& lhs, const ContainedPtr& rhs);
103
+
104
+ template<typename T> bool compareTag(const T& lhs, const T& rhs) { return lhs->tag() < rhs->tag(); }
105
+
106
+ // ----------------------------------------------------------------------
107
+ // CICompare -- function object to do case-insensitive string comparison.
108
+ // ----------------------------------------------------------------------
109
+
110
+ class CICompare
111
+ {
112
+ public:
113
+ bool operator()(const std::string& lhs, const std::string& rhs) const;
114
+ };
115
+
116
+ // ----------------------------------------------------------------------
117
+ // DerivedToBaseCompare -- function object to do sort exceptions into
118
+ // most-derived to least-derived order.
119
+ // ----------------------------------------------------------------------
120
+
121
+ class DerivedToBaseCompare
122
+ {
123
+ public:
124
+ bool operator()(const ExceptionPtr& lhs, const ExceptionPtr& rhs) const;
125
+ };
126
+
127
+ // ----------------------------------------------------------------------
128
+ // ParserVisitor
129
+ // ----------------------------------------------------------------------
130
+
131
+ class ParserVisitor
132
+ {
133
+ public:
134
+ virtual ~ParserVisitor() = default;
135
+ virtual bool visitUnitStart(const UnitPtr& /*unit*/) { return true; }
136
+ virtual void visitUnitEnd(const UnitPtr& /*unit*/) {}
137
+ virtual bool visitModuleStart(const ModulePtr& /*module*/) { return true; }
138
+ virtual void visitModuleEnd(const ModulePtr& /*module*/) {}
139
+ virtual void visitClassDecl(const ClassDeclPtr& /*classDecl*/) {}
140
+ virtual bool visitClassDefStart(const ClassDefPtr& /*classDef*/) { return true; }
141
+ virtual void visitClassDefEnd(const ClassDefPtr& /*classDef*/) {}
142
+ virtual void visitInterfaceDecl(const InterfaceDeclPtr& /*interfaceDecl*/) {}
143
+ virtual bool visitInterfaceDefStart(const InterfaceDefPtr& /*interfaceDef*/) { return true; }
144
+ virtual void visitInterfaceDefEnd(const InterfaceDefPtr& /*interfaceDef*/) {}
145
+ virtual bool visitExceptionStart(const ExceptionPtr& /*exceptionDef*/) { return true; }
146
+ virtual void visitExceptionEnd(const ExceptionPtr& /*exceptionDef*/) {}
147
+ virtual bool visitStructStart(const StructPtr& /*structDef*/) { return true; }
148
+ virtual void visitStructEnd(const StructPtr& /*structDef*/) {}
149
+ virtual void visitOperation(const OperationPtr& /*operation*/) {}
150
+ virtual void visitParameter(const ParameterPtr& /*parameter*/) {}
151
+ virtual void visitDataMember(const DataMemberPtr& /*member*/) {}
152
+ virtual void visitSequence(const SequencePtr& /*sequence*/) {}
153
+ virtual void visitDictionary(const DictionaryPtr& /*dictionary*/) {}
154
+ virtual void visitEnum(const EnumPtr& /*enumDef*/) {}
155
+ virtual void visitConst(const ConstPtr& /*constDef*/) {}
156
+
157
+ [[nodiscard]] virtual bool shouldVisitIncludedDefinitions() const { return false; }
158
+ };
159
+
160
+ // ----------------------------------------------------------------------
161
+ // GrammarBase
162
+ // ----------------------------------------------------------------------
163
+
164
+ class GrammarBase
165
+ {
166
+ public:
167
+ virtual ~GrammarBase() = default;
168
+ };
169
+
170
+ // ----------------------------------------------------------------------
171
+ // Metadata
172
+ // ----------------------------------------------------------------------
173
+
174
+ class Metadata final : public GrammarBase
175
+ {
176
+ public:
177
+ Metadata(std::string rawMetadata, std::string file, int line);
178
+ [[nodiscard]] const std::string& directive() const;
179
+ [[nodiscard]] const std::string& arguments() const;
180
+
181
+ [[nodiscard]] const std::string& file() const;
182
+ [[nodiscard]] int line() const;
183
+
184
+ friend std::ostream& operator<<(std::ostream& out, const Metadata& metadata);
185
+
186
+ private:
187
+ std::string _directive;
188
+ std::string _arguments;
189
+
190
+ std::string _file;
191
+ int _line;
192
+ };
193
+
194
+ inline std::ostream& operator<<(std::ostream& ostr, const Metadata& metadata)
195
+ {
196
+ ostr << metadata._directive;
197
+ if (!metadata._arguments.empty())
198
+ {
199
+ ostr << ":" << metadata._arguments;
200
+ }
201
+ return ostr;
202
+ }
203
+
204
+ // ----------------------------------------------------------------------
205
+ // DefinitionContext
206
+ // ----------------------------------------------------------------------
207
+
208
+ class DefinitionContext final
209
+ {
210
+ public:
211
+ DefinitionContext(int includeLevel);
212
+
213
+ /// Returns the file name of the definition context, as reported by the preprocessor.
214
+ /// This may be an absolute or relative path.
215
+ ///
216
+ /// @return A reference to the file name.
217
+ [[nodiscard]] const std::string& filename() const;
218
+
219
+ /// Returns the resolved file name of the definition context. This is always an absolute path.
220
+ ///
221
+ /// @return A reference to the resolved file name.
222
+ [[nodiscard]] const std::string& resolvedFilename() const;
223
+ [[nodiscard]] int includeLevel() const;
224
+ [[nodiscard]] bool seenDefinition() const;
225
+
226
+ void setFilename(std::string filename, std::string resolvedFilename);
227
+ void setSeenDefinition();
228
+
229
+ [[nodiscard]] const MetadataList& getMetadata() const;
230
+ void setMetadata(MetadataList metadata);
231
+ void appendMetadata(MetadataList metadata);
232
+ [[nodiscard]] bool hasMetadata(std::string_view directive) const;
233
+ [[nodiscard]] std::optional<std::string> getMetadataArgs(std::string_view directive) const;
234
+
235
+ [[nodiscard]] bool isSuppressed(WarningCategory category) const;
236
+
237
+ private:
238
+ void initSuppressedWarnings();
239
+
240
+ int _includeLevel;
241
+ MetadataList _metadata;
242
+ std::string _filename;
243
+ std::string _resolvedFilename;
244
+ bool _seenDefinition{false};
245
+ std::set<WarningCategory> _suppressedWarnings;
246
+ };
247
+ using DefinitionContextPtr = std::shared_ptr<DefinitionContext>;
248
+
249
+ // ----------------------------------------------------------------------
250
+ // DocComment
251
+ // ----------------------------------------------------------------------
252
+
253
+ class DocCommentParser;
254
+
255
+ class DocComment final
256
+ {
257
+ public:
258
+ /// Returns an unparsed 'DocComment' instance containing the provided string.
259
+ /// If the provided string is empty or only contains whitespace, this returns 'nullopt' instead.
260
+ [[nodiscard]] static std::optional<DocComment> createUnparsed(const std::string& rawDocComment);
261
+
262
+ [[nodiscard]] bool isDeprecated() const;
263
+ [[nodiscard]] const StringList& deprecated() const;
264
+
265
+ /// Contains all introductory lines up to the first tag.
266
+ [[nodiscard]] const StringList& overview() const;
267
+ /// Returns the contents of any '@remark' or '@remarks' tags.
268
+ [[nodiscard]] const StringList& remarks() const;
269
+ /// Targets of '@see' tags.
270
+ [[nodiscard]] const StringList& seeAlso() const;
271
+
272
+ /// Description of an operation's return value.
273
+ [[nodiscard]] const StringList& returns() const;
274
+ /// Parameter descriptions for an op. Key is parameter name.
275
+ [[nodiscard]] const std::map<std::string, StringList>& parameters() const;
276
+ /// Exception descriptions for an op. Key is exception name.
277
+ [[nodiscard]] const std::map<std::string, StringList>& exceptions() const;
278
+
279
+ private:
280
+ friend class DocCommentParser;
281
+
282
+ StringList _rawDocCommentLines;
283
+
284
+ bool _isDeprecated{false};
285
+ StringList _deprecated;
286
+ StringList _overview;
287
+ StringList _remarks;
288
+ StringList _seeAlso;
289
+
290
+ StringList _returns;
291
+ std::map<std::string, StringList> _parameters;
292
+ std::map<std::string, StringList> _exceptions;
293
+ };
294
+
295
+ // ----------------------------------------------------------------------
296
+ // SyntaxTreeBase
297
+ // ----------------------------------------------------------------------
298
+
299
+ class SyntaxTreeBase : public GrammarBase
300
+ {
301
+ public:
302
+ [[nodiscard]] virtual UnitPtr unit() const = 0;
303
+ };
304
+
305
+ // ----------------------------------------------------------------------
306
+ // Type
307
+ // ----------------------------------------------------------------------
308
+
309
+ class Type : public virtual SyntaxTreeBase
310
+ {
311
+ public:
312
+ [[nodiscard]] virtual bool isClassType() const;
313
+ [[nodiscard]] virtual bool usesClasses() const;
314
+ [[nodiscard]] virtual size_t minWireSize() const = 0;
315
+ [[nodiscard]] virtual std::string getOptionalFormat() const = 0;
316
+ [[nodiscard]] virtual bool isVariableLength() const = 0;
317
+ };
318
+
319
+ // ----------------------------------------------------------------------
320
+ // Builtin
321
+ // ----------------------------------------------------------------------
322
+
323
+ class Builtin final : public Type
324
+ {
325
+ public:
326
+ enum Kind
327
+ {
328
+ KindByte,
329
+ KindBool,
330
+ KindShort,
331
+ KindInt,
332
+ KindLong,
333
+ KindFloat,
334
+ KindDouble,
335
+ KindString,
336
+ KindObjectProxy,
337
+ KindValue
338
+ };
339
+
340
+ Builtin(UnitPtr unit, Kind kind);
341
+ void destroy();
342
+ [[nodiscard]] UnitPtr unit() const final;
343
+
344
+ [[nodiscard]] bool isClassType() const final;
345
+ [[nodiscard]] size_t minWireSize() const final;
346
+ [[nodiscard]] std::string getOptionalFormat() const final;
347
+ [[nodiscard]] bool isVariableLength() const final;
348
+
349
+ [[nodiscard]] bool isNumericType() const;
350
+ [[nodiscard]] bool isIntegralType() const;
351
+
352
+ [[nodiscard]] Kind kind() const;
353
+ [[nodiscard]] std::string kindAsString() const;
354
+ static std::optional<Kind> kindFromString(std::string_view str);
355
+
356
+ // NOLINTNEXTLINE(cert-err58-cpp)
357
+ inline static const std::array<std::string, 10> builtinTable =
358
+ {"byte", "bool", "short", "int", "long", "float", "double", "string", "Object*", "Value"};
359
+
360
+ private:
361
+ const Kind _kind;
362
+ UnitPtr _unit;
363
+ };
364
+
365
+ // ----------------------------------------------------------------------
366
+ // Contained
367
+ // ----------------------------------------------------------------------
368
+
369
+ class Contained : public virtual SyntaxTreeBase
370
+ {
371
+ public:
372
+ virtual void destroy() {}
373
+ [[nodiscard]] ContainerPtr container() const;
374
+ [[nodiscard]] bool isTopLevel() const;
375
+ [[nodiscard]] virtual ModulePtr getTopLevelModule() const;
376
+
377
+ // Functions for getting the Slice name of an element.
378
+
379
+ /// Returns the Slice identifier of this element.
380
+ [[nodiscard]] std::string name() const;
381
+
382
+ /// Returns the Slice scope that this element is contained within (with a trailing '::').
383
+ [[nodiscard]] std::string scope() const;
384
+
385
+ /// Returns the fully-scoped Slice identifier of this element (equivalent to `scope() + name()`).
386
+ [[nodiscard]] std::string scoped() const;
387
+
388
+ // Functions for getting the mapped name of an element.
389
+
390
+ /// Returns the mapped identifier that this element will use in the target language.
391
+ [[nodiscard]] std::string mappedName() const;
392
+
393
+ /// Returns the mapped fully-scoped identifier that this element will use in the target language.
394
+ /// @param separator This string will be used to separate scope segments.
395
+ /// @param leading If true, the returned string will have a leading `separator` (defaults to false).
396
+ /// @remark Equivalent to `mappedScope(separator, leading) + mappedName()`.
397
+ [[nodiscard]] std::string mappedScoped(const std::string& separator, bool leading = false) const;
398
+
399
+ /// Returns the mapped scope that this element will be generated in in the target language.
400
+ /// @param separator This string will be used to separate scope segments.
401
+ /// @param leading If true, the returned string will have a leading `separator` (defaults to false).
402
+ [[nodiscard]] std::string mappedScope(const std::string& separator, bool leading = false) const;
403
+
404
+ // Functions to get information about where a Slice element was defined at.
405
+
406
+ [[nodiscard]] const std::string& file() const;
407
+ [[nodiscard]] int line() const;
408
+
409
+ [[nodiscard]] const std::optional<DocComment>& docComment() const;
410
+
411
+ [[nodiscard]] int includeLevel() const;
412
+ [[nodiscard]] DefinitionContextPtr definitionContext() const;
413
+ [[nodiscard]] UnitPtr unit() const final;
414
+
415
+ [[nodiscard]] virtual const MetadataList& getMetadata() const;
416
+ virtual void setMetadata(MetadataList metadata);
417
+ virtual void appendMetadata(MetadataList metadata);
418
+ [[nodiscard]] bool hasMetadata(std::string_view directive) const;
419
+ [[nodiscard]] std::optional<std::string> getMetadataArgs(std::string_view directive) const;
420
+
421
+ [[nodiscard]] std::optional<FormatType> parseFormatMetadata() const;
422
+
423
+ /// Returns true if this item is deprecated, due to the presence of 'deprecated' metadata.
424
+ /// @return `true` if this item has 'deprecated' metadata on it, `false` otherwise.
425
+ [[nodiscard]] bool isDeprecated() const;
426
+
427
+ /// If this item is deprecated, return its deprecation message (if present).
428
+ /// This is the string argument that can be optionally provided with 'deprecated' metadata.
429
+ /// @return The message provided to the 'deprecated' metadata, if present.
430
+ [[nodiscard]] std::optional<std::string> getDeprecationReason() const;
431
+
432
+ virtual void visit(ParserVisitor* visitor) = 0;
433
+ [[nodiscard]] virtual std::string kindOf() const = 0;
434
+
435
+ protected:
436
+ friend class DocCommentParser;
437
+
438
+ Contained(const ContainerPtr& container, std::string name);
439
+
440
+ ContainerPtr _container;
441
+ std::string _name;
442
+ std::string _file;
443
+ int _line;
444
+ std::optional<DocComment> _docComment;
445
+ int _includeLevel;
446
+ DefinitionContextPtr _definitionContext;
447
+ MetadataList _metadata;
448
+ };
449
+
450
+ // ----------------------------------------------------------------------
451
+ // Container
452
+ // ----------------------------------------------------------------------
453
+
454
+ class Container : public virtual SyntaxTreeBase, public std::enable_shared_from_this<Container>
455
+ {
456
+ public:
457
+ void destroyContents();
458
+ ModulePtr createModule(const std::string& name, bool nestedSyntax);
459
+ [[nodiscard]] ClassDefPtr createClassDef(const std::string& name, std::int32_t id, const ClassDefPtr& base);
460
+ [[nodiscard]] ClassDeclPtr createClassDecl(const std::string& name);
461
+ [[nodiscard]] InterfaceDefPtr createInterfaceDef(const std::string& name, const InterfaceList& bases);
462
+ [[nodiscard]] InterfaceDeclPtr createInterfaceDecl(const std::string& name);
463
+ [[nodiscard]] ExceptionPtr createException(const std::string& name, const ExceptionPtr& base);
464
+ [[nodiscard]] StructPtr createStruct(const std::string& name);
465
+ [[nodiscard]] SequencePtr createSequence(const std::string& name, const TypePtr& type, MetadataList metadata);
466
+ [[nodiscard]] DictionaryPtr createDictionary(
467
+ const std::string& name,
468
+ const TypePtr& keyType,
469
+ MetadataList keyMetadata,
470
+ const TypePtr& valueType,
471
+ MetadataList valueMetadata);
472
+ [[nodiscard]] EnumPtr createEnum(const std::string& name);
473
+ [[nodiscard]] ConstPtr createConst(
474
+ const std::string& name,
475
+ const TypePtr& constType,
476
+ MetadataList metadata,
477
+ const SyntaxTreeBasePtr& valueType,
478
+ const std::string& value);
479
+ [[nodiscard]] TypeList lookupType(const std::string& identifier);
480
+ [[nodiscard]] TypeList
481
+ lookupTypeNoBuiltin(const std::string& identifier, bool emitErrors, bool ignoreUndefined = false);
482
+ [[nodiscard]] ContainedList lookupContained(const std::string& identifier, bool emitErrors);
483
+ [[nodiscard]] InterfaceDefPtr lookupInterfaceDef(const std::string& identifier, bool emitErrors);
484
+ [[nodiscard]] ExceptionPtr lookupException(const std::string& identifier, bool emitErrors);
485
+ [[nodiscard]] ModuleList modules() const;
486
+ [[nodiscard]] InterfaceList interfaces() const;
487
+ [[nodiscard]] EnumList enums() const;
488
+ [[nodiscard]] EnumeratorList enumerators() const;
489
+ [[nodiscard]] EnumeratorList enumerators(const std::string& identifier) const;
490
+ [[nodiscard]] ContainedList contents() const;
491
+ void visitContents(ParserVisitor* visitor);
492
+
493
+ /// Reports an error when a Slice definition would retroactively change the meaning of an identifier.
494
+ /// For example:
495
+ /// ```
496
+ /// module Outer {
497
+ /// const int H = 12;
498
+ /// module Inner {
499
+ /// const int G = H;
500
+ /// class H {} // error: retroactively changes the meaning of 'H'
501
+ /// }
502
+ /// }
503
+ /// ```
504
+ /// Because the parser parses in order, the meaning of 'H' in 'Inner' is ordering dependent, which is not good.
505
+ /// The user should disambiguate by qualifying the type-reference as 'Outer::H'.
506
+ void checkHasChangedMeaning(const std::string& name, ContainedPtr namedThing = nullptr);
507
+
508
+ /// Returns `true` if this container is the global scope (i.e. it's of type `Unit`), and `false` otherwise.
509
+ /// If false, we emit an error message. So this function should only be called for types which cannot appear at
510
+ /// global scope... so everything except for `Module`s.
511
+ bool checkForGlobalDefinition(const char* definitionKindPlural);
512
+
513
+ /// Returns true if this contains elements of the specified type.
514
+ /// This check is recursive, so it will still return true even if the type is only contained indirectly.
515
+ template<typename T> [[nodiscard]] bool contains() const
516
+ {
517
+ for (const auto& p : contents())
518
+ {
519
+ if (std::dynamic_pointer_cast<T>(p))
520
+ {
521
+ return true;
522
+ }
523
+ ContainerPtr childContainer = std::dynamic_pointer_cast<Container>(p);
524
+ if (childContainer && childContainer->contains<T>())
525
+ {
526
+ return true;
527
+ }
528
+ }
529
+ return false;
530
+ }
531
+
532
+ [[nodiscard]] std::string thisScope() const;
533
+
534
+ protected:
535
+ bool validateConstant(
536
+ const std::string& name,
537
+ const TypePtr& type,
538
+ SyntaxTreeBasePtr& valueType,
539
+ const std::string& valueString,
540
+ bool isConstant);
541
+
542
+ ContainedList _contents;
543
+ std::map<std::string, ContainedPtr, CICompare> _introducedMap;
544
+ };
545
+
546
+ // ----------------------------------------------------------------------
547
+ // Module
548
+ // ----------------------------------------------------------------------
549
+
550
+ class Module final : public Container, public Contained
551
+ {
552
+ public:
553
+ Module(const ContainerPtr& container, const std::string& name, bool nestedSyntax);
554
+ [[nodiscard]] std::string kindOf() const final;
555
+ [[nodiscard]] ModulePtr getTopLevelModule() const final;
556
+ void visit(ParserVisitor* visitor) final;
557
+ void destroy() final;
558
+
559
+ const bool usesNestedSyntax;
560
+ };
561
+
562
+ // ----------------------------------------------------------------------
563
+ // ClassDecl
564
+ // ----------------------------------------------------------------------
565
+
566
+ class ClassDecl final : public Contained, public Type, public std::enable_shared_from_this<ClassDecl>
567
+ {
568
+ public:
569
+ ClassDecl(const ContainerPtr& container, const std::string& name);
570
+ void destroy() final;
571
+ [[nodiscard]] ClassDefPtr definition() const;
572
+ [[nodiscard]] bool isClassType() const final;
573
+ [[nodiscard]] size_t minWireSize() const final;
574
+ [[nodiscard]] std::string getOptionalFormat() const final;
575
+ [[nodiscard]] bool isVariableLength() const final;
576
+ void visit(ParserVisitor* visitor) final;
577
+ [[nodiscard]] std::string kindOf() const final;
578
+
579
+ private:
580
+ friend class Container;
581
+
582
+ ClassDefPtr _definition;
583
+ };
584
+
585
+ // ----------------------------------------------------------------------
586
+ // ClassDef
587
+ // ----------------------------------------------------------------------
588
+
589
+ //
590
+ // Note: For the purpose of this parser, a class definition is not
591
+ // considered to be a type, but a class declaration is. And each class
592
+ // definition has at least one class declaration (but not vice versa),
593
+ // so if you need the class as a "type", use the
594
+ // declaration() operation to navigate to the class declaration.
595
+ //
596
+ class ClassDef final : public Container, public Contained
597
+ {
598
+ public:
599
+ ClassDef(const ContainerPtr& container, const std::string& name, std::int32_t id, ClassDefPtr base);
600
+ void destroy() final;
601
+ [[nodiscard]] DataMemberPtr createDataMember(
602
+ const std::string& name,
603
+ const TypePtr& type,
604
+ bool isOptional,
605
+ std::int32_t tag,
606
+ SyntaxTreeBasePtr defaultValueType,
607
+ std::optional<std::string> defaultValueString);
608
+ [[nodiscard]] ClassDeclPtr declaration() const;
609
+ [[nodiscard]] ClassDefPtr base() const;
610
+ [[nodiscard]] ClassList allBases() const;
611
+ [[nodiscard]] DataMemberList dataMembers() const;
612
+ [[nodiscard]] DataMemberList orderedOptionalDataMembers() const;
613
+ [[nodiscard]] DataMemberList allDataMembers() const;
614
+ [[nodiscard]] DataMemberList classDataMembers() const;
615
+ [[nodiscard]] bool canBeCyclic() const;
616
+ void visit(ParserVisitor* visitor) final;
617
+ [[nodiscard]] std::int32_t compactId() const;
618
+ [[nodiscard]] std::string kindOf() const final;
619
+
620
+ // Class metadata is always stored on the underlying decl type, not the definition.
621
+ // So we override these `xMetadata` functions to forward to `_declarations->xMetadata()` instead.
622
+ [[nodiscard]] const MetadataList& getMetadata() const final;
623
+ void setMetadata(MetadataList metadata) final;
624
+ void appendMetadata(MetadataList metadata) final;
625
+
626
+ private:
627
+ friend class Container;
628
+
629
+ ClassDeclPtr _declaration;
630
+ ClassDefPtr _base;
631
+ std::int32_t _compactId;
632
+ };
633
+
634
+ // ----------------------------------------------------------------------
635
+ // InterfaceDecl
636
+ // ----------------------------------------------------------------------
637
+
638
+ class InterfaceDecl final : public Contained, public Type, public std::enable_shared_from_this<InterfaceDecl>
639
+ {
640
+ public:
641
+ InterfaceDecl(const ContainerPtr& container, const std::string& name);
642
+ void destroy() final;
643
+ [[nodiscard]] InterfaceDefPtr definition() const;
644
+ [[nodiscard]] size_t minWireSize() const final;
645
+ [[nodiscard]] std::string getOptionalFormat() const final;
646
+ [[nodiscard]] bool isVariableLength() const final;
647
+ void visit(ParserVisitor* visitor) final;
648
+ [[nodiscard]] std::string kindOf() const final;
649
+
650
+ static void checkBasesAreLegal(const std::string& name, const InterfaceList& bases, const UnitPtr& unit);
651
+
652
+ private:
653
+ friend class Container;
654
+
655
+ InterfaceDefPtr _definition;
656
+
657
+ using GraphPartitionList = std::list<InterfaceList>;
658
+ using StringPartitionList = std::list<StringList>;
659
+
660
+ static bool isInList(const GraphPartitionList& gpl, const InterfaceDefPtr& interfaceDef);
661
+
662
+ static void addPartition(
663
+ GraphPartitionList& partitions,
664
+ const GraphPartitionList::reverse_iterator& tail,
665
+ const InterfaceDefPtr& base);
666
+ static StringPartitionList toStringPartitionList(const GraphPartitionList& partitions);
667
+ static void checkPairIntersections(
668
+ const StringPartitionList& stringPartitions,
669
+ const std::string& name,
670
+ const UnitPtr& unit);
671
+ };
672
+
673
+ // ----------------------------------------------------------------------
674
+ // Operation
675
+ // ----------------------------------------------------------------------
676
+
677
+ class Operation final : public Container, public Contained
678
+ {
679
+ public:
680
+ //
681
+ // Note: The values of enumerators here *must* match the values for
682
+ // enumerators of Ice::OperationMode in slice/Ice/OperationMode.ice!
683
+ //
684
+ enum Mode
685
+ {
686
+ Normal = 0,
687
+ Idempotent = 2
688
+ };
689
+
690
+ Operation(const ContainerPtr&, const std::string&, TypePtr, bool, std::int32_t, Mode);
691
+ [[nodiscard]] InterfaceDefPtr interface() const;
692
+ [[nodiscard]] TypePtr returnType() const;
693
+ [[nodiscard]] bool returnIsOptional() const;
694
+ [[nodiscard]] std::int32_t returnTag() const;
695
+ [[nodiscard]] Mode mode() const;
696
+ [[nodiscard]] bool hasMarshaledResult() const;
697
+
698
+ ParameterPtr createParameter(const std::string& name, const TypePtr& type, bool isOptional, std::int32_t tag);
699
+
700
+ /// Returns all parameters of this operation.
701
+ [[nodiscard]] ParameterList parameters() const;
702
+
703
+ /// Returns a list of all this operation's in-parameters (all parameters not marked with 'out').
704
+ [[nodiscard]] ParameterList inParameters() const;
705
+
706
+ /// Returns all of this operation's in-parameters sorted in this order: '(required..., optional...)'.
707
+ /// Required parameters are kept in definition order and optional parameters are sorted by tag.
708
+ [[nodiscard]] ParameterList sortedInParameters() const;
709
+
710
+ /// Returns a list of all this operation's out-parameters (all parameters marked with 'out').
711
+ [[nodiscard]] ParameterList outParameters() const;
712
+
713
+ /// Creates a temporary Parameter that represents this operation's return value.
714
+ /// @param name The name of the return parameter.
715
+ /// @return A dummy Parameter that represents this operation's return value, or nullptr if this operation is
716
+ /// void.
717
+ /// @remark The returned Parameter is not "saved" by this operation - it's completely ephemeral.
718
+ /// The provided name is not checked for uniqueness: the caller must ensure it's unique enough for its purpose.
719
+ /// Furthermore, there is no way to specify a lang:identifier metadata for this parameter, so the mapped
720
+ /// parameter name is always the default (i.e., simply name).
721
+ [[nodiscard]] ParameterPtr returnParameter(const std::string& name);
722
+
723
+ /// Returns this operation's out parameters and return type sorted in this order: '(required..., optional...)'.
724
+ /// If the this operation's return type is non-void and non-optional, it is at the end of the 'required' list.
725
+ /// Otherwise, required parameters are kept in definition order and optional parameters are sorted by tag.
726
+ ///
727
+ /// For convenience, non-void return types are represented by a dummy `Parameter` in this list.
728
+ /// However it's important to note that it is not _actually_ a parameter.
729
+ ///
730
+ // Creating this temporary Parameter doesn't introduce cycles, since nothing from the AST points to it,
731
+ // even if it points back into the AST. So it will be destroyed when the returned list goes out of scope.
732
+ /// @param returnName The name of the return parameter. See #returnParameter for more details.
733
+ /// @return A list of all this operation's out-parameters and return type, sorted in the order described above.
734
+ [[nodiscard]] ParameterList sortedReturnAndOutParameters(const std::string& returnName);
735
+
736
+ [[nodiscard]] ExceptionList throws() const;
737
+ void setExceptionList(const ExceptionList& exceptions);
738
+ [[nodiscard]] bool sendsClasses() const;
739
+ [[nodiscard]] bool returnsClasses() const;
740
+ [[nodiscard]] bool returnsData() const;
741
+
742
+ /// Returns true if this operation has any out parameters or a non-void return type.
743
+ [[nodiscard]] bool returnsAnyValues() const;
744
+ /// Returns true if this operation's output parameters, plus any non-void return type, is greater than 1.
745
+ [[nodiscard]] bool returnsMultipleValues() const;
746
+
747
+ [[nodiscard]] bool sendsOptionals() const;
748
+ [[nodiscard]] bool receivesOptionals() const;
749
+ [[nodiscard]] std::optional<FormatType> format() const;
750
+ [[nodiscard]] std::string kindOf() const final;
751
+ void visit(ParserVisitor* visitor) final;
752
+ void destroy() final;
753
+
754
+ private:
755
+ TypePtr _returnType;
756
+ bool _returnIsOptional;
757
+ std::int32_t _returnTag;
758
+ ExceptionList _throws;
759
+ Mode _mode;
760
+ };
761
+
762
+ // ----------------------------------------------------------------------
763
+ // InterfaceDef
764
+ // ----------------------------------------------------------------------
765
+
766
+ //
767
+ // Note: For the purpose of this parser, an interface definition is not
768
+ // considered to be a type, but an interface declaration is. And each interface
769
+ // definition has at least one interface declaration (but not vice versa),
770
+ // so if you need the interface as a "type", use the
771
+ // declaration() function to navigate to the interface declaration.
772
+ //
773
+ class InterfaceDef final : public Container, public Contained
774
+ {
775
+ public:
776
+ InterfaceDef(const ContainerPtr& container, const std::string& name, InterfaceList bases);
777
+ void destroy() final;
778
+ OperationPtr createOperation(
779
+ const std::string& name,
780
+ const TypePtr& returnType,
781
+ bool isOptional,
782
+ std::int32_t tag,
783
+ Operation::Mode mode = Operation::Normal);
784
+
785
+ [[nodiscard]] InterfaceDeclPtr declaration() const;
786
+ [[nodiscard]] InterfaceList bases() const;
787
+ [[nodiscard]] InterfaceList allBases() const;
788
+ [[nodiscard]] OperationList operations() const;
789
+ [[nodiscard]] OperationList allOperations() const;
790
+ [[nodiscard]] std::string kindOf() const final;
791
+ void visit(ParserVisitor* visitor) final;
792
+
793
+ // Returns the type IDs of all the interfaces in the inheritance tree, in alphabetical order.
794
+ [[nodiscard]] StringList ids() const;
795
+
796
+ // Interface metadata is always stored on the underlying decl type, not the definition.
797
+ // So we override these `xMetadata` functions to forward to `_declarations->xMetadata()` instead.
798
+ [[nodiscard]] const MetadataList& getMetadata() const final;
799
+ void setMetadata(MetadataList metadata) final;
800
+ void appendMetadata(MetadataList metadata) final;
801
+
802
+ private:
803
+ friend class Container;
804
+
805
+ // Returns true if name does not collide with any base name; otherwise, false.
806
+ bool checkBaseOperationNames(const std::string& name, const std::vector<std::string>& baseNames);
807
+
808
+ InterfaceDeclPtr _declaration;
809
+ InterfaceList _bases;
810
+ };
811
+
812
+ // ----------------------------------------------------------------------
813
+ // Exception
814
+ // ----------------------------------------------------------------------
815
+ class Exception final : public Container, public Contained
816
+ {
817
+ public:
818
+ Exception(const ContainerPtr& container, const std::string& name, ExceptionPtr base);
819
+ void destroy() final;
820
+ [[nodiscard]] DataMemberPtr createDataMember(
821
+ const std::string& name,
822
+ const TypePtr& type,
823
+ bool isOptional,
824
+ std::int32_t tag,
825
+ SyntaxTreeBasePtr defaultValueType,
826
+ std::optional<std::string> defaultValueString);
827
+ [[nodiscard]] DataMemberList dataMembers() const;
828
+ [[nodiscard]] DataMemberList orderedOptionalDataMembers() const;
829
+ [[nodiscard]] DataMemberList allDataMembers() const;
830
+ [[nodiscard]] DataMemberList classDataMembers() const;
831
+ [[nodiscard]] ExceptionPtr base() const;
832
+ [[nodiscard]] ExceptionList allBases() const;
833
+ [[nodiscard]] bool isBaseOf(const ExceptionPtr& otherException) const;
834
+ [[nodiscard]] bool usesClasses() const;
835
+ [[nodiscard]] std::string kindOf() const final;
836
+ void visit(ParserVisitor* visitor) final;
837
+
838
+ private:
839
+ ExceptionPtr _base;
840
+ };
841
+
842
+ // ----------------------------------------------------------------------
843
+ // Struct
844
+ // ----------------------------------------------------------------------
845
+
846
+ class Struct final : public Container, public Contained, public Type
847
+ {
848
+ public:
849
+ Struct(const ContainerPtr& container, const std::string& name);
850
+ [[nodiscard]] DataMemberPtr createDataMember(
851
+ const std::string& name,
852
+ const TypePtr& type,
853
+ SyntaxTreeBasePtr defaultValueType,
854
+ std::optional<std::string> defaultValueString);
855
+ [[nodiscard]] DataMemberList dataMembers() const;
856
+ [[nodiscard]] DataMemberList classDataMembers() const;
857
+ [[nodiscard]] bool usesClasses() const final;
858
+ [[nodiscard]] size_t minWireSize() const final;
859
+ [[nodiscard]] std::string getOptionalFormat() const final;
860
+ [[nodiscard]] bool isVariableLength() const final;
861
+ [[nodiscard]] std::string kindOf() const final;
862
+ void visit(ParserVisitor* visitor) final;
863
+ void destroy() final;
864
+ };
865
+
866
+ // ----------------------------------------------------------------------
867
+ // Sequence
868
+ // ----------------------------------------------------------------------
869
+
870
+ class Sequence final : public Contained, public Type, public std::enable_shared_from_this<Sequence>
871
+ {
872
+ public:
873
+ Sequence(const ContainerPtr& container, const std::string& name, TypePtr type, MetadataList typeMetadata);
874
+ [[nodiscard]] TypePtr type() const;
875
+ [[nodiscard]] MetadataList typeMetadata() const;
876
+ void setTypeMetadata(MetadataList metadata);
877
+ [[nodiscard]] bool usesClasses() const final;
878
+ [[nodiscard]] size_t minWireSize() const final;
879
+ [[nodiscard]] std::string getOptionalFormat() const final;
880
+ [[nodiscard]] bool isVariableLength() const final;
881
+ [[nodiscard]] std::string kindOf() const final;
882
+ void visit(ParserVisitor* visitor) final;
883
+
884
+ private:
885
+ TypePtr _type;
886
+ MetadataList _typeMetadata;
887
+ };
888
+
889
+ // ----------------------------------------------------------------------
890
+ // Dictionary
891
+ // ----------------------------------------------------------------------
892
+
893
+ class Dictionary final : public Contained, public Type, public std::enable_shared_from_this<Dictionary>
894
+ {
895
+ public:
896
+ Dictionary(
897
+ const ContainerPtr& container,
898
+ const std::string& name,
899
+ TypePtr keyType,
900
+ MetadataList keyMetadata,
901
+ TypePtr valueType,
902
+ MetadataList valueMetadata);
903
+ [[nodiscard]] TypePtr keyType() const;
904
+ [[nodiscard]] TypePtr valueType() const;
905
+ [[nodiscard]] MetadataList keyMetadata() const;
906
+ [[nodiscard]] MetadataList valueMetadata() const;
907
+ void setKeyMetadata(MetadataList metadata);
908
+ void setValueMetadata(MetadataList metadata);
909
+ [[nodiscard]] bool usesClasses() const final;
910
+ [[nodiscard]] size_t minWireSize() const final;
911
+ [[nodiscard]] std::string getOptionalFormat() const final;
912
+ [[nodiscard]] bool isVariableLength() const final;
913
+ [[nodiscard]] std::string kindOf() const final;
914
+ void visit(ParserVisitor* visitor) final;
915
+
916
+ static bool isLegalKeyType(const TypePtr& type);
917
+
918
+ private:
919
+ TypePtr _keyType;
920
+ TypePtr _valueType;
921
+ MetadataList _keyMetadata;
922
+ MetadataList _valueMetadata;
923
+ };
924
+
925
+ // ----------------------------------------------------------------------
926
+ // Enum
927
+ // ----------------------------------------------------------------------
928
+
929
+ class Enum final : public Container, public Contained, public Type
930
+ {
931
+ public:
932
+ Enum(const ContainerPtr& container, const std::string& name);
933
+ EnumeratorPtr createEnumerator(const std::string& name, std::optional<std::int32_t> explicitValue);
934
+ [[nodiscard]] bool hasExplicitValues() const;
935
+ [[nodiscard]] std::int32_t minValue() const;
936
+ [[nodiscard]] std::int32_t maxValue() const;
937
+ [[nodiscard]] size_t minWireSize() const final;
938
+ [[nodiscard]] std::string getOptionalFormat() const final;
939
+ [[nodiscard]] bool isVariableLength() const final;
940
+ [[nodiscard]] std::string kindOf() const final;
941
+ void visit(ParserVisitor* visitor) final;
942
+ void destroy() final;
943
+
944
+ private:
945
+ bool _hasExplicitValues{false};
946
+ std::int32_t _minValue;
947
+ std::int32_t _maxValue{0};
948
+ std::int32_t _lastValue{-1};
949
+ };
950
+
951
+ // ----------------------------------------------------------------------
952
+ // Enumerator
953
+ // ----------------------------------------------------------------------
954
+
955
+ class Enumerator final : public Contained
956
+ {
957
+ public:
958
+ Enumerator(const ContainerPtr& container, const std::string& name, std::int32_t value, bool hasExplicitValue);
959
+ [[nodiscard]] EnumPtr type() const;
960
+ [[nodiscard]] std::string kindOf() const final;
961
+
962
+ [[nodiscard]] bool hasExplicitValue() const;
963
+ [[nodiscard]] std::int32_t value() const;
964
+
965
+ void visit(ParserVisitor* visitor) final;
966
+
967
+ private:
968
+ bool _hasExplicitValue;
969
+ std::int32_t _value;
970
+ };
971
+
972
+ // ----------------------------------------------------------------------
973
+ // Const
974
+ // ----------------------------------------------------------------------
975
+
976
+ class Const final : public Contained, public std::enable_shared_from_this<Const>
977
+ {
978
+ public:
979
+ Const(
980
+ const ContainerPtr& container,
981
+ const std::string& name,
982
+ TypePtr type,
983
+ MetadataList typeMetadata,
984
+ SyntaxTreeBasePtr valueType,
985
+ std::string valueString);
986
+ [[nodiscard]] TypePtr type() const;
987
+ [[nodiscard]] MetadataList typeMetadata() const;
988
+ void setTypeMetadata(MetadataList metadata);
989
+ [[nodiscard]] SyntaxTreeBasePtr valueType() const;
990
+ [[nodiscard]] std::string value() const;
991
+ [[nodiscard]] std::string kindOf() const final;
992
+ void visit(ParserVisitor* visitor) final;
993
+
994
+ private:
995
+ TypePtr _type;
996
+ MetadataList _typeMetadata;
997
+ SyntaxTreeBasePtr _valueType;
998
+ std::string _value;
999
+ };
1000
+
1001
+ // ----------------------------------------------------------------------
1002
+ // Parameter
1003
+ // ----------------------------------------------------------------------
1004
+
1005
+ class Parameter final : public Contained, public std::enable_shared_from_this<Parameter>
1006
+ {
1007
+ public:
1008
+ Parameter(
1009
+ const ContainerPtr& container,
1010
+ const std::string& name,
1011
+ TypePtr type,
1012
+ bool isOptional,
1013
+ std::int32_t tag);
1014
+ [[nodiscard]] TypePtr type() const;
1015
+ [[nodiscard]] bool isOutParam() const;
1016
+ void setIsOutParam();
1017
+ [[nodiscard]] bool optional() const;
1018
+ [[nodiscard]] std::int32_t tag() const;
1019
+ [[nodiscard]] std::string kindOf() const final;
1020
+ void visit(ParserVisitor* visitor) final;
1021
+
1022
+ private:
1023
+ TypePtr _type;
1024
+ bool _isOutParam{false};
1025
+ bool _optional;
1026
+ std::int32_t _tag;
1027
+ };
1028
+
1029
+ // ----------------------------------------------------------------------
1030
+ // DataMember
1031
+ // ----------------------------------------------------------------------
1032
+
1033
+ class DataMember final : public Contained, public std::enable_shared_from_this<DataMember>
1034
+ {
1035
+ public:
1036
+ DataMember(
1037
+ const ContainerPtr& container,
1038
+ const std::string& name,
1039
+ TypePtr type,
1040
+ bool isOptional,
1041
+ std::int32_t tag,
1042
+ SyntaxTreeBasePtr defaultValueType,
1043
+ std::optional<std::string> defaultValueString);
1044
+ [[nodiscard]] TypePtr type() const;
1045
+ [[nodiscard]] bool optional() const;
1046
+ [[nodiscard]] std::int32_t tag() const;
1047
+
1048
+ // defaultValue() and defaultValueType() are either both null (no default value) or both non-null.
1049
+ [[nodiscard]] std::optional<std::string> defaultValue() const;
1050
+ [[nodiscard]] SyntaxTreeBasePtr defaultValueType() const;
1051
+ [[nodiscard]] std::string kindOf() const final;
1052
+ void visit(ParserVisitor* visitor) final;
1053
+
1054
+ private:
1055
+ TypePtr _type;
1056
+ bool _optional;
1057
+ std::int32_t _tag;
1058
+ SyntaxTreeBasePtr _defaultValueType;
1059
+ std::optional<std::string> _defaultValue;
1060
+ };
1061
+
1062
+ // ----------------------------------------------------------------------
1063
+ // Unit
1064
+ // ----------------------------------------------------------------------
1065
+
1066
+ class Unit final : public Container
1067
+ {
1068
+ public:
1069
+ static UnitPtr createUnit(std::string languageName, bool all);
1070
+
1071
+ Unit(std::string languageName, bool all);
1072
+
1073
+ [[nodiscard]] std::string languageName() const;
1074
+
1075
+ /// Sets `_currentDocComment` to the provided string, erasing anything currently stored in it.
1076
+ /// @param comment The raw comment string. It can span multiple lines and include comment formatting characters
1077
+ /// like '/**' and leading '*'. All such comment formatting will be removed by this function though.
1078
+ // Note that this is only called for JavaDoc style comments, where the comment is set in one-shot.
1079
+ void setDocComment(const std::string& comment);
1080
+ /// Appends the provided comment to `_currentDocComment` with a newline separator.
1081
+ /// @param comment The raw comment string. It shouldn't contain newlines, nor any comment formatting characters.
1082
+ /// Unlike `setDocComment`, this function doesn't process the comment string in any way.
1083
+ // Note that this is only called for triple-slash style comments, where each line is added separately.
1084
+ void appendToDocComment(const std::string& comment);
1085
+ /// Returns the current doc-comment string. This function uses move semantics. After calling it, the currently
1086
+ /// stored doc-comment will be cleared. This string can span multiple lines, and won't include formatting like
1087
+ /// leading '///' or opening '/**' etc.
1088
+ std::string currentDocComment();
1089
+
1090
+ [[nodiscard]] std::string currentFile() const;
1091
+ [[nodiscard]] const std::string& topLevelFile() const;
1092
+ [[nodiscard]] int currentLine() const;
1093
+
1094
+ int setCurrentFile(std::string currentFile, int lineNumber);
1095
+ [[nodiscard]] int currentIncludeLevel() const;
1096
+
1097
+ void addFileMetadata(MetadataList metadata);
1098
+
1099
+ void setSeenDefinition();
1100
+
1101
+ void error(std::string_view message);
1102
+ void error(std::string_view file, int line, std::string_view message);
1103
+ void warning(WarningCategory category, std::string_view message) const;
1104
+ void warning(std::string_view file, int line, WarningCategory category, std::string_view message) const;
1105
+
1106
+ [[nodiscard]] ContainerPtr currentContainer() const;
1107
+ void pushContainer(const ContainerPtr& container);
1108
+ void popContainer();
1109
+
1110
+ [[nodiscard]] DefinitionContextPtr currentDefinitionContext() const;
1111
+
1112
+ /// Returns the definition context for the given file, or nullptr if none exists.
1113
+ /// This method only checks `DefinitionContext::filename` and does not consider
1114
+ /// `DefinitionContext::resolvedFilename`.
1115
+ ///
1116
+ /// @param file The file name to search for.
1117
+ /// @return A pointer to the matching definition context, or nullptr if not found.
1118
+ [[nodiscard]] DefinitionContextPtr findDefinitionContext(std::string_view file) const;
1119
+
1120
+ void addContent(const ContainedPtr& contained);
1121
+ [[nodiscard]] ContainedList findContents(const std::string& scopedName) const;
1122
+
1123
+ void addTypeId(std::int32_t compactId, const std::string& typeId);
1124
+ [[nodiscard]] std::string getTypeId(std::int32_t compactId) const;
1125
+
1126
+ // Returns the path names of the files included directly by the top-level file.
1127
+ [[nodiscard]] StringList includeFiles() const;
1128
+
1129
+ /// Returns the absolute paths of all files parsed by this unit.
1130
+ /// The first entry is the top-level file, followed by its direct and transitive dependencies in the order they
1131
+ /// were parsed.
1132
+ ///
1133
+ /// @return A list of absolute paths to the parsed files.
1134
+ [[nodiscard]] StringList allFiles() const;
1135
+
1136
+ int parse(const std::string& filename, FILE* file, bool debugMode);
1137
+
1138
+ void destroy();
1139
+ void visit(ParserVisitor* visitor);
1140
+ [[nodiscard]] UnitPtr unit() const final;
1141
+
1142
+ /// Returns `EXIT_FAILURE` if 1 or more errors have been reported and `EXIT_SUCCESS` otherwise.
1143
+ [[nodiscard]] int getStatus() const;
1144
+
1145
+ // Not const, as builtins are created on the fly. (Lazy initialization.)
1146
+ BuiltinPtr createBuiltin(Builtin::Kind kind);
1147
+
1148
+ void addTopLevelModule(const std::string& file, const std::string& module);
1149
+ [[nodiscard]] std::set<std::string> getTopLevelModules(const std::string& file) const;
1150
+
1151
+ private:
1152
+ void pushDefinitionContext();
1153
+ void popDefinitionContext();
1154
+
1155
+ const std::string _languageName;
1156
+ bool _all;
1157
+ int _errors{0};
1158
+ std::string _currentDocComment;
1159
+ int _currentIncludeLevel{0};
1160
+ std::string _topLevelFile;
1161
+ std::stack<DefinitionContextPtr> _definitionContextStack;
1162
+ StringList _includeFiles;
1163
+ std::stack<ContainerPtr> _containerStack;
1164
+ std::map<Builtin::Kind, BuiltinPtr> _builtins;
1165
+ std::map<std::string, ContainedList> _contentMap;
1166
+ std::map<std::string, DefinitionContextPtr, std::less<>> _definitionContextMap;
1167
+ std::map<std::int32_t, std::string> _typeIds;
1168
+ std::map<std::string, std::set<std::string>> _fileTopLevelModules;
1169
+ StringList _allFiles;
1170
+ };
1171
+
1172
+ extern Unit* currentUnit; // The current parser for bison/flex
1173
+ }
1174
+
1175
+ #endif