zeroc-ice 3.7.9.1 → 3.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1215) hide show
  1. checksums.yaml +4 -4
  2. data/dist/IceRuby/Communicator.cpp +575 -0
  3. data/dist/IceRuby/Communicator.h +19 -0
  4. data/dist/IceRuby/Config.h +77 -0
  5. data/dist/IceRuby/Connection.cpp +428 -0
  6. data/dist/IceRuby/Connection.h +20 -0
  7. data/dist/IceRuby/DefaultSliceLoader.cpp +45 -0
  8. data/dist/IceRuby/DefaultSliceLoader.h +25 -0
  9. data/dist/IceRuby/Endpoint.cpp +342 -0
  10. data/dist/IceRuby/Endpoint.h +18 -0
  11. data/dist/IceRuby/ImplicitContext.cpp +143 -0
  12. data/dist/IceRuby/ImplicitContext.h +16 -0
  13. data/dist/IceRuby/Init.cpp +36 -0
  14. data/dist/IceRuby/Logger.cpp +146 -0
  15. data/dist/IceRuby/Logger.h +19 -0
  16. data/dist/IceRuby/Operation.cpp +623 -0
  17. data/dist/IceRuby/Operation.h +28 -0
  18. data/dist/IceRuby/Properties.cpp +413 -0
  19. data/dist/IceRuby/Properties.h +16 -0
  20. data/dist/IceRuby/Proxy.cpp +926 -0
  21. data/dist/IceRuby/Proxy.h +21 -0
  22. data/dist/IceRuby/RubySliceLoader.cpp +39 -0
  23. data/dist/IceRuby/RubySliceLoader.h +27 -0
  24. data/dist/IceRuby/Slice.cpp +199 -0
  25. data/dist/IceRuby/Slice.h +13 -0
  26. data/dist/IceRuby/Types.cpp +3133 -0
  27. data/dist/IceRuby/Types.h +533 -0
  28. data/dist/IceRuby/Util.cpp +553 -0
  29. data/dist/IceRuby/Util.h +485 -0
  30. data/dist/ice/cpp/include/Ice/AsyncResponseHandler.h +85 -0
  31. data/dist/ice/cpp/include/Ice/BatchRequest.h +39 -0
  32. data/dist/ice/cpp/include/Ice/BatchRequestQueueF.h +14 -0
  33. data/dist/ice/cpp/include/Ice/Buffer.h +159 -0
  34. data/dist/ice/cpp/include/Ice/Communicator.h +411 -0
  35. data/dist/ice/cpp/include/Ice/CommunicatorF.h +16 -0
  36. data/dist/ice/cpp/include/Ice/Config.h +60 -0
  37. data/dist/ice/cpp/include/Ice/Connection.h +410 -0
  38. data/dist/ice/cpp/include/Ice/ConnectionF.h +36 -0
  39. data/dist/ice/cpp/include/Ice/ConnectionIF.h +16 -0
  40. data/dist/ice/cpp/include/Ice/CtrlCHandler.h +56 -0
  41. data/dist/ice/cpp/include/Ice/Current.h +60 -0
  42. data/dist/ice/cpp/include/Ice/DefaultSliceLoader.h +160 -0
  43. data/dist/ice/cpp/include/Ice/Demangle.h +17 -0
  44. data/dist/ice/cpp/include/Ice/Endpoint.h +298 -0
  45. data/dist/ice/cpp/include/Ice/EndpointF.h +44 -0
  46. data/dist/ice/cpp/include/Ice/EndpointSelectionType.h +21 -0
  47. data/dist/ice/cpp/include/Ice/Exception.h +56 -0
  48. data/dist/ice/cpp/include/Ice/FacetMap.h +16 -0
  49. data/dist/ice/cpp/include/Ice/Format.h +22 -0
  50. data/dist/ice/cpp/include/Ice/Ice.h +60 -0
  51. data/dist/ice/cpp/include/Ice/IconvStringConverter.h +216 -0
  52. data/dist/ice/cpp/include/Ice/ImplicitContext.h +76 -0
  53. data/dist/ice/cpp/include/Ice/IncomingRequest.h +75 -0
  54. data/dist/ice/cpp/include/Ice/Initialize.h +143 -0
  55. data/dist/ice/cpp/include/Ice/InputStream.h +942 -0
  56. data/dist/ice/cpp/include/Ice/InstanceF.h +14 -0
  57. data/dist/ice/cpp/include/Ice/Instrumentation.h +319 -0
  58. data/dist/ice/cpp/include/Ice/LocalException.h +58 -0
  59. data/dist/ice/cpp/include/Ice/LocalExceptions.h +870 -0
  60. data/dist/ice/cpp/include/Ice/Logger.h +62 -0
  61. data/dist/ice/cpp/include/Ice/LoggerUtil.h +162 -0
  62. data/dist/ice/cpp/include/Ice/MarshaledResult.h +50 -0
  63. data/dist/ice/cpp/include/Ice/NativePropertiesAdmin.h +54 -0
  64. data/dist/ice/cpp/include/Ice/Object.h +168 -0
  65. data/dist/ice/cpp/include/Ice/ObjectAdapter.h +324 -0
  66. data/dist/ice/cpp/include/Ice/ObjectAdapterF.h +16 -0
  67. data/dist/ice/cpp/include/Ice/ObjectF.h +16 -0
  68. data/dist/ice/cpp/include/Ice/ObserverHelper.h +164 -0
  69. data/dist/ice/cpp/include/Ice/OutgoingAsync.h +512 -0
  70. data/dist/ice/cpp/include/Ice/OutgoingResponse.h +129 -0
  71. data/dist/ice/cpp/include/Ice/OutputStream.h +872 -0
  72. data/dist/ice/cpp/include/Ice/Plugin.h +73 -0
  73. data/dist/ice/cpp/include/Ice/PluginFactory.h +77 -0
  74. data/dist/ice/cpp/include/Ice/PopDisableWarnings.h +16 -0
  75. data/dist/ice/cpp/include/Ice/Properties.h +307 -0
  76. data/dist/ice/cpp/include/Ice/PropertiesF.h +19 -0
  77. data/dist/ice/cpp/include/Ice/Proxy.h +742 -0
  78. data/dist/ice/cpp/include/Ice/ProxyF.h +11 -0
  79. data/dist/ice/cpp/include/Ice/ProxyFunctions.h +209 -0
  80. data/dist/ice/cpp/include/Ice/PushDisableWarnings.h +29 -0
  81. data/dist/ice/cpp/include/Ice/ReferenceF.h +14 -0
  82. data/dist/ice/cpp/include/Ice/RequestHandlerF.h +20 -0
  83. data/dist/ice/cpp/include/Ice/SSL/ClientAuthenticationOptions.h +268 -0
  84. data/dist/ice/cpp/include/Ice/SSL/Config.h +54 -0
  85. data/dist/ice/cpp/include/Ice/SSL/ConnectionInfo.h +107 -0
  86. data/dist/ice/cpp/include/Ice/SSL/ConnectionInfoF.h +39 -0
  87. data/dist/ice/cpp/include/Ice/SSL/EndpointInfo.h +40 -0
  88. data/dist/ice/cpp/include/Ice/SSL/SSLException.h +32 -0
  89. data/dist/ice/cpp/include/Ice/SSL/ServerAuthenticationOptions.h +278 -0
  90. data/dist/ice/cpp/include/Ice/ServantLocator.h +51 -0
  91. data/dist/ice/cpp/include/Ice/Service.h +219 -0
  92. data/dist/ice/cpp/include/Ice/SliceLoader.h +67 -0
  93. data/dist/ice/cpp/include/Ice/SlicedData.h +125 -0
  94. data/dist/ice/cpp/include/Ice/SlicedDataF.h +30 -0
  95. data/dist/ice/cpp/include/Ice/StreamHelpers.h +652 -0
  96. data/dist/ice/cpp/include/Ice/StreamableTraits.h +291 -0
  97. data/dist/ice/cpp/include/Ice/StringConverter.h +167 -0
  98. data/dist/ice/cpp/include/Ice/StringUtil.h +114 -0
  99. data/dist/ice/cpp/include/Ice/TimerTask.h +24 -0
  100. data/dist/ice/cpp/include/Ice/TupleCompare.h +103 -0
  101. data/dist/ice/cpp/include/Ice/UUID.h +16 -0
  102. data/dist/ice/cpp/include/Ice/UserException.h +46 -0
  103. data/dist/ice/cpp/include/Ice/UserExceptionFactory.h +15 -0
  104. data/dist/ice/cpp/include/Ice/Value.h +127 -0
  105. data/dist/ice/cpp/include/Ice/ValueF.h +16 -0
  106. data/dist/ice/cpp/include/IceDiscovery/IceDiscovery.h +28 -0
  107. data/dist/ice/cpp/include/IceLocatorDiscovery/IceLocatorDiscovery.h +28 -0
  108. data/dist/ice/cpp/include/generated/Ice/BuiltinSequences.h +70 -0
  109. data/dist/ice/cpp/include/generated/Ice/Context.h +40 -0
  110. data/dist/ice/cpp/include/generated/Ice/EndpointTypes.h +74 -0
  111. data/dist/ice/cpp/include/generated/Ice/Identity.h +108 -0
  112. data/dist/ice/cpp/include/generated/Ice/Locator.h +542 -0
  113. data/dist/ice/cpp/include/generated/Ice/LocatorRegistry.h +443 -0
  114. data/dist/ice/cpp/include/generated/Ice/Metrics.h +1103 -0
  115. data/dist/ice/cpp/include/generated/Ice/OperationMode.h +73 -0
  116. data/dist/ice/cpp/include/generated/Ice/Process.h +245 -0
  117. data/dist/ice/cpp/include/generated/Ice/PropertiesAdmin.h +314 -0
  118. data/dist/ice/cpp/include/generated/Ice/PropertyDict.h +39 -0
  119. data/dist/ice/cpp/include/generated/Ice/RemoteLogger.h +724 -0
  120. data/dist/ice/cpp/include/generated/Ice/ReplyStatus.h +94 -0
  121. data/dist/ice/cpp/include/generated/Ice/Router.h +496 -0
  122. data/dist/ice/cpp/include/generated/Ice/SliceChecksumDict.h +37 -0
  123. data/dist/ice/cpp/include/generated/Ice/Version.h +112 -0
  124. data/dist/ice/cpp/include/generated/IceDiscovery/Lookup.h +498 -0
  125. data/dist/ice/cpp/include/generated/IceLocatorDiscovery/Lookup.h +387 -0
  126. data/dist/ice/cpp/src/Ice/Acceptor.h +41 -0
  127. data/dist/ice/cpp/src/Ice/AcceptorF.h +17 -0
  128. data/dist/ice/cpp/src/Ice/AddDefaultPluginFactories.h +16 -0
  129. data/dist/ice/cpp/src/Ice/AddDefaultPluginFactories_all.cpp +43 -0
  130. data/dist/ice/cpp/src/Ice/AddDefaultPluginFactories_min.cpp +17 -0
  131. data/dist/ice/cpp/src/Ice/ArgVector.cpp +58 -0
  132. data/dist/ice/cpp/src/Ice/ArgVector.h +30 -0
  133. data/dist/ice/cpp/src/Ice/Base64.cpp +263 -0
  134. data/dist/ice/cpp/src/Ice/Base64.h +26 -0
  135. data/dist/ice/cpp/src/Ice/BatchRequestQueue.cpp +199 -0
  136. data/dist/ice/cpp/src/Ice/BatchRequestQueue.h +49 -0
  137. data/dist/ice/cpp/src/Ice/Buffer.cpp +187 -0
  138. data/dist/ice/cpp/src/Ice/CheckIdentity.h +21 -0
  139. data/dist/ice/cpp/src/Ice/CollocatedRequestHandler.cpp +373 -0
  140. data/dist/ice/cpp/src/Ice/CollocatedRequestHandler.h +65 -0
  141. data/dist/ice/cpp/src/Ice/Communicator.cpp +399 -0
  142. data/dist/ice/cpp/src/Ice/CommunicatorFlushBatchAsync.cpp +140 -0
  143. data/dist/ice/cpp/src/Ice/CommunicatorFlushBatchAsync.h +39 -0
  144. data/dist/ice/cpp/src/Ice/ConnectRequestHandler.cpp +227 -0
  145. data/dist/ice/cpp/src/Ice/ConnectRequestHandler.h +51 -0
  146. data/dist/ice/cpp/src/Ice/ConnectRequestHandlerF.h +14 -0
  147. data/dist/ice/cpp/src/Ice/Connection.cpp +44 -0
  148. data/dist/ice/cpp/src/Ice/ConnectionFactory.cpp +1758 -0
  149. data/dist/ice/cpp/src/Ice/ConnectionFactory.h +264 -0
  150. data/dist/ice/cpp/src/Ice/ConnectionFactoryF.h +17 -0
  151. data/dist/ice/cpp/src/Ice/ConnectionI.cpp +3563 -0
  152. data/dist/ice/cpp/src/Ice/ConnectionI.h +429 -0
  153. data/dist/ice/cpp/src/Ice/ConnectionOptions.h +22 -0
  154. data/dist/ice/cpp/src/Ice/Connector.h +38 -0
  155. data/dist/ice/cpp/src/Ice/ConnectorF.h +14 -0
  156. data/dist/ice/cpp/src/Ice/ConsoleUtil.cpp +136 -0
  157. data/dist/ice/cpp/src/Ice/ConsoleUtil.h +79 -0
  158. data/dist/ice/cpp/src/Ice/CtrlCHandler.cpp +189 -0
  159. data/dist/ice/cpp/src/Ice/Current.cpp +29 -0
  160. data/dist/ice/cpp/src/Ice/DLLMain.cpp +40 -0
  161. data/dist/ice/cpp/src/Ice/DefaultSliceLoader.cpp +39 -0
  162. data/dist/ice/cpp/src/Ice/DefaultsAndOverrides.cpp +81 -0
  163. data/dist/ice/cpp/src/Ice/DefaultsAndOverrides.h +38 -0
  164. data/dist/ice/cpp/src/Ice/DefaultsAndOverridesF.h +14 -0
  165. data/dist/ice/cpp/src/Ice/Demangle.cpp +25 -0
  166. data/dist/ice/cpp/src/Ice/DisableWarnings.h +31 -0
  167. data/dist/ice/cpp/src/Ice/DynamicLibrary.cpp +216 -0
  168. data/dist/ice/cpp/src/Ice/DynamicLibrary.h +91 -0
  169. data/dist/ice/cpp/src/Ice/Endian.h +40 -0
  170. data/dist/ice/cpp/src/Ice/EndpointFactory.cpp +165 -0
  171. data/dist/ice/cpp/src/Ice/EndpointFactory.h +96 -0
  172. data/dist/ice/cpp/src/Ice/EndpointFactoryF.h +14 -0
  173. data/dist/ice/cpp/src/Ice/EndpointFactoryManager.cpp +180 -0
  174. data/dist/ice/cpp/src/Ice/EndpointFactoryManager.h +42 -0
  175. data/dist/ice/cpp/src/Ice/EndpointFactoryManagerF.h +14 -0
  176. data/dist/ice/cpp/src/Ice/EndpointI.cpp +128 -0
  177. data/dist/ice/cpp/src/Ice/EndpointI.h +150 -0
  178. data/dist/ice/cpp/src/Ice/EndpointIF.h +21 -0
  179. data/dist/ice/cpp/src/Ice/EventHandler.cpp +9 -0
  180. data/dist/ice/cpp/src/Ice/EventHandler.h +71 -0
  181. data/dist/ice/cpp/src/Ice/EventHandlerF.h +14 -0
  182. data/dist/ice/cpp/src/Ice/Exception.cpp +5 -0
  183. data/dist/ice/cpp/src/Ice/FileUtil.cpp +476 -0
  184. data/dist/ice/cpp/src/Ice/FileUtil.h +152 -0
  185. data/dist/ice/cpp/src/Ice/FixedRequestHandler.cpp +34 -0
  186. data/dist/ice/cpp/src/Ice/FixedRequestHandler.h +29 -0
  187. data/dist/ice/cpp/src/Ice/HashUtil.h +67 -0
  188. data/dist/ice/cpp/src/Ice/HttpParser.cpp +684 -0
  189. data/dist/ice/cpp/src/Ice/HttpParser.h +112 -0
  190. data/dist/ice/cpp/src/Ice/IPEndpointI.cpp +593 -0
  191. data/dist/ice/cpp/src/Ice/IPEndpointI.h +106 -0
  192. data/dist/ice/cpp/src/Ice/IPEndpointIF.h +17 -0
  193. data/dist/ice/cpp/src/Ice/IdleTimeoutTransceiverDecorator.cpp +172 -0
  194. data/dist/ice/cpp/src/Ice/IdleTimeoutTransceiverDecorator.h +89 -0
  195. data/dist/ice/cpp/src/Ice/ImplicitContext.cpp +109 -0
  196. data/dist/ice/cpp/src/Ice/IncomingRequest.cpp +66 -0
  197. data/dist/ice/cpp/src/Ice/Initialize.cpp +160 -0
  198. data/dist/ice/cpp/src/Ice/InputStream.cpp +2206 -0
  199. data/dist/ice/cpp/src/Ice/Instance.cpp +1956 -0
  200. data/dist/ice/cpp/src/Ice/Instance.h +225 -0
  201. data/dist/ice/cpp/src/Ice/InstrumentationI.cpp +959 -0
  202. data/dist/ice/cpp/src/Ice/InstrumentationI.h +235 -0
  203. data/dist/ice/cpp/src/Ice/LocalException.cpp +518 -0
  204. data/dist/ice/cpp/src/Ice/LocalExceptions.cpp +577 -0
  205. data/dist/ice/cpp/src/Ice/LocatorInfo.cpp +851 -0
  206. data/dist/ice/cpp/src/Ice/LocatorInfo.h +176 -0
  207. data/dist/ice/cpp/src/Ice/LocatorInfoF.h +20 -0
  208. data/dist/ice/cpp/src/Ice/LoggerAdminI.cpp +774 -0
  209. data/dist/ice/cpp/src/Ice/LoggerAdminI.h +31 -0
  210. data/dist/ice/cpp/src/Ice/LoggerI.cpp +234 -0
  211. data/dist/ice/cpp/src/Ice/LoggerI.h +47 -0
  212. data/dist/ice/cpp/src/Ice/LoggerMiddleware.cpp +176 -0
  213. data/dist/ice/cpp/src/Ice/LoggerMiddleware.h +42 -0
  214. data/dist/ice/cpp/src/Ice/LoggerUtil.cpp +76 -0
  215. data/dist/ice/cpp/src/Ice/MarshaledResult.cpp +20 -0
  216. data/dist/ice/cpp/src/Ice/MetricsAdminI.cpp +608 -0
  217. data/dist/ice/cpp/src/Ice/MetricsAdminI.h +600 -0
  218. data/dist/ice/cpp/src/Ice/MetricsFunctional.h +92 -0
  219. data/dist/ice/cpp/src/Ice/MetricsObserverI.h +587 -0
  220. data/dist/ice/cpp/src/Ice/NativePropertiesAdmin.cpp +185 -0
  221. data/dist/ice/cpp/src/Ice/Network.cpp +1927 -0
  222. data/dist/ice/cpp/src/Ice/Network.h +265 -0
  223. data/dist/ice/cpp/src/Ice/NetworkF.h +11 -0
  224. data/dist/ice/cpp/src/Ice/NetworkProxy.cpp +306 -0
  225. data/dist/ice/cpp/src/Ice/NetworkProxy.h +67 -0
  226. data/dist/ice/cpp/src/Ice/NetworkProxyF.h +14 -0
  227. data/dist/ice/cpp/src/Ice/OSLogLoggerI.cpp +55 -0
  228. data/dist/ice/cpp/src/Ice/OSLogLoggerI.h +35 -0
  229. data/dist/ice/cpp/src/Ice/Object.cpp +249 -0
  230. data/dist/ice/cpp/src/Ice/ObjectAdapterFactory.cpp +348 -0
  231. data/dist/ice/cpp/src/Ice/ObjectAdapterFactory.h +53 -0
  232. data/dist/ice/cpp/src/Ice/ObjectAdapterFactoryF.h +14 -0
  233. data/dist/ice/cpp/src/Ice/ObjectAdapterI.cpp +1383 -0
  234. data/dist/ice/cpp/src/Ice/ObjectAdapterI.h +163 -0
  235. data/dist/ice/cpp/src/Ice/ObserverHelper.cpp +75 -0
  236. data/dist/ice/cpp/src/Ice/ObserverMiddleware.cpp +96 -0
  237. data/dist/ice/cpp/src/Ice/ObserverMiddleware.h +25 -0
  238. data/dist/ice/cpp/src/Ice/OpaqueEndpointI.cpp +368 -0
  239. data/dist/ice/cpp/src/Ice/OpaqueEndpointI.h +66 -0
  240. data/dist/ice/cpp/src/Ice/Options.cpp +980 -0
  241. data/dist/ice/cpp/src/Ice/Options.h +119 -0
  242. data/dist/ice/cpp/src/Ice/OutgoingAsync.cpp +1106 -0
  243. data/dist/ice/cpp/src/Ice/OutgoingResponse.cpp +276 -0
  244. data/dist/ice/cpp/src/Ice/OutputStream.cpp +1454 -0
  245. data/dist/ice/cpp/src/Ice/OutputUtil.cpp +344 -0
  246. data/dist/ice/cpp/src/Ice/OutputUtil.h +173 -0
  247. data/dist/ice/cpp/src/Ice/PluginManagerI.cpp +344 -0
  248. data/dist/ice/cpp/src/Ice/PluginManagerI.h +54 -0
  249. data/dist/ice/cpp/src/Ice/Properties.cpp +931 -0
  250. data/dist/ice/cpp/src/Ice/PropertyNames.cpp +606 -0
  251. data/dist/ice/cpp/src/Ice/PropertyNames.h +63 -0
  252. data/dist/ice/cpp/src/Ice/PropertyUtil.cpp +103 -0
  253. data/dist/ice/cpp/src/Ice/PropertyUtil.h +31 -0
  254. data/dist/ice/cpp/src/Ice/Protocol.cpp +159 -0
  255. data/dist/ice/cpp/src/Ice/Protocol.h +116 -0
  256. data/dist/ice/cpp/src/Ice/ProtocolInstance.cpp +186 -0
  257. data/dist/ice/cpp/src/Ice/ProtocolInstance.h +74 -0
  258. data/dist/ice/cpp/src/Ice/ProtocolInstanceF.h +14 -0
  259. data/dist/ice/cpp/src/Ice/ProtocolPluginFacade.cpp +29 -0
  260. data/dist/ice/cpp/src/Ice/ProtocolPluginFacade.h +35 -0
  261. data/dist/ice/cpp/src/Ice/Proxy.cpp +541 -0
  262. data/dist/ice/cpp/src/Ice/ProxyAsync.cpp +684 -0
  263. data/dist/ice/cpp/src/Ice/ProxyFunctions.cpp +90 -0
  264. data/dist/ice/cpp/src/Ice/PushDisableDeprecatedWarnings.h +15 -0
  265. data/dist/ice/cpp/src/Ice/Random.cpp +29 -0
  266. data/dist/ice/cpp/src/Ice/Random.h +23 -0
  267. data/dist/ice/cpp/src/Ice/Reference.cpp +1584 -0
  268. data/dist/ice/cpp/src/Ice/Reference.h +339 -0
  269. data/dist/ice/cpp/src/Ice/ReferenceFactory.cpp +830 -0
  270. data/dist/ice/cpp/src/Ice/ReferenceFactory.h +58 -0
  271. data/dist/ice/cpp/src/Ice/ReferenceFactoryF.h +14 -0
  272. data/dist/ice/cpp/src/Ice/RequestHandler.cpp +28 -0
  273. data/dist/ice/cpp/src/Ice/RequestHandler.h +53 -0
  274. data/dist/ice/cpp/src/Ice/RequestHandlerCache.cpp +76 -0
  275. data/dist/ice/cpp/src/Ice/RequestHandlerCache.h +33 -0
  276. data/dist/ice/cpp/src/Ice/ResourceConfig.h +27 -0
  277. data/dist/ice/cpp/src/Ice/RetryQueue.cpp +151 -0
  278. data/dist/ice/cpp/src/Ice/RetryQueue.h +59 -0
  279. data/dist/ice/cpp/src/Ice/RetryQueueF.h +14 -0
  280. data/dist/ice/cpp/src/Ice/RouterInfo.cpp +275 -0
  281. data/dist/ice/cpp/src/Ice/RouterInfo.h +95 -0
  282. data/dist/ice/cpp/src/Ice/RouterInfoF.h +17 -0
  283. data/dist/ice/cpp/src/Ice/SHA1.cpp +195 -0
  284. data/dist/ice/cpp/src/Ice/SHA1.h +35 -0
  285. data/dist/ice/cpp/src/Ice/SSL/DistinguishedName.cpp +89 -0
  286. data/dist/ice/cpp/src/Ice/SSL/DistinguishedName.h +87 -0
  287. data/dist/ice/cpp/src/Ice/SSL/OpenSSLEngine.cpp +513 -0
  288. data/dist/ice/cpp/src/Ice/SSL/OpenSSLEngine.h +40 -0
  289. data/dist/ice/cpp/src/Ice/SSL/OpenSSLEngineF.h +13 -0
  290. data/dist/ice/cpp/src/Ice/SSL/OpenSSLTransceiverI.cpp +635 -0
  291. data/dist/ice/cpp/src/Ice/SSL/OpenSSLTransceiverI.h +80 -0
  292. data/dist/ice/cpp/src/Ice/SSL/RFC2253.cpp +487 -0
  293. data/dist/ice/cpp/src/Ice/SSL/RFC2253.h +58 -0
  294. data/dist/ice/cpp/src/Ice/SSL/SSLAcceptorI.cpp +124 -0
  295. data/dist/ice/cpp/src/Ice/SSL/SSLAcceptorI.h +52 -0
  296. data/dist/ice/cpp/src/Ice/SSL/SSLConnectorI.cpp +92 -0
  297. data/dist/ice/cpp/src/Ice/SSL/SSLConnectorI.h +38 -0
  298. data/dist/ice/cpp/src/Ice/SSL/SSLEndpointI.cpp +377 -0
  299. data/dist/ice/cpp/src/Ice/SSL/SSLEndpointI.h +84 -0
  300. data/dist/ice/cpp/src/Ice/SSL/SSLEngine.cpp +115 -0
  301. data/dist/ice/cpp/src/Ice/SSL/SSLEngine.h +72 -0
  302. data/dist/ice/cpp/src/Ice/SSL/SSLEngineF.h +14 -0
  303. data/dist/ice/cpp/src/Ice/SSL/SSLException.cpp +18 -0
  304. data/dist/ice/cpp/src/Ice/SSL/SSLInstance.cpp +27 -0
  305. data/dist/ice/cpp/src/Ice/SSL/SSLInstance.h +26 -0
  306. data/dist/ice/cpp/src/Ice/SSL/SSLInstanceF.h +19 -0
  307. data/dist/ice/cpp/src/Ice/SSL/SSLUtil.cpp +654 -0
  308. data/dist/ice/cpp/src/Ice/SSL/SSLUtil.h +104 -0
  309. data/dist/ice/cpp/src/Ice/SSL/SchannelEngine.cpp +1437 -0
  310. data/dist/ice/cpp/src/Ice/SSL/SchannelEngine.h +58 -0
  311. data/dist/ice/cpp/src/Ice/SSL/SchannelEngineF.h +18 -0
  312. data/dist/ice/cpp/src/Ice/SSL/SchannelTransceiverI.cpp +1085 -0
  313. data/dist/ice/cpp/src/Ice/SSL/SchannelTransceiverI.h +118 -0
  314. data/dist/ice/cpp/src/Ice/SSL/SecureTransportEngine.cpp +822 -0
  315. data/dist/ice/cpp/src/Ice/SSL/SecureTransportEngine.h +44 -0
  316. data/dist/ice/cpp/src/Ice/SSL/SecureTransportEngineF.h +18 -0
  317. data/dist/ice/cpp/src/Ice/SSL/SecureTransportTransceiverI.cpp +621 -0
  318. data/dist/ice/cpp/src/Ice/SSL/SecureTransportTransceiverI.h +91 -0
  319. data/dist/ice/cpp/src/Ice/SSL/SecureTransportUtil.cpp +1061 -0
  320. data/dist/ice/cpp/src/Ice/SSL/SecureTransportUtil.h +40 -0
  321. data/dist/ice/cpp/src/Ice/SSL/TrustManager.cpp +222 -0
  322. data/dist/ice/cpp/src/Ice/SSL/TrustManager.h +42 -0
  323. data/dist/ice/cpp/src/Ice/SSL/TrustManagerF.h +14 -0
  324. data/dist/ice/cpp/src/Ice/ScannerConfig.h +35 -0
  325. data/dist/ice/cpp/src/Ice/Selector.cpp +1270 -0
  326. data/dist/ice/cpp/src/Ice/Selector.h +235 -0
  327. data/dist/ice/cpp/src/Ice/ServantManager.cpp +547 -0
  328. data/dist/ice/cpp/src/Ice/ServantManager.h +66 -0
  329. data/dist/ice/cpp/src/Ice/ServantManagerF.h +14 -0
  330. data/dist/ice/cpp/src/Ice/Service.cpp +1790 -0
  331. data/dist/ice/cpp/src/Ice/SharedContext.h +33 -0
  332. data/dist/ice/cpp/src/Ice/SliceLoader.cpp +53 -0
  333. data/dist/ice/cpp/src/Ice/SlicedData.cpp +48 -0
  334. data/dist/ice/cpp/src/Ice/StreamSocket.cpp +472 -0
  335. data/dist/ice/cpp/src/Ice/StreamSocket.h +73 -0
  336. data/dist/ice/cpp/src/Ice/StringConverter.cpp +582 -0
  337. data/dist/ice/cpp/src/Ice/StringUtil.cpp +1137 -0
  338. data/dist/ice/cpp/src/Ice/SysLoggerI.cpp +160 -0
  339. data/dist/ice/cpp/src/Ice/SysLoggerI.h +34 -0
  340. data/dist/ice/cpp/src/Ice/SystemdJournalI.cpp +65 -0
  341. data/dist/ice/cpp/src/Ice/SystemdJournalI.h +33 -0
  342. data/dist/ice/cpp/src/Ice/TargetCompare.h +96 -0
  343. data/dist/ice/cpp/src/Ice/TcpAcceptor.cpp +213 -0
  344. data/dist/ice/cpp/src/Ice/TcpAcceptor.h +55 -0
  345. data/dist/ice/cpp/src/Ice/TcpConnector.cpp +128 -0
  346. data/dist/ice/cpp/src/Ice/TcpConnector.h +36 -0
  347. data/dist/ice/cpp/src/Ice/TcpEndpointI.cpp +411 -0
  348. data/dist/ice/cpp/src/Ice/TcpEndpointI.h +86 -0
  349. data/dist/ice/cpp/src/Ice/TcpTransceiver.cpp +147 -0
  350. data/dist/ice/cpp/src/Ice/TcpTransceiver.h +53 -0
  351. data/dist/ice/cpp/src/Ice/ThreadPool.cpp +1110 -0
  352. data/dist/ice/cpp/src/Ice/ThreadPool.h +305 -0
  353. data/dist/ice/cpp/src/Ice/ThreadPoolF.h +14 -0
  354. data/dist/ice/cpp/src/Ice/TimeUtil.cpp +47 -0
  355. data/dist/ice/cpp/src/Ice/TimeUtil.h +21 -0
  356. data/dist/ice/cpp/src/Ice/Timer.cpp +169 -0
  357. data/dist/ice/cpp/src/Ice/Timer.h +212 -0
  358. data/dist/ice/cpp/src/Ice/TraceLevels.cpp +20 -0
  359. data/dist/ice/cpp/src/Ice/TraceLevels.h +39 -0
  360. data/dist/ice/cpp/src/Ice/TraceLevelsF.h +14 -0
  361. data/dist/ice/cpp/src/Ice/TraceUtil.cpp +399 -0
  362. data/dist/ice/cpp/src/Ice/TraceUtil.h +41 -0
  363. data/dist/ice/cpp/src/Ice/Transceiver.cpp +14 -0
  364. data/dist/ice/cpp/src/Ice/Transceiver.h +52 -0
  365. data/dist/ice/cpp/src/Ice/TransceiverF.h +23 -0
  366. data/dist/ice/cpp/src/Ice/UUID.cpp +79 -0
  367. data/dist/ice/cpp/src/Ice/UdpConnector.cpp +131 -0
  368. data/dist/ice/cpp/src/Ice/UdpConnector.h +36 -0
  369. data/dist/ice/cpp/src/Ice/UdpEndpointI.cpp +480 -0
  370. data/dist/ice/cpp/src/Ice/UdpEndpointI.h +92 -0
  371. data/dist/ice/cpp/src/Ice/UdpTransceiver.cpp +786 -0
  372. data/dist/ice/cpp/src/Ice/UdpTransceiver.h +90 -0
  373. data/dist/ice/cpp/src/Ice/UndefSysMacros.h +37 -0
  374. data/dist/ice/cpp/src/Ice/UniqueRef.h +77 -0
  375. data/dist/ice/cpp/src/Ice/UserException.cpp +58 -0
  376. data/dist/ice/cpp/src/Ice/Value.cpp +145 -0
  377. data/dist/ice/cpp/src/Ice/WSAcceptor.cpp +87 -0
  378. data/dist/ice/cpp/src/Ice/WSAcceptor.h +46 -0
  379. data/dist/ice/cpp/src/Ice/WSConnector.cpp +87 -0
  380. data/dist/ice/cpp/src/Ice/WSConnector.h +36 -0
  381. data/dist/ice/cpp/src/Ice/WSEndpoint.cpp +455 -0
  382. data/dist/ice/cpp/src/Ice/WSEndpoint.h +82 -0
  383. data/dist/ice/cpp/src/Ice/WSTransceiver.cpp +1715 -0
  384. data/dist/ice/cpp/src/Ice/WSTransceiver.h +135 -0
  385. data/dist/ice/cpp/src/Ice/generated/BuiltinSequences.cpp +40 -0
  386. data/dist/ice/cpp/src/Ice/generated/Context.cpp +40 -0
  387. data/dist/ice/cpp/src/Ice/generated/EndpointTypes.cpp +40 -0
  388. data/dist/ice/cpp/src/Ice/generated/Identity.cpp +47 -0
  389. data/dist/ice/cpp/src/Ice/generated/Locator.cpp +752 -0
  390. data/dist/ice/cpp/src/Ice/generated/LocatorRegistry.cpp +577 -0
  391. data/dist/ice/cpp/src/Ice/generated/Metrics.cpp +1205 -0
  392. data/dist/ice/cpp/src/Ice/generated/OperationMode.cpp +56 -0
  393. data/dist/ice/cpp/src/Ice/generated/Process.cpp +330 -0
  394. data/dist/ice/cpp/src/Ice/generated/PropertiesAdmin.cpp +443 -0
  395. data/dist/ice/cpp/src/Ice/generated/PropertyDict.cpp +40 -0
  396. data/dist/ice/cpp/src/Ice/generated/RemoteLogger.cpp +851 -0
  397. data/dist/ice/cpp/src/Ice/generated/ReplyStatus.cpp +70 -0
  398. data/dist/ice/cpp/src/Ice/generated/Router.cpp +660 -0
  399. data/dist/ice/cpp/src/Ice/generated/SliceChecksumDict.cpp +39 -0
  400. data/dist/ice/cpp/src/Ice/generated/Version.cpp +54 -0
  401. data/dist/ice/cpp/src/IceDiscovery/LocatorI.cpp +202 -0
  402. data/dist/ice/cpp/src/IceDiscovery/LocatorI.h +68 -0
  403. data/dist/ice/cpp/src/IceDiscovery/LookupI.cpp +494 -0
  404. data/dist/ice/cpp/src/IceDiscovery/LookupI.h +168 -0
  405. data/dist/ice/cpp/src/IceDiscovery/PluginI.cpp +155 -0
  406. data/dist/ice/cpp/src/IceDiscovery/PluginI.h +31 -0
  407. data/dist/ice/cpp/src/IceDiscovery/generated/Lookup.cpp +638 -0
  408. data/dist/ice/cpp/src/IceLocatorDiscovery/Plugin.h +24 -0
  409. data/dist/ice/cpp/src/IceLocatorDiscovery/PluginI.cpp +822 -0
  410. data/dist/ice/cpp/src/IceLocatorDiscovery/generated/Lookup.cpp +468 -0
  411. data/dist/ice/cpp/src/Slice/DeprecationReporter.cpp +172 -0
  412. data/dist/ice/cpp/src/Slice/DeprecationReporter.h +14 -0
  413. data/dist/ice/cpp/src/Slice/DocCommentParser.cpp +736 -0
  414. data/dist/ice/cpp/src/Slice/DocCommentParser.h +61 -0
  415. data/dist/ice/cpp/src/Slice/FileTracker.cpp +96 -0
  416. data/dist/ice/cpp/src/Slice/FileTracker.h +44 -0
  417. data/dist/ice/cpp/src/Slice/Grammar.cpp +4125 -0
  418. data/dist/ice/cpp/src/Slice/Grammar.h +138 -0
  419. data/dist/ice/cpp/src/Slice/GrammarUtil.h +128 -0
  420. data/dist/ice/cpp/src/Slice/MetadataValidation.cpp +473 -0
  421. data/dist/ice/cpp/src/Slice/MetadataValidation.h +106 -0
  422. data/dist/ice/cpp/src/Slice/Parser.cpp +4906 -0
  423. data/dist/ice/cpp/src/Slice/Parser.h +1175 -0
  424. data/dist/ice/cpp/src/Slice/Preprocessor.cpp +295 -0
  425. data/dist/ice/cpp/src/Slice/Preprocessor.h +44 -0
  426. data/dist/ice/cpp/src/Slice/Scanner.cpp +3445 -0
  427. data/dist/ice/cpp/src/Slice/SliceUtil.cpp +790 -0
  428. data/dist/ice/cpp/src/Slice/StringLiteralUtil.cpp +448 -0
  429. data/dist/ice/cpp/src/Slice/Util.h +134 -0
  430. data/dist/ice/cpp/src/slice2rb/Main.cpp +33 -0
  431. data/dist/ice/cpp/src/slice2rb/Ruby.cpp +250 -0
  432. data/dist/ice/cpp/src/slice2rb/RubyUtil.cpp +1197 -0
  433. data/dist/ice/cpp/src/slice2rb/RubyUtil.h +56 -0
  434. data/dist/ice/mcpp/internal.H +530 -0
  435. data/dist/ice/slice/Glacier2/Metrics.ice +47 -0
  436. data/dist/ice/slice/Glacier2/PermissionsVerifier.ice +55 -0
  437. data/dist/ice/slice/Glacier2/Router.ice +93 -0
  438. data/dist/ice/slice/Glacier2/SSLInfo.ice +42 -0
  439. data/dist/ice/slice/Glacier2/Session.ice +133 -0
  440. data/dist/ice/slice/Ice/BuiltinSequences.ice +54 -0
  441. data/dist/ice/slice/Ice/Context.ice +24 -0
  442. data/dist/ice/slice/Ice/EndpointTypes.ice +50 -0
  443. data/dist/ice/slice/Ice/Identity.ice +36 -0
  444. data/dist/ice/slice/Ice/Locator.ice +74 -0
  445. data/dist/ice/slice/Ice/LocatorRegistry.ice +77 -0
  446. data/dist/ice/slice/Ice/Metrics.ice +201 -0
  447. data/dist/ice/slice/Ice/OperationMode.ice +38 -0
  448. data/dist/ice/slice/Ice/Process.ice +28 -0
  449. data/dist/ice/slice/Ice/PropertiesAdmin.ice +37 -0
  450. data/dist/ice/slice/Ice/PropertyDict.ice +23 -0
  451. data/dist/ice/slice/Ice/RemoteLogger.ice +126 -0
  452. data/dist/ice/slice/Ice/ReplyStatus.ice +65 -0
  453. data/dist/ice/slice/Ice/Router.ice +54 -0
  454. data/dist/ice/slice/Ice/SliceChecksumDict.ice +18 -0
  455. data/dist/ice/slice/Ice/Version.ice +43 -0
  456. data/dist/ice/slice/IceBox/ServiceManager.ice +79 -0
  457. data/dist/ice/slice/IceGrid/Admin.ice +981 -0
  458. data/dist/ice/slice/IceGrid/Descriptor.ice +519 -0
  459. data/dist/ice/slice/IceGrid/Exception.ice +98 -0
  460. data/dist/ice/slice/IceGrid/FileParser.ice +36 -0
  461. data/dist/ice/slice/IceGrid/Registry.ice +130 -0
  462. data/dist/ice/slice/IceGrid/Session.ice +64 -0
  463. data/dist/ice/slice/IceGrid/UserAccountMapper.ice +34 -0
  464. data/dist/ice/slice/IceStorm/IceStorm.ice +186 -0
  465. data/dist/ice/slice/IceStorm/Metrics.ice +41 -0
  466. data/dist/lib/Glacier2/Metrics.rb +41 -0
  467. data/dist/lib/Glacier2/PermissionsVerifier.rb +61 -0
  468. data/dist/lib/Glacier2/Router.rb +73 -0
  469. data/dist/lib/Glacier2/SSLInfo.rb +64 -0
  470. data/dist/lib/Glacier2/Session.rb +187 -0
  471. data/dist/lib/Glacier2.rb +7 -0
  472. data/dist/lib/Ice/BuiltinSequences.rb +48 -0
  473. data/dist/lib/Ice/CompressBatch.rb +50 -0
  474. data/dist/lib/Ice/Context.rb +12 -0
  475. data/dist/lib/Ice/EndpointSelectionType.rb +49 -0
  476. data/dist/lib/Ice/EndpointTypes.rb +28 -0
  477. data/dist/lib/Ice/Exception.rb +20 -0
  478. data/dist/lib/Ice/Identity.rb +47 -0
  479. data/dist/lib/Ice/IdentitySpaceship.rb +16 -0
  480. data/dist/lib/Ice/InitializationData.rb +12 -0
  481. data/dist/lib/Ice/LocalExceptions.rb +168 -0
  482. data/dist/lib/Ice/Locator.rb +83 -0
  483. data/dist/lib/Ice/LocatorRegistry.rb +73 -0
  484. data/dist/lib/Ice/Metrics.rb +290 -0
  485. data/dist/lib/Ice/OperationMode.rb +58 -0
  486. data/dist/lib/Ice/Process.rb +34 -0
  487. data/dist/lib/Ice/PropertiesAdmin.rb +39 -0
  488. data/dist/lib/Ice/PropertyDict.rb +12 -0
  489. data/dist/lib/Ice/Proxy.rb +85 -0
  490. data/dist/lib/Ice/ProxyFunctions.rb +69 -0
  491. data/dist/lib/Ice/RemoteLogger.rb +176 -0
  492. data/dist/lib/Ice/ReplyStatus.rb +65 -0
  493. data/dist/lib/Ice/Router.rb +59 -0
  494. data/dist/lib/Ice/SliceChecksumDict.rb +12 -0
  495. data/dist/lib/Ice/SliceUtil.rb +41 -0
  496. data/dist/lib/Ice/Struct.rb +11 -0
  497. data/dist/lib/Ice/ToStringMode.rb +50 -0
  498. data/dist/lib/Ice/Value.rb +93 -0
  499. data/dist/lib/Ice/Version.rb +78 -0
  500. data/dist/lib/Ice.rb +37 -0
  501. data/dist/lib/IceBox/ServiceManager.rb +104 -0
  502. data/dist/lib/IceBox.rb +3 -0
  503. data/dist/lib/IceGrid/Admin.rb +1208 -0
  504. data/dist/lib/IceGrid/Descriptor.rb +989 -0
  505. data/dist/lib/IceGrid/Exception.rb +145 -0
  506. data/dist/lib/IceGrid/FileParser.rb +41 -0
  507. data/dist/lib/IceGrid/Registry.rb +168 -0
  508. data/dist/lib/IceGrid/Session.rb +56 -0
  509. data/dist/lib/IceGrid/UserAccountMapper.rb +38 -0
  510. data/dist/lib/IceGrid.rb +9 -0
  511. data/dist/lib/IceStorm/IceStorm.rb +251 -0
  512. data/dist/lib/IceStorm/Metrics.rb +55 -0
  513. data/dist/lib/IceStorm.rb +4 -0
  514. data/extconf.rb +89 -0
  515. data/ice.gemspec +22 -17
  516. data/scripts/slice2rb +10 -0
  517. metadata +536 -712
  518. data/ICE_LICENSE +0 -48
  519. data/LICENSE +0 -340
  520. data/MCPP_LICENSE +0 -29
  521. data/bin/slice2rb +0 -12
  522. data/ext/Communicator.cpp +0 -792
  523. data/ext/Communicator.h +0 -20
  524. data/ext/Config.h +0 -143
  525. data/ext/Connection.cpp +0 -532
  526. data/ext/Connection.h +0 -24
  527. data/ext/Endpoint.cpp +0 -340
  528. data/ext/Endpoint.h +0 -22
  529. data/ext/ImplicitContext.cpp +0 -144
  530. data/ext/ImplicitContext.h +0 -20
  531. data/ext/Init.cpp +0 -49
  532. data/ext/Logger.cpp +0 -147
  533. data/ext/Logger.h +0 -23
  534. data/ext/Operation.cpp +0 -661
  535. data/ext/Operation.h +0 -31
  536. data/ext/Properties.cpp +0 -365
  537. data/ext/Properties.h +0 -20
  538. data/ext/Proxy.cpp +0 -1396
  539. data/ext/Proxy.h +0 -22
  540. data/ext/Slice.cpp +0 -205
  541. data/ext/Slice.h +0 -17
  542. data/ext/Types.cpp +0 -3325
  543. data/ext/Types.h +0 -595
  544. data/ext/Util.cpp +0 -812
  545. data/ext/Util.h +0 -586
  546. data/ext/ValueFactoryManager.cpp +0 -441
  547. data/ext/ValueFactoryManager.h +0 -95
  548. data/ext/extconf.rb +0 -97
  549. data/ext/ice/cpp/include/Ice/Application.h +0 -326
  550. data/ext/ice/cpp/include/Ice/AsyncResult.h +0 -155
  551. data/ext/ice/cpp/include/Ice/AsyncResultF.h +0 -23
  552. data/ext/ice/cpp/include/Ice/BatchRequestInterceptor.h +0 -75
  553. data/ext/ice/cpp/include/Ice/BatchRequestQueueF.h +0 -20
  554. data/ext/ice/cpp/include/Ice/Buffer.h +0 -154
  555. data/ext/ice/cpp/include/Ice/CommunicatorAsync.h +0 -154
  556. data/ext/ice/cpp/include/Ice/Comparable.h +0 -205
  557. data/ext/ice/cpp/include/Ice/Config.h +0 -78
  558. data/ext/ice/cpp/include/Ice/ConnectionAsync.h +0 -302
  559. data/ext/ice/cpp/include/Ice/ConnectionIF.h +0 -38
  560. data/ext/ice/cpp/include/Ice/ConsoleUtil.h +0 -23
  561. data/ext/ice/cpp/include/Ice/DefaultValueFactory.h +0 -57
  562. data/ext/ice/cpp/include/Ice/DispatchInterceptor.h +0 -41
  563. data/ext/ice/cpp/include/Ice/Dispatcher.h +0 -67
  564. data/ext/ice/cpp/include/Ice/DynamicLibrary.h +0 -102
  565. data/ext/ice/cpp/include/Ice/DynamicLibraryF.h +0 -24
  566. data/ext/ice/cpp/include/Ice/Exception.h +0 -161
  567. data/ext/ice/cpp/include/Ice/ExceptionHelpers.h +0 -74
  568. data/ext/ice/cpp/include/Ice/FactoryTable.h +0 -73
  569. data/ext/ice/cpp/include/Ice/FactoryTableInit.h +0 -84
  570. data/ext/ice/cpp/include/Ice/Format.h +0 -38
  571. data/ext/ice/cpp/include/Ice/Functional.h +0 -140
  572. data/ext/ice/cpp/include/Ice/GCObject.h +0 -76
  573. data/ext/ice/cpp/include/Ice/Handle.h +0 -182
  574. data/ext/ice/cpp/include/Ice/Ice.h +0 -55
  575. data/ext/ice/cpp/include/Ice/IconvStringConverter.h +0 -377
  576. data/ext/ice/cpp/include/Ice/Incoming.h +0 -225
  577. data/ext/ice/cpp/include/Ice/IncomingAsync.h +0 -186
  578. data/ext/ice/cpp/include/Ice/IncomingAsyncF.h +0 -36
  579. data/ext/ice/cpp/include/Ice/Initialize.h +0 -957
  580. data/ext/ice/cpp/include/Ice/InputStream.h +0 -1514
  581. data/ext/ice/cpp/include/Ice/InstanceF.h +0 -20
  582. data/ext/ice/cpp/include/Ice/InterfaceByValue.h +0 -57
  583. data/ext/ice/cpp/include/Ice/LocalObject.h +0 -35
  584. data/ext/ice/cpp/include/Ice/LocalObjectF.h +0 -21
  585. data/ext/ice/cpp/include/Ice/LoggerUtil.h +0 -185
  586. data/ext/ice/cpp/include/Ice/MetricsAdminI.h +0 -715
  587. data/ext/ice/cpp/include/Ice/MetricsFunctional.h +0 -159
  588. data/ext/ice/cpp/include/Ice/MetricsObserverI.h +0 -669
  589. data/ext/ice/cpp/include/Ice/NativePropertiesAdmin.h +0 -86
  590. data/ext/ice/cpp/include/Ice/Object.h +0 -507
  591. data/ext/ice/cpp/include/Ice/ObjectF.h +0 -30
  592. data/ext/ice/cpp/include/Ice/ObserverHelper.h +0 -182
  593. data/ext/ice/cpp/include/Ice/Optional.h +0 -1114
  594. data/ext/ice/cpp/include/Ice/OutgoingAsync.h +0 -856
  595. data/ext/ice/cpp/include/Ice/OutgoingAsyncF.h +0 -39
  596. data/ext/ice/cpp/include/Ice/OutputStream.h +0 -1092
  597. data/ext/ice/cpp/include/Ice/Protocol.h +0 -274
  598. data/ext/ice/cpp/include/Ice/Proxy.h +0 -5154
  599. data/ext/ice/cpp/include/Ice/ProxyF.h +0 -53
  600. data/ext/ice/cpp/include/Ice/ProxyFactoryF.h +0 -21
  601. data/ext/ice/cpp/include/Ice/ProxyHandle.h +0 -318
  602. data/ext/ice/cpp/include/Ice/ReferenceF.h +0 -29
  603. data/ext/ice/cpp/include/Ice/RegisterPlugins.h +0 -127
  604. data/ext/ice/cpp/include/Ice/RequestHandlerF.h +0 -30
  605. data/ext/ice/cpp/include/Ice/ResponseHandlerF.h +0 -25
  606. data/ext/ice/cpp/include/Ice/SHA1.h +0 -42
  607. data/ext/ice/cpp/include/Ice/ServantManagerF.h +0 -21
  608. data/ext/ice/cpp/include/Ice/Service.h +0 -379
  609. data/ext/ice/cpp/include/Ice/SliceChecksums.h +0 -33
  610. data/ext/ice/cpp/include/Ice/SlicedData.h +0 -172
  611. data/ext/ice/cpp/include/Ice/SlicedDataF.h +0 -40
  612. data/ext/ice/cpp/include/Ice/StreamHelpers.h +0 -1190
  613. data/ext/ice/cpp/include/Ice/StringConverter.h +0 -78
  614. data/ext/ice/cpp/include/Ice/ThreadPoolF.h +0 -23
  615. data/ext/ice/cpp/include/Ice/UUID.h +0 -19
  616. data/ext/ice/cpp/include/Ice/UniquePtr.h +0 -95
  617. data/ext/ice/cpp/include/Ice/UniqueRef.h +0 -97
  618. data/ext/ice/cpp/include/Ice/UserExceptionFactory.h +0 -88
  619. data/ext/ice/cpp/include/Ice/Value.h +0 -139
  620. data/ext/ice/cpp/include/Ice/ValueF.h +0 -21
  621. data/ext/ice/cpp/include/IceSSL/Config.h +0 -21
  622. data/ext/ice/cpp/include/IceSSL/IceSSL.h +0 -28
  623. data/ext/ice/cpp/include/IceSSL/OpenSSL.h +0 -147
  624. data/ext/ice/cpp/include/IceSSL/Plugin.h +0 -712
  625. data/ext/ice/cpp/include/IceSSL/SChannel.h +0 -72
  626. data/ext/ice/cpp/include/IceSSL/SecureTransport.h +0 -72
  627. data/ext/ice/cpp/include/IceSSL/UWP.h +0 -62
  628. data/ext/ice/cpp/include/IceUtil/Atomic.h +0 -179
  629. data/ext/ice/cpp/include/IceUtil/Cond.h +0 -317
  630. data/ext/ice/cpp/include/IceUtil/Config.h +0 -424
  631. data/ext/ice/cpp/include/IceUtil/ConsoleUtil.h +0 -92
  632. data/ext/ice/cpp/include/IceUtil/CountDownLatch.h +0 -45
  633. data/ext/ice/cpp/include/IceUtil/CtrlCHandler.h +0 -92
  634. data/ext/ice/cpp/include/IceUtil/DisableWarnings.h +0 -44
  635. data/ext/ice/cpp/include/IceUtil/Exception.h +0 -394
  636. data/ext/ice/cpp/include/IceUtil/FileUtil.h +0 -143
  637. data/ext/ice/cpp/include/IceUtil/Functional.h +0 -389
  638. data/ext/ice/cpp/include/IceUtil/Handle.h +0 -261
  639. data/ext/ice/cpp/include/IceUtil/IceUtil.h +0 -40
  640. data/ext/ice/cpp/include/IceUtil/InputUtil.h +0 -42
  641. data/ext/ice/cpp/include/IceUtil/Iterator.h +0 -31
  642. data/ext/ice/cpp/include/IceUtil/Lock.h +0 -128
  643. data/ext/ice/cpp/include/IceUtil/Monitor.h +0 -243
  644. data/ext/ice/cpp/include/IceUtil/Mutex.h +0 -353
  645. data/ext/ice/cpp/include/IceUtil/MutexProtocol.h +0 -23
  646. data/ext/ice/cpp/include/IceUtil/MutexPtrLock.h +0 -78
  647. data/ext/ice/cpp/include/IceUtil/MutexPtrTryLock.h +0 -77
  648. data/ext/ice/cpp/include/IceUtil/Optional.h +0 -433
  649. data/ext/ice/cpp/include/IceUtil/Options.h +0 -135
  650. data/ext/ice/cpp/include/IceUtil/OutputUtil.h +0 -383
  651. data/ext/ice/cpp/include/IceUtil/PopDisableWarnings.h +0 -14
  652. data/ext/ice/cpp/include/IceUtil/PushDisableWarnings.h +0 -33
  653. data/ext/ice/cpp/include/IceUtil/Random.h +0 -55
  654. data/ext/ice/cpp/include/IceUtil/RecMutex.h +0 -107
  655. data/ext/ice/cpp/include/IceUtil/ResourceConfig.h +0 -53
  656. data/ext/ice/cpp/include/IceUtil/ScannerConfig.h +0 -40
  657. data/ext/ice/cpp/include/IceUtil/ScopedArray.h +0 -98
  658. data/ext/ice/cpp/include/IceUtil/Shared.h +0 -127
  659. data/ext/ice/cpp/include/IceUtil/StopWatch.h +0 -49
  660. data/ext/ice/cpp/include/IceUtil/StringConverter.h +0 -195
  661. data/ext/ice/cpp/include/IceUtil/StringUtil.h +0 -97
  662. data/ext/ice/cpp/include/IceUtil/Thread.h +0 -174
  663. data/ext/ice/cpp/include/IceUtil/ThreadException.h +0 -94
  664. data/ext/ice/cpp/include/IceUtil/Time.h +0 -205
  665. data/ext/ice/cpp/include/IceUtil/Timer.h +0 -143
  666. data/ext/ice/cpp/include/IceUtil/UUID.h +0 -21
  667. data/ext/ice/cpp/include/IceUtil/UndefSysMacros.h +0 -37
  668. data/ext/ice/cpp/include/generated/Ice/BuiltinSequences.h +0 -170
  669. data/ext/ice/cpp/include/generated/Ice/Communicator.h +0 -1162
  670. data/ext/ice/cpp/include/generated/Ice/CommunicatorF.h +0 -101
  671. data/ext/ice/cpp/include/generated/Ice/Connection.h +0 -1703
  672. data/ext/ice/cpp/include/generated/Ice/ConnectionF.h +0 -119
  673. data/ext/ice/cpp/include/generated/Ice/Current.h +0 -322
  674. data/ext/ice/cpp/include/generated/Ice/Endpoint.h +0 -979
  675. data/ext/ice/cpp/include/generated/Ice/EndpointF.h +0 -166
  676. data/ext/ice/cpp/include/generated/Ice/EndpointTypes.h +0 -118
  677. data/ext/ice/cpp/include/generated/Ice/FacetMap.h +0 -80
  678. data/ext/ice/cpp/include/generated/Ice/Identity.h +0 -264
  679. data/ext/ice/cpp/include/generated/Ice/ImplicitContext.h +0 -284
  680. data/ext/ice/cpp/include/generated/Ice/ImplicitContextF.h +0 -101
  681. data/ext/ice/cpp/include/generated/Ice/Instrumentation.h +0 -1203
  682. data/ext/ice/cpp/include/generated/Ice/InstrumentationF.h +0 -128
  683. data/ext/ice/cpp/include/generated/Ice/LocalException.h +0 -7437
  684. data/ext/ice/cpp/include/generated/Ice/Locator.h +0 -3898
  685. data/ext/ice/cpp/include/generated/Ice/LocatorF.h +0 -147
  686. data/ext/ice/cpp/include/generated/Ice/Logger.h +0 -237
  687. data/ext/ice/cpp/include/generated/Ice/LoggerF.h +0 -101
  688. data/ext/ice/cpp/include/generated/Ice/Metrics.h +0 -4769
  689. data/ext/ice/cpp/include/generated/Ice/ObjectAdapter.h +0 -1181
  690. data/ext/ice/cpp/include/generated/Ice/ObjectAdapterF.h +0 -101
  691. data/ext/ice/cpp/include/generated/Ice/ObjectFactory.h +0 -203
  692. data/ext/ice/cpp/include/generated/Ice/Plugin.h +0 -318
  693. data/ext/ice/cpp/include/generated/Ice/PluginF.h +0 -110
  694. data/ext/ice/cpp/include/generated/Ice/Process.h +0 -977
  695. data/ext/ice/cpp/include/generated/Ice/ProcessF.h +0 -125
  696. data/ext/ice/cpp/include/generated/Ice/Properties.h +0 -452
  697. data/ext/ice/cpp/include/generated/Ice/PropertiesAdmin.h +0 -1366
  698. data/ext/ice/cpp/include/generated/Ice/PropertiesF.h +0 -134
  699. data/ext/ice/cpp/include/generated/Ice/RemoteLogger.h +0 -2707
  700. data/ext/ice/cpp/include/generated/Ice/Router.h +0 -1850
  701. data/ext/ice/cpp/include/generated/Ice/RouterF.h +0 -125
  702. data/ext/ice/cpp/include/generated/Ice/ServantLocator.h +0 -305
  703. data/ext/ice/cpp/include/generated/Ice/ServantLocatorF.h +0 -101
  704. data/ext/ice/cpp/include/generated/Ice/SliceChecksumDict.h +0 -84
  705. data/ext/ice/cpp/include/generated/Ice/ValueFactory.h +0 -330
  706. data/ext/ice/cpp/include/generated/Ice/Version.h +0 -357
  707. data/ext/ice/cpp/include/generated/IceSSL/ConnectionInfo.h +0 -228
  708. data/ext/ice/cpp/include/generated/IceSSL/ConnectionInfoF.h +0 -101
  709. data/ext/ice/cpp/include/generated/IceSSL/EndpointInfo.h +0 -186
  710. data/ext/ice/cpp/src/Ice/ACM.cpp +0 -380
  711. data/ext/ice/cpp/src/Ice/ACM.h +0 -119
  712. data/ext/ice/cpp/src/Ice/ACMF.h +0 -30
  713. data/ext/ice/cpp/src/Ice/Acceptor.cpp +0 -16
  714. data/ext/ice/cpp/src/Ice/Acceptor.h +0 -37
  715. data/ext/ice/cpp/src/Ice/AcceptorF.h +0 -25
  716. data/ext/ice/cpp/src/Ice/ArgVector.cpp +0 -59
  717. data/ext/ice/cpp/src/Ice/ArgVector.h +0 -36
  718. data/ext/ice/cpp/src/Ice/AsyncResult.cpp +0 -70
  719. data/ext/ice/cpp/src/Ice/Base64.cpp +0 -263
  720. data/ext/ice/cpp/src/Ice/Base64.h +0 -31
  721. data/ext/ice/cpp/src/Ice/BatchRequestQueue.cpp +0 -250
  722. data/ext/ice/cpp/src/Ice/BatchRequestQueue.h +0 -59
  723. data/ext/ice/cpp/src/Ice/Buffer.cpp +0 -155
  724. data/ext/ice/cpp/src/Ice/BuiltinSequences.cpp +0 -49
  725. data/ext/ice/cpp/src/Ice/CollocatedRequestHandler.cpp +0 -407
  726. data/ext/ice/cpp/src/Ice/CollocatedRequestHandler.h +0 -87
  727. data/ext/ice/cpp/src/Ice/Communicator.cpp +0 -79
  728. data/ext/ice/cpp/src/Ice/CommunicatorF.cpp +0 -61
  729. data/ext/ice/cpp/src/Ice/CommunicatorI.cpp +0 -586
  730. data/ext/ice/cpp/src/Ice/CommunicatorI.h +0 -167
  731. data/ext/ice/cpp/src/Ice/Cond.cpp +0 -381
  732. data/ext/ice/cpp/src/Ice/ConnectRequestHandler.cpp +0 -348
  733. data/ext/ice/cpp/src/Ice/ConnectRequestHandler.h +0 -72
  734. data/ext/ice/cpp/src/Ice/ConnectRequestHandlerF.h +0 -24
  735. data/ext/ice/cpp/src/Ice/Connection.cpp +0 -155
  736. data/ext/ice/cpp/src/Ice/ConnectionF.cpp +0 -61
  737. data/ext/ice/cpp/src/Ice/ConnectionFactory.cpp +0 -1972
  738. data/ext/ice/cpp/src/Ice/ConnectionFactory.h +0 -264
  739. data/ext/ice/cpp/src/Ice/ConnectionFactoryF.h +0 -30
  740. data/ext/ice/cpp/src/Ice/ConnectionI.cpp +0 -3670
  741. data/ext/ice/cpp/src/Ice/ConnectionI.h +0 -391
  742. data/ext/ice/cpp/src/Ice/ConnectionRequestHandler.cpp +0 -73
  743. data/ext/ice/cpp/src/Ice/ConnectionRequestHandler.h +0 -41
  744. data/ext/ice/cpp/src/Ice/Connector.cpp +0 -16
  745. data/ext/ice/cpp/src/Ice/Connector.h +0 -32
  746. data/ext/ice/cpp/src/Ice/ConnectorF.h +0 -21
  747. data/ext/ice/cpp/src/Ice/CountDownLatch.cpp +0 -179
  748. data/ext/ice/cpp/src/Ice/Current.cpp +0 -62
  749. data/ext/ice/cpp/src/Ice/DefaultsAndOverrides.cpp +0 -161
  750. data/ext/ice/cpp/src/Ice/DefaultsAndOverrides.h +0 -52
  751. data/ext/ice/cpp/src/Ice/DefaultsAndOverridesF.h +0 -21
  752. data/ext/ice/cpp/src/Ice/DispatchInterceptor.cpp +0 -37
  753. data/ext/ice/cpp/src/Ice/DynamicLibrary.cpp +0 -291
  754. data/ext/ice/cpp/src/Ice/Endpoint.cpp +0 -147
  755. data/ext/ice/cpp/src/Ice/EndpointF.cpp +0 -61
  756. data/ext/ice/cpp/src/Ice/EndpointFactory.cpp +0 -189
  757. data/ext/ice/cpp/src/Ice/EndpointFactory.h +0 -117
  758. data/ext/ice/cpp/src/Ice/EndpointFactoryF.h +0 -21
  759. data/ext/ice/cpp/src/Ice/EndpointFactoryManager.cpp +0 -213
  760. data/ext/ice/cpp/src/Ice/EndpointFactoryManager.h +0 -47
  761. data/ext/ice/cpp/src/Ice/EndpointFactoryManagerF.h +0 -21
  762. data/ext/ice/cpp/src/Ice/EndpointI.cpp +0 -98
  763. data/ext/ice/cpp/src/Ice/EndpointI.h +0 -218
  764. data/ext/ice/cpp/src/Ice/EndpointIF.h +0 -49
  765. data/ext/ice/cpp/src/Ice/EndpointTypes.cpp +0 -51
  766. data/ext/ice/cpp/src/Ice/EventHandler.cpp +0 -32
  767. data/ext/ice/cpp/src/Ice/EventHandler.h +0 -81
  768. data/ext/ice/cpp/src/Ice/EventHandlerF.h +0 -24
  769. data/ext/ice/cpp/src/Ice/Exception.cpp +0 -845
  770. data/ext/ice/cpp/src/Ice/FacetMap.cpp +0 -49
  771. data/ext/ice/cpp/src/Ice/FactoryTable.cpp +0 -162
  772. data/ext/ice/cpp/src/Ice/FactoryTableInit.cpp +0 -88
  773. data/ext/ice/cpp/src/Ice/GCObject.cpp +0 -442
  774. data/ext/ice/cpp/src/Ice/HashUtil.h +0 -53
  775. data/ext/ice/cpp/src/Ice/HttpParser.cpp +0 -684
  776. data/ext/ice/cpp/src/Ice/HttpParser.h +0 -117
  777. data/ext/ice/cpp/src/Ice/IPEndpointI.cpp +0 -756
  778. data/ext/ice/cpp/src/Ice/IPEndpointI.h +0 -162
  779. data/ext/ice/cpp/src/Ice/IPEndpointIF.h +0 -28
  780. data/ext/ice/cpp/src/Ice/IconvStringConverter.cpp +0 -51
  781. data/ext/ice/cpp/src/Ice/Identity.cpp +0 -57
  782. data/ext/ice/cpp/src/Ice/ImplicitContext.cpp +0 -75
  783. data/ext/ice/cpp/src/Ice/ImplicitContextF.cpp +0 -61
  784. data/ext/ice/cpp/src/Ice/ImplicitContextI.cpp +0 -655
  785. data/ext/ice/cpp/src/Ice/ImplicitContextI.h +0 -48
  786. data/ext/ice/cpp/src/Ice/Incoming.cpp +0 -795
  787. data/ext/ice/cpp/src/Ice/IncomingAsync.cpp +0 -230
  788. data/ext/ice/cpp/src/Ice/IncomingRequest.h +0 -33
  789. data/ext/ice/cpp/src/Ice/Initialize.cpp +0 -654
  790. data/ext/ice/cpp/src/Ice/InputStream.cpp +0 -2741
  791. data/ext/ice/cpp/src/Ice/Instance.cpp +0 -1971
  792. data/ext/ice/cpp/src/Ice/Instance.h +0 -235
  793. data/ext/ice/cpp/src/Ice/Instrumentation.cpp +0 -188
  794. data/ext/ice/cpp/src/Ice/InstrumentationF.cpp +0 -66
  795. data/ext/ice/cpp/src/Ice/InstrumentationI.cpp +0 -1094
  796. data/ext/ice/cpp/src/Ice/InstrumentationI.h +0 -256
  797. data/ext/ice/cpp/src/Ice/LocalException.cpp +0 -3262
  798. data/ext/ice/cpp/src/Ice/LocalObject.cpp +0 -23
  799. data/ext/ice/cpp/src/Ice/Locator.cpp +0 -2042
  800. data/ext/ice/cpp/src/Ice/LocatorF.cpp +0 -63
  801. data/ext/ice/cpp/src/Ice/LocatorInfo.cpp +0 -889
  802. data/ext/ice/cpp/src/Ice/LocatorInfo.h +0 -189
  803. data/ext/ice/cpp/src/Ice/LocatorInfoF.h +0 -29
  804. data/ext/ice/cpp/src/Ice/Logger.cpp +0 -73
  805. data/ext/ice/cpp/src/Ice/LoggerAdminI.cpp +0 -956
  806. data/ext/ice/cpp/src/Ice/LoggerAdminI.h +0 -41
  807. data/ext/ice/cpp/src/Ice/LoggerF.cpp +0 -61
  808. data/ext/ice/cpp/src/Ice/LoggerI.cpp +0 -261
  809. data/ext/ice/cpp/src/Ice/LoggerI.h +0 -52
  810. data/ext/ice/cpp/src/Ice/LoggerUtil.cpp +0 -100
  811. data/ext/ice/cpp/src/Ice/Metrics.cpp +0 -2352
  812. data/ext/ice/cpp/src/Ice/MetricsAdminI.cpp +0 -694
  813. data/ext/ice/cpp/src/Ice/MetricsObserverI.cpp +0 -8
  814. data/ext/ice/cpp/src/Ice/Network.cpp +0 -3075
  815. data/ext/ice/cpp/src/Ice/Network.h +0 -371
  816. data/ext/ice/cpp/src/Ice/NetworkF.h +0 -23
  817. data/ext/ice/cpp/src/Ice/NetworkProxy.cpp +0 -324
  818. data/ext/ice/cpp/src/Ice/NetworkProxy.h +0 -72
  819. data/ext/ice/cpp/src/Ice/NetworkProxyF.h +0 -21
  820. data/ext/ice/cpp/src/Ice/OSLogLoggerI.cpp +0 -57
  821. data/ext/ice/cpp/src/Ice/OSLogLoggerI.h +0 -40
  822. data/ext/ice/cpp/src/Ice/Object.cpp +0 -435
  823. data/ext/ice/cpp/src/Ice/ObjectAdapter.cpp +0 -79
  824. data/ext/ice/cpp/src/Ice/ObjectAdapterF.cpp +0 -61
  825. data/ext/ice/cpp/src/Ice/ObjectAdapterFactory.cpp +0 -291
  826. data/ext/ice/cpp/src/Ice/ObjectAdapterFactory.h +0 -53
  827. data/ext/ice/cpp/src/Ice/ObjectAdapterFactoryF.h +0 -25
  828. data/ext/ice/cpp/src/Ice/ObjectAdapterI.cpp +0 -1530
  829. data/ext/ice/cpp/src/Ice/ObjectAdapterI.h +0 -159
  830. data/ext/ice/cpp/src/Ice/ObjectFactory.cpp +0 -75
  831. data/ext/ice/cpp/src/Ice/ObserverHelper.cpp +0 -56
  832. data/ext/ice/cpp/src/Ice/OpaqueEndpointI.cpp +0 -408
  833. data/ext/ice/cpp/src/Ice/OpaqueEndpointI.h +0 -74
  834. data/ext/ice/cpp/src/Ice/OutgoingAsync.cpp +0 -1322
  835. data/ext/ice/cpp/src/Ice/OutputStream.cpp +0 -1367
  836. data/ext/ice/cpp/src/Ice/Plugin.cpp +0 -87
  837. data/ext/ice/cpp/src/Ice/PluginF.cpp +0 -61
  838. data/ext/ice/cpp/src/Ice/PluginManagerI.cpp +0 -503
  839. data/ext/ice/cpp/src/Ice/PluginManagerI.h +0 -61
  840. data/ext/ice/cpp/src/Ice/Process.cpp +0 -471
  841. data/ext/ice/cpp/src/Ice/ProcessF.cpp +0 -63
  842. data/ext/ice/cpp/src/Ice/Properties.cpp +0 -78
  843. data/ext/ice/cpp/src/Ice/PropertiesAdmin.cpp +0 -603
  844. data/ext/ice/cpp/src/Ice/PropertiesAdminI.cpp +0 -265
  845. data/ext/ice/cpp/src/Ice/PropertiesAdminI.h +0 -64
  846. data/ext/ice/cpp/src/Ice/PropertiesF.cpp +0 -63
  847. data/ext/ice/cpp/src/Ice/PropertiesI.cpp +0 -747
  848. data/ext/ice/cpp/src/Ice/PropertiesI.h +0 -70
  849. data/ext/ice/cpp/src/Ice/PropertyNames.cpp +0 -1429
  850. data/ext/ice/cpp/src/Ice/PropertyNames.h +0 -78
  851. data/ext/ice/cpp/src/Ice/Protocol.cpp +0 -124
  852. data/ext/ice/cpp/src/Ice/ProtocolInstance.cpp +0 -131
  853. data/ext/ice/cpp/src/Ice/ProtocolInstance.h +0 -93
  854. data/ext/ice/cpp/src/Ice/ProtocolInstanceF.h +0 -21
  855. data/ext/ice/cpp/src/Ice/ProtocolPluginFacade.cpp +0 -51
  856. data/ext/ice/cpp/src/Ice/ProtocolPluginFacade.h +0 -64
  857. data/ext/ice/cpp/src/Ice/ProtocolPluginFacadeF.h +0 -21
  858. data/ext/ice/cpp/src/Ice/Proxy.cpp +0 -1601
  859. data/ext/ice/cpp/src/Ice/ProxyFactory.cpp +0 -300
  860. data/ext/ice/cpp/src/Ice/ProxyFactory.h +0 -57
  861. data/ext/ice/cpp/src/Ice/Reference.cpp +0 -2046
  862. data/ext/ice/cpp/src/Ice/Reference.h +0 -323
  863. data/ext/ice/cpp/src/Ice/ReferenceFactory.cpp +0 -888
  864. data/ext/ice/cpp/src/Ice/ReferenceFactory.h +0 -76
  865. data/ext/ice/cpp/src/Ice/ReferenceFactoryF.h +0 -19
  866. data/ext/ice/cpp/src/Ice/RegisterPluginsInit.cpp +0 -38
  867. data/ext/ice/cpp/src/Ice/RegisterPluginsInit.h +0 -20
  868. data/ext/ice/cpp/src/Ice/RemoteLogger.cpp +0 -1171
  869. data/ext/ice/cpp/src/Ice/ReplyStatus.h +0 -24
  870. data/ext/ice/cpp/src/Ice/RequestHandler.cpp +0 -37
  871. data/ext/ice/cpp/src/Ice/RequestHandler.h +0 -78
  872. data/ext/ice/cpp/src/Ice/RequestHandlerFactory.cpp +0 -77
  873. data/ext/ice/cpp/src/Ice/RequestHandlerFactory.h +0 -37
  874. data/ext/ice/cpp/src/Ice/ResponseHandler.cpp +0 -12
  875. data/ext/ice/cpp/src/Ice/ResponseHandler.h +0 -43
  876. data/ext/ice/cpp/src/Ice/RetryQueue.cpp +0 -157
  877. data/ext/ice/cpp/src/Ice/RetryQueue.h +0 -66
  878. data/ext/ice/cpp/src/Ice/RetryQueueF.h +0 -19
  879. data/ext/ice/cpp/src/Ice/Router.cpp +0 -977
  880. data/ext/ice/cpp/src/Ice/RouterF.cpp +0 -63
  881. data/ext/ice/cpp/src/Ice/RouterInfo.cpp +0 -379
  882. data/ext/ice/cpp/src/Ice/RouterInfo.h +0 -152
  883. data/ext/ice/cpp/src/Ice/RouterInfoF.h +0 -25
  884. data/ext/ice/cpp/src/Ice/SHA1.cpp +0 -185
  885. data/ext/ice/cpp/src/Ice/Selector.cpp +0 -1537
  886. data/ext/ice/cpp/src/Ice/Selector.h +0 -308
  887. data/ext/ice/cpp/src/Ice/ServantLocator.cpp +0 -75
  888. data/ext/ice/cpp/src/Ice/ServantLocatorF.cpp +0 -61
  889. data/ext/ice/cpp/src/Ice/ServantManager.cpp +0 -480
  890. data/ext/ice/cpp/src/Ice/ServantManager.h +0 -69
  891. data/ext/ice/cpp/src/Ice/SharedContext.h +0 -46
  892. data/ext/ice/cpp/src/Ice/SliceChecksumDict.cpp +0 -49
  893. data/ext/ice/cpp/src/Ice/SliceChecksums.cpp +0 -75
  894. data/ext/ice/cpp/src/Ice/SlicedData.cpp +0 -127
  895. data/ext/ice/cpp/src/Ice/StreamSocket.cpp +0 -682
  896. data/ext/ice/cpp/src/Ice/StreamSocket.h +0 -92
  897. data/ext/ice/cpp/src/Ice/StringConverterPlugin.cpp +0 -192
  898. data/ext/ice/cpp/src/Ice/StringUtil.h +0 -30
  899. data/ext/ice/cpp/src/Ice/SysLoggerI.cpp +0 -166
  900. data/ext/ice/cpp/src/Ice/SysLoggerI.h +0 -37
  901. data/ext/ice/cpp/src/Ice/SystemdJournalI.cpp +0 -66
  902. data/ext/ice/cpp/src/Ice/SystemdJournalI.h +0 -39
  903. data/ext/ice/cpp/src/Ice/TcpAcceptor.cpp +0 -355
  904. data/ext/ice/cpp/src/Ice/TcpAcceptor.h +0 -69
  905. data/ext/ice/cpp/src/Ice/TcpConnector.cpp +0 -127
  906. data/ext/ice/cpp/src/Ice/TcpConnector.h +0 -45
  907. data/ext/ice/cpp/src/Ice/TcpEndpointI.cpp +0 -385
  908. data/ext/ice/cpp/src/Ice/TcpEndpointI.h +0 -90
  909. data/ext/ice/cpp/src/Ice/TcpTransceiver.cpp +0 -135
  910. data/ext/ice/cpp/src/Ice/TcpTransceiver.h +0 -58
  911. data/ext/ice/cpp/src/Ice/Thread.cpp +0 -811
  912. data/ext/ice/cpp/src/Ice/ThreadPool.cpp +0 -1328
  913. data/ext/ice/cpp/src/Ice/ThreadPool.h +0 -393
  914. data/ext/ice/cpp/src/Ice/Timer.cpp +0 -263
  915. data/ext/ice/cpp/src/Ice/TraceLevels.cpp +0 -38
  916. data/ext/ice/cpp/src/Ice/TraceLevels.h +0 -45
  917. data/ext/ice/cpp/src/Ice/TraceLevelsF.h +0 -21
  918. data/ext/ice/cpp/src/Ice/TraceUtil.cpp +0 -478
  919. data/ext/ice/cpp/src/Ice/TraceUtil.h +0 -30
  920. data/ext/ice/cpp/src/Ice/Transceiver.cpp +0 -18
  921. data/ext/ice/cpp/src/Ice/Transceiver.h +0 -49
  922. data/ext/ice/cpp/src/Ice/TransceiverF.h +0 -33
  923. data/ext/ice/cpp/src/Ice/UdpConnector.cpp +0 -136
  924. data/ext/ice/cpp/src/Ice/UdpConnector.h +0 -45
  925. data/ext/ice/cpp/src/Ice/UdpEndpointI.cpp +0 -515
  926. data/ext/ice/cpp/src/Ice/UdpEndpointI.h +0 -95
  927. data/ext/ice/cpp/src/Ice/UdpTransceiver.cpp +0 -1153
  928. data/ext/ice/cpp/src/Ice/UdpTransceiver.h +0 -117
  929. data/ext/ice/cpp/src/Ice/Value.cpp +0 -76
  930. data/ext/ice/cpp/src/Ice/ValueFactory.cpp +0 -83
  931. data/ext/ice/cpp/src/Ice/ValueFactoryManagerI.cpp +0 -61
  932. data/ext/ice/cpp/src/Ice/ValueFactoryManagerI.h +0 -37
  933. data/ext/ice/cpp/src/Ice/Version.cpp +0 -57
  934. data/ext/ice/cpp/src/Ice/VirtualShared.h +0 -38
  935. data/ext/ice/cpp/src/Ice/WSAcceptor.cpp +0 -92
  936. data/ext/ice/cpp/src/Ice/WSAcceptor.h +0 -52
  937. data/ext/ice/cpp/src/Ice/WSConnector.cpp +0 -102
  938. data/ext/ice/cpp/src/Ice/WSConnector.h +0 -43
  939. data/ext/ice/cpp/src/Ice/WSEndpoint.cpp +0 -508
  940. data/ext/ice/cpp/src/Ice/WSEndpoint.h +0 -93
  941. data/ext/ice/cpp/src/Ice/WSTransceiver.cpp +0 -1747
  942. data/ext/ice/cpp/src/Ice/WSTransceiver.h +0 -141
  943. data/ext/ice/cpp/src/IceDiscovery/IceDiscovery.cpp +0 -915
  944. data/ext/ice/cpp/src/IceDiscovery/IceDiscovery.h +0 -1889
  945. data/ext/ice/cpp/src/IceDiscovery/LocatorI.cpp +0 -265
  946. data/ext/ice/cpp/src/IceDiscovery/LocatorI.h +0 -109
  947. data/ext/ice/cpp/src/IceDiscovery/LookupI.cpp +0 -608
  948. data/ext/ice/cpp/src/IceDiscovery/LookupI.h +0 -228
  949. data/ext/ice/cpp/src/IceDiscovery/PluginI.cpp +0 -176
  950. data/ext/ice/cpp/src/IceDiscovery/PluginI.h +0 -36
  951. data/ext/ice/cpp/src/IceLocatorDiscovery/IceLocatorDiscovery.cpp +0 -730
  952. data/ext/ice/cpp/src/IceLocatorDiscovery/IceLocatorDiscovery.h +0 -1197
  953. data/ext/ice/cpp/src/IceLocatorDiscovery/Plugin.h +0 -47
  954. data/ext/ice/cpp/src/IceLocatorDiscovery/PluginI.cpp +0 -1048
  955. data/ext/ice/cpp/src/IceSSL/AcceptorI.cpp +0 -105
  956. data/ext/ice/cpp/src/IceSSL/AcceptorI.h +0 -52
  957. data/ext/ice/cpp/src/IceSSL/CertificateI.cpp +0 -301
  958. data/ext/ice/cpp/src/IceSSL/CertificateI.h +0 -64
  959. data/ext/ice/cpp/src/IceSSL/ConnectionInfo.cpp +0 -75
  960. data/ext/ice/cpp/src/IceSSL/ConnectionInfoF.cpp +0 -61
  961. data/ext/ice/cpp/src/IceSSL/ConnectorI.cpp +0 -102
  962. data/ext/ice/cpp/src/IceSSL/ConnectorI.h +0 -44
  963. data/ext/ice/cpp/src/IceSSL/EndpointI.cpp +0 -372
  964. data/ext/ice/cpp/src/IceSSL/EndpointI.h +0 -100
  965. data/ext/ice/cpp/src/IceSSL/EndpointInfo.cpp +0 -75
  966. data/ext/ice/cpp/src/IceSSL/Instance.cpp +0 -28
  967. data/ext/ice/cpp/src/IceSSL/Instance.h +0 -37
  968. data/ext/ice/cpp/src/IceSSL/InstanceF.h +0 -33
  969. data/ext/ice/cpp/src/IceSSL/OpenSSLCertificateI.cpp +0 -688
  970. data/ext/ice/cpp/src/IceSSL/OpenSSLEngine.cpp +0 -1147
  971. data/ext/ice/cpp/src/IceSSL/OpenSSLEngine.h +0 -59
  972. data/ext/ice/cpp/src/IceSSL/OpenSSLEngineF.h +0 -27
  973. data/ext/ice/cpp/src/IceSSL/OpenSSLPluginI.cpp +0 -127
  974. data/ext/ice/cpp/src/IceSSL/OpenSSLTransceiverI.cpp +0 -1092
  975. data/ext/ice/cpp/src/IceSSL/OpenSSLTransceiverI.h +0 -90
  976. data/ext/ice/cpp/src/IceSSL/OpenSSLUtil.cpp +0 -288
  977. data/ext/ice/cpp/src/IceSSL/OpenSSLUtil.h +0 -58
  978. data/ext/ice/cpp/src/IceSSL/PluginI.cpp +0 -246
  979. data/ext/ice/cpp/src/IceSSL/PluginI.h +0 -67
  980. data/ext/ice/cpp/src/IceSSL/RFC2253.cpp +0 -490
  981. data/ext/ice/cpp/src/IceSSL/RFC2253.h +0 -62
  982. data/ext/ice/cpp/src/IceSSL/SChannelCertificateI.cpp +0 -721
  983. data/ext/ice/cpp/src/IceSSL/SChannelEngine.cpp +0 -1283
  984. data/ext/ice/cpp/src/IceSSL/SChannelEngine.h +0 -123
  985. data/ext/ice/cpp/src/IceSSL/SChannelEngineF.h +0 -31
  986. data/ext/ice/cpp/src/IceSSL/SChannelPluginI.cpp +0 -73
  987. data/ext/ice/cpp/src/IceSSL/SChannelTransceiverI.cpp +0 -1174
  988. data/ext/ice/cpp/src/IceSSL/SChannelTransceiverI.h +0 -133
  989. data/ext/ice/cpp/src/IceSSL/SSLEngine.cpp +0 -313
  990. data/ext/ice/cpp/src/IceSSL/SSLEngine.h +0 -100
  991. data/ext/ice/cpp/src/IceSSL/SSLEngineF.h +0 -21
  992. data/ext/ice/cpp/src/IceSSL/SecureTransportCertificateI.cpp +0 -999
  993. data/ext/ice/cpp/src/IceSSL/SecureTransportEngine.cpp +0 -1308
  994. data/ext/ice/cpp/src/IceSSL/SecureTransportEngine.h +0 -59
  995. data/ext/ice/cpp/src/IceSSL/SecureTransportEngineF.h +0 -29
  996. data/ext/ice/cpp/src/IceSSL/SecureTransportPluginI.cpp +0 -75
  997. data/ext/ice/cpp/src/IceSSL/SecureTransportTransceiverI.cpp +0 -719
  998. data/ext/ice/cpp/src/IceSSL/SecureTransportTransceiverI.h +0 -92
  999. data/ext/ice/cpp/src/IceSSL/SecureTransportUtil.cpp +0 -868
  1000. data/ext/ice/cpp/src/IceSSL/SecureTransportUtil.h +0 -45
  1001. data/ext/ice/cpp/src/IceSSL/TrustManager.cpp +0 -236
  1002. data/ext/ice/cpp/src/IceSSL/TrustManager.h +0 -46
  1003. data/ext/ice/cpp/src/IceSSL/TrustManagerF.h +0 -21
  1004. data/ext/ice/cpp/src/IceSSL/UWPCertificateI.cpp +0 -266
  1005. data/ext/ice/cpp/src/IceSSL/UWPEngine.cpp +0 -338
  1006. data/ext/ice/cpp/src/IceSSL/UWPEngine.h +0 -41
  1007. data/ext/ice/cpp/src/IceSSL/UWPEngineF.h +0 -26
  1008. data/ext/ice/cpp/src/IceSSL/UWPPluginI.cpp +0 -89
  1009. data/ext/ice/cpp/src/IceSSL/UWPTransceiverI.cpp +0 -383
  1010. data/ext/ice/cpp/src/IceSSL/UWPTransceiverI.h +0 -71
  1011. data/ext/ice/cpp/src/IceSSL/Util.cpp +0 -192
  1012. data/ext/ice/cpp/src/IceSSL/Util.h +0 -99
  1013. data/ext/ice/cpp/src/IceUtil/ConsoleUtil.cpp +0 -157
  1014. data/ext/ice/cpp/src/IceUtil/ConvertUTF.cpp +0 -472
  1015. data/ext/ice/cpp/src/IceUtil/ConvertUTF.h +0 -147
  1016. data/ext/ice/cpp/src/IceUtil/CtrlCHandler.cpp +0 -259
  1017. data/ext/ice/cpp/src/IceUtil/FileUtil.cpp +0 -484
  1018. data/ext/ice/cpp/src/IceUtil/InputUtil.cpp +0 -36
  1019. data/ext/ice/cpp/src/IceUtil/MutexProtocol.cpp +0 -19
  1020. data/ext/ice/cpp/src/IceUtil/Options.cpp +0 -1051
  1021. data/ext/ice/cpp/src/IceUtil/OutputUtil.cpp +0 -609
  1022. data/ext/ice/cpp/src/IceUtil/Random.cpp +0 -180
  1023. data/ext/ice/cpp/src/IceUtil/RecMutex.cpp +0 -242
  1024. data/ext/ice/cpp/src/IceUtil/Shared.cpp +0 -71
  1025. data/ext/ice/cpp/src/IceUtil/StringConverter.cpp +0 -690
  1026. data/ext/ice/cpp/src/IceUtil/StringUtil.cpp +0 -1180
  1027. data/ext/ice/cpp/src/IceUtil/ThreadException.cpp +0 -130
  1028. data/ext/ice/cpp/src/IceUtil/Time.cpp +0 -307
  1029. data/ext/ice/cpp/src/IceUtil/UUID.cpp +0 -169
  1030. data/ext/ice/cpp/src/IceUtil/Unicode.cpp +0 -183
  1031. data/ext/ice/cpp/src/IceUtil/Unicode.h +0 -43
  1032. data/ext/ice/cpp/src/IceUtil/UtilException.cpp +0 -839
  1033. data/ext/ice/cpp/src/Slice/CPlusPlusUtil.cpp +0 -1810
  1034. data/ext/ice/cpp/src/Slice/CPlusPlusUtil.h +0 -72
  1035. data/ext/ice/cpp/src/Slice/Checksum.cpp +0 -447
  1036. data/ext/ice/cpp/src/Slice/Checksum.h +0 -21
  1037. data/ext/ice/cpp/src/Slice/FileTracker.cpp +0 -146
  1038. data/ext/ice/cpp/src/Slice/FileTracker.h +0 -66
  1039. data/ext/ice/cpp/src/Slice/Grammar.cpp +0 -4793
  1040. data/ext/ice/cpp/src/Slice/Grammar.h +0 -118
  1041. data/ext/ice/cpp/src/Slice/GrammarUtil.h +0 -228
  1042. data/ext/ice/cpp/src/Slice/JavaUtil.cpp +0 -5154
  1043. data/ext/ice/cpp/src/Slice/JavaUtil.h +0 -398
  1044. data/ext/ice/cpp/src/Slice/MD5.cpp +0 -52
  1045. data/ext/ice/cpp/src/Slice/MD5.h +0 -39
  1046. data/ext/ice/cpp/src/Slice/MD5I.cpp +0 -393
  1047. data/ext/ice/cpp/src/Slice/MD5I.h +0 -91
  1048. data/ext/ice/cpp/src/Slice/PHPUtil.cpp +0 -157
  1049. data/ext/ice/cpp/src/Slice/PHPUtil.h +0 -36
  1050. data/ext/ice/cpp/src/Slice/Parser.cpp +0 -7058
  1051. data/ext/ice/cpp/src/Slice/Parser.h +0 -1174
  1052. data/ext/ice/cpp/src/Slice/Preprocessor.cpp +0 -797
  1053. data/ext/ice/cpp/src/Slice/Preprocessor.h +0 -60
  1054. data/ext/ice/cpp/src/Slice/Python.cpp +0 -830
  1055. data/ext/ice/cpp/src/Slice/PythonUtil.cpp +0 -3439
  1056. data/ext/ice/cpp/src/Slice/PythonUtil.h +0 -70
  1057. data/ext/ice/cpp/src/Slice/Ruby.cpp +0 -350
  1058. data/ext/ice/cpp/src/Slice/RubyUtil.cpp +0 -1571
  1059. data/ext/ice/cpp/src/Slice/RubyUtil.h +0 -49
  1060. data/ext/ice/cpp/src/Slice/Scanner.cpp +0 -2807
  1061. data/ext/ice/cpp/src/Slice/SliceUtil.cpp +0 -424
  1062. data/ext/ice/cpp/src/Slice/StringLiteralUtil.cpp +0 -456
  1063. data/ext/ice/cpp/src/Slice/Util.h +0 -50
  1064. data/ext/ice/mcpp/CMakeLists.txt +0 -80
  1065. data/ext/ice/mcpp/LICENSE +0 -29
  1066. data/ext/ice/mcpp/Makefile +0 -63
  1067. data/ext/ice/mcpp/README.md +0 -32
  1068. data/ext/ice/mcpp/internal.H +0 -530
  1069. data/ext/ice/mcpp/mcpp.gyp +0 -88
  1070. data/lib/Glacier2/Metrics.rb +0 -56
  1071. data/lib/Glacier2/PermissionsVerifier.rb +0 -93
  1072. data/lib/Glacier2/PermissionsVerifierF.rb +0 -30
  1073. data/lib/Glacier2/Router.rb +0 -95
  1074. data/lib/Glacier2/RouterF.rb +0 -25
  1075. data/lib/Glacier2/SSLInfo.rb +0 -72
  1076. data/lib/Glacier2/Session.rb +0 -247
  1077. data/lib/Glacier2.rb +0 -7
  1078. data/lib/Ice/BuiltinSequences.rb +0 -60
  1079. data/lib/Ice/Communicator.rb +0 -87
  1080. data/lib/Ice/CommunicatorF.rb +0 -24
  1081. data/lib/Ice/Connection.rb +0 -413
  1082. data/lib/Ice/ConnectionF.rb +0 -32
  1083. data/lib/Ice/Current.rb +0 -141
  1084. data/lib/Ice/Endpoint.rb +0 -187
  1085. data/lib/Ice/EndpointF.rb +0 -48
  1086. data/lib/Ice/EndpointTypes.rb +0 -69
  1087. data/lib/Ice/FacetMap.rb +0 -24
  1088. data/lib/Ice/Identity.rb +0 -63
  1089. data/lib/Ice/ImplicitContext.rb +0 -26
  1090. data/lib/Ice/ImplicitContextF.rb +0 -24
  1091. data/lib/Ice/Instrumentation.rb +0 -169
  1092. data/lib/Ice/InstrumentationF.rb +0 -31
  1093. data/lib/Ice/LocalException.rb +0 -1031
  1094. data/lib/Ice/Locator.rb +0 -196
  1095. data/lib/Ice/LocatorF.rb +0 -30
  1096. data/lib/Ice/Logger.rb +0 -24
  1097. data/lib/Ice/LoggerF.rb +0 -24
  1098. data/lib/Ice/Metrics.rb +0 -337
  1099. data/lib/Ice/ObjectAdapter.rb +0 -29
  1100. data/lib/Ice/ObjectAdapterF.rb +0 -24
  1101. data/lib/Ice/ObjectFactory.rb +0 -24
  1102. data/lib/Ice/Plugin.rb +0 -30
  1103. data/lib/Ice/PluginF.rb +0 -28
  1104. data/lib/Ice/Process.rb +0 -53
  1105. data/lib/Ice/ProcessF.rb +0 -25
  1106. data/lib/Ice/Properties.rb +0 -25
  1107. data/lib/Ice/PropertiesAdmin.rb +0 -63
  1108. data/lib/Ice/PropertiesF.rb +0 -29
  1109. data/lib/Ice/RemoteLogger.rb +0 -207
  1110. data/lib/Ice/Router.rb +0 -87
  1111. data/lib/Ice/RouterF.rb +0 -25
  1112. data/lib/Ice/ServantLocator.rb +0 -26
  1113. data/lib/Ice/ServantLocatorF.rb +0 -24
  1114. data/lib/Ice/SliceChecksumDict.rb +0 -24
  1115. data/lib/Ice/ValueFactory.rb +0 -28
  1116. data/lib/Ice/Version.rb +0 -90
  1117. data/lib/Ice.rb +0 -673
  1118. data/lib/IceBox/IceBox.rb +0 -164
  1119. data/lib/IceBox.rb +0 -5
  1120. data/lib/IceGrid/Admin.rb +0 -1196
  1121. data/lib/IceGrid/Descriptor.rb +0 -1034
  1122. data/lib/IceGrid/Exception.rb +0 -376
  1123. data/lib/IceGrid/FileParser.rb +0 -65
  1124. data/lib/IceGrid/PluginFacade.rb +0 -35
  1125. data/lib/IceGrid/Registry.rb +0 -209
  1126. data/lib/IceGrid/Session.rb +0 -71
  1127. data/lib/IceGrid/UserAccountMapper.rb +0 -61
  1128. data/lib/IceGrid.rb +0 -9
  1129. data/lib/IcePatch2/FileInfo.rb +0 -115
  1130. data/lib/IcePatch2/FileServer.rb +0 -123
  1131. data/lib/IcePatch2.rb +0 -5
  1132. data/lib/IceStorm/IceStorm.rb +0 -332
  1133. data/lib/IceStorm/Metrics.rb +0 -73
  1134. data/lib/IceStorm.rb +0 -6
  1135. data/slice/Glacier2/Metrics.ice +0 -88
  1136. data/slice/Glacier2/PermissionsVerifier.ice +0 -111
  1137. data/slice/Glacier2/PermissionsVerifierF.ice +0 -30
  1138. data/slice/Glacier2/Router.ice +0 -186
  1139. data/slice/Glacier2/RouterF.ice +0 -29
  1140. data/slice/Glacier2/SSLInfo.ice +0 -59
  1141. data/slice/Glacier2/Session.ice +0 -274
  1142. data/slice/Ice/BuiltinSequences.ice +0 -59
  1143. data/slice/Ice/Communicator.ice +0 -676
  1144. data/slice/Ice/CommunicatorF.ice +0 -31
  1145. data/slice/Ice/Connection.ice +0 -516
  1146. data/slice/Ice/ConnectionF.ice +0 -33
  1147. data/slice/Ice/Current.ice +0 -170
  1148. data/slice/Ice/Endpoint.ice +0 -291
  1149. data/slice/Ice/EndpointF.ice +0 -43
  1150. data/slice/Ice/EndpointTypes.ice +0 -48
  1151. data/slice/Ice/FacetMap.ice +0 -36
  1152. data/slice/Ice/Identity.ice +0 -75
  1153. data/slice/Ice/ImplicitContext.ice +0 -119
  1154. data/slice/Ice/ImplicitContextF.ice +0 -30
  1155. data/slice/Ice/Instrumentation.ice +0 -509
  1156. data/slice/Ice/InstrumentationF.ice +0 -38
  1157. data/slice/Ice/LocalException.ice +0 -1040
  1158. data/slice/Ice/Locator.ice +0 -239
  1159. data/slice/Ice/LocatorF.ice +0 -32
  1160. data/slice/Ice/Logger.ice +0 -99
  1161. data/slice/Ice/LoggerF.ice +0 -31
  1162. data/slice/Ice/Metrics.ice +0 -436
  1163. data/slice/Ice/ObjectAdapter.ice +0 -710
  1164. data/slice/Ice/ObjectAdapterF.ice +0 -31
  1165. data/slice/Ice/ObjectFactory.ice +0 -71
  1166. data/slice/Ice/Plugin.ice +0 -131
  1167. data/slice/Ice/PluginF.ice +0 -36
  1168. data/slice/Ice/Process.ice +0 -64
  1169. data/slice/Ice/ProcessF.ice +0 -31
  1170. data/slice/Ice/Properties.ice +0 -244
  1171. data/slice/Ice/PropertiesAdmin.ice +0 -87
  1172. data/slice/Ice/PropertiesF.ice +0 -32
  1173. data/slice/Ice/RemoteLogger.ice +0 -226
  1174. data/slice/Ice/Router.ice +0 -103
  1175. data/slice/Ice/RouterF.ice +0 -31
  1176. data/slice/Ice/ServantLocator.ice +0 -136
  1177. data/slice/Ice/ServantLocatorF.ice +0 -31
  1178. data/slice/Ice/SliceChecksumDict.ice +0 -36
  1179. data/slice/Ice/ValueFactory.ice +0 -133
  1180. data/slice/Ice/Version.ice +0 -51
  1181. data/slice/IceBT/ConnectionInfo.ice +0 -59
  1182. data/slice/IceBT/EndpointInfo.ice +0 -57
  1183. data/slice/IceBT/Types.ice +0 -45
  1184. data/slice/IceBox/IceBox.ice +0 -216
  1185. data/slice/IceDiscovery/IceDiscovery.ice +0 -98
  1186. data/slice/IceGrid/Admin.ice +0 -1957
  1187. data/slice/IceGrid/Descriptor.ice +0 -1094
  1188. data/slice/IceGrid/Exception.ice +0 -396
  1189. data/slice/IceGrid/FileParser.ice +0 -72
  1190. data/slice/IceGrid/PluginFacade.ice +0 -329
  1191. data/slice/IceGrid/Registry.ice +0 -269
  1192. data/slice/IceGrid/Session.ice +0 -128
  1193. data/slice/IceGrid/UserAccountMapper.ice +0 -69
  1194. data/slice/IceIAP/ConnectionInfo.ice +0 -74
  1195. data/slice/IceIAP/EndpointInfo.ice +0 -68
  1196. data/slice/IceLocatorDiscovery/IceLocatorDiscovery.ice +0 -83
  1197. data/slice/IcePatch2/FileInfo.ice +0 -85
  1198. data/slice/IcePatch2/FileServer.ice +0 -191
  1199. data/slice/IceSSL/ConnectionInfo.ice +0 -54
  1200. data/slice/IceSSL/ConnectionInfoF.ice +0 -31
  1201. data/slice/IceSSL/EndpointInfo.ice +0 -45
  1202. data/slice/IceStorm/IceStorm.ice +0 -414
  1203. data/slice/IceStorm/Metrics.ice +0 -83
  1204. /data/{ext → dist}/ice/mcpp/config.h +0 -0
  1205. /data/{ext → dist}/ice/mcpp/configed.H +0 -0
  1206. /data/{ext → dist}/ice/mcpp/directive.c +0 -0
  1207. /data/{ext → dist}/ice/mcpp/eval.c +0 -0
  1208. /data/{ext → dist}/ice/mcpp/expand.c +0 -0
  1209. /data/{ext → dist}/ice/mcpp/mbchar.c +0 -0
  1210. /data/{ext → dist}/ice/mcpp/mcpp_lib.h +0 -0
  1211. /data/{ext/ice/mcpp/main.c → dist/ice/mcpp/mcpp_main.c} +0 -0
  1212. /data/{ext → dist}/ice/mcpp/mcpp_out.h +0 -0
  1213. /data/{ext → dist}/ice/mcpp/support.c +0 -0
  1214. /data/{ext → dist}/ice/mcpp/system.H +0 -0
  1215. /data/{ext → dist}/ice/mcpp/system.c +0 -0
@@ -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