zeroc-ice 3.6b1

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 (675) hide show
  1. checksums.yaml +7 -0
  2. data/ICE_LICENSE +54 -0
  3. data/LICENSE +339 -0
  4. data/bin/slice2rb +17 -0
  5. data/ext/Communicator.cpp +596 -0
  6. data/ext/Communicator.h +25 -0
  7. data/ext/Config.h +111 -0
  8. data/ext/Connection.cpp +381 -0
  9. data/ext/Connection.h +26 -0
  10. data/ext/Endpoint.cpp +311 -0
  11. data/ext/Endpoint.h +27 -0
  12. data/ext/ImplicitContext.cpp +152 -0
  13. data/ext/ImplicitContext.h +25 -0
  14. data/ext/Init.cpp +52 -0
  15. data/ext/Logger.cpp +151 -0
  16. data/ext/Logger.h +28 -0
  17. data/ext/ObjectFactory.cpp +140 -0
  18. data/ext/ObjectFactory.h +50 -0
  19. data/ext/Operation.cpp +676 -0
  20. data/ext/Operation.h +36 -0
  21. data/ext/Properties.cpp +369 -0
  22. data/ext/Properties.h +25 -0
  23. data/ext/Proxy.cpp +1354 -0
  24. data/ext/Proxy.h +27 -0
  25. data/ext/Slice.cpp +223 -0
  26. data/ext/Slice.h +22 -0
  27. data/ext/Types.cpp +3160 -0
  28. data/ext/Types.h +545 -0
  29. data/ext/Util.cpp +792 -0
  30. data/ext/Util.h +511 -0
  31. data/ext/extconf.rb +118 -0
  32. data/ext/ice/BZIP_LICENSE +42 -0
  33. data/ext/ice/MCPP_LICENSE +36 -0
  34. data/ext/ice/bzip2/blocksort.c +1094 -0
  35. data/ext/ice/bzip2/bzlib.c +1572 -0
  36. data/ext/ice/bzip2/bzlib.h +282 -0
  37. data/ext/ice/bzip2/bzlib_private.h +509 -0
  38. data/ext/ice/bzip2/compress.c +672 -0
  39. data/ext/ice/bzip2/crctable.c +104 -0
  40. data/ext/ice/bzip2/decompress.c +646 -0
  41. data/ext/ice/bzip2/huffman.c +205 -0
  42. data/ext/ice/bzip2/randtable.c +84 -0
  43. data/ext/ice/cpp/include/Ice/ACMF.h +30 -0
  44. data/ext/ice/cpp/include/Ice/Application.h +156 -0
  45. data/ext/ice/cpp/include/Ice/AsyncResult.h +363 -0
  46. data/ext/ice/cpp/include/Ice/AsyncResultF.h +26 -0
  47. data/ext/ice/cpp/include/Ice/BasicStream.h +1315 -0
  48. data/ext/ice/cpp/include/Ice/Buffer.h +159 -0
  49. data/ext/ice/cpp/include/Ice/BuiltinSequences.h +74 -0
  50. data/ext/ice/cpp/include/Ice/Communicator.h +194 -0
  51. data/ext/ice/cpp/include/Ice/CommunicatorAsync.h +115 -0
  52. data/ext/ice/cpp/include/Ice/CommunicatorF.h +60 -0
  53. data/ext/ice/cpp/include/Ice/Config.h +97 -0
  54. data/ext/ice/cpp/include/Ice/Connection.h +495 -0
  55. data/ext/ice/cpp/include/Ice/ConnectionAsync.h +115 -0
  56. data/ext/ice/cpp/include/Ice/ConnectionF.h +72 -0
  57. data/ext/ice/cpp/include/Ice/ConnectionFactoryF.h +30 -0
  58. data/ext/ice/cpp/include/Ice/ConnectionIF.h +37 -0
  59. data/ext/ice/cpp/include/Ice/Current.h +94 -0
  60. data/ext/ice/cpp/include/Ice/DefaultObjectFactory.h +48 -0
  61. data/ext/ice/cpp/include/Ice/DeprecatedStringConverter.h +62 -0
  62. data/ext/ice/cpp/include/Ice/DispatchInterceptor.h +33 -0
  63. data/ext/ice/cpp/include/Ice/Dispatcher.h +51 -0
  64. data/ext/ice/cpp/include/Ice/DynamicLibrary.h +105 -0
  65. data/ext/ice/cpp/include/Ice/DynamicLibraryF.h +29 -0
  66. data/ext/ice/cpp/include/Ice/Endpoint.h +350 -0
  67. data/ext/ice/cpp/include/Ice/EndpointF.h +97 -0
  68. data/ext/ice/cpp/include/Ice/EndpointTypes.h +74 -0
  69. data/ext/ice/cpp/include/Ice/Exception.h +114 -0
  70. data/ext/ice/cpp/include/Ice/FacetMap.h +56 -0
  71. data/ext/ice/cpp/include/Ice/FactoryTable.h +69 -0
  72. data/ext/ice/cpp/include/Ice/FactoryTableInit.h +87 -0
  73. data/ext/ice/cpp/include/Ice/Format.h +39 -0
  74. data/ext/ice/cpp/include/Ice/Functional.h +138 -0
  75. data/ext/ice/cpp/include/Ice/GCObject.h +73 -0
  76. data/ext/ice/cpp/include/Ice/Handle.h +192 -0
  77. data/ext/ice/cpp/include/Ice/Ice.h +54 -0
  78. data/ext/ice/cpp/include/Ice/Identity.h +160 -0
  79. data/ext/ice/cpp/include/Ice/ImplicitContext.h +96 -0
  80. data/ext/ice/cpp/include/Ice/ImplicitContextF.h +60 -0
  81. data/ext/ice/cpp/include/Ice/Incoming.h +131 -0
  82. data/ext/ice/cpp/include/Ice/IncomingAsync.h +108 -0
  83. data/ext/ice/cpp/include/Ice/IncomingAsyncF.h +35 -0
  84. data/ext/ice/cpp/include/Ice/Initialize.h +141 -0
  85. data/ext/ice/cpp/include/Ice/InstanceF.h +26 -0
  86. data/ext/ice/cpp/include/Ice/Instrumentation.h +377 -0
  87. data/ext/ice/cpp/include/Ice/InstrumentationF.h +71 -0
  88. data/ext/ice/cpp/include/Ice/LocalException.h +1022 -0
  89. data/ext/ice/cpp/include/Ice/LocalObject.h +36 -0
  90. data/ext/ice/cpp/include/Ice/LocalObjectF.h +26 -0
  91. data/ext/ice/cpp/include/Ice/Locator.h +2191 -0
  92. data/ext/ice/cpp/include/Ice/LocatorF.h +89 -0
  93. data/ext/ice/cpp/include/Ice/Logger.h +94 -0
  94. data/ext/ice/cpp/include/Ice/LoggerF.h +60 -0
  95. data/ext/ice/cpp/include/Ice/LoggerUtil.h +153 -0
  96. data/ext/ice/cpp/include/Ice/Makefile +26 -0
  97. data/ext/ice/cpp/include/Ice/Metrics.h +2989 -0
  98. data/ext/ice/cpp/include/Ice/MetricsAdminI.h +662 -0
  99. data/ext/ice/cpp/include/Ice/MetricsFunctional.h +144 -0
  100. data/ext/ice/cpp/include/Ice/MetricsObserverI.h +576 -0
  101. data/ext/ice/cpp/include/Ice/NativePropertiesAdmin.h +55 -0
  102. data/ext/ice/cpp/include/Ice/Object.h +165 -0
  103. data/ext/ice/cpp/include/Ice/ObjectAdapter.h +162 -0
  104. data/ext/ice/cpp/include/Ice/ObjectAdapterF.h +60 -0
  105. data/ext/ice/cpp/include/Ice/ObjectAdapterFactoryF.h +26 -0
  106. data/ext/ice/cpp/include/Ice/ObjectF.h +26 -0
  107. data/ext/ice/cpp/include/Ice/ObjectFactory.h +86 -0
  108. data/ext/ice/cpp/include/Ice/ObjectFactoryF.h +60 -0
  109. data/ext/ice/cpp/include/Ice/ObjectFactoryManagerF.h +26 -0
  110. data/ext/ice/cpp/include/Ice/ObserverHelper.h +177 -0
  111. data/ext/ice/cpp/include/Ice/Outgoing.h +197 -0
  112. data/ext/ice/cpp/include/Ice/OutgoingAsync.h +264 -0
  113. data/ext/ice/cpp/include/Ice/OutgoingAsyncF.h +38 -0
  114. data/ext/ice/cpp/include/Ice/Plugin.h +121 -0
  115. data/ext/ice/cpp/include/Ice/PluginF.h +66 -0
  116. data/ext/ice/cpp/include/Ice/Process.h +568 -0
  117. data/ext/ice/cpp/include/Ice/ProcessF.h +77 -0
  118. data/ext/ice/cpp/include/Ice/Properties.h +130 -0
  119. data/ext/ice/cpp/include/Ice/PropertiesAdmin.h +824 -0
  120. data/ext/ice/cpp/include/Ice/PropertiesF.h +83 -0
  121. data/ext/ice/cpp/include/Ice/Protocol.h +242 -0
  122. data/ext/ice/cpp/include/Ice/Proxy.h +2448 -0
  123. data/ext/ice/cpp/include/Ice/ProxyF.h +78 -0
  124. data/ext/ice/cpp/include/Ice/ProxyFactoryF.h +26 -0
  125. data/ext/ice/cpp/include/Ice/ProxyHandle.h +330 -0
  126. data/ext/ice/cpp/include/Ice/ReferenceF.h +34 -0
  127. data/ext/ice/cpp/include/Ice/RemoteLogger.h +1496 -0
  128. data/ext/ice/cpp/include/Ice/RequestHandlerF.h +29 -0
  129. data/ext/ice/cpp/include/Ice/ResponseHandlerF.h +25 -0
  130. data/ext/ice/cpp/include/Ice/Router.h +1155 -0
  131. data/ext/ice/cpp/include/Ice/RouterF.h +77 -0
  132. data/ext/ice/cpp/include/Ice/ServantLocator.h +90 -0
  133. data/ext/ice/cpp/include/Ice/ServantLocatorF.h +60 -0
  134. data/ext/ice/cpp/include/Ice/ServantManagerF.h +26 -0
  135. data/ext/ice/cpp/include/Ice/Service.h +260 -0
  136. data/ext/ice/cpp/include/Ice/SliceChecksumDict.h +56 -0
  137. data/ext/ice/cpp/include/Ice/SliceChecksums.h +34 -0
  138. data/ext/ice/cpp/include/Ice/SlicedData.h +103 -0
  139. data/ext/ice/cpp/include/Ice/SlicedDataF.h +34 -0
  140. data/ext/ice/cpp/include/Ice/Stream.h +449 -0
  141. data/ext/ice/cpp/include/Ice/StreamF.h +30 -0
  142. data/ext/ice/cpp/include/Ice/StreamHelpers.h +877 -0
  143. data/ext/ice/cpp/include/Ice/ThreadPoolF.h +28 -0
  144. data/ext/ice/cpp/include/Ice/UserExceptionFactory.h +56 -0
  145. data/ext/ice/cpp/include/Ice/Version.h +254 -0
  146. data/ext/ice/cpp/include/IceSSL/Config.h +23 -0
  147. data/ext/ice/cpp/include/IceSSL/ConnectionInfo.h +119 -0
  148. data/ext/ice/cpp/include/IceSSL/EndpointInfo.h +101 -0
  149. data/ext/ice/cpp/include/IceSSL/IceSSL.h +22 -0
  150. data/ext/ice/cpp/include/IceSSL/Makefile +26 -0
  151. data/ext/ice/cpp/include/IceSSL/Plugin.h +558 -0
  152. data/ext/ice/cpp/include/IceUtil/AbstractMutex.h +119 -0
  153. data/ext/ice/cpp/include/IceUtil/Cache.h +362 -0
  154. data/ext/ice/cpp/include/IceUtil/Cond.h +323 -0
  155. data/ext/ice/cpp/include/IceUtil/Config.h +234 -0
  156. data/ext/ice/cpp/include/IceUtil/CountDownLatch.h +50 -0
  157. data/ext/ice/cpp/include/IceUtil/CtrlCHandler.h +70 -0
  158. data/ext/ice/cpp/include/IceUtil/DisableWarnings.h +45 -0
  159. data/ext/ice/cpp/include/IceUtil/Exception.h +184 -0
  160. data/ext/ice/cpp/include/IceUtil/Functional.h +389 -0
  161. data/ext/ice/cpp/include/IceUtil/Handle.h +266 -0
  162. data/ext/ice/cpp/include/IceUtil/IceUtil.h +51 -0
  163. data/ext/ice/cpp/include/IceUtil/IconvStringConverter.h +302 -0
  164. data/ext/ice/cpp/include/IceUtil/InputUtil.h +47 -0
  165. data/ext/ice/cpp/include/IceUtil/Iterator.h +36 -0
  166. data/ext/ice/cpp/include/IceUtil/Lock.h +135 -0
  167. data/ext/ice/cpp/include/IceUtil/Makefile +26 -0
  168. data/ext/ice/cpp/include/IceUtil/Monitor.h +249 -0
  169. data/ext/ice/cpp/include/IceUtil/Mutex.h +357 -0
  170. data/ext/ice/cpp/include/IceUtil/MutexProtocol.h +28 -0
  171. data/ext/ice/cpp/include/IceUtil/MutexPtrLock.h +83 -0
  172. data/ext/ice/cpp/include/IceUtil/MutexPtrTryLock.h +82 -0
  173. data/ext/ice/cpp/include/IceUtil/Optional.h +322 -0
  174. data/ext/ice/cpp/include/IceUtil/Options.h +141 -0
  175. data/ext/ice/cpp/include/IceUtil/OutputUtil.h +362 -0
  176. data/ext/ice/cpp/include/IceUtil/PopDisableWarnings.h +19 -0
  177. data/ext/ice/cpp/include/IceUtil/PushDisableWarnings.h +26 -0
  178. data/ext/ice/cpp/include/IceUtil/Random.h +24 -0
  179. data/ext/ice/cpp/include/IceUtil/RecMutex.h +113 -0
  180. data/ext/ice/cpp/include/IceUtil/SHA1.h +65 -0
  181. data/ext/ice/cpp/include/IceUtil/ScannerConfig.h +44 -0
  182. data/ext/ice/cpp/include/IceUtil/ScopedArray.h +97 -0
  183. data/ext/ice/cpp/include/IceUtil/Shared.h +168 -0
  184. data/ext/ice/cpp/include/IceUtil/StringConverter.h +175 -0
  185. data/ext/ice/cpp/include/IceUtil/StringUtil.h +91 -0
  186. data/ext/ice/cpp/include/IceUtil/Thread.h +181 -0
  187. data/ext/ice/cpp/include/IceUtil/ThreadException.h +108 -0
  188. data/ext/ice/cpp/include/IceUtil/Time.h +209 -0
  189. data/ext/ice/cpp/include/IceUtil/Timer.h +143 -0
  190. data/ext/ice/cpp/include/IceUtil/UUID.h +22 -0
  191. data/ext/ice/cpp/include/IceUtil/UndefSysMacros.h +42 -0
  192. data/ext/ice/cpp/include/IceUtil/UniquePtr.h +101 -0
  193. data/ext/ice/cpp/include/Slice/CPlusPlusUtil.h +64 -0
  194. data/ext/ice/cpp/include/Slice/Checksum.h +26 -0
  195. data/ext/ice/cpp/include/Slice/CsUtil.h +92 -0
  196. data/ext/ice/cpp/include/Slice/DotNetNames.h +34 -0
  197. data/ext/ice/cpp/include/Slice/FileTracker.h +71 -0
  198. data/ext/ice/cpp/include/Slice/JavaUtil.h +277 -0
  199. data/ext/ice/cpp/include/Slice/Makefile +26 -0
  200. data/ext/ice/cpp/include/Slice/PHPUtil.h +50 -0
  201. data/ext/ice/cpp/include/Slice/Parser.h +1116 -0
  202. data/ext/ice/cpp/include/Slice/Preprocessor.h +68 -0
  203. data/ext/ice/cpp/include/Slice/PythonUtil.h +64 -0
  204. data/ext/ice/cpp/include/Slice/RubyUtil.h +54 -0
  205. data/ext/ice/cpp/include/Slice/Util.h +33 -0
  206. data/ext/ice/cpp/src/Ice/ACM.cpp +343 -0
  207. data/ext/ice/cpp/src/Ice/ACM.h +117 -0
  208. data/ext/ice/cpp/src/Ice/Acceptor.cpp +16 -0
  209. data/ext/ice/cpp/src/Ice/Acceptor.h +41 -0
  210. data/ext/ice/cpp/src/Ice/AcceptorF.h +30 -0
  211. data/ext/ice/cpp/src/Ice/Application.cpp +760 -0
  212. data/ext/ice/cpp/src/Ice/AsyncResult.cpp +599 -0
  213. data/ext/ice/cpp/src/Ice/Base64.cpp +269 -0
  214. data/ext/ice/cpp/src/Ice/Base64.h +36 -0
  215. data/ext/ice/cpp/src/Ice/BasicStream.cpp +3393 -0
  216. data/ext/ice/cpp/src/Ice/Buffer.cpp +98 -0
  217. data/ext/ice/cpp/src/Ice/BuiltinSequences.cpp +34 -0
  218. data/ext/ice/cpp/src/Ice/CollocatedRequestHandler.cpp +718 -0
  219. data/ext/ice/cpp/src/Ice/CollocatedRequestHandler.h +106 -0
  220. data/ext/ice/cpp/src/Ice/Communicator.cpp +45 -0
  221. data/ext/ice/cpp/src/Ice/CommunicatorF.cpp +38 -0
  222. data/ext/ice/cpp/src/Ice/CommunicatorI.cpp +386 -0
  223. data/ext/ice/cpp/src/Ice/CommunicatorI.h +112 -0
  224. data/ext/ice/cpp/src/Ice/ConnectRequestHandler.cpp +546 -0
  225. data/ext/ice/cpp/src/Ice/ConnectRequestHandler.h +97 -0
  226. data/ext/ice/cpp/src/Ice/Connection.cpp +58 -0
  227. data/ext/ice/cpp/src/Ice/ConnectionF.cpp +38 -0
  228. data/ext/ice/cpp/src/Ice/ConnectionFactory.cpp +1639 -0
  229. data/ext/ice/cpp/src/Ice/ConnectionFactory.h +236 -0
  230. data/ext/ice/cpp/src/Ice/ConnectionI.cpp +3876 -0
  231. data/ext/ice/cpp/src/Ice/ConnectionI.h +364 -0
  232. data/ext/ice/cpp/src/Ice/ConnectionRequestHandler.cpp +115 -0
  233. data/ext/ice/cpp/src/Ice/ConnectionRequestHandler.h +50 -0
  234. data/ext/ice/cpp/src/Ice/Connector.cpp +16 -0
  235. data/ext/ice/cpp/src/Ice/Connector.h +36 -0
  236. data/ext/ice/cpp/src/Ice/ConnectorF.h +26 -0
  237. data/ext/ice/cpp/src/Ice/Current.cpp +38 -0
  238. data/ext/ice/cpp/src/Ice/DefaultsAndOverrides.cpp +168 -0
  239. data/ext/ice/cpp/src/Ice/DefaultsAndOverrides.h +57 -0
  240. data/ext/ice/cpp/src/Ice/DefaultsAndOverridesF.h +26 -0
  241. data/ext/ice/cpp/src/Ice/DeprecatedStringConverter.cpp +60 -0
  242. data/ext/ice/cpp/src/Ice/DispatchInterceptor.cpp +49 -0
  243. data/ext/ice/cpp/src/Ice/DynamicLibrary.cpp +281 -0
  244. data/ext/ice/cpp/src/Ice/Endpoint.cpp +53 -0
  245. data/ext/ice/cpp/src/Ice/EndpointF.cpp +38 -0
  246. data/ext/ice/cpp/src/Ice/EndpointFactory.cpp +25 -0
  247. data/ext/ice/cpp/src/Ice/EndpointFactory.h +44 -0
  248. data/ext/ice/cpp/src/Ice/EndpointFactoryF.h +26 -0
  249. data/ext/ice/cpp/src/Ice/EndpointFactoryManager.cpp +208 -0
  250. data/ext/ice/cpp/src/Ice/EndpointFactoryManager.h +46 -0
  251. data/ext/ice/cpp/src/Ice/EndpointFactoryManagerF.h +26 -0
  252. data/ext/ice/cpp/src/Ice/EndpointI.cpp +87 -0
  253. data/ext/ice/cpp/src/Ice/EndpointI.h +165 -0
  254. data/ext/ice/cpp/src/Ice/EndpointIF.h +41 -0
  255. data/ext/ice/cpp/src/Ice/EndpointTypes.cpp +38 -0
  256. data/ext/ice/cpp/src/Ice/EventHandler.cpp +35 -0
  257. data/ext/ice/cpp/src/Ice/EventHandler.h +78 -0
  258. data/ext/ice/cpp/src/Ice/EventHandlerF.h +26 -0
  259. data/ext/ice/cpp/src/Ice/EventLoggerMsg.h +53 -0
  260. data/ext/ice/cpp/src/Ice/Exception.cpp +832 -0
  261. data/ext/ice/cpp/src/Ice/FacetMap.cpp +34 -0
  262. data/ext/ice/cpp/src/Ice/FactoryTable.cpp +158 -0
  263. data/ext/ice/cpp/src/Ice/FactoryTableInit.cpp +95 -0
  264. data/ext/ice/cpp/src/Ice/GCObject.cpp +444 -0
  265. data/ext/ice/cpp/src/Ice/HashUtil.h +59 -0
  266. data/ext/ice/cpp/src/Ice/HttpParser.cpp +680 -0
  267. data/ext/ice/cpp/src/Ice/HttpParser.h +124 -0
  268. data/ext/ice/cpp/src/Ice/IPEndpointI.cpp +733 -0
  269. data/ext/ice/cpp/src/Ice/IPEndpointI.h +157 -0
  270. data/ext/ice/cpp/src/Ice/IPEndpointIF.h +29 -0
  271. data/ext/ice/cpp/src/Ice/Identity.cpp +42 -0
  272. data/ext/ice/cpp/src/Ice/ImplicitContext.cpp +41 -0
  273. data/ext/ice/cpp/src/Ice/ImplicitContextF.cpp +38 -0
  274. data/ext/ice/cpp/src/Ice/ImplicitContextI.cpp +639 -0
  275. data/ext/ice/cpp/src/Ice/ImplicitContextI.h +51 -0
  276. data/ext/ice/cpp/src/Ice/Incoming.cpp +757 -0
  277. data/ext/ice/cpp/src/Ice/IncomingAsync.cpp +340 -0
  278. data/ext/ice/cpp/src/Ice/IncomingRequest.h +37 -0
  279. data/ext/ice/cpp/src/Ice/Initialize.cpp +401 -0
  280. data/ext/ice/cpp/src/Ice/Instance.cpp +1928 -0
  281. data/ext/ice/cpp/src/Ice/Instance.h +198 -0
  282. data/ext/ice/cpp/src/Ice/Instrumentation.cpp +68 -0
  283. data/ext/ice/cpp/src/Ice/InstrumentationF.cpp +43 -0
  284. data/ext/ice/cpp/src/Ice/InstrumentationI.cpp +1083 -0
  285. data/ext/ice/cpp/src/Ice/InstrumentationI.h +262 -0
  286. data/ext/ice/cpp/src/Ice/LocalException.cpp +2091 -0
  287. data/ext/ice/cpp/src/Ice/LocalObject.cpp +29 -0
  288. data/ext/ice/cpp/src/Ice/Locator.cpp +1946 -0
  289. data/ext/ice/cpp/src/Ice/LocatorF.cpp +39 -0
  290. data/ext/ice/cpp/src/Ice/LocatorInfo.cpp +917 -0
  291. data/ext/ice/cpp/src/Ice/LocatorInfo.h +193 -0
  292. data/ext/ice/cpp/src/Ice/LocatorInfoF.h +34 -0
  293. data/ext/ice/cpp/src/Ice/Logger.cpp +40 -0
  294. data/ext/ice/cpp/src/Ice/LoggerAdminI.cpp +862 -0
  295. data/ext/ice/cpp/src/Ice/LoggerAdminI.h +46 -0
  296. data/ext/ice/cpp/src/Ice/LoggerF.cpp +38 -0
  297. data/ext/ice/cpp/src/Ice/LoggerI.cpp +199 -0
  298. data/ext/ice/cpp/src/Ice/LoggerI.h +57 -0
  299. data/ext/ice/cpp/src/Ice/LoggerUtil.cpp +107 -0
  300. data/ext/ice/cpp/src/Ice/Makefile +190 -0
  301. data/ext/ice/cpp/src/Ice/Metrics.cpp +2159 -0
  302. data/ext/ice/cpp/src/Ice/MetricsAdminI.cpp +669 -0
  303. data/ext/ice/cpp/src/Ice/MetricsObserverI.cpp +14 -0
  304. data/ext/ice/cpp/src/Ice/Network.cpp +2694 -0
  305. data/ext/ice/cpp/src/Ice/Network.h +291 -0
  306. data/ext/ice/cpp/src/Ice/NetworkF.h +28 -0
  307. data/ext/ice/cpp/src/Ice/NetworkProxy.cpp +325 -0
  308. data/ext/ice/cpp/src/Ice/NetworkProxy.h +74 -0
  309. data/ext/ice/cpp/src/Ice/NetworkProxyF.h +26 -0
  310. data/ext/ice/cpp/src/Ice/Object.cpp +440 -0
  311. data/ext/ice/cpp/src/Ice/ObjectAdapter.cpp +41 -0
  312. data/ext/ice/cpp/src/Ice/ObjectAdapterF.cpp +38 -0
  313. data/ext/ice/cpp/src/Ice/ObjectAdapterFactory.cpp +241 -0
  314. data/ext/ice/cpp/src/Ice/ObjectAdapterFactory.h +52 -0
  315. data/ext/ice/cpp/src/Ice/ObjectAdapterI.cpp +1498 -0
  316. data/ext/ice/cpp/src/Ice/ObjectAdapterI.h +155 -0
  317. data/ext/ice/cpp/src/Ice/ObjectFactory.cpp +41 -0
  318. data/ext/ice/cpp/src/Ice/ObjectFactoryF.cpp +38 -0
  319. data/ext/ice/cpp/src/Ice/ObjectFactoryManager.cpp +140 -0
  320. data/ext/ice/cpp/src/Ice/ObjectFactoryManager.h +43 -0
  321. data/ext/ice/cpp/src/Ice/ObserverHelper.cpp +84 -0
  322. data/ext/ice/cpp/src/Ice/OpaqueEndpointI.cpp +407 -0
  323. data/ext/ice/cpp/src/Ice/OpaqueEndpointI.h +70 -0
  324. data/ext/ice/cpp/src/Ice/Outgoing.cpp +737 -0
  325. data/ext/ice/cpp/src/Ice/OutgoingAsync.cpp +874 -0
  326. data/ext/ice/cpp/src/Ice/Plugin.cpp +43 -0
  327. data/ext/ice/cpp/src/Ice/PluginF.cpp +38 -0
  328. data/ext/ice/cpp/src/Ice/PluginManagerI.cpp +503 -0
  329. data/ext/ice/cpp/src/Ice/PluginManagerI.h +67 -0
  330. data/ext/ice/cpp/src/Ice/Process.cpp +299 -0
  331. data/ext/ice/cpp/src/Ice/ProcessF.cpp +39 -0
  332. data/ext/ice/cpp/src/Ice/Properties.cpp +45 -0
  333. data/ext/ice/cpp/src/Ice/PropertiesAdmin.cpp +555 -0
  334. data/ext/ice/cpp/src/Ice/PropertiesAdminI.cpp +207 -0
  335. data/ext/ice/cpp/src/Ice/PropertiesAdminI.h +45 -0
  336. data/ext/ice/cpp/src/Ice/PropertiesF.cpp +39 -0
  337. data/ext/ice/cpp/src/Ice/PropertiesI.cpp +759 -0
  338. data/ext/ice/cpp/src/Ice/PropertiesI.h +78 -0
  339. data/ext/ice/cpp/src/Ice/PropertyNames.cpp +1293 -0
  340. data/ext/ice/cpp/src/Ice/PropertyNames.h +81 -0
  341. data/ext/ice/cpp/src/Ice/Protocol.cpp +137 -0
  342. data/ext/ice/cpp/src/Ice/ProtocolInstance.cpp +98 -0
  343. data/ext/ice/cpp/src/Ice/ProtocolInstance.h +91 -0
  344. data/ext/ice/cpp/src/Ice/ProtocolInstanceF.h +26 -0
  345. data/ext/ice/cpp/src/Ice/ProtocolPluginFacade.cpp +51 -0
  346. data/ext/ice/cpp/src/Ice/ProtocolPluginFacade.h +67 -0
  347. data/ext/ice/cpp/src/Ice/ProtocolPluginFacadeF.h +26 -0
  348. data/ext/ice/cpp/src/Ice/Proxy.cpp +1810 -0
  349. data/ext/ice/cpp/src/Ice/ProxyFactory.cpp +305 -0
  350. data/ext/ice/cpp/src/Ice/ProxyFactory.h +57 -0
  351. data/ext/ice/cpp/src/Ice/Reference.cpp +1947 -0
  352. data/ext/ice/cpp/src/Ice/Reference.h +305 -0
  353. data/ext/ice/cpp/src/Ice/ReferenceFactory.cpp +937 -0
  354. data/ext/ice/cpp/src/Ice/ReferenceFactory.h +81 -0
  355. data/ext/ice/cpp/src/Ice/ReferenceFactoryF.h +24 -0
  356. data/ext/ice/cpp/src/Ice/RemoteLogger.cpp +958 -0
  357. data/ext/ice/cpp/src/Ice/ReplyStatus.h +29 -0
  358. data/ext/ice/cpp/src/Ice/RequestHandler.cpp +40 -0
  359. data/ext/ice/cpp/src/Ice/RequestHandler.h +90 -0
  360. data/ext/ice/cpp/src/Ice/RequestHandlerFactory.cpp +70 -0
  361. data/ext/ice/cpp/src/Ice/RequestHandlerFactory.h +41 -0
  362. data/ext/ice/cpp/src/Ice/ResponseHandler.cpp +20 -0
  363. data/ext/ice/cpp/src/Ice/ResponseHandler.h +39 -0
  364. data/ext/ice/cpp/src/Ice/RetryQueue.cpp +154 -0
  365. data/ext/ice/cpp/src/Ice/RetryQueue.h +69 -0
  366. data/ext/ice/cpp/src/Ice/RetryQueueF.h +24 -0
  367. data/ext/ice/cpp/src/Ice/Router.cpp +849 -0
  368. data/ext/ice/cpp/src/Ice/RouterF.cpp +39 -0
  369. data/ext/ice/cpp/src/Ice/RouterInfo.cpp +381 -0
  370. data/ext/ice/cpp/src/Ice/RouterInfo.h +148 -0
  371. data/ext/ice/cpp/src/Ice/RouterInfoF.h +30 -0
  372. data/ext/ice/cpp/src/Ice/Selector.cpp +926 -0
  373. data/ext/ice/cpp/src/Ice/Selector.h +231 -0
  374. data/ext/ice/cpp/src/Ice/ServantLocator.cpp +41 -0
  375. data/ext/ice/cpp/src/Ice/ServantLocatorF.cpp +38 -0
  376. data/ext/ice/cpp/src/Ice/ServantManager.cpp +495 -0
  377. data/ext/ice/cpp/src/Ice/ServantManager.h +74 -0
  378. data/ext/ice/cpp/src/Ice/Service.cpp +1897 -0
  379. data/ext/ice/cpp/src/Ice/SharedContext.h +51 -0
  380. data/ext/ice/cpp/src/Ice/SliceChecksumDict.cpp +34 -0
  381. data/ext/ice/cpp/src/Ice/SliceChecksums.cpp +80 -0
  382. data/ext/ice/cpp/src/Ice/SlicedData.cpp +80 -0
  383. data/ext/ice/cpp/src/Ice/Stream.cpp +53 -0
  384. data/ext/ice/cpp/src/Ice/StreamI.cpp +832 -0
  385. data/ext/ice/cpp/src/Ice/StreamI.h +198 -0
  386. data/ext/ice/cpp/src/Ice/StreamSocket.cpp +521 -0
  387. data/ext/ice/cpp/src/Ice/StreamSocket.h +85 -0
  388. data/ext/ice/cpp/src/Ice/StringConverterPlugin.cpp +145 -0
  389. data/ext/ice/cpp/src/Ice/SysLoggerI.cpp +167 -0
  390. data/ext/ice/cpp/src/Ice/SysLoggerI.h +43 -0
  391. data/ext/ice/cpp/src/Ice/TcpAcceptor.cpp +235 -0
  392. data/ext/ice/cpp/src/Ice/TcpAcceptor.h +67 -0
  393. data/ext/ice/cpp/src/Ice/TcpConnector.cpp +133 -0
  394. data/ext/ice/cpp/src/Ice/TcpConnector.h +51 -0
  395. data/ext/ice/cpp/src/Ice/TcpEndpointI.cpp +397 -0
  396. data/ext/ice/cpp/src/Ice/TcpEndpointI.h +93 -0
  397. data/ext/ice/cpp/src/Ice/TcpTransceiver.cpp +127 -0
  398. data/ext/ice/cpp/src/Ice/TcpTransceiver.h +61 -0
  399. data/ext/ice/cpp/src/Ice/ThreadPool.cpp +1357 -0
  400. data/ext/ice/cpp/src/Ice/ThreadPool.h +399 -0
  401. data/ext/ice/cpp/src/Ice/TraceLevels.cpp +43 -0
  402. data/ext/ice/cpp/src/Ice/TraceLevels.h +50 -0
  403. data/ext/ice/cpp/src/Ice/TraceLevelsF.h +26 -0
  404. data/ext/ice/cpp/src/Ice/TraceUtil.cpp +452 -0
  405. data/ext/ice/cpp/src/Ice/TraceUtil.h +28 -0
  406. data/ext/ice/cpp/src/Ice/Transceiver.cpp +24 -0
  407. data/ext/ice/cpp/src/Ice/Transceiver.h +52 -0
  408. data/ext/ice/cpp/src/Ice/TransceiverF.h +38 -0
  409. data/ext/ice/cpp/src/Ice/UdpConnector.cpp +144 -0
  410. data/ext/ice/cpp/src/Ice/UdpConnector.h +51 -0
  411. data/ext/ice/cpp/src/Ice/UdpEndpointI.cpp +483 -0
  412. data/ext/ice/cpp/src/Ice/UdpEndpointI.h +95 -0
  413. data/ext/ice/cpp/src/Ice/UdpTransceiver.cpp +1156 -0
  414. data/ext/ice/cpp/src/Ice/UdpTransceiver.h +123 -0
  415. data/ext/ice/cpp/src/Ice/Version.cpp +46 -0
  416. data/ext/ice/cpp/src/Ice/WSAcceptor.cpp +103 -0
  417. data/ext/ice/cpp/src/Ice/WSAcceptor.h +61 -0
  418. data/ext/ice/cpp/src/Ice/WSConnector.cpp +113 -0
  419. data/ext/ice/cpp/src/Ice/WSConnector.h +51 -0
  420. data/ext/ice/cpp/src/Ice/WSEndpoint.cpp +441 -0
  421. data/ext/ice/cpp/src/Ice/WSEndpoint.h +97 -0
  422. data/ext/ice/cpp/src/Ice/WSTransceiver.cpp +1728 -0
  423. data/ext/ice/cpp/src/Ice/WSTransceiver.h +149 -0
  424. data/ext/ice/cpp/src/IceDiscovery/IceDiscovery.cpp +594 -0
  425. data/ext/ice/cpp/src/IceDiscovery/IceDiscovery.h +1035 -0
  426. data/ext/ice/cpp/src/IceDiscovery/LocatorI.cpp +208 -0
  427. data/ext/ice/cpp/src/IceDiscovery/LocatorI.h +78 -0
  428. data/ext/ice/cpp/src/IceDiscovery/LookupI.cpp +308 -0
  429. data/ext/ice/cpp/src/IceDiscovery/LookupI.h +183 -0
  430. data/ext/ice/cpp/src/IceDiscovery/Makefile +61 -0
  431. data/ext/ice/cpp/src/IceDiscovery/PluginI.cpp +148 -0
  432. data/ext/ice/cpp/src/IceDiscovery/PluginI.h +39 -0
  433. data/ext/ice/cpp/src/IceSSL/AcceptorI.cpp +258 -0
  434. data/ext/ice/cpp/src/IceSSL/AcceptorI.h +66 -0
  435. data/ext/ice/cpp/src/IceSSL/Certificate.cpp +1334 -0
  436. data/ext/ice/cpp/src/IceSSL/ConnectionInfo.cpp +42 -0
  437. data/ext/ice/cpp/src/IceSSL/ConnectorI.cpp +151 -0
  438. data/ext/ice/cpp/src/IceSSL/ConnectorI.h +56 -0
  439. data/ext/ice/cpp/src/IceSSL/EndpointI.cpp +397 -0
  440. data/ext/ice/cpp/src/IceSSL/EndpointI.h +96 -0
  441. data/ext/ice/cpp/src/IceSSL/EndpointInfo.cpp +41 -0
  442. data/ext/ice/cpp/src/IceSSL/Instance.cpp +38 -0
  443. data/ext/ice/cpp/src/IceSSL/Instance.h +42 -0
  444. data/ext/ice/cpp/src/IceSSL/InstanceF.h +34 -0
  445. data/ext/ice/cpp/src/IceSSL/Makefile +82 -0
  446. data/ext/ice/cpp/src/IceSSL/OpenSSLEngine.cpp +1001 -0
  447. data/ext/ice/cpp/src/IceSSL/OpenSSLTransceiverI.cpp +607 -0
  448. data/ext/ice/cpp/src/IceSSL/OpenSSLTransceiverI.h +75 -0
  449. data/ext/ice/cpp/src/IceSSL/PluginI.cpp +102 -0
  450. data/ext/ice/cpp/src/IceSSL/PluginI.h +56 -0
  451. data/ext/ice/cpp/src/IceSSL/RFC2253.cpp +541 -0
  452. data/ext/ice/cpp/src/IceSSL/RFC2253.h +67 -0
  453. data/ext/ice/cpp/src/IceSSL/SChannelEngine.cpp +729 -0
  454. data/ext/ice/cpp/src/IceSSL/SChannelTransceiverI.cpp +1062 -0
  455. data/ext/ice/cpp/src/IceSSL/SChannelTransceiverI.h +130 -0
  456. data/ext/ice/cpp/src/IceSSL/SSLEngine.cpp +291 -0
  457. data/ext/ice/cpp/src/IceSSL/SSLEngine.h +264 -0
  458. data/ext/ice/cpp/src/IceSSL/SSLEngineF.h +41 -0
  459. data/ext/ice/cpp/src/IceSSL/SecureTransportEngine.cpp +1514 -0
  460. data/ext/ice/cpp/src/IceSSL/SecureTransportTransceiverI.cpp +609 -0
  461. data/ext/ice/cpp/src/IceSSL/SecureTransportTransceiverI.h +91 -0
  462. data/ext/ice/cpp/src/IceSSL/TrustManager.cpp +246 -0
  463. data/ext/ice/cpp/src/IceSSL/TrustManager.h +51 -0
  464. data/ext/ice/cpp/src/IceSSL/TrustManagerF.h +26 -0
  465. data/ext/ice/cpp/src/IceSSL/Util.cpp +1423 -0
  466. data/ext/ice/cpp/src/IceSSL/Util.h +136 -0
  467. data/ext/ice/cpp/src/IceUtil/ArgVector.cpp +65 -0
  468. data/ext/ice/cpp/src/IceUtil/ArgVector.h +41 -0
  469. data/ext/ice/cpp/src/IceUtil/Cond.cpp +386 -0
  470. data/ext/ice/cpp/src/IceUtil/ConvertUTF.cpp +477 -0
  471. data/ext/ice/cpp/src/IceUtil/ConvertUTF.h +144 -0
  472. data/ext/ice/cpp/src/IceUtil/CountDownLatch.cpp +184 -0
  473. data/ext/ice/cpp/src/IceUtil/CtrlCHandler.cpp +273 -0
  474. data/ext/ice/cpp/src/IceUtil/Exception.cpp +782 -0
  475. data/ext/ice/cpp/src/IceUtil/FileUtil.cpp +532 -0
  476. data/ext/ice/cpp/src/IceUtil/FileUtil.h +159 -0
  477. data/ext/ice/cpp/src/IceUtil/InputUtil.cpp +41 -0
  478. data/ext/ice/cpp/src/IceUtil/Makefile +68 -0
  479. data/ext/ice/cpp/src/IceUtil/MutexProtocol.cpp +24 -0
  480. data/ext/ice/cpp/src/IceUtil/Options.cpp +1049 -0
  481. data/ext/ice/cpp/src/IceUtil/OutputUtil.cpp +591 -0
  482. data/ext/ice/cpp/src/IceUtil/Random.cpp +185 -0
  483. data/ext/ice/cpp/src/IceUtil/RecMutex.cpp +257 -0
  484. data/ext/ice/cpp/src/IceUtil/SHA1.cpp +126 -0
  485. data/ext/ice/cpp/src/IceUtil/Shared.cpp +200 -0
  486. data/ext/ice/cpp/src/IceUtil/StopWatch.h +54 -0
  487. data/ext/ice/cpp/src/IceUtil/StringConverter.cpp +450 -0
  488. data/ext/ice/cpp/src/IceUtil/StringUtil.cpp +842 -0
  489. data/ext/ice/cpp/src/IceUtil/Thread.cpp +809 -0
  490. data/ext/ice/cpp/src/IceUtil/ThreadException.cpp +172 -0
  491. data/ext/ice/cpp/src/IceUtil/Time.cpp +306 -0
  492. data/ext/ice/cpp/src/IceUtil/Timer.cpp +251 -0
  493. data/ext/ice/cpp/src/IceUtil/UUID.cpp +174 -0
  494. data/ext/ice/cpp/src/IceUtil/Unicode.cpp +131 -0
  495. data/ext/ice/cpp/src/IceUtil/Unicode.h +49 -0
  496. data/ext/ice/cpp/src/Slice/CPlusPlusUtil.cpp +1139 -0
  497. data/ext/ice/cpp/src/Slice/Checksum.cpp +452 -0
  498. data/ext/ice/cpp/src/Slice/CsUtil.cpp +2650 -0
  499. data/ext/ice/cpp/src/Slice/DotNetNames.cpp +146 -0
  500. data/ext/ice/cpp/src/Slice/FileTracker.cpp +203 -0
  501. data/ext/ice/cpp/src/Slice/Grammar.cpp +4755 -0
  502. data/ext/ice/cpp/src/Slice/Grammar.h +98 -0
  503. data/ext/ice/cpp/src/Slice/GrammarUtil.h +234 -0
  504. data/ext/ice/cpp/src/Slice/JavaUtil.cpp +4376 -0
  505. data/ext/ice/cpp/src/Slice/MD5.cpp +57 -0
  506. data/ext/ice/cpp/src/Slice/MD5.h +44 -0
  507. data/ext/ice/cpp/src/Slice/MD5I.cpp +385 -0
  508. data/ext/ice/cpp/src/Slice/MD5I.h +91 -0
  509. data/ext/ice/cpp/src/Slice/Makefile +65 -0
  510. data/ext/ice/cpp/src/Slice/PHPUtil.cpp +156 -0
  511. data/ext/ice/cpp/src/Slice/Parser.cpp +6386 -0
  512. data/ext/ice/cpp/src/Slice/Preprocessor.cpp +686 -0
  513. data/ext/ice/cpp/src/Slice/Python.cpp +675 -0
  514. data/ext/ice/cpp/src/Slice/PythonUtil.cpp +2614 -0
  515. data/ext/ice/cpp/src/Slice/Ruby.cpp +317 -0
  516. data/ext/ice/cpp/src/Slice/RubyUtil.cpp +1774 -0
  517. data/ext/ice/cpp/src/Slice/Scanner.cpp +2426 -0
  518. data/ext/ice/cpp/src/Slice/Util.cpp +325 -0
  519. data/ext/ice/mcpp/config.h.Darwin +227 -0
  520. data/ext/ice/mcpp/config.h.Linux +227 -0
  521. data/ext/ice/mcpp/config.h.MINGW +7 -0
  522. data/ext/ice/mcpp/configed.H +382 -0
  523. data/ext/ice/mcpp/directive.c +1699 -0
  524. data/ext/ice/mcpp/eval.c +1673 -0
  525. data/ext/ice/mcpp/expand.c +2980 -0
  526. data/ext/ice/mcpp/internal.H +564 -0
  527. data/ext/ice/mcpp/main.c +1131 -0
  528. data/ext/ice/mcpp/mbchar.c +869 -0
  529. data/ext/ice/mcpp/mcpp_lib.h +31 -0
  530. data/ext/ice/mcpp/mcpp_out.h +13 -0
  531. data/ext/ice/mcpp/support.c +2811 -0
  532. data/ext/ice/mcpp/system.H +396 -0
  533. data/ext/ice/mcpp/system.c +4940 -0
  534. data/ice.gemspec +41 -0
  535. data/lib/Glacier2.rb +12 -0
  536. data/lib/Glacier2/Metrics.rb +99 -0
  537. data/lib/Glacier2/PermissionsVerifier.rb +168 -0
  538. data/lib/Glacier2/PermissionsVerifierF.rb +34 -0
  539. data/lib/Glacier2/Router.rb +141 -0
  540. data/lib/Glacier2/RouterF.rb +29 -0
  541. data/lib/Glacier2/SSLInfo.rb +79 -0
  542. data/lib/Glacier2/Session.rb +470 -0
  543. data/lib/Ice.rb +659 -0
  544. data/lib/Ice/BuiltinSequences.rb +64 -0
  545. data/lib/Ice/Communicator.rb +93 -0
  546. data/lib/Ice/CommunicatorF.rb +28 -0
  547. data/lib/Ice/Connection.rb +414 -0
  548. data/lib/Ice/ConnectionF.rb +36 -0
  549. data/lib/Ice/Current.rb +152 -0
  550. data/lib/Ice/Endpoint.rb +265 -0
  551. data/lib/Ice/EndpointF.rb +52 -0
  552. data/lib/Ice/EndpointTypes.rb +77 -0
  553. data/lib/Ice/FacetMap.rb +28 -0
  554. data/lib/Ice/Identity.rb +70 -0
  555. data/lib/Ice/ImplicitContext.rb +59 -0
  556. data/lib/Ice/ImplicitContextF.rb +28 -0
  557. data/lib/Ice/Instrumentation.rb +425 -0
  558. data/lib/Ice/InstrumentationF.rb +35 -0
  559. data/lib/Ice/LocalException.rb +1081 -0
  560. data/lib/Ice/Locator.rb +314 -0
  561. data/lib/Ice/LocatorF.rb +34 -0
  562. data/lib/Ice/Logger.rb +57 -0
  563. data/lib/Ice/LoggerF.rb +28 -0
  564. data/lib/Ice/Metrics.rb +696 -0
  565. data/lib/Ice/ObjectAdapterF.rb +28 -0
  566. data/lib/Ice/ObjectFactory.rb +53 -0
  567. data/lib/Ice/ObjectFactoryF.rb +28 -0
  568. data/lib/Ice/Plugin.rb +87 -0
  569. data/lib/Ice/PluginF.rb +32 -0
  570. data/lib/Ice/Process.rb +93 -0
  571. data/lib/Ice/ProcessF.rb +29 -0
  572. data/lib/Ice/Properties.rb +65 -0
  573. data/lib/Ice/PropertiesAdmin.rb +104 -0
  574. data/lib/Ice/PropertiesF.rb +33 -0
  575. data/lib/Ice/Router.rb +163 -0
  576. data/lib/Ice/RouterF.rb +29 -0
  577. data/lib/Ice/SliceChecksumDict.rb +28 -0
  578. data/lib/Ice/Version.rb +100 -0
  579. data/lib/IceBox.rb +10 -0
  580. data/lib/IceBox/IceBox.rb +272 -0
  581. data/lib/IceGrid.rb +17 -0
  582. data/lib/IceGrid/Admin.rb +1076 -0
  583. data/lib/IceGrid/Descriptor.rb +1505 -0
  584. data/lib/IceGrid/Exception.rb +401 -0
  585. data/lib/IceGrid/FileParser.rb +105 -0
  586. data/lib/IceGrid/Locator.rb +105 -0
  587. data/lib/IceGrid/Observer.rb +571 -0
  588. data/lib/IceGrid/Query.rb +168 -0
  589. data/lib/IceGrid/Registry.rb +120 -0
  590. data/lib/IceGrid/Session.rb +114 -0
  591. data/lib/IceGrid/UserAccountMapper.rb +101 -0
  592. data/lib/IcePatch2.rb +10 -0
  593. data/lib/IcePatch2/FileInfo.rb +75 -0
  594. data/lib/IcePatch2/FileServer.rb +141 -0
  595. data/lib/IceStorm.rb +11 -0
  596. data/lib/IceStorm/IceStorm.rb +463 -0
  597. data/lib/IceStorm/Metrics.rb +155 -0
  598. data/slice/Freeze/BackgroundSaveEvictor.ice +111 -0
  599. data/slice/Freeze/CatalogData.ice +49 -0
  600. data/slice/Freeze/Connection.ice +111 -0
  601. data/slice/Freeze/ConnectionF.ice +20 -0
  602. data/slice/Freeze/DB.ice +37 -0
  603. data/slice/Freeze/Evictor.ice +339 -0
  604. data/slice/Freeze/EvictorF.ice +22 -0
  605. data/slice/Freeze/EvictorStorage.ice +72 -0
  606. data/slice/Freeze/Exception.ice +100 -0
  607. data/slice/Freeze/Transaction.ice +57 -0
  608. data/slice/Freeze/TransactionalEvictor.ice +50 -0
  609. data/slice/Glacier2/Metrics.ice +77 -0
  610. data/slice/Glacier2/PermissionsVerifier.ice +105 -0
  611. data/slice/Glacier2/PermissionsVerifierF.ice +21 -0
  612. data/slice/Glacier2/Router.ice +178 -0
  613. data/slice/Glacier2/RouterF.ice +20 -0
  614. data/slice/Glacier2/SSLInfo.ice +50 -0
  615. data/slice/Glacier2/Session.ice +273 -0
  616. data/slice/Ice/BuiltinSequences.ice +48 -0
  617. data/slice/Ice/Communicator.ice +567 -0
  618. data/slice/Ice/CommunicatorF.ice +20 -0
  619. data/slice/Ice/Connection.ice +323 -0
  620. data/slice/Ice/ConnectionF.ice +22 -0
  621. data/slice/Ice/Current.ice +160 -0
  622. data/slice/Ice/Endpoint.ice +227 -0
  623. data/slice/Ice/EndpointF.ice +32 -0
  624. data/slice/Ice/EndpointTypes.ice +38 -0
  625. data/slice/Ice/FacetMap.ice +25 -0
  626. data/slice/Ice/Identity.ice +59 -0
  627. data/slice/Ice/ImplicitContext.ice +109 -0
  628. data/slice/Ice/ImplicitContextF.ice +20 -0
  629. data/slice/Ice/Instrumentation.ice +499 -0
  630. data/slice/Ice/InstrumentationF.ice +26 -0
  631. data/slice/Ice/LocalException.ice +1015 -0
  632. data/slice/Ice/Locator.ice +227 -0
  633. data/slice/Ice/LocatorF.ice +21 -0
  634. data/slice/Ice/Logger.ice +86 -0
  635. data/slice/Ice/LoggerF.ice +20 -0
  636. data/slice/Ice/Metrics.ice +422 -0
  637. data/slice/Ice/ObjectAdapter.ice +673 -0
  638. data/slice/Ice/ObjectAdapterF.ice +20 -0
  639. data/slice/Ice/ObjectFactory.ice +60 -0
  640. data/slice/Ice/ObjectFactoryF.ice +20 -0
  641. data/slice/Ice/Plugin.ice +117 -0
  642. data/slice/Ice/PluginF.ice +21 -0
  643. data/slice/Ice/Process.ice +54 -0
  644. data/slice/Ice/ProcessF.ice +20 -0
  645. data/slice/Ice/Properties.ice +228 -0
  646. data/slice/Ice/PropertiesAdmin.ice +75 -0
  647. data/slice/Ice/PropertiesF.ice +21 -0
  648. data/slice/Ice/RemoteLogger.ice +232 -0
  649. data/slice/Ice/Router.ice +83 -0
  650. data/slice/Ice/RouterF.ice +20 -0
  651. data/slice/Ice/ServantLocator.ice +117 -0
  652. data/slice/Ice/ServantLocatorF.ice +20 -0
  653. data/slice/Ice/SliceChecksumDict.ice +25 -0
  654. data/slice/Ice/Version.ice +39 -0
  655. data/slice/IceBox/IceBox.ice +194 -0
  656. data/slice/IceDiscovery/IceDiscovery.ice +32 -0
  657. data/slice/IceGrid/Admin.ice +1578 -0
  658. data/slice/IceGrid/Descriptor.ice +1079 -0
  659. data/slice/IceGrid/Discovery.ice +73 -0
  660. data/slice/IceGrid/Exception.ice +383 -0
  661. data/slice/IceGrid/FileParser.ice +61 -0
  662. data/slice/IceGrid/Locator.ice +56 -0
  663. data/slice/IceGrid/Observer.ice +394 -0
  664. data/slice/IceGrid/PluginFacade.ice +316 -0
  665. data/slice/IceGrid/Query.ice +130 -0
  666. data/slice/IceGrid/Registry.ice +138 -0
  667. data/slice/IceGrid/Session.ice +124 -0
  668. data/slice/IceGrid/UserAccountMapper.ice +58 -0
  669. data/slice/IcePatch2/FileInfo.ice +49 -0
  670. data/slice/IcePatch2/FileServer.ice +129 -0
  671. data/slice/IceSSL/ConnectionInfo.ice +34 -0
  672. data/slice/IceSSL/EndpointInfo.ice +41 -0
  673. data/slice/IceStorm/IceStorm.ice +405 -0
  674. data/slice/IceStorm/Metrics.ice +71 -0
  675. metadata +737 -0
@@ -0,0 +1,842 @@
1
+ // **********************************************************************
2
+ //
3
+ // Copyright (c) 2003-2014 ZeroC, Inc. All rights reserved.
4
+ //
5
+ // This copy of Ice is licensed to you under the terms described in the
6
+ // ICE_LICENSE file included in this distribution.
7
+ //
8
+ // **********************************************************************
9
+
10
+ #include <IceUtil/StringUtil.h>
11
+ #include <IceUtil/StringConverter.h>
12
+ #include <cstring>
13
+
14
+ #ifdef ICE_OS_WINRT
15
+ # include <IceUtil/ScopedArray.h>
16
+ #endif
17
+
18
+ using namespace std;
19
+ using namespace IceUtil;
20
+
21
+ namespace
22
+ {
23
+
24
+ string
25
+ toOctalString(unsigned int n)
26
+ {
27
+ string s;
28
+ s.resize(32);
29
+ string::size_type charPos = 32;
30
+ const int radix = 1 << 3;
31
+ int mask = radix - 1;
32
+ do
33
+ {
34
+ s[--charPos] = '0' + (n & mask);
35
+ n >>= 3;
36
+ }
37
+ while(n != 0);
38
+
39
+ return string(s, charPos, (32 - charPos));
40
+ }
41
+
42
+ //
43
+ // Write the byte b as an escape sequence if it isn't a printable ASCII
44
+ // character and append the escape sequence to s. Additional characters
45
+ // that should be escaped can be passed in special. If b is any of these
46
+ // characters, b is preceded by a backslash in s.
47
+ //
48
+ void
49
+ encodeChar(string::value_type b, string& s, const string& special)
50
+ {
51
+ switch(b)
52
+ {
53
+ case '\\':
54
+ {
55
+ s.append("\\\\");
56
+ break;
57
+ }
58
+
59
+ case '\'':
60
+ {
61
+ s.append("\\'");
62
+ break;
63
+ }
64
+
65
+ case '"':
66
+ {
67
+ s.append("\\\"");
68
+ break;
69
+ }
70
+
71
+ case '\b':
72
+ {
73
+ s.append("\\b");
74
+ break;
75
+ }
76
+
77
+ case '\f':
78
+ {
79
+ s.append("\\f");
80
+ break;
81
+ }
82
+
83
+ case '\n':
84
+ {
85
+ s.append("\\n");
86
+ break;
87
+ }
88
+
89
+ case '\r':
90
+ {
91
+ s.append("\\r");
92
+ break;
93
+ }
94
+
95
+ case '\t':
96
+ {
97
+ s.append("\\t");
98
+ break;
99
+ }
100
+
101
+ default:
102
+ {
103
+ unsigned char i = static_cast<unsigned char>(b);
104
+ if(!(i >= 32 && i <= 126))
105
+ {
106
+ s.push_back('\\');
107
+ string octal = toOctalString(i);
108
+ //
109
+ // Add leading zeroes so that we avoid problems during
110
+ // decoding. For example, consider the escaped string
111
+ // \0013 (i.e., a character with value 1 followed by the
112
+ // character '3'). If the leading zeroes were omitted, the
113
+ // result would be incorrectly interpreted as a single
114
+ // character with value 11.
115
+ //
116
+ for(string::size_type j = octal.size(); j < 3; j++)
117
+ {
118
+ s.push_back('0');
119
+ }
120
+ s.append(octal);
121
+ }
122
+ else if(special.find(b) != string::npos)
123
+ {
124
+ s.push_back('\\');
125
+ s.push_back(b);
126
+ }
127
+ else
128
+ {
129
+ s.push_back(b);
130
+ }
131
+ break;
132
+ }
133
+ }
134
+ }
135
+
136
+ }
137
+
138
+ //
139
+ // Add escape sequences (such as "\n", or "\007") to make a string
140
+ // readable in ASCII. Any characters that appear in special are
141
+ // prefixed with a backslash in the returned string.
142
+ //
143
+ string
144
+ IceUtilInternal::escapeString(const string& s, const string& special)
145
+ {
146
+ for(string::size_type i = 0; i < special.size(); ++i)
147
+ {
148
+ if(static_cast<unsigned char>(special[i]) < 32 || static_cast<unsigned char>(special[i]) > 126)
149
+ {
150
+ throw IllegalArgumentException(__FILE__, __LINE__, "special characters must be in ASCII range 32-126");
151
+ }
152
+ }
153
+
154
+ string result;
155
+ for(string::size_type i = 0; i < s.size(); ++i)
156
+ {
157
+ encodeChar(s[i], result, special);
158
+ }
159
+
160
+ return result;
161
+ }
162
+
163
+ namespace
164
+ {
165
+
166
+ char
167
+ checkChar(const string& s, string::size_type pos)
168
+ {
169
+ unsigned char c = static_cast<unsigned char>(s[pos]);
170
+ if(!(c >= 32 && c <= 126))
171
+ {
172
+ ostringstream ostr;
173
+ if(pos > 0)
174
+ {
175
+ ostr << "character after `" << s.substr(0, pos) << "'";
176
+ }
177
+ else
178
+ {
179
+ ostr << "first character";
180
+ }
181
+ ostr << " is not a printable ASCII character (ordinal " << static_cast<int>(c) << ")";
182
+ throw IllegalArgumentException(__FILE__, __LINE__, ostr.str());
183
+ }
184
+ return c;
185
+ }
186
+
187
+ //
188
+ // Decode the character or escape sequence starting at start and return it.
189
+ // end marks the one-past-the-end position of the substring to be scanned.
190
+ // nextStart is set to the index of the first character following the decoded
191
+ // character or escape sequence.
192
+ //
193
+ char
194
+ decodeChar(const string& s, string::size_type start, string::size_type end, string::size_type& nextStart)
195
+ {
196
+ assert(start < end);
197
+ assert(end <= s.size());
198
+
199
+ char c;
200
+
201
+ if(s[start] != '\\')
202
+ {
203
+ c = checkChar(s, start++);
204
+ }
205
+ else
206
+ {
207
+ if(start + 1 == end)
208
+ {
209
+ throw IllegalArgumentException(__FILE__, __LINE__, "trailing backslash");
210
+ }
211
+ switch(s[++start])
212
+ {
213
+ case '\\':
214
+ case '\'':
215
+ case '"':
216
+ {
217
+ c = s[start++];
218
+ break;
219
+ }
220
+ case 'b':
221
+ {
222
+ ++start;
223
+ c = '\b';
224
+ break;
225
+ }
226
+ case 'f':
227
+ {
228
+ ++start;
229
+ c = '\f';
230
+ break;
231
+ }
232
+ case 'n':
233
+ {
234
+ ++start;
235
+ c = '\n';
236
+ break;
237
+ }
238
+ case 'r':
239
+ {
240
+ ++start;
241
+ c = '\r';
242
+ break;
243
+ }
244
+ case 't':
245
+ {
246
+ ++start;
247
+ c = '\t';
248
+ break;
249
+ }
250
+ case '0':
251
+ case '1':
252
+ case '2':
253
+ case '3':
254
+ case '4':
255
+ case '5':
256
+ case '6':
257
+ case '7':
258
+ {
259
+ int val = 0;
260
+ for(int j = 0; j < 3 && start < end; ++j)
261
+ {
262
+ int charVal = s[start++] - '0';
263
+ if(charVal < 0 || charVal > 7)
264
+ {
265
+ --start;
266
+ break;
267
+ }
268
+ val = val * 8 + charVal;
269
+ }
270
+ if(val > 255)
271
+ {
272
+ ostringstream ostr;
273
+ ostr << "octal value \\" << oct << val << dec << " (" << val << ") is out of range";
274
+ throw IllegalArgumentException(__FILE__, __LINE__, ostr.str());
275
+ }
276
+ c = static_cast<char>(val);
277
+ break;
278
+ }
279
+ default:
280
+ {
281
+ c = checkChar(s, start++);
282
+ break;
283
+ }
284
+ }
285
+ }
286
+ nextStart = start;
287
+ return c;
288
+ }
289
+
290
+ //
291
+ // Remove escape sequences from s and append the result to sb.
292
+ // Return true if successful, false otherwise.
293
+ //
294
+ void
295
+ decodeString(const string& s, string::size_type start, string::size_type end, string& sb)
296
+ {
297
+ while(start < end)
298
+ {
299
+ sb.push_back(decodeChar(s, start, end, start));
300
+ }
301
+ }
302
+
303
+ }
304
+
305
+ //
306
+ // Remove escape sequences added by escapeString.
307
+ //
308
+ string
309
+ IceUtilInternal::unescapeString(const string& s, string::size_type start, string::size_type end)
310
+ {
311
+ assert(start <= end && end <= s.size());
312
+
313
+ string result;
314
+ result.reserve(end - start);
315
+ result.clear();
316
+ decodeString(s, start, end, result);
317
+ return result;
318
+ }
319
+
320
+ bool
321
+ IceUtilInternal::splitString(const string& str, const string& delim, vector<string>& result)
322
+ {
323
+ string::size_type pos = 0;
324
+ string::size_type length = str.length();
325
+ string elt;
326
+
327
+ char quoteChar = '\0';
328
+ while(pos < length)
329
+ {
330
+ if(quoteChar == '\0' && (str[pos] == '"' || str[pos] == '\''))
331
+ {
332
+ quoteChar = str[pos++];
333
+ continue; // Skip the quote
334
+ }
335
+ else if(quoteChar == '\0' && str[pos] == '\\' && pos + 1 < length &&
336
+ (str[pos + 1] == '\'' || str[pos + 1] == '"'))
337
+ {
338
+ ++pos;
339
+ }
340
+ else if(quoteChar != '\0' && str[pos] == '\\' && pos + 1 < length && str[pos + 1] == quoteChar)
341
+ {
342
+ ++pos;
343
+ }
344
+ else if(quoteChar != '\0' && str[pos] == quoteChar)
345
+ {
346
+ ++pos;
347
+ quoteChar = '\0';
348
+ continue; // Skip the end quote
349
+ }
350
+ else if(delim.find(str[pos]) != string::npos)
351
+ {
352
+ if(quoteChar == '\0')
353
+ {
354
+ ++pos;
355
+ if(elt.length() > 0)
356
+ {
357
+ result.push_back(elt);
358
+ elt = "";
359
+ }
360
+ continue;
361
+ }
362
+ }
363
+
364
+ if(pos < length)
365
+ {
366
+ elt += str[pos++];
367
+ }
368
+ }
369
+
370
+ if(elt.length() > 0)
371
+ {
372
+ result.push_back(elt);
373
+ }
374
+ if(quoteChar != '\0')
375
+ {
376
+ return false; // Unmatched quote.
377
+ }
378
+ return true;
379
+ }
380
+
381
+ string
382
+ IceUtilInternal::joinString(const std::vector<std::string>& values, const std::string& delimiter)
383
+ {
384
+ ostringstream out;
385
+ for(unsigned int i = 0; i < values.size(); i++)
386
+ {
387
+ if(i != 0)
388
+ {
389
+ out << delimiter;
390
+ }
391
+ out << values[i];
392
+ }
393
+ return out.str();
394
+ }
395
+
396
+ //
397
+ // Trim white space (" \t\r\n")
398
+ //
399
+ string
400
+ IceUtilInternal::trim(const string& s)
401
+ {
402
+ static const string delim = " \t\r\n";
403
+ string::size_type beg = s.find_first_not_of(delim);
404
+ if(beg == string::npos)
405
+ {
406
+ return "";
407
+ }
408
+ else
409
+ {
410
+ return s.substr(beg, s.find_last_not_of(delim) - beg + 1);
411
+ }
412
+ }
413
+
414
+ //
415
+ // If a single or double quotation mark is found at the start position,
416
+ // then the position of the matching closing quote is returned. If no
417
+ // quotation mark is found at the start position, then 0 is returned.
418
+ // If no matching closing quote is found, then -1 is returned.
419
+ //
420
+ string::size_type
421
+ IceUtilInternal::checkQuote(const string& s, string::size_type start)
422
+ {
423
+ string::value_type quoteChar = s[start];
424
+ if(quoteChar == '"' || quoteChar == '\'')
425
+ {
426
+ start++;
427
+ string::size_type pos;
428
+ while(start < s.size() && (pos = s.find(quoteChar, start)) != string::npos)
429
+ {
430
+ if(s[pos - 1] != '\\')
431
+ {
432
+ return pos;
433
+ }
434
+ start = pos + 1;
435
+ }
436
+ return string::npos; // Unmatched quote.
437
+ }
438
+ return 0; // Not quoted.
439
+ }
440
+
441
+ //
442
+ // Match `s' against the pattern `pat'. A * in the pattern acts
443
+ // as a wildcard: it matches any non-empty sequence of characters.
444
+ // We match by hand here because it's portable across platforms
445
+ // (whereas regex() isn't). Only one * per pattern is supported.
446
+ //
447
+ bool
448
+ IceUtilInternal::match(const string& s, const string& pat, bool emptyMatch)
449
+ {
450
+ assert(!s.empty());
451
+ assert(!pat.empty());
452
+
453
+ //
454
+ // If pattern does not contain a wildcard just compare strings.
455
+ //
456
+ string::size_type beginIndex = pat.find('*');
457
+ if(beginIndex == string::npos)
458
+ {
459
+ return s == pat;
460
+ }
461
+
462
+ //
463
+ // Make sure start of the strings match
464
+ //
465
+ if(beginIndex > s.length() || s.substr(0, beginIndex) != pat.substr(0, beginIndex))
466
+ {
467
+ return false;
468
+ }
469
+
470
+ //
471
+ // Make sure there is something present in the middle to match the
472
+ // wildcard. If emptyMatch is true, allow a match of "".
473
+ //
474
+ string::size_type endLength = pat.length() - beginIndex - 1;
475
+ if(endLength > s.length())
476
+ {
477
+ return false;
478
+ }
479
+ string::size_type endIndex = s.length() - endLength;
480
+ if(endIndex < beginIndex || (!emptyMatch && endIndex == beginIndex))
481
+ {
482
+ return false;
483
+ }
484
+
485
+ //
486
+ // Make sure end of the strings match
487
+ //
488
+ if(s.substr(endIndex, s.length()) != pat.substr(beginIndex + 1, pat.length()))
489
+ {
490
+ return false;
491
+ }
492
+
493
+ return true;
494
+ }
495
+
496
+ #ifdef _WIN32
497
+
498
+ string
499
+ IceUtilInternal::errorToString(int error, LPCVOID source)
500
+ {
501
+ if(error < WSABASEERR)
502
+ {
503
+ #ifdef ICE_OS_WINRT
504
+
505
+ int size = 256;
506
+ IceUtil::ScopedArray<wchar_t> lpMsgBuf(new wchar_t[size]);
507
+
508
+ DWORD stored = 0;
509
+
510
+ while(stored == 0)
511
+ {
512
+ stored = FormatMessageW(
513
+ FORMAT_MESSAGE_FROM_SYSTEM |
514
+ FORMAT_MESSAGE_IGNORE_INSERTS |
515
+ (source != NULL ? FORMAT_MESSAGE_FROM_HMODULE : 0),
516
+ source,
517
+ error,
518
+ MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language
519
+ lpMsgBuf.get(),
520
+ size,
521
+ NULL);
522
+
523
+ if(stored == 0)
524
+ {
525
+ DWORD err = GetLastError();
526
+ if(err == ERROR_INSUFFICIENT_BUFFER)
527
+ {
528
+ if(size == 65536)
529
+ {
530
+ break; // already at the max size
531
+ }
532
+ else
533
+ {
534
+ size *= 4;
535
+ size = max(size, 65536);
536
+ lpMsgBuf.reset(new wchar_t[size]);
537
+ }
538
+ }
539
+ else
540
+ {
541
+ break;
542
+ }
543
+ }
544
+ }
545
+
546
+ LPWSTR msg = lpMsgBuf.get();
547
+
548
+ #else
549
+ LPWSTR msg = 0;
550
+
551
+ DWORD stored = FormatMessageW(
552
+ FORMAT_MESSAGE_ALLOCATE_BUFFER |
553
+ FORMAT_MESSAGE_FROM_SYSTEM |
554
+ FORMAT_MESSAGE_IGNORE_INSERTS |
555
+ (source != NULL ? FORMAT_MESSAGE_FROM_HMODULE : 0),
556
+ source,
557
+ error,
558
+ MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language
559
+ reinterpret_cast<LPWSTR>(&msg),
560
+ 0,
561
+ NULL);
562
+ #endif
563
+
564
+ if(stored > 0)
565
+ {
566
+ assert(msg && wcslen(msg) > 0);
567
+ wstring result = msg;
568
+ if(result[result.length() - 1] == L'\n')
569
+ {
570
+ result = result.substr(0, result.length() - 2);
571
+ }
572
+ #ifndef ICE_OS_WINRT
573
+ if(msg)
574
+ {
575
+ LocalFree(msg);
576
+ }
577
+ #endif
578
+ return wstringToString(result, getProcessStringConverter(), getProcessWstringConverter());
579
+ }
580
+ else
581
+ {
582
+ #ifndef ICE_OS_WINRT
583
+ if(msg)
584
+ {
585
+ LocalFree(msg);
586
+ }
587
+ #endif
588
+ ostringstream os;
589
+ os << "unknown error: " << error;
590
+ return os.str();
591
+ }
592
+ }
593
+
594
+ switch(error)
595
+ {
596
+ case WSAEINTR:
597
+ return "WSAEINTR";
598
+
599
+ case WSAEBADF:
600
+ return "WSAEBADF";
601
+
602
+ case WSAEACCES:
603
+ return "WSAEACCES";
604
+
605
+ case WSAEFAULT:
606
+ return "WSAEFAULT";
607
+
608
+ case WSAEINVAL:
609
+ return "WSAEINVAL";
610
+
611
+ case WSAEMFILE:
612
+ return "WSAEMFILE";
613
+
614
+ case WSAEWOULDBLOCK:
615
+ return "WSAEWOULDBLOCK";
616
+
617
+ case WSAEINPROGRESS:
618
+ return "WSAEINPROGRESS";
619
+
620
+ case WSAEALREADY:
621
+ return "WSAEALREADY";
622
+
623
+ case WSAENOTSOCK:
624
+ return "WSAENOTSOCK";
625
+
626
+ case WSAEDESTADDRREQ:
627
+ return "WSAEDESTADDRREQ";
628
+
629
+ case WSAEMSGSIZE:
630
+ return "WSAEMSGSIZE";
631
+
632
+ case WSAEPROTOTYPE:
633
+ return "WSAEPROTOTYPE";
634
+
635
+ case WSAENOPROTOOPT:
636
+ return "WSAENOPROTOOPT";
637
+
638
+ case WSAEPROTONOSUPPORT:
639
+ return "WSAEPROTONOSUPPORT";
640
+
641
+ case WSAESOCKTNOSUPPORT:
642
+ return "WSAESOCKTNOSUPPORT";
643
+
644
+ case WSAEOPNOTSUPP:
645
+ return "WSAEOPNOTSUPP";
646
+
647
+ case WSAEPFNOSUPPORT:
648
+ return "WSAEPFNOSUPPORT";
649
+
650
+ case WSAEAFNOSUPPORT:
651
+ return "WSAEAFNOSUPPORT";
652
+
653
+ case WSAEADDRINUSE:
654
+ return "WSAEADDRINUSE";
655
+
656
+ case WSAEADDRNOTAVAIL:
657
+ return "WSAEADDRNOTAVAIL";
658
+
659
+ case WSAENETDOWN:
660
+ return "WSAENETDOWN";
661
+
662
+ case WSAENETUNREACH:
663
+ return "WSAENETUNREACH";
664
+
665
+ case WSAENETRESET:
666
+ return "WSAENETRESET";
667
+
668
+ case WSAECONNABORTED:
669
+ return "WSAECONNABORTED";
670
+
671
+ case WSAECONNRESET:
672
+ return "WSAECONNRESET";
673
+
674
+ case WSAENOBUFS:
675
+ return "WSAENOBUFS";
676
+
677
+ case WSAEISCONN:
678
+ return "WSAEISCONN";
679
+
680
+ case WSAENOTCONN:
681
+ return "WSAENOTCONN";
682
+
683
+ case WSAESHUTDOWN:
684
+ return "WSAESHUTDOWN";
685
+
686
+ case WSAETOOMANYREFS:
687
+ return "WSAETOOMANYREFS";
688
+
689
+ case WSAETIMEDOUT:
690
+ return "WSAETIMEDOUT";
691
+
692
+ case WSAECONNREFUSED:
693
+ return "WSAECONNREFUSED";
694
+
695
+ case WSAELOOP:
696
+ return "WSAELOOP";
697
+
698
+ case WSAENAMETOOLONG:
699
+ return "WSAENAMETOOLONG";
700
+
701
+ case WSAEHOSTDOWN:
702
+ return "WSAEHOSTDOWN";
703
+
704
+ case WSAEHOSTUNREACH:
705
+ return "WSAEHOSTUNREACH";
706
+
707
+ case WSAENOTEMPTY:
708
+ return "WSAENOTEMPTY";
709
+
710
+ case WSAEPROCLIM:
711
+ return "WSAEPROCLIM";
712
+
713
+ case WSAEUSERS:
714
+ return "WSAEUSERS";
715
+
716
+ case WSAEDQUOT:
717
+ return "WSAEDQUOT";
718
+
719
+ case WSAESTALE:
720
+ return "WSAESTALE";
721
+
722
+ case WSAEREMOTE:
723
+ return "WSAEREMOTE";
724
+
725
+ case WSAEDISCON:
726
+ return "WSAEDISCON";
727
+
728
+ case WSASYSNOTREADY:
729
+ return "WSASYSNOTREADY";
730
+
731
+ case WSAVERNOTSUPPORTED:
732
+ return "WSAVERNOTSUPPORTED";
733
+
734
+ case WSANOTINITIALISED:
735
+ return "WSANOTINITIALISED";
736
+
737
+ case WSAHOST_NOT_FOUND:
738
+ return "WSAHOST_NOT_FOUND";
739
+
740
+ case WSATRY_AGAIN:
741
+ return "WSATRY_AGAIN";
742
+
743
+ case WSANO_RECOVERY:
744
+ return "WSANO_RECOVERY";
745
+
746
+ case WSANO_DATA:
747
+ return "WSANO_DATA";
748
+
749
+ default:
750
+ {
751
+ ostringstream os;
752
+ os << "unknown socket error: " << error;
753
+ return os.str();
754
+ }
755
+ }
756
+ }
757
+
758
+ string
759
+ IceUtilInternal::lastErrorToString()
760
+ {
761
+ return errorToString(GetLastError());
762
+ }
763
+
764
+ #else
765
+
766
+ string
767
+ IceUtilInternal::errorToString(int error)
768
+ {
769
+ return strerror(error);
770
+ }
771
+
772
+ string
773
+ IceUtilInternal::lastErrorToString()
774
+ {
775
+ return errorToString(errno);
776
+ }
777
+
778
+ #endif
779
+
780
+ string
781
+ IceUtilInternal::toLower(const std::string& s)
782
+ {
783
+ string result;
784
+ result.reserve(s.size());
785
+ for(unsigned int i = 0; i < s.length(); ++i)
786
+ {
787
+ if(isascii(s[i]))
788
+ {
789
+ result += tolower(static_cast<unsigned char>(s[i]));
790
+ }
791
+ else
792
+ {
793
+ result += s[i];
794
+ }
795
+ }
796
+ return result;
797
+ }
798
+
799
+ string
800
+ IceUtilInternal::toUpper(const std::string& s)
801
+ {
802
+ string result;
803
+ result.reserve(s.size());
804
+ for(unsigned int i = 0; i < s.length(); ++i)
805
+ {
806
+ if(isascii(s[i]))
807
+ {
808
+ result += toupper(static_cast<unsigned char>(s[i]));
809
+ }
810
+ else
811
+ {
812
+ result += s[i];
813
+ }
814
+ }
815
+ return result;
816
+ }
817
+
818
+ bool
819
+ IceUtilInternal::isAlpha(char c)
820
+ {
821
+ return (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z');
822
+ }
823
+
824
+ bool
825
+ IceUtilInternal::isDigit(char c)
826
+ {
827
+ return c >= '0' && c <= '9';
828
+ }
829
+
830
+ string
831
+ IceUtilInternal::removeWhitespace(const std::string& s)
832
+ {
833
+ string result;
834
+ for(unsigned int i = 0; i < s.length(); ++ i)
835
+ {
836
+ if(!isspace(static_cast<unsigned char>(s[i])))
837
+ {
838
+ result += s[i];
839
+ }
840
+ }
841
+ return result;
842
+ }