zeroc-ice 3.7.0 → 3.7.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (684) hide show
  1. checksums.yaml +4 -4
  2. data/ICE_LICENSE +1 -1
  3. data/bin/slice2rb +1 -1
  4. data/ext/Communicator.cpp +72 -2
  5. data/ext/Communicator.h +1 -1
  6. data/ext/Config.h +11 -1
  7. data/ext/Connection.cpp +22 -2
  8. data/ext/Connection.h +4 -1
  9. data/ext/Endpoint.cpp +1 -1
  10. data/ext/Endpoint.h +1 -1
  11. data/ext/ImplicitContext.cpp +1 -1
  12. data/ext/ImplicitContext.h +1 -1
  13. data/ext/Init.cpp +1 -1
  14. data/ext/Logger.cpp +1 -1
  15. data/ext/Logger.h +1 -1
  16. data/ext/Operation.cpp +1 -1
  17. data/ext/Operation.h +1 -1
  18. data/ext/Properties.cpp +1 -1
  19. data/ext/Properties.h +1 -1
  20. data/ext/Proxy.cpp +70 -1
  21. data/ext/Proxy.h +1 -1
  22. data/ext/Slice.cpp +1 -1
  23. data/ext/Slice.h +1 -1
  24. data/ext/Types.cpp +21 -5
  25. data/ext/Types.h +1 -1
  26. data/ext/Util.cpp +1 -1
  27. data/ext/Util.h +1 -1
  28. data/ext/ValueFactoryManager.cpp +2 -2
  29. data/ext/ValueFactoryManager.h +2 -2
  30. data/ext/ice/cpp/include/Ice/Application.h +234 -76
  31. data/ext/ice/cpp/include/Ice/AsyncResult.h +77 -1
  32. data/ext/ice/cpp/include/Ice/AsyncResultF.h +1 -1
  33. data/ext/ice/cpp/include/Ice/BatchRequestInterceptor.h +35 -2
  34. data/ext/ice/cpp/include/Ice/BatchRequestQueueF.h +1 -1
  35. data/ext/ice/cpp/include/Ice/Buffer.h +1 -1
  36. data/ext/ice/cpp/include/Ice/CommunicatorAsync.h +43 -1
  37. data/ext/ice/cpp/include/Ice/Comparable.h +81 -1
  38. data/ext/ice/cpp/include/Ice/Config.h +8 -1
  39. data/ext/ice/cpp/include/Ice/ConnectionAsync.h +97 -1
  40. data/ext/ice/cpp/include/Ice/ConnectionIF.h +3 -1
  41. data/ext/ice/cpp/include/Ice/ConsoleUtil.h +1 -1
  42. data/ext/ice/cpp/include/Ice/DefaultValueFactory.h +1 -1
  43. data/ext/ice/cpp/include/Ice/DispatchInterceptor.h +17 -2
  44. data/ext/ice/cpp/include/Ice/Dispatcher.h +22 -2
  45. data/ext/ice/cpp/include/Ice/DynamicLibrary.h +1 -1
  46. data/ext/ice/cpp/include/Ice/DynamicLibraryF.h +1 -1
  47. data/ext/ice/cpp/include/Ice/Exception.h +57 -15
  48. data/ext/ice/cpp/include/Ice/ExceptionHelpers.h +19 -1
  49. data/ext/ice/cpp/include/Ice/FactoryTable.h +12 -2
  50. data/ext/ice/cpp/include/Ice/FactoryTableInit.h +1 -1
  51. data/ext/ice/cpp/include/Ice/Format.h +13 -14
  52. data/ext/ice/cpp/include/Ice/Functional.h +6 -1
  53. data/ext/ice/cpp/include/Ice/GCObject.h +1 -1
  54. data/ext/ice/cpp/include/Ice/Handle.h +1 -1
  55. data/ext/ice/cpp/include/Ice/Ice.h +1 -1
  56. data/ext/ice/cpp/include/Ice/IconvStringConverter.h +38 -3
  57. data/ext/ice/cpp/include/Ice/Incoming.h +15 -2
  58. data/ext/ice/cpp/include/Ice/IncomingAsync.h +37 -4
  59. data/ext/ice/cpp/include/Ice/IncomingAsyncF.h +1 -1
  60. data/ext/ice/cpp/include/Ice/Initialize.h +764 -98
  61. data/ext/ice/cpp/include/Ice/InputStream.h +637 -112
  62. data/ext/ice/cpp/include/Ice/InstanceF.h +1 -1
  63. data/ext/ice/cpp/include/Ice/InterfaceByValue.h +17 -1
  64. data/ext/ice/cpp/include/Ice/LocalObject.h +5 -1
  65. data/ext/ice/cpp/include/Ice/LocalObjectF.h +1 -1
  66. data/ext/ice/cpp/include/Ice/LoggerUtil.h +37 -6
  67. data/ext/ice/cpp/include/Ice/MetricsAdminI.h +3 -1
  68. data/ext/ice/cpp/include/Ice/MetricsFunctional.h +3 -1
  69. data/ext/ice/cpp/include/Ice/MetricsObserverI.h +3 -1
  70. data/ext/ice/cpp/include/Ice/NativePropertiesAdmin.h +46 -23
  71. data/ext/ice/cpp/include/Ice/Object.h +338 -47
  72. data/ext/ice/cpp/include/Ice/ObjectF.h +5 -1
  73. data/ext/ice/cpp/include/Ice/ObserverHelper.h +1 -1
  74. data/ext/ice/cpp/include/Ice/Optional.h +22 -6
  75. data/ext/ice/cpp/include/Ice/OutgoingAsync.h +15 -1
  76. data/ext/ice/cpp/include/Ice/OutgoingAsyncF.h +1 -1
  77. data/ext/ice/cpp/include/Ice/OutputStream.h +436 -92
  78. data/ext/ice/cpp/include/Ice/Protocol.h +31 -1
  79. data/ext/ice/cpp/include/Ice/Proxy.h +2244 -190
  80. data/ext/ice/cpp/include/Ice/ProxyF.h +3 -1
  81. data/ext/ice/cpp/include/Ice/ProxyFactoryF.h +1 -1
  82. data/ext/ice/cpp/include/Ice/ProxyHandle.h +10 -1
  83. data/ext/ice/cpp/include/Ice/ReferenceF.h +1 -1
  84. data/ext/ice/cpp/include/Ice/RegisterPlugins.h +67 -9
  85. data/ext/ice/cpp/include/Ice/RequestHandlerF.h +1 -1
  86. data/ext/ice/cpp/include/Ice/ResponseHandlerF.h +1 -1
  87. data/ext/ice/cpp/include/Ice/SHA1.h +1 -1
  88. data/ext/ice/cpp/include/Ice/ServantManagerF.h +1 -1
  89. data/ext/ice/cpp/include/Ice/Service.h +267 -138
  90. data/ext/ice/cpp/include/Ice/SliceChecksums.h +5 -1
  91. data/ext/ice/cpp/include/Ice/SlicedData.h +80 -33
  92. data/ext/ice/cpp/include/Ice/SlicedDataF.h +4 -1
  93. data/ext/ice/cpp/include/Ice/StreamHelpers.h +324 -116
  94. data/ext/ice/cpp/include/Ice/StringConverter.h +32 -1
  95. data/ext/ice/cpp/include/Ice/ThreadPoolF.h +1 -1
  96. data/ext/ice/cpp/include/Ice/UUID.h +2 -1
  97. data/ext/ice/cpp/include/Ice/UniquePtr.h +2 -2
  98. data/ext/ice/cpp/include/Ice/UniqueRef.h +6 -2
  99. data/ext/ice/cpp/include/Ice/UserExceptionFactory.h +6 -1
  100. data/ext/ice/cpp/include/Ice/Value.h +41 -1
  101. data/ext/ice/cpp/include/Ice/ValueF.h +3 -1
  102. data/ext/ice/cpp/include/IceSSL/Config.h +1 -1
  103. data/ext/ice/cpp/include/IceSSL/IceSSL.h +1 -1
  104. data/ext/ice/cpp/include/IceSSL/OpenSSL.h +75 -53
  105. data/ext/ice/cpp/include/IceSSL/Plugin.h +323 -218
  106. data/ext/ice/cpp/include/IceSSL/SChannel.h +34 -27
  107. data/ext/ice/cpp/include/IceSSL/SecureTransport.h +35 -28
  108. data/ext/ice/cpp/include/IceSSL/UWP.h +33 -24
  109. data/ext/ice/cpp/include/IceUtil/Atomic.h +1 -1
  110. data/ext/ice/cpp/include/IceUtil/Cond.h +1 -1
  111. data/ext/ice/cpp/include/IceUtil/Config.h +11 -3
  112. data/ext/ice/cpp/include/IceUtil/ConsoleUtil.h +1 -1
  113. data/ext/ice/cpp/include/IceUtil/CountDownLatch.h +1 -1
  114. data/ext/ice/cpp/include/IceUtil/CtrlCHandler.h +59 -31
  115. data/ext/ice/cpp/include/IceUtil/DisableWarnings.h +1 -1
  116. data/ext/ice/cpp/include/IceUtil/Exception.h +1 -1
  117. data/ext/ice/cpp/include/IceUtil/FileUtil.h +1 -1
  118. data/ext/ice/cpp/include/IceUtil/Functional.h +1 -1
  119. data/ext/ice/cpp/include/IceUtil/Handle.h +1 -1
  120. data/ext/ice/cpp/include/IceUtil/IceUtil.h +1 -1
  121. data/ext/ice/cpp/include/IceUtil/InputUtil.h +1 -1
  122. data/ext/ice/cpp/include/IceUtil/Iterator.h +1 -1
  123. data/ext/ice/cpp/include/IceUtil/Lock.h +1 -1
  124. data/ext/ice/cpp/include/IceUtil/Monitor.h +1 -1
  125. data/ext/ice/cpp/include/IceUtil/Mutex.h +2 -5
  126. data/ext/ice/cpp/include/IceUtil/MutexProtocol.h +1 -1
  127. data/ext/ice/cpp/include/IceUtil/MutexPtrLock.h +1 -1
  128. data/ext/ice/cpp/include/IceUtil/MutexPtrTryLock.h +1 -1
  129. data/ext/ice/cpp/include/IceUtil/Optional.h +95 -1
  130. data/ext/ice/cpp/include/IceUtil/Options.h +1 -1
  131. data/ext/ice/cpp/include/IceUtil/OutputUtil.h +1 -1
  132. data/ext/ice/cpp/include/IceUtil/PopDisableWarnings.h +1 -1
  133. data/ext/ice/cpp/include/IceUtil/PushDisableWarnings.h +1 -1
  134. data/ext/ice/cpp/include/IceUtil/Random.h +1 -1
  135. data/ext/ice/cpp/include/IceUtil/RecMutex.h +1 -1
  136. data/ext/ice/cpp/include/IceUtil/ResourceConfig.h +4 -4
  137. data/ext/ice/cpp/include/IceUtil/ScannerConfig.h +5 -3
  138. data/ext/ice/cpp/include/IceUtil/ScopedArray.h +1 -1
  139. data/ext/ice/cpp/include/IceUtil/Shared.h +1 -1
  140. data/ext/ice/cpp/include/IceUtil/StopWatch.h +1 -1
  141. data/ext/ice/cpp/include/IceUtil/StringConverter.h +106 -86
  142. data/ext/ice/cpp/include/IceUtil/StringUtil.h +1 -1
  143. data/ext/ice/cpp/include/IceUtil/Thread.h +1 -1
  144. data/ext/ice/cpp/include/IceUtil/ThreadException.h +1 -1
  145. data/ext/ice/cpp/include/IceUtil/Time.h +1 -1
  146. data/ext/ice/cpp/include/IceUtil/Timer.h +5 -1
  147. data/ext/ice/cpp/include/IceUtil/UUID.h +5 -1
  148. data/ext/ice/cpp/include/IceUtil/UndefSysMacros.h +1 -1
  149. data/ext/ice/cpp/include/generated/Ice/BuiltinSequences.h +80 -20
  150. data/ext/ice/cpp/include/generated/Ice/Communicator.h +927 -130
  151. data/ext/ice/cpp/include/generated/Ice/CommunicatorF.h +13 -5
  152. data/ext/ice/cpp/include/generated/Ice/Connection.h +990 -194
  153. data/ext/ice/cpp/include/generated/Ice/ConnectionF.h +21 -9
  154. data/ext/ice/cpp/include/generated/Ice/Current.h +180 -17
  155. data/ext/ice/cpp/include/generated/Ice/Endpoint.h +484 -118
  156. data/ext/ice/cpp/include/generated/Ice/EndpointF.h +41 -17
  157. data/ext/ice/cpp/include/generated/Ice/EndpointTypes.h +29 -3
  158. data/ext/ice/cpp/include/generated/Ice/FacetMap.h +11 -5
  159. data/ext/ice/cpp/include/generated/Ice/Identity.h +56 -7
  160. data/ext/ice/cpp/include/generated/Ice/ImplicitContext.h +150 -28
  161. data/ext/ice/cpp/include/generated/Ice/ImplicitContextF.h +13 -5
  162. data/ext/ice/cpp/include/generated/Ice/Instrumentation.h +629 -83
  163. data/ext/ice/cpp/include/generated/Ice/InstrumentationF.h +19 -7
  164. data/ext/ice/cpp/include/generated/Ice/LocalException.h +5104 -794
  165. data/ext/ice/cpp/include/generated/Ice/Locator.h +2222 -443
  166. data/ext/ice/cpp/include/generated/Ice/LocatorF.h +27 -9
  167. data/ext/ice/cpp/include/generated/Ice/Logger.h +104 -26
  168. data/ext/ice/cpp/include/generated/Ice/LoggerF.h +13 -5
  169. data/ext/ice/cpp/include/generated/Ice/Metrics.h +2534 -455
  170. data/ext/ice/cpp/include/generated/Ice/ObjectAdapter.h +1004 -126
  171. data/ext/ice/cpp/include/generated/Ice/ObjectAdapterF.h +13 -5
  172. data/ext/ice/cpp/include/generated/Ice/ObjectFactory.h +72 -12
  173. data/ext/ice/cpp/include/generated/Ice/Plugin.h +142 -28
  174. data/ext/ice/cpp/include/generated/Ice/PluginF.h +17 -7
  175. data/ext/ice/cpp/include/generated/Ice/Process.h +511 -71
  176. data/ext/ice/cpp/include/generated/Ice/ProcessF.h +18 -6
  177. data/ext/ice/cpp/include/generated/Ice/Properties.h +306 -58
  178. data/ext/ice/cpp/include/generated/Ice/PropertiesAdmin.h +737 -121
  179. data/ext/ice/cpp/include/generated/Ice/PropertiesF.h +22 -8
  180. data/ext/ice/cpp/include/generated/Ice/RemoteLogger.h +1526 -279
  181. data/ext/ice/cpp/include/generated/Ice/Router.h +1009 -198
  182. data/ext/ice/cpp/include/generated/Ice/RouterF.h +18 -6
  183. data/ext/ice/cpp/include/generated/Ice/ServantLocator.h +174 -18
  184. data/ext/ice/cpp/include/generated/Ice/ServantLocatorF.h +13 -5
  185. data/ext/ice/cpp/include/generated/Ice/SliceChecksumDict.h +13 -3
  186. data/ext/ice/cpp/include/generated/Ice/ValueFactory.h +177 -23
  187. data/ext/ice/cpp/include/generated/Ice/Version.h +43 -13
  188. data/ext/ice/cpp/include/generated/IceSSL/ConnectionInfo.h +71 -15
  189. data/ext/ice/cpp/include/generated/IceSSL/ConnectionInfoF.h +13 -5
  190. data/ext/ice/cpp/include/generated/IceSSL/EndpointInfo.h +39 -9
  191. data/ext/ice/cpp/src/Ice/ACM.cpp +12 -3
  192. data/ext/ice/cpp/src/Ice/ACM.h +1 -1
  193. data/ext/ice/cpp/src/Ice/ACMF.h +1 -1
  194. data/ext/ice/cpp/src/Ice/Acceptor.cpp +1 -1
  195. data/ext/ice/cpp/src/Ice/Acceptor.h +1 -1
  196. data/ext/ice/cpp/src/Ice/AcceptorF.h +1 -1
  197. data/ext/ice/cpp/src/Ice/ArgVector.cpp +1 -1
  198. data/ext/ice/cpp/src/Ice/ArgVector.h +1 -1
  199. data/ext/ice/cpp/src/Ice/AsyncResult.cpp +1 -1
  200. data/ext/ice/cpp/src/Ice/Base64.cpp +1 -1
  201. data/ext/ice/cpp/src/Ice/Base64.h +1 -1
  202. data/ext/ice/cpp/src/Ice/BatchRequestQueue.cpp +1 -1
  203. data/ext/ice/cpp/src/Ice/BatchRequestQueue.h +1 -1
  204. data/ext/ice/cpp/src/Ice/Buffer.cpp +1 -1
  205. data/ext/ice/cpp/src/Ice/BuiltinSequences.cpp +3 -3
  206. data/ext/ice/cpp/src/Ice/CollocatedRequestHandler.cpp +1 -1
  207. data/ext/ice/cpp/src/Ice/CollocatedRequestHandler.h +1 -1
  208. data/ext/ice/cpp/src/Ice/Communicator.cpp +6 -4
  209. data/ext/ice/cpp/src/Ice/CommunicatorF.cpp +3 -3
  210. data/ext/ice/cpp/src/Ice/CommunicatorI.cpp +34 -13
  211. data/ext/ice/cpp/src/Ice/CommunicatorI.h +10 -10
  212. data/ext/ice/cpp/src/Ice/Cond.cpp +1 -1
  213. data/ext/ice/cpp/src/Ice/ConnectRequestHandler.cpp +11 -6
  214. data/ext/ice/cpp/src/Ice/ConnectRequestHandler.h +1 -1
  215. data/ext/ice/cpp/src/Ice/ConnectRequestHandlerF.h +1 -1
  216. data/ext/ice/cpp/src/Ice/Connection.cpp +27 -11
  217. data/ext/ice/cpp/src/Ice/ConnectionF.cpp +3 -3
  218. data/ext/ice/cpp/src/Ice/ConnectionFactory.cpp +24 -19
  219. data/ext/ice/cpp/src/Ice/ConnectionFactory.h +1 -1
  220. data/ext/ice/cpp/src/Ice/ConnectionFactoryF.h +1 -1
  221. data/ext/ice/cpp/src/Ice/ConnectionI.cpp +45 -37
  222. data/ext/ice/cpp/src/Ice/ConnectionI.h +10 -8
  223. data/ext/ice/cpp/src/Ice/ConnectionRequestHandler.cpp +1 -1
  224. data/ext/ice/cpp/src/Ice/ConnectionRequestHandler.h +1 -1
  225. data/ext/ice/cpp/src/Ice/Connector.cpp +1 -1
  226. data/ext/ice/cpp/src/Ice/Connector.h +1 -1
  227. data/ext/ice/cpp/src/Ice/ConnectorF.h +1 -1
  228. data/ext/ice/cpp/src/Ice/CountDownLatch.cpp +1 -1
  229. data/ext/ice/cpp/src/Ice/Current.cpp +3 -3
  230. data/ext/ice/cpp/src/Ice/DefaultsAndOverrides.cpp +5 -7
  231. data/ext/ice/cpp/src/Ice/DefaultsAndOverrides.h +1 -1
  232. data/ext/ice/cpp/src/Ice/DefaultsAndOverridesF.h +1 -1
  233. data/ext/ice/cpp/src/Ice/DispatchInterceptor.cpp +1 -1
  234. data/ext/ice/cpp/src/Ice/DynamicLibrary.cpp +1 -1
  235. data/ext/ice/cpp/src/Ice/Endpoint.cpp +24 -10
  236. data/ext/ice/cpp/src/Ice/EndpointF.cpp +3 -3
  237. data/ext/ice/cpp/src/Ice/EndpointFactory.cpp +1 -1
  238. data/ext/ice/cpp/src/Ice/EndpointFactory.h +1 -1
  239. data/ext/ice/cpp/src/Ice/EndpointFactoryF.h +1 -1
  240. data/ext/ice/cpp/src/Ice/EndpointFactoryManager.cpp +7 -13
  241. data/ext/ice/cpp/src/Ice/EndpointFactoryManager.h +1 -1
  242. data/ext/ice/cpp/src/Ice/EndpointFactoryManagerF.h +1 -1
  243. data/ext/ice/cpp/src/Ice/EndpointI.cpp +2 -2
  244. data/ext/ice/cpp/src/Ice/EndpointI.h +5 -5
  245. data/ext/ice/cpp/src/Ice/EndpointIF.h +1 -1
  246. data/ext/ice/cpp/src/Ice/EndpointTypes.cpp +3 -3
  247. data/ext/ice/cpp/src/Ice/EventHandler.cpp +1 -1
  248. data/ext/ice/cpp/src/Ice/EventHandler.h +1 -1
  249. data/ext/ice/cpp/src/Ice/EventHandlerF.h +1 -1
  250. data/ext/ice/cpp/src/Ice/Exception.cpp +1 -1
  251. data/ext/ice/cpp/src/Ice/FacetMap.cpp +3 -3
  252. data/ext/ice/cpp/src/Ice/FactoryTable.cpp +1 -1
  253. data/ext/ice/cpp/src/Ice/FactoryTableInit.cpp +1 -1
  254. data/ext/ice/cpp/src/Ice/GCObject.cpp +1 -1
  255. data/ext/ice/cpp/src/Ice/HashUtil.h +1 -1
  256. data/ext/ice/cpp/src/Ice/HttpParser.cpp +1 -1
  257. data/ext/ice/cpp/src/Ice/HttpParser.h +1 -1
  258. data/ext/ice/cpp/src/Ice/IPEndpointI.cpp +24 -29
  259. data/ext/ice/cpp/src/Ice/IPEndpointI.h +5 -5
  260. data/ext/ice/cpp/src/Ice/IPEndpointIF.h +1 -1
  261. data/ext/ice/cpp/src/Ice/IconvStringConverter.cpp +1 -1
  262. data/ext/ice/cpp/src/Ice/Identity.cpp +3 -3
  263. data/ext/ice/cpp/src/Ice/ImplicitContext.cpp +6 -4
  264. data/ext/ice/cpp/src/Ice/ImplicitContextF.cpp +3 -3
  265. data/ext/ice/cpp/src/Ice/ImplicitContextI.cpp +2 -13
  266. data/ext/ice/cpp/src/Ice/ImplicitContextI.h +1 -1
  267. data/ext/ice/cpp/src/Ice/Incoming.cpp +1 -1
  268. data/ext/ice/cpp/src/Ice/IncomingAsync.cpp +1 -1
  269. data/ext/ice/cpp/src/Ice/IncomingRequest.h +1 -1
  270. data/ext/ice/cpp/src/Ice/Initialize.cpp +10 -16
  271. data/ext/ice/cpp/src/Ice/InputStream.cpp +1 -1
  272. data/ext/ice/cpp/src/Ice/Instance.cpp +13 -34
  273. data/ext/ice/cpp/src/Ice/Instance.h +1 -1
  274. data/ext/ice/cpp/src/Ice/Instrumentation.cpp +33 -13
  275. data/ext/ice/cpp/src/Ice/InstrumentationF.cpp +3 -3
  276. data/ext/ice/cpp/src/Ice/InstrumentationI.cpp +1 -1
  277. data/ext/ice/cpp/src/Ice/InstrumentationI.h +1 -1
  278. data/ext/ice/cpp/src/Ice/LocalException.cpp +279 -279
  279. data/ext/ice/cpp/src/Ice/LocalObject.cpp +1 -1
  280. data/ext/ice/cpp/src/Ice/Locator.cpp +287 -174
  281. data/ext/ice/cpp/src/Ice/LocatorF.cpp +3 -3
  282. data/ext/ice/cpp/src/Ice/LocatorInfo.cpp +4 -9
  283. data/ext/ice/cpp/src/Ice/LocatorInfo.h +1 -1
  284. data/ext/ice/cpp/src/Ice/LocatorInfoF.h +1 -1
  285. data/ext/ice/cpp/src/Ice/Logger.cpp +6 -4
  286. data/ext/ice/cpp/src/Ice/LoggerAdminI.cpp +1 -1
  287. data/ext/ice/cpp/src/Ice/LoggerAdminI.h +1 -1
  288. data/ext/ice/cpp/src/Ice/LoggerF.cpp +3 -3
  289. data/ext/ice/cpp/src/Ice/LoggerI.cpp +1 -1
  290. data/ext/ice/cpp/src/Ice/LoggerI.h +1 -1
  291. data/ext/ice/cpp/src/Ice/LoggerUtil.cpp +1 -1
  292. data/ext/ice/cpp/src/Ice/Metrics.cpp +297 -109
  293. data/ext/ice/cpp/src/Ice/MetricsAdminI.cpp +2 -7
  294. data/ext/ice/cpp/src/Ice/MetricsObserverI.cpp +1 -1
  295. data/ext/ice/cpp/src/Ice/Network.cpp +188 -225
  296. data/ext/ice/cpp/src/Ice/Network.h +3 -12
  297. data/ext/ice/cpp/src/Ice/NetworkF.h +1 -1
  298. data/ext/ice/cpp/src/Ice/NetworkProxy.cpp +1 -1
  299. data/ext/ice/cpp/src/Ice/NetworkProxy.h +1 -1
  300. data/ext/ice/cpp/src/Ice/NetworkProxyF.h +1 -1
  301. data/ext/ice/cpp/src/Ice/Object.cpp +7 -4
  302. data/ext/ice/cpp/src/Ice/ObjectAdapter.cpp +6 -4
  303. data/ext/ice/cpp/src/Ice/ObjectAdapterF.cpp +3 -3
  304. data/ext/ice/cpp/src/Ice/ObjectAdapterFactory.cpp +53 -19
  305. data/ext/ice/cpp/src/Ice/ObjectAdapterFactory.h +1 -1
  306. data/ext/ice/cpp/src/Ice/ObjectAdapterFactoryF.h +1 -1
  307. data/ext/ice/cpp/src/Ice/ObjectAdapterI.cpp +116 -150
  308. data/ext/ice/cpp/src/Ice/ObjectAdapterI.h +11 -11
  309. data/ext/ice/cpp/src/Ice/ObjectFactory.cpp +6 -4
  310. data/ext/ice/cpp/src/Ice/ObserverHelper.cpp +1 -1
  311. data/ext/ice/cpp/src/Ice/OpaqueEndpointI.cpp +25 -42
  312. data/ext/ice/cpp/src/Ice/OpaqueEndpointI.h +2 -2
  313. data/ext/ice/cpp/src/Ice/OutgoingAsync.cpp +1 -1
  314. data/ext/ice/cpp/src/Ice/OutputStream.cpp +1 -1
  315. data/ext/ice/cpp/src/Ice/Plugin.cpp +9 -5
  316. data/ext/ice/cpp/src/Ice/PluginF.cpp +3 -3
  317. data/ext/ice/cpp/src/Ice/PluginManagerI.cpp +15 -34
  318. data/ext/ice/cpp/src/Ice/PluginManagerI.h +3 -3
  319. data/ext/ice/cpp/src/Ice/Process.cpp +69 -40
  320. data/ext/ice/cpp/src/Ice/ProcessF.cpp +3 -3
  321. data/ext/ice/cpp/src/Ice/Properties.cpp +6 -4
  322. data/ext/ice/cpp/src/Ice/PropertiesAdmin.cpp +89 -54
  323. data/ext/ice/cpp/src/Ice/PropertiesAdminI.cpp +1 -1
  324. data/ext/ice/cpp/src/Ice/PropertiesAdminI.h +1 -1
  325. data/ext/ice/cpp/src/Ice/PropertiesF.cpp +3 -3
  326. data/ext/ice/cpp/src/Ice/PropertiesI.cpp +15 -21
  327. data/ext/ice/cpp/src/Ice/PropertiesI.h +10 -10
  328. data/ext/ice/cpp/src/Ice/PropertyNames.cpp +4 -2
  329. data/ext/ice/cpp/src/Ice/PropertyNames.h +2 -2
  330. data/ext/ice/cpp/src/Ice/Protocol.cpp +5 -13
  331. data/ext/ice/cpp/src/Ice/ProtocolInstance.cpp +1 -1
  332. data/ext/ice/cpp/src/Ice/ProtocolInstance.h +1 -1
  333. data/ext/ice/cpp/src/Ice/ProtocolInstanceF.h +1 -1
  334. data/ext/ice/cpp/src/Ice/ProtocolPluginFacade.cpp +1 -1
  335. data/ext/ice/cpp/src/Ice/ProtocolPluginFacade.h +1 -1
  336. data/ext/ice/cpp/src/Ice/ProtocolPluginFacadeF.h +1 -1
  337. data/ext/ice/cpp/src/Ice/Proxy.cpp +46 -1
  338. data/ext/ice/cpp/src/Ice/ProxyFactory.cpp +1 -1
  339. data/ext/ice/cpp/src/Ice/ProxyFactory.h +1 -1
  340. data/ext/ice/cpp/src/Ice/Reference.cpp +56 -6
  341. data/ext/ice/cpp/src/Ice/Reference.h +13 -2
  342. data/ext/ice/cpp/src/Ice/ReferenceFactory.cpp +51 -90
  343. data/ext/ice/cpp/src/Ice/ReferenceFactory.h +1 -1
  344. data/ext/ice/cpp/src/Ice/ReferenceFactoryF.h +1 -1
  345. data/ext/ice/cpp/src/Ice/RegisterPluginsInit.cpp +1 -1
  346. data/ext/ice/cpp/src/Ice/RegisterPluginsInit.h +1 -1
  347. data/ext/ice/cpp/src/Ice/RemoteLogger.cpp +203 -117
  348. data/ext/ice/cpp/src/Ice/ReplyStatus.h +1 -1
  349. data/ext/ice/cpp/src/Ice/RequestHandler.cpp +1 -1
  350. data/ext/ice/cpp/src/Ice/RequestHandler.h +1 -1
  351. data/ext/ice/cpp/src/Ice/RequestHandlerFactory.cpp +1 -1
  352. data/ext/ice/cpp/src/Ice/RequestHandlerFactory.h +1 -1
  353. data/ext/ice/cpp/src/Ice/ResponseHandler.cpp +1 -1
  354. data/ext/ice/cpp/src/Ice/ResponseHandler.h +1 -1
  355. data/ext/ice/cpp/src/Ice/RetryQueue.cpp +1 -1
  356. data/ext/ice/cpp/src/Ice/RetryQueue.h +1 -1
  357. data/ext/ice/cpp/src/Ice/RetryQueueF.h +1 -1
  358. data/ext/ice/cpp/src/Ice/Router.cpp +167 -89
  359. data/ext/ice/cpp/src/Ice/RouterF.cpp +3 -3
  360. data/ext/ice/cpp/src/Ice/RouterInfo.cpp +6 -28
  361. data/ext/ice/cpp/src/Ice/RouterInfo.h +1 -3
  362. data/ext/ice/cpp/src/Ice/RouterInfoF.h +1 -1
  363. data/ext/ice/cpp/src/Ice/SHA1.cpp +1 -1
  364. data/ext/ice/cpp/src/Ice/Selector.cpp +19 -26
  365. data/ext/ice/cpp/src/Ice/Selector.h +1 -1
  366. data/ext/ice/cpp/src/Ice/ServantLocator.cpp +6 -4
  367. data/ext/ice/cpp/src/Ice/ServantLocatorF.cpp +3 -3
  368. data/ext/ice/cpp/src/Ice/ServantManager.cpp +15 -31
  369. data/ext/ice/cpp/src/Ice/ServantManager.h +1 -1
  370. data/ext/ice/cpp/src/Ice/SharedContext.h +1 -1
  371. data/ext/ice/cpp/src/Ice/SliceChecksumDict.cpp +3 -3
  372. data/ext/ice/cpp/src/Ice/SliceChecksums.cpp +1 -1
  373. data/ext/ice/cpp/src/Ice/SlicedData.cpp +1 -1
  374. data/ext/ice/cpp/src/Ice/StreamSocket.cpp +32 -52
  375. data/ext/ice/cpp/src/Ice/StreamSocket.h +1 -1
  376. data/ext/ice/cpp/src/Ice/StringConverterPlugin.cpp +10 -1
  377. data/ext/ice/cpp/src/Ice/StringUtil.h +1 -1
  378. data/ext/ice/cpp/src/Ice/SysLoggerI.cpp +1 -1
  379. data/ext/ice/cpp/src/Ice/SysLoggerI.h +1 -1
  380. data/ext/ice/cpp/src/Ice/TcpAcceptor.cpp +5 -13
  381. data/ext/ice/cpp/src/Ice/TcpAcceptor.h +1 -1
  382. data/ext/ice/cpp/src/Ice/TcpConnector.cpp +1 -1
  383. data/ext/ice/cpp/src/Ice/TcpConnector.h +1 -1
  384. data/ext/ice/cpp/src/Ice/TcpEndpointI.cpp +8 -11
  385. data/ext/ice/cpp/src/Ice/TcpEndpointI.h +2 -2
  386. data/ext/ice/cpp/src/Ice/TcpTransceiver.cpp +1 -1
  387. data/ext/ice/cpp/src/Ice/TcpTransceiver.h +1 -1
  388. data/ext/ice/cpp/src/Ice/Thread.cpp +1 -1
  389. data/ext/ice/cpp/src/Ice/ThreadPool.cpp +13 -13
  390. data/ext/ice/cpp/src/Ice/ThreadPool.h +1 -1
  391. data/ext/ice/cpp/src/Ice/Timer.cpp +1 -1
  392. data/ext/ice/cpp/src/Ice/TraceLevels.cpp +1 -1
  393. data/ext/ice/cpp/src/Ice/TraceLevels.h +1 -1
  394. data/ext/ice/cpp/src/Ice/TraceLevelsF.h +1 -1
  395. data/ext/ice/cpp/src/Ice/TraceUtil.cpp +1 -1
  396. data/ext/ice/cpp/src/Ice/TraceUtil.h +1 -1
  397. data/ext/ice/cpp/src/Ice/Transceiver.cpp +1 -1
  398. data/ext/ice/cpp/src/Ice/Transceiver.h +1 -1
  399. data/ext/ice/cpp/src/Ice/TransceiverF.h +1 -1
  400. data/ext/ice/cpp/src/Ice/UdpConnector.cpp +1 -1
  401. data/ext/ice/cpp/src/Ice/UdpConnector.h +1 -1
  402. data/ext/ice/cpp/src/Ice/UdpEndpointI.cpp +19 -27
  403. data/ext/ice/cpp/src/Ice/UdpEndpointI.h +2 -2
  404. data/ext/ice/cpp/src/Ice/UdpTransceiver.cpp +17 -54
  405. data/ext/ice/cpp/src/Ice/UdpTransceiver.h +1 -1
  406. data/ext/ice/cpp/src/Ice/Value.cpp +1 -1
  407. data/ext/ice/cpp/src/Ice/ValueFactory.cpp +9 -5
  408. data/ext/ice/cpp/src/Ice/ValueFactoryManagerI.cpp +3 -6
  409. data/ext/ice/cpp/src/Ice/ValueFactoryManagerI.h +2 -2
  410. data/ext/ice/cpp/src/Ice/Version.cpp +3 -3
  411. data/ext/ice/cpp/src/Ice/VirtualShared.h +1 -1
  412. data/ext/ice/cpp/src/Ice/WSAcceptor.cpp +1 -1
  413. data/ext/ice/cpp/src/Ice/WSAcceptor.h +1 -1
  414. data/ext/ice/cpp/src/Ice/WSConnector.cpp +1 -1
  415. data/ext/ice/cpp/src/Ice/WSConnector.h +1 -1
  416. data/ext/ice/cpp/src/Ice/WSEndpoint.cpp +4 -5
  417. data/ext/ice/cpp/src/Ice/WSEndpoint.h +2 -2
  418. data/ext/ice/cpp/src/Ice/WSTransceiver.cpp +8 -9
  419. data/ext/ice/cpp/src/Ice/WSTransceiver.h +1 -1
  420. data/ext/ice/cpp/src/IceDiscovery/IceDiscovery.cpp +85 -27
  421. data/ext/ice/cpp/src/IceDiscovery/IceDiscovery.h +599 -113
  422. data/ext/ice/cpp/src/IceDiscovery/LocatorI.cpp +1 -1
  423. data/ext/ice/cpp/src/IceDiscovery/LocatorI.h +1 -1
  424. data/ext/ice/cpp/src/IceDiscovery/LookupI.cpp +1 -1
  425. data/ext/ice/cpp/src/IceDiscovery/LookupI.h +1 -1
  426. data/ext/ice/cpp/src/IceDiscovery/PluginI.cpp +1 -1
  427. data/ext/ice/cpp/src/IceDiscovery/PluginI.h +1 -1
  428. data/ext/ice/cpp/src/IceLocatorDiscovery/IceLocatorDiscovery.cpp +70 -24
  429. data/ext/ice/cpp/src/IceLocatorDiscovery/IceLocatorDiscovery.h +635 -69
  430. data/ext/ice/cpp/src/IceLocatorDiscovery/Plugin.h +1 -1
  431. data/ext/ice/cpp/src/IceLocatorDiscovery/PluginI.cpp +71 -9
  432. data/ext/ice/cpp/src/IceSSL/AcceptorI.cpp +2 -4
  433. data/ext/ice/cpp/src/IceSSL/AcceptorI.h +1 -1
  434. data/ext/ice/cpp/src/IceSSL/CertificateI.cpp +1 -1
  435. data/ext/ice/cpp/src/IceSSL/CertificateI.h +1 -1
  436. data/ext/ice/cpp/src/IceSSL/ConnectionInfo.cpp +6 -4
  437. data/ext/ice/cpp/src/IceSSL/ConnectionInfoF.cpp +3 -3
  438. data/ext/ice/cpp/src/IceSSL/ConnectorI.cpp +2 -4
  439. data/ext/ice/cpp/src/IceSSL/ConnectorI.h +1 -1
  440. data/ext/ice/cpp/src/IceSSL/EndpointI.cpp +2 -2
  441. data/ext/ice/cpp/src/IceSSL/EndpointI.h +2 -2
  442. data/ext/ice/cpp/src/IceSSL/EndpointInfo.cpp +6 -4
  443. data/ext/ice/cpp/src/IceSSL/Instance.cpp +1 -1
  444. data/ext/ice/cpp/src/IceSSL/Instance.h +1 -1
  445. data/ext/ice/cpp/src/IceSSL/InstanceF.h +1 -1
  446. data/ext/ice/cpp/src/IceSSL/OpenSSLCertificateI.cpp +1 -1
  447. data/ext/ice/cpp/src/IceSSL/OpenSSLEngine.cpp +1 -1
  448. data/ext/ice/cpp/src/IceSSL/OpenSSLEngine.h +1 -1
  449. data/ext/ice/cpp/src/IceSSL/OpenSSLEngineF.h +1 -1
  450. data/ext/ice/cpp/src/IceSSL/OpenSSLPluginI.cpp +1 -1
  451. data/ext/ice/cpp/src/IceSSL/OpenSSLTransceiverI.cpp +25 -62
  452. data/ext/ice/cpp/src/IceSSL/OpenSSLTransceiverI.h +1 -1
  453. data/ext/ice/cpp/src/IceSSL/OpenSSLUtil.cpp +1 -1
  454. data/ext/ice/cpp/src/IceSSL/OpenSSLUtil.h +1 -1
  455. data/ext/ice/cpp/src/IceSSL/PluginI.cpp +1 -1
  456. data/ext/ice/cpp/src/IceSSL/PluginI.h +1 -1
  457. data/ext/ice/cpp/src/IceSSL/RFC2253.cpp +1 -1
  458. data/ext/ice/cpp/src/IceSSL/RFC2253.h +1 -1
  459. data/ext/ice/cpp/src/IceSSL/SChannelCertificateI.cpp +1 -1
  460. data/ext/ice/cpp/src/IceSSL/SChannelEngine.cpp +1 -1
  461. data/ext/ice/cpp/src/IceSSL/SChannelEngine.h +1 -1
  462. data/ext/ice/cpp/src/IceSSL/SChannelEngineF.h +1 -1
  463. data/ext/ice/cpp/src/IceSSL/SChannelPluginI.cpp +1 -1
  464. data/ext/ice/cpp/src/IceSSL/SChannelTransceiverI.cpp +19 -27
  465. data/ext/ice/cpp/src/IceSSL/SChannelTransceiverI.h +1 -1
  466. data/ext/ice/cpp/src/IceSSL/SSLEngine.cpp +7 -16
  467. data/ext/ice/cpp/src/IceSSL/SSLEngine.h +1 -1
  468. data/ext/ice/cpp/src/IceSSL/SSLEngineF.h +1 -1
  469. data/ext/ice/cpp/src/IceSSL/SecureTransportCertificateI.cpp +1 -1
  470. data/ext/ice/cpp/src/IceSSL/SecureTransportEngine.cpp +1 -1
  471. data/ext/ice/cpp/src/IceSSL/SecureTransportEngine.h +1 -1
  472. data/ext/ice/cpp/src/IceSSL/SecureTransportEngineF.h +1 -1
  473. data/ext/ice/cpp/src/IceSSL/SecureTransportPluginI.cpp +1 -1
  474. data/ext/ice/cpp/src/IceSSL/SecureTransportTransceiverI.cpp +1 -1
  475. data/ext/ice/cpp/src/IceSSL/SecureTransportTransceiverI.h +1 -1
  476. data/ext/ice/cpp/src/IceSSL/SecureTransportUtil.cpp +7 -10
  477. data/ext/ice/cpp/src/IceSSL/SecureTransportUtil.h +1 -1
  478. data/ext/ice/cpp/src/IceSSL/TrustManager.cpp +4 -5
  479. data/ext/ice/cpp/src/IceSSL/TrustManager.h +1 -1
  480. data/ext/ice/cpp/src/IceSSL/TrustManagerF.h +1 -1
  481. data/ext/ice/cpp/src/IceSSL/UWPCertificateI.cpp +1 -1
  482. data/ext/ice/cpp/src/IceSSL/UWPEngine.cpp +1 -1
  483. data/ext/ice/cpp/src/IceSSL/UWPEngine.h +1 -1
  484. data/ext/ice/cpp/src/IceSSL/UWPEngineF.h +1 -1
  485. data/ext/ice/cpp/src/IceSSL/UWPPluginI.cpp +1 -1
  486. data/ext/ice/cpp/src/IceSSL/UWPTransceiverI.cpp +1 -1
  487. data/ext/ice/cpp/src/IceSSL/UWPTransceiverI.h +1 -1
  488. data/ext/ice/cpp/src/IceSSL/Util.cpp +1 -1
  489. data/ext/ice/cpp/src/IceSSL/Util.h +1 -1
  490. data/ext/ice/cpp/src/IceUtil/ConsoleUtil.cpp +1 -1
  491. data/ext/ice/cpp/src/IceUtil/ConvertUTF.cpp +1 -1
  492. data/ext/ice/cpp/src/IceUtil/ConvertUTF.h +1 -1
  493. data/ext/ice/cpp/src/IceUtil/CtrlCHandler.cpp +1 -1
  494. data/ext/ice/cpp/src/IceUtil/FileUtil.cpp +5 -5
  495. data/ext/ice/cpp/src/IceUtil/InputUtil.cpp +1 -1
  496. data/ext/ice/cpp/src/IceUtil/MutexProtocol.cpp +1 -1
  497. data/ext/ice/cpp/src/IceUtil/Options.cpp +1 -1
  498. data/ext/ice/cpp/src/IceUtil/OutputUtil.cpp +1 -1
  499. data/ext/ice/cpp/src/IceUtil/Random.cpp +1 -1
  500. data/ext/ice/cpp/src/IceUtil/RecMutex.cpp +1 -5
  501. data/ext/ice/cpp/src/IceUtil/Shared.cpp +1 -1
  502. data/ext/ice/cpp/src/IceUtil/StringConverter.cpp +1 -1
  503. data/ext/ice/cpp/src/IceUtil/StringUtil.cpp +1 -1
  504. data/ext/ice/cpp/src/IceUtil/ThreadException.cpp +1 -1
  505. data/ext/ice/cpp/src/IceUtil/Time.cpp +1 -1
  506. data/ext/ice/cpp/src/IceUtil/UUID.cpp +3 -3
  507. data/ext/ice/cpp/src/IceUtil/Unicode.cpp +1 -1
  508. data/ext/ice/cpp/src/IceUtil/Unicode.h +1 -1
  509. data/ext/ice/cpp/src/IceUtil/UtilException.cpp +1 -1
  510. data/ext/ice/cpp/src/Slice/CPlusPlusUtil.cpp +160 -150
  511. data/ext/ice/cpp/src/Slice/CPlusPlusUtil.h +9 -8
  512. data/ext/ice/cpp/src/Slice/Checksum.cpp +1 -1
  513. data/ext/ice/cpp/src/Slice/Checksum.h +1 -1
  514. data/ext/ice/cpp/src/Slice/FileTracker.cpp +1 -1
  515. data/ext/ice/cpp/src/Slice/FileTracker.h +1 -1
  516. data/ext/ice/cpp/src/Slice/Grammar.cpp +567 -585
  517. data/ext/ice/cpp/src/Slice/Grammar.h +2 -2
  518. data/ext/ice/cpp/src/Slice/GrammarUtil.h +1 -1
  519. data/ext/ice/cpp/src/Slice/JavaUtil.cpp +131 -47
  520. data/ext/ice/cpp/src/Slice/JavaUtil.h +10 -5
  521. data/ext/ice/cpp/src/Slice/MD5.cpp +1 -1
  522. data/ext/ice/cpp/src/Slice/MD5.h +1 -1
  523. data/ext/ice/cpp/src/Slice/PHPUtil.cpp +1 -1
  524. data/ext/ice/cpp/src/Slice/PHPUtil.h +1 -1
  525. data/ext/ice/cpp/src/Slice/Parser.cpp +383 -101
  526. data/ext/ice/cpp/src/Slice/Parser.h +40 -3
  527. data/ext/ice/cpp/src/Slice/Preprocessor.cpp +2 -1
  528. data/ext/ice/cpp/src/Slice/Preprocessor.h +2 -2
  529. data/ext/ice/cpp/src/Slice/Python.cpp +7 -15
  530. data/ext/ice/cpp/src/Slice/PythonUtil.cpp +66 -9
  531. data/ext/ice/cpp/src/Slice/PythonUtil.h +2 -2
  532. data/ext/ice/cpp/src/Slice/Ruby.cpp +1 -1
  533. data/ext/ice/cpp/src/Slice/RubyUtil.cpp +2 -2
  534. data/ext/ice/cpp/src/Slice/RubyUtil.h +1 -1
  535. data/ext/ice/cpp/src/Slice/Scanner.cpp +214 -135
  536. data/ext/ice/cpp/src/Slice/SliceUtil.cpp +1 -1
  537. data/ext/ice/cpp/src/Slice/StringLiteralUtil.cpp +99 -17
  538. data/ext/ice/cpp/src/Slice/Util.h +5 -4
  539. data/ice.gemspec +2 -2
  540. data/lib/Glacier2.rb +1 -1
  541. data/lib/Glacier2/Metrics.rb +2 -2
  542. data/lib/Glacier2/PermissionsVerifier.rb +2 -2
  543. data/lib/Glacier2/PermissionsVerifierF.rb +2 -2
  544. data/lib/Glacier2/Router.rb +2 -2
  545. data/lib/Glacier2/RouterF.rb +2 -2
  546. data/lib/Glacier2/SSLInfo.rb +2 -2
  547. data/lib/Glacier2/Session.rb +2 -2
  548. data/lib/Ice.rb +2 -2
  549. data/lib/Ice/BuiltinSequences.rb +2 -2
  550. data/lib/Ice/Communicator.rb +2 -2
  551. data/lib/Ice/CommunicatorF.rb +2 -2
  552. data/lib/Ice/Connection.rb +2 -2
  553. data/lib/Ice/ConnectionF.rb +2 -2
  554. data/lib/Ice/Current.rb +2 -2
  555. data/lib/Ice/Endpoint.rb +2 -2
  556. data/lib/Ice/EndpointF.rb +2 -2
  557. data/lib/Ice/EndpointTypes.rb +2 -2
  558. data/lib/Ice/FacetMap.rb +2 -2
  559. data/lib/Ice/Identity.rb +2 -2
  560. data/lib/Ice/ImplicitContext.rb +2 -2
  561. data/lib/Ice/ImplicitContextF.rb +2 -2
  562. data/lib/Ice/Instrumentation.rb +2 -2
  563. data/lib/Ice/InstrumentationF.rb +2 -2
  564. data/lib/Ice/LocalException.rb +2 -2
  565. data/lib/Ice/Locator.rb +2 -2
  566. data/lib/Ice/LocatorF.rb +2 -2
  567. data/lib/Ice/Logger.rb +2 -2
  568. data/lib/Ice/LoggerF.rb +2 -2
  569. data/lib/Ice/Metrics.rb +2 -2
  570. data/lib/Ice/ObjectAdapter.rb +2 -2
  571. data/lib/Ice/ObjectAdapterF.rb +2 -2
  572. data/lib/Ice/ObjectFactory.rb +2 -2
  573. data/lib/Ice/Plugin.rb +2 -2
  574. data/lib/Ice/PluginF.rb +2 -2
  575. data/lib/Ice/Process.rb +2 -2
  576. data/lib/Ice/ProcessF.rb +2 -2
  577. data/lib/Ice/Properties.rb +2 -2
  578. data/lib/Ice/PropertiesAdmin.rb +2 -2
  579. data/lib/Ice/PropertiesF.rb +2 -2
  580. data/lib/Ice/RemoteLogger.rb +2 -2
  581. data/lib/Ice/Router.rb +2 -2
  582. data/lib/Ice/RouterF.rb +2 -2
  583. data/lib/Ice/ServantLocator.rb +2 -2
  584. data/lib/Ice/ServantLocatorF.rb +2 -2
  585. data/lib/Ice/SliceChecksumDict.rb +2 -2
  586. data/lib/Ice/ValueFactory.rb +2 -2
  587. data/lib/Ice/Version.rb +2 -2
  588. data/lib/IceBox.rb +1 -1
  589. data/lib/IceBox/IceBox.rb +2 -2
  590. data/lib/IceGrid.rb +1 -1
  591. data/lib/IceGrid/Admin.rb +2 -2
  592. data/lib/IceGrid/Descriptor.rb +2 -2
  593. data/lib/IceGrid/Exception.rb +2 -2
  594. data/lib/IceGrid/FileParser.rb +2 -2
  595. data/lib/IceGrid/PluginFacade.rb +2 -2
  596. data/lib/IceGrid/Registry.rb +2 -2
  597. data/lib/IceGrid/Session.rb +2 -2
  598. data/lib/IceGrid/UserAccountMapper.rb +2 -2
  599. data/lib/IcePatch2.rb +1 -1
  600. data/lib/IcePatch2/FileInfo.rb +2 -2
  601. data/lib/IcePatch2/FileServer.rb +2 -2
  602. data/lib/IceStorm.rb +1 -1
  603. data/lib/IceStorm/IceStorm.rb +2 -2
  604. data/lib/IceStorm/Metrics.rb +2 -2
  605. data/slice/Glacier2/Metrics.ice +2 -2
  606. data/slice/Glacier2/PermissionsVerifier.ice +2 -2
  607. data/slice/Glacier2/PermissionsVerifierF.ice +2 -2
  608. data/slice/Glacier2/Router.ice +2 -2
  609. data/slice/Glacier2/RouterF.ice +2 -2
  610. data/slice/Glacier2/SSLInfo.ice +2 -2
  611. data/slice/Glacier2/Session.ice +2 -2
  612. data/slice/Ice/BuiltinSequences.ice +2 -2
  613. data/slice/Ice/Communicator.ice +66 -73
  614. data/slice/Ice/CommunicatorF.ice +2 -2
  615. data/slice/Ice/Connection.ice +47 -17
  616. data/slice/Ice/ConnectionF.ice +2 -2
  617. data/slice/Ice/Current.ice +4 -5
  618. data/slice/Ice/Endpoint.ice +16 -16
  619. data/slice/Ice/EndpointF.ice +2 -2
  620. data/slice/Ice/EndpointTypes.ice +2 -2
  621. data/slice/Ice/FacetMap.ice +2 -2
  622. data/slice/Ice/Identity.ice +2 -2
  623. data/slice/Ice/ImplicitContext.ice +6 -6
  624. data/slice/Ice/ImplicitContextF.ice +2 -2
  625. data/slice/Ice/Instrumentation.ice +2 -2
  626. data/slice/Ice/InstrumentationF.ice +2 -2
  627. data/slice/Ice/LocalException.ice +2 -2
  628. data/slice/Ice/Locator.ice +3 -3
  629. data/slice/Ice/LocatorF.ice +2 -2
  630. data/slice/Ice/Logger.ice +2 -2
  631. data/slice/Ice/LoggerF.ice +2 -2
  632. data/slice/Ice/Metrics.ice +2 -2
  633. data/slice/Ice/ObjectAdapter.ice +10 -10
  634. data/slice/Ice/ObjectAdapterF.ice +2 -2
  635. data/slice/Ice/ObjectFactory.ice +3 -3
  636. data/slice/Ice/Plugin.ice +4 -4
  637. data/slice/Ice/PluginF.ice +2 -2
  638. data/slice/Ice/Process.ice +2 -2
  639. data/slice/Ice/ProcessF.ice +2 -2
  640. data/slice/Ice/Properties.ice +11 -11
  641. data/slice/Ice/PropertiesAdmin.ice +2 -2
  642. data/slice/Ice/PropertiesF.ice +2 -2
  643. data/slice/Ice/RemoteLogger.ice +12 -23
  644. data/slice/Ice/Router.ice +2 -2
  645. data/slice/Ice/RouterF.ice +2 -2
  646. data/slice/Ice/ServantLocator.ice +2 -2
  647. data/slice/Ice/ServantLocatorF.ice +2 -2
  648. data/slice/Ice/SliceChecksumDict.ice +2 -2
  649. data/slice/Ice/ValueFactory.ice +14 -16
  650. data/slice/Ice/Version.ice +2 -2
  651. data/slice/IceBT/ConnectionInfo.ice +2 -2
  652. data/slice/IceBT/EndpointInfo.ice +2 -2
  653. data/slice/IceBT/Types.ice +2 -2
  654. data/slice/IceBox/IceBox.ice +3 -4
  655. data/slice/IceDiscovery/IceDiscovery.ice +2 -2
  656. data/slice/IceGrid/Admin.ice +2 -2
  657. data/slice/IceGrid/Descriptor.ice +2 -2
  658. data/slice/IceGrid/Exception.ice +2 -2
  659. data/slice/IceGrid/FileParser.ice +2 -2
  660. data/slice/IceGrid/PluginFacade.ice +6 -6
  661. data/slice/IceGrid/Registry.ice +2 -2
  662. data/slice/IceGrid/Session.ice +2 -2
  663. data/slice/IceGrid/UserAccountMapper.ice +2 -2
  664. data/slice/IceIAP/ConnectionInfo.ice +2 -2
  665. data/slice/IceIAP/EndpointInfo.ice +2 -2
  666. data/slice/IceLocatorDiscovery/IceLocatorDiscovery.ice +2 -2
  667. data/slice/IcePatch2/FileInfo.ice +2 -2
  668. data/slice/IcePatch2/FileServer.ice +2 -2
  669. data/slice/IceSSL/ConnectionInfo.ice +2 -2
  670. data/slice/IceSSL/ConnectionInfoF.ice +2 -2
  671. data/slice/IceSSL/EndpointInfo.ice +2 -2
  672. data/slice/IceStorm/IceStorm.ice +5 -6
  673. data/slice/IceStorm/Metrics.ice +2 -2
  674. metadata +3 -13
  675. data/BZIP2_LICENSE +0 -42
  676. data/ext/ice/bzip2/blocksort.c +0 -1094
  677. data/ext/ice/bzip2/bzlib.c +0 -1572
  678. data/ext/ice/bzip2/bzlib.h +0 -282
  679. data/ext/ice/bzip2/bzlib_private.h +0 -509
  680. data/ext/ice/bzip2/compress.c +0 -672
  681. data/ext/ice/bzip2/crctable.c +0 -104
  682. data/ext/ice/bzip2/decompress.c +0 -646
  683. data/ext/ice/bzip2/huffman.c +0 -205
  684. data/ext/ice/bzip2/randtable.c +0 -84
@@ -1,6 +1,6 @@
1
1
  // **********************************************************************
2
2
  //
3
- // Copyright (c) 2003-2017 ZeroC, Inc. All rights reserved.
3
+ // Copyright (c) 2003-2018 ZeroC, Inc. All rights reserved.
4
4
  //
5
5
  // This copy of Ice is licensed to you under the terms described in the
6
6
  // ICE_LICENSE file included in this distribution.
@@ -17,34 +17,65 @@
17
17
  namespace Ice
18
18
  {
19
19
 
20
+ /** Encapsulates bytes in the UTF-8 encoding. */
20
21
  typedef IceUtil::UTF8Buffer UTF8Buffer;
22
+
23
+ /** Narrow string converter. */
21
24
  typedef IceUtil::StringConverter StringConverter;
22
25
  typedef IceUtil::StringConverterPtr StringConverterPtr;
26
+
27
+ /** Wide string converter. */
23
28
  typedef IceUtil::WstringConverter WstringConverter;
24
29
  typedef IceUtil::WstringConverterPtr WstringConverterPtr;
25
30
 
31
+ /** Indicates an error occurred during string conversion. */
26
32
  typedef IceUtil::IllegalConversionException IllegalConversionException;
27
33
 
28
34
  #ifdef ICE_CPP11_MAPPING
35
+ /** Base class for a string converter. */
29
36
  template<typename charT>
30
37
  using BasicStringConverter = IceUtil::BasicStringConverter<charT>;
31
38
  #endif
32
39
 
33
40
  #ifdef _WIN32
41
+ /**
42
+ * Creates a string converter that converts between multi-byte and UTF-8 strings and uses MultiByteToWideChar
43
+ * and WideCharToMultiByte for its implementation.
44
+ */
34
45
  using IceUtil::createWindowsStringConverter;
35
46
  #endif
36
47
 
48
+ /** Creates a string converter that converts between Unicode wide strings and UTF-8 strings. */
37
49
  using IceUtil::createUnicodeWstringConverter;
38
50
 
51
+ /** Installs a default narrow string converter for the process. */
39
52
  using IceUtil::setProcessStringConverter;
53
+
54
+ /** Obtains the default narrow string converter for the process. */
40
55
  using IceUtil::getProcessStringConverter;
56
+
57
+ /** Installs a default wide string converter for the process. */
41
58
  using IceUtil::setProcessWstringConverter;
59
+
60
+ /** Obtains the default wide string converter for the process. */
42
61
  using IceUtil::getProcessWstringConverter;
43
62
 
63
+ /** Converts a wide string to a narrow string. */
44
64
  using IceUtil::wstringToString;
65
+
66
+ /** Converts a narrow string to a wide string. */
45
67
  using IceUtil::stringToWstring;
46
68
 
69
+ /**
70
+ * Converts a narrow string to a UTF-8 encoded string using a string converter.
71
+ * No conversion is performed if the string converter is nil.
72
+ */
47
73
  using IceUtil::nativeToUTF8;
74
+
75
+ /**
76
+ * Converts a UTF-8 encoded string to a narrow string using a string converter.
77
+ * No conversion is performed if the string converter is nil.
78
+ */
48
79
  using IceUtil::UTF8ToNative;
49
80
 
50
81
  }
@@ -1,6 +1,6 @@
1
1
  // **********************************************************************
2
2
  //
3
- // Copyright (c) 2003-2017 ZeroC, Inc. All rights reserved.
3
+ // Copyright (c) 2003-2018 ZeroC, Inc. All rights reserved.
4
4
  //
5
5
  // This copy of Ice is licensed to you under the terms described in the
6
6
  // ICE_LICENSE file included in this distribution.
@@ -1,6 +1,6 @@
1
1
  // **********************************************************************
2
2
  //
3
- // Copyright (c) 2003-2017 ZeroC, Inc. All rights reserved.
3
+ // Copyright (c) 2003-2018 ZeroC, Inc. All rights reserved.
4
4
  //
5
5
  // This copy of Ice is licensed to you under the terms described in the
6
6
  // ICE_LICENSE file included in this distribution.
@@ -16,6 +16,7 @@
16
16
  namespace Ice
17
17
  {
18
18
 
19
+ /** Generates a UUID. */
19
20
  using IceUtil::generateUUID;
20
21
 
21
22
  }
@@ -1,6 +1,6 @@
1
1
  // **********************************************************************
2
2
  //
3
- // Copyright (c) 2003-2017 ZeroC, Inc. All rights reserved.
3
+ // Copyright (c) 2003-2018 ZeroC, Inc. All rights reserved.
4
4
  //
5
5
  // This copy of Ice is licensed to you under the terms described in the
6
6
  // ICE_LICENSE file included in this distribution.
@@ -95,6 +95,6 @@ private:
95
95
 
96
96
  #endif
97
97
 
98
- } // End of namespace IceUtil
98
+ }
99
99
 
100
100
  #endif
@@ -1,6 +1,6 @@
1
1
  // **********************************************************************
2
2
  //
3
- // Copyright (c) 2003-2017 ZeroC, Inc. All rights reserved.
3
+ // Copyright (c) 2003-2018 ZeroC, Inc. All rights reserved.
4
4
  //
5
5
  // This copy of Ice is licensed to you under the terms described in the
6
6
  // ICE_LICENSE file included in this distribution.
@@ -47,7 +47,11 @@ public:
47
47
 
48
48
  void reset(R ref = 0)
49
49
  {
50
- assert(ref == 0 || ref != _ref);
50
+ //
51
+ // Support "self-reset" for CF objects. This is useful if CF allocation methods return
52
+ // the same object with an increased reference count.
53
+ //
54
+ //assert(ref == 0 || ref != _ref);
51
55
 
52
56
  if(_ref != 0)
53
57
  {
@@ -1,6 +1,6 @@
1
1
  // **********************************************************************
2
2
  //
3
- // Copyright (c) 2003-2017 ZeroC, Inc. All rights reserved.
3
+ // Copyright (c) 2003-2018 ZeroC, Inc. All rights reserved.
4
4
  //
5
5
  // This copy of Ice is licensed to you under the terms described in the
6
6
  // ICE_LICENSE file included in this distribution.
@@ -19,6 +19,7 @@
19
19
  namespace Ice
20
20
  {
21
21
 
22
+ /** Creates and throws a user exception. */
22
23
  using UserExceptionFactory = std::function<void(const std::string&)>;
23
24
 
24
25
  }
@@ -44,6 +45,10 @@ defaultUserExceptionFactory(const std::string& typeId)
44
45
  namespace Ice
45
46
  {
46
47
 
48
+ /**
49
+ * Creates and throws a user exception.
50
+ * \headerfile Ice/Ice.h
51
+ */
47
52
  class ICE_API UserExceptionFactory : public IceUtil::Shared
48
53
  {
49
54
  public:
@@ -1,6 +1,6 @@
1
1
  // **********************************************************************
2
2
  //
3
- // Copyright (c) 2003-2017 ZeroC, Inc. All rights reserved.
3
+ // Copyright (c) 2003-2018 ZeroC, Inc. All rights reserved.
4
4
  //
5
5
  // This copy of Ice is licensed to you under the terms described in the
6
6
  // ICE_LICENSE file included in this distribution.
@@ -21,6 +21,10 @@
21
21
  namespace Ice
22
22
  {
23
23
 
24
+ /**
25
+ * The base class for instances of Slice classes.
26
+ * \headerfile Ice/Ice.h
27
+ */
24
28
  class ICE_API Value
25
29
  {
26
30
  public:
@@ -36,26 +40,61 @@ public:
36
40
  Value& operator=(Value&&) = default;
37
41
  virtual ~Value() = default;
38
42
 
43
+ /**
44
+ * The Ice run time invokes this method prior to marshaling an object's data members. This allows a subclass
45
+ * to override this method in order to validate its data members.
46
+ */
39
47
  virtual void ice_preMarshal();
48
+
49
+ /**
50
+ * The Ice run time invokes this method vafter unmarshaling an object's data members. This allows a
51
+ * subclass to override this method in order to perform additional initialization.
52
+ */
40
53
  virtual void ice_postUnmarshal();
41
54
 
55
+ /**
56
+ * Obtains the Slice type ID of the most-derived class supported by this object.
57
+ * @return The type ID.
58
+ */
42
59
  virtual std::string ice_id() const;
60
+
61
+ /**
62
+ * Obtains the Slice type ID of this type.
63
+ * @return The return value is always "::Ice::Object".
64
+ */
43
65
  static const std::string& ice_staticId();
44
66
 
67
+ /**
68
+ * Returns a shallow copy of the object.
69
+ * @return The cloned value.
70
+ */
45
71
  std::shared_ptr<Value> ice_clone() const;
46
72
 
73
+ /**
74
+ * Obtains the sliced data associated with this instance.
75
+ * @return The sliced data if the value has a preserved-slice base class and has been sliced during
76
+ * unmarshaling of the value, nil otherwise.
77
+ */
47
78
  virtual std::shared_ptr<SlicedData> ice_getSlicedData() const;
48
79
 
80
+ /// \cond STREAM
49
81
  virtual void _iceWrite(Ice::OutputStream*) const;
50
82
  virtual void _iceRead(Ice::InputStream*);
83
+ /// \endcond
51
84
 
52
85
  protected:
53
86
 
87
+ /// \cond INTERNAL
54
88
  virtual std::shared_ptr<Value> _iceCloneImpl() const = 0;
89
+ /// \endcond
90
+
91
+ /// \cond STREAM
55
92
  virtual void _iceWriteImpl(Ice::OutputStream*) const {}
56
93
  virtual void _iceReadImpl(Ice::InputStream*) {}
94
+ /// \endcond
57
95
  };
58
96
 
97
+ /// \cond INTERNAL
59
98
  template<typename T, typename Base> class ValueHelper : public Base
60
99
  {
61
100
  public:
@@ -97,6 +136,7 @@ protected:
97
136
  Base::_iceReadImpl(is);
98
137
  }
99
138
  };
139
+ /// \endcond
100
140
 
101
141
  }
102
142
  #endif // C++11 mapping end
@@ -1,6 +1,6 @@
1
1
  // **********************************************************************
2
2
  //
3
- // Copyright (c) 2003-2017 ZeroC, Inc. All rights reserved.
3
+ // Copyright (c) 2003-2018 ZeroC, Inc. All rights reserved.
4
4
  //
5
5
  // This copy of Ice is licensed to you under the terms described in the
6
6
  // ICE_LICENSE file included in this distribution.
@@ -17,7 +17,9 @@ namespace Ice
17
17
  {
18
18
 
19
19
  class Value;
20
+ /// \cond INTERNAL
20
21
  using ValuePtr = ::std::shared_ptr<Value>;
22
+ /// \endcond
21
23
 
22
24
  }
23
25
  #endif
@@ -1,6 +1,6 @@
1
1
  // **********************************************************************
2
2
  //
3
- // Copyright (c) 2003-2017 ZeroC, Inc. All rights reserved.
3
+ // Copyright (c) 2003-2018 ZeroC, Inc. All rights reserved.
4
4
  //
5
5
  // This copy of Ice is licensed to you under the terms described in the
6
6
  // ICE_LICENSE file included in this distribution.
@@ -1,6 +1,6 @@
1
1
  // **********************************************************************
2
2
  //
3
- // Copyright (c) 2003-2017 ZeroC, Inc. All rights reserved.
3
+ // Copyright (c) 2003-2018 ZeroC, Inc. All rights reserved.
4
4
  //
5
5
  // This copy of Ice is licensed to you under the terms described in the
6
6
  // ICE_LICENSE file included in this distribution.
@@ -1,6 +1,6 @@
1
1
  // **********************************************************************
2
2
  //
3
- // Copyright (c) 2003-2017 ZeroC, Inc. All rights reserved.
3
+ // Copyright (c) 2003-2018 ZeroC, Inc. All rights reserved.
4
4
  //
5
5
  // This copy of Ice is licensed to you under the terms described in the
6
6
  // ICE_LICENSE file included in this distribution.
@@ -43,7 +43,14 @@
43
43
  namespace Ice
44
44
  {
45
45
 
46
- ICE_PLUGIN_REGISTER_DECLSPEC_IMPORT void registerIceSSLOpenSSL(bool = true);
46
+ /**
47
+ * When using static libraries, calling this function ensures the OpenSSL version of the IceSSL plug-in is
48
+ * linked with the application.
49
+ * @param loadOnInitialize If true, the plug-in is loaded (created) during communicator initialization.
50
+ * If false, the plug-in is only loaded during communicator initialization if its corresponding plug-in
51
+ * property is set to 1.
52
+ */
53
+ ICE_PLUGIN_REGISTER_DECLSPEC_IMPORT void registerIceSSLOpenSSL(bool loadOnInitialize = true);
47
54
 
48
55
  }
49
56
  #endif
@@ -57,69 +64,84 @@ namespace OpenSSL
57
64
  class Certificate;
58
65
  ICE_DEFINE_PTR(CertificatePtr, Certificate);
59
66
 
67
+ /**
68
+ * Encapsulates an OpenSSL X.509 certificate.
69
+ * \headerfile IceSSL/IceSSL.h
70
+ */
60
71
  class ICESSL_OPENSSL_API Certificate : public virtual IceSSL::Certificate
61
72
  {
62
73
  public:
63
74
 
64
- //
65
- // Construct a certificate using a native certificate.
66
- //
67
- // The Certificate class assumes ownership of the given native
68
- // certificate.
69
- //
70
- static CertificatePtr create(x509_st*);
71
-
72
- //
73
- // Load the certificate from a file. The certificate must use the
74
- // PEM encoding format. Raises CertificateReadException if the
75
- // file cannot be read.
76
- //
77
- static CertificatePtr load(const std::string&);
78
-
79
- //
80
- // Decode a certificate from a string that uses the PEM encoding
81
- // format. Raises CertificateEncodingException if an error
82
- // occurs.
83
- //
84
- static CertificatePtr decode(const std::string&);
85
-
86
- //
87
- // Retrieve the native X509 certificate value wrapped by this
88
- // object.
89
- //
90
- // The returned reference is only valid for the lifetime of this
91
- // object. you can increment it with X509_dup.
92
- //
75
+ /**
76
+ * Construct a certificate using a native certificate.
77
+ * The Certificate class assumes ownership of the given native
78
+ * certificate.
79
+ * @param cert The native certificate.
80
+ * @return A new certificate object.
81
+ */
82
+ static CertificatePtr create(x509_st* cert);
83
+
84
+ /**
85
+ * Load the certificate from a file. The certificate must use the
86
+ * PEM encoding format.
87
+ * @param file The certificate file.
88
+ * @return A new certificate object.
89
+ * @throws CertificateReadException if the file cannot be read.
90
+ */
91
+ static CertificatePtr load(const std::string& file);
92
+
93
+ /**
94
+ * Decode a certificate from a string that uses the PEM encoding format.
95
+ * @param cert A string containing the PEM-encoded certificate.
96
+ * @return A new certificate object.
97
+ * @throws CertificateEncodingException if an error occurs.
98
+ */
99
+ static CertificatePtr decode(const std::string& cert);
100
+
101
+ /**
102
+ * Retrieve the native X509 certificate value wrapped by this object.
103
+ * @return The native certificate. The returned reference is only valid for the lifetime of this
104
+ * object. You can increment it with X509_dup.
105
+ */
93
106
  virtual x509_st* getCert() const = 0;
94
107
  };
95
108
 
109
+ /**
110
+ * Represents the IceSSL plug-in object.
111
+ * \headerfile IceSSL/IceSSL.h
112
+ */
96
113
  class ICESSL_OPENSSL_API Plugin : public virtual IceSSL::Plugin
97
114
  {
98
115
  public:
99
- //
100
- // returns OpenSSL version number.
101
- //
116
+
117
+ /**
118
+ * Obtains the OpenSSL version number.
119
+ * @return The version.
120
+ */
102
121
  virtual Ice::Long getOpenSSLVersion() const = 0;
103
- //
104
- // Establish the OpenSSL context. This must be done before the
105
- // plug-in is initialized, therefore the application must define
106
- // the property Ice.InitPlugins=0, set the context, and finally
107
- // invoke initializePlugins on the PluginManager.
108
- //
109
- // When the application supplies its own OpenSSL context, the
110
- // plug-in ignores configuration properties related to certificates,
111
- // keys, and passwords.
112
- //
113
- // Note that the plugin assumes ownership of the given context.
114
- //
115
- virtual void setContext(SSL_CTX*) = 0;
116
-
117
- //
118
- // Obtain the SSL context. Use caution when modifying this value.
119
- // Changes made to this value have no effect on existing connections.
120
- //
121
- virtual SSL_CTX* getContext() = 0;
122
122
 
123
+ /**
124
+ * Establishes the OpenSSL context. This must be done before the
125
+ * plug-in is initialized, therefore the application must define
126
+ * the property Ice.InitPlugins=0, set the context, and finally
127
+ * invoke Ice::PluginManager::initializePlugins.
128
+ *
129
+ * When the application supplies its own OpenSSL context, the
130
+ * plug-in ignores configuration properties related to certificates,
131
+ * keys, and passwords.
132
+ *
133
+ * Note that the plug-in assumes ownership of the given context.
134
+ *
135
+ * @param ctx The OpenSSL context.
136
+ */
137
+ virtual void setContext(SSL_CTX* ctx) = 0;
138
+
139
+ /**
140
+ * Obtains the SSL context. Use caution when modifying this value.
141
+ * Changes made to this value have no effect on existing connections.
142
+ * @return The OpenSSL context.
143
+ */
144
+ virtual SSL_CTX* getContext() = 0;
123
145
  };
124
146
  ICE_DEFINE_PTR(PluginPtr, Plugin);
125
147
 
@@ -1,6 +1,6 @@
1
1
  // **********************************************************************
2
2
  //
3
- // Copyright (c) 2003-2017 ZeroC, Inc. All rights reserved.
3
+ // Copyright (c) 2003-2018 ZeroC, Inc. All rights reserved.
4
4
  //
5
5
  // This copy of Ice is licensed to you under the terms described in the
6
6
  // ICE_LICENSE file included in this distribution.
@@ -36,22 +36,31 @@
36
36
  namespace IceSSL
37
37
  {
38
38
 
39
- //
40
- // This exception is thrown if the certificate cannot be read.
41
- //
39
+ /**
40
+ * Thrown if the certificate cannot be read.
41
+ * \headerfile IceSSL/IceSSL.h
42
+ */
42
43
  class ICESSL_API CertificateReadException : public IceUtil::ExceptionHelper<CertificateReadException>
43
44
  {
44
45
  public:
45
46
 
46
47
  CertificateReadException(const char*, int, const std::string&);
48
+
47
49
  #ifndef ICE_CPP11_COMPILER
48
50
  virtual ~CertificateReadException() throw();
49
51
  #endif
52
+
50
53
  virtual std::string ice_id() const;
54
+
51
55
  #ifndef ICE_CPP11_MAPPING
56
+ /**
57
+ * Creates a shallow copy of this exception.
58
+ * @return The new exception instance.
59
+ */
52
60
  virtual CertificateReadException* ice_clone() const;
53
61
  #endif
54
62
 
63
+ /** The reason for the exception. */
55
64
  std::string reason;
56
65
 
57
66
  private:
@@ -59,22 +68,31 @@ private:
59
68
  static const char* _name;
60
69
  };
61
70
 
62
- //
63
- // This exception is thrown if the certificate cannot be encoded.
64
- //
71
+ /**
72
+ * Thrown if the certificate cannot be encoded.
73
+ * \headerfile IceSSL/IceSSL.h
74
+ */
65
75
  class ICESSL_API CertificateEncodingException : public IceUtil::ExceptionHelper<CertificateEncodingException>
66
76
  {
67
77
  public:
68
78
 
69
79
  CertificateEncodingException(const char*, int, const std::string&);
80
+
70
81
  #ifndef ICE_CPP11_COMPILER
71
82
  virtual ~CertificateEncodingException() throw();
72
83
  #endif
84
+
73
85
  virtual std::string ice_id() const;
86
+
74
87
  #ifndef ICE_CPP11_MAPPING
88
+ /**
89
+ * Creates a shallow copy of this exception.
90
+ * @return The new exception instance.
91
+ */
75
92
  virtual CertificateEncodingException* ice_clone() const;
76
93
  #endif
77
94
 
95
+ /** The reason for the exception. */
78
96
  std::string reason;
79
97
 
80
98
  private:
@@ -82,22 +100,31 @@ private:
82
100
  static const char* _name;
83
101
  };
84
102
 
85
- //
86
- // This exception is thrown if a distinguished name cannot be parsed.
87
- //
103
+ /**
104
+ * This exception is thrown if a distinguished name cannot be parsed.
105
+ * \headerfile IceSSL/IceSSL.h
106
+ */
88
107
  class ICESSL_API ParseException : public IceUtil::ExceptionHelper<ParseException>
89
108
  {
90
109
  public:
91
110
 
92
111
  ParseException(const char*, int, const std::string&);
112
+
93
113
  #ifndef ICE_CPP11_COMPILER
94
114
  virtual ~ParseException() throw();
95
115
  #endif
116
+
96
117
  virtual std::string ice_id() const;
118
+
97
119
  #ifndef ICE_CPP11_MAPPING
120
+ /**
121
+ * Creates a shallow copy of this exception.
122
+ * @return The new exception instance.
123
+ */
98
124
  virtual ParseException* ice_clone() const;
99
125
  #endif
100
126
 
127
+ /** The reason for the exception. */
101
128
  std::string reason;
102
129
 
103
130
  private:
@@ -105,61 +132,76 @@ private:
105
132
  static const char* _name;
106
133
  };
107
134
 
108
- //
109
- // This class represents a DistinguishedName, similar to the Java
110
- // type X500Principal and the .NET type X500DistinguishedName.
111
- //
112
- // For comparison purposes, the value of a relative distinguished
113
- // name (RDN) component is always unescaped before matching,
114
- // therefore "ZeroC, Inc." will match ZeroC\, Inc.
115
- //
116
- // toString() always returns exactly the same information as was
117
- // provided in the constructor (i.e., "ZeroC, Inc." will not turn
118
- // into ZeroC\, Inc.).
119
- //
135
+ /**
136
+ * This class represents a DistinguishedName, similar to the Java
137
+ * type X500Principal and the .NET type X500DistinguishedName.
138
+ *
139
+ * For comparison purposes, the value of a relative distinguished
140
+ * name (RDN) component is always unescaped before matching,
141
+ * therefore "ZeroC, Inc." will match ZeroC\, Inc.
142
+ *
143
+ * toString() always returns exactly the same information as was
144
+ * provided in the constructor (i.e., "ZeroC, Inc." will not turn
145
+ * into ZeroC\, Inc.).
146
+ * \headerfile IceSSL/IceSSL.h
147
+ */
120
148
  class ICESSL_API DistinguishedName
121
149
  {
122
150
  public:
123
151
 
124
- //
125
- // Create a DistinguishedName from a string encoded using
126
- // the rules in RFC2253.
127
- //
128
- // Throws ParseException if parsing fails.
129
- //
130
- explicit DistinguishedName(const std::string&);
131
-
132
- //
133
- // Create a DistinguishedName from a list of RDN pairs,
134
- // where each pair consists of the RDN's type and value.
135
- // For example, the RDN "O=ZeroC" is represented by the
136
- // pair ("O", "ZeroC").
137
- //
152
+ /**
153
+ * Creates a DistinguishedName from a string encoded using the rules in RFC2253.
154
+ * @param name The encoded distinguished name.
155
+ * @throws ParseException if parsing fails.
156
+ */
157
+ explicit DistinguishedName(const std::string& name);
158
+
159
+ /**
160
+ * Creates a DistinguishedName from a list of RDN pairs,
161
+ * where each pair consists of the RDN's type and value.
162
+ * For example, the RDN "O=ZeroC" is represented by the
163
+ * pair ("O", "ZeroC").
164
+ * @throws ParseException if parsing fails.
165
+ */
138
166
  explicit DistinguishedName(const std::list<std::pair<std::string, std::string> >&);
139
167
 
140
- //
141
- // This is an exact match. The order of the RDN components is
142
- // important.
143
- //
168
+ /**
169
+ * Performs an exact match. The order of the RDN components is important.
170
+ */
144
171
  friend ICESSL_API bool operator==(const DistinguishedName&, const DistinguishedName&);
172
+
173
+ /**
174
+ * Performs an exact match. The order of the RDN components is important.
175
+ */
145
176
  friend ICESSL_API bool operator<(const DistinguishedName&, const DistinguishedName&);
146
177
 
147
- //
148
- // Perform a partial match with another DistinguishedName. The function
149
- // returns true if all of the RDNs in the argument are present in this
150
- // DistinguishedName and they have the same values.
151
- //
152
- bool match(const DistinguishedName&) const;
153
- bool match(const std::string&) const;
154
-
155
- //
156
- // Encode the DN in RFC2253 format.
157
- //
178
+ /**
179
+ * Performs a partial match with another DistinguishedName.
180
+ * @param dn The name to be matched.
181
+ * @return True if all of the RDNs in the argument are present in this
182
+ * DistinguishedName and they have the same values.
183
+ */
184
+ bool match(const DistinguishedName& dn) const;
185
+
186
+ /**
187
+ * Performs a partial match with another DistinguishedName.
188
+ * @param dn The name to be matched.
189
+ * @return True if all of the RDNs in the argument are present in this
190
+ * DistinguishedName and they have the same values.
191
+ */
192
+ bool match(const std::string& dn) const;
193
+
194
+ /**
195
+ * Encodes the DN in RFC2253 format.
196
+ * @return An encoded string.
197
+ */
158
198
  operator std::string() const;
159
199
 
160
200
  protected:
161
201
 
202
+ /// \cond INTERNAL
162
203
  void unescape();
204
+ /// \endcond
163
205
 
164
206
  private:
165
207
 
@@ -167,33 +209,46 @@ private:
167
209
  std::list<std::pair<std::string, std::string> > _unescaped;
168
210
  };
169
211
 
212
+ /**
213
+ * Performs an exact match. The order of the RDN components is important.
214
+ */
170
215
  inline bool
171
216
  operator>(const DistinguishedName& lhs, const DistinguishedName& rhs)
172
217
  {
173
218
  return rhs < lhs;
174
219
  }
175
220
 
221
+ /**
222
+ * Performs an exact match. The order of the RDN components is important.
223
+ */
176
224
  inline bool
177
225
  operator<=(const DistinguishedName& lhs, const DistinguishedName& rhs)
178
226
  {
179
227
  return !(lhs > rhs);
180
228
  }
181
229
 
230
+ /**
231
+ * Performs an exact match. The order of the RDN components is important.
232
+ */
182
233
  inline bool
183
234
  operator>=(const DistinguishedName& lhs, const DistinguishedName& rhs)
184
235
  {
185
236
  return !(lhs < rhs);
186
237
  }
187
238
 
239
+ /**
240
+ * Performs an exact match. The order of the RDN components is important.
241
+ */
188
242
  inline bool
189
243
  operator!=(const DistinguishedName& lhs, const DistinguishedName& rhs)
190
244
  {
191
245
  return !(lhs == rhs);
192
246
  }
193
247
 
194
- //
195
- // This class represents an X509 Certificate extension.
196
- //
248
+ /**
249
+ * Represents an X509 Certificate extension.
250
+ * \headerfile IceSSL/IceSSL.h
251
+ */
197
252
  class ICESSL_API X509Extension
198
253
  #ifndef ICE_CPP11_MAPPING
199
254
  : public virtual IceUtil::Shared
@@ -201,267 +256,317 @@ class ICESSL_API X509Extension
201
256
  {
202
257
  public:
203
258
 
259
+ /**
260
+ * Determines whether the information in this extension is important.
261
+ * @return True if if information is important, false otherwise.
262
+ */
204
263
  virtual bool isCritical() const = 0;
264
+
265
+ /**
266
+ * Obtains the object ID of this extension.
267
+ * @return The object ID.
268
+ */
205
269
  virtual std::string getOID() const = 0;
270
+
271
+ /**
272
+ * Obtains the data associated with this extension.
273
+ * @return The extension data.
274
+ */
206
275
  virtual std::vector<Ice::Byte> getData() const = 0;
207
276
  };
208
277
  ICE_DEFINE_PTR(X509ExtensionPtr, X509Extension);
209
278
 
210
- //
211
- // This convenience class is a wrapper around a native certificate.
212
- // The interface is inspired by java.security.cert.X509Certificate.
213
- //
214
-
215
279
  class Certificate;
216
280
  ICE_DEFINE_PTR(CertificatePtr, Certificate);
217
281
 
282
+ /**
283
+ * This convenience class is a wrapper around a native certificate.
284
+ * The interface is inspired by java.security.cert.X509Certificate.
285
+ * \headerfile IceSSL/IceSSL.h
286
+ */
218
287
  class ICESSL_API Certificate :
219
288
  #ifdef ICE_CPP11_MAPPING
220
- public std::enable_shared_from_this<Certificate>
289
+ public std::enable_shared_from_this<Certificate>
221
290
  #else
222
- public virtual IceUtil::Shared
291
+ public virtual IceUtil::Shared
223
292
  #endif
224
293
  {
225
294
  public:
226
295
 
227
- //
228
- // Compare the certificates for equality using the
229
- // native certificate comparison method.
230
- //
296
+ /**
297
+ * Compares the certificates for equality using the native certificate comparison method.
298
+ */
231
299
  virtual bool operator==(const Certificate&) const = 0;
300
+
301
+ /**
302
+ * Compares the certificates for equality using the native certificate comparison method.
303
+ */
232
304
  virtual bool operator!=(const Certificate&) const = 0;
233
305
 
234
- //
235
- // Authority key identifier
236
- //
306
+ /**
307
+ * Obtains the authority key identifier.
308
+ * @return The identifier.
309
+ */
237
310
  virtual std::vector<Ice::Byte> getAuthorityKeyIdentifier() const = 0;
238
311
 
239
- //
240
- // Subject key identifier
241
- //
312
+ /**
313
+ * Obtains the subject key identifier.
314
+ * @return The identifier.
315
+ */
242
316
  virtual std::vector<Ice::Byte> getSubjectKeyIdentifier() const = 0;
243
317
 
244
- //
245
- // Verify that this certificate was signed by the given certificate
246
- // public key. Returns true if signed, false otherwise.
247
- //
248
- virtual bool verify(const CertificatePtr&) const = 0;
249
-
250
- //
251
- // Return a string encoding of the certificate in PEM format.
252
- // Raises CertificateEncodingException if an error occurs.
253
- //
318
+ /**
319
+ * Verifies that this certificate was signed by the given certificate
320
+ * public key.
321
+ * @param cert A certificate containing the public key.
322
+ * @return True if signed, false otherwise.
323
+ */
324
+ virtual bool verify(const CertificatePtr& cert) const = 0;
325
+
326
+ /**
327
+ * Obtains a string encoding of the certificate in PEM format.
328
+ * @return The encoded certificate.
329
+ * @throws CertificateEncodingException if an error occurs.
330
+ */
254
331
  virtual std::string encode() const = 0;
255
332
 
256
- //
257
- // Checks that the certificate is currently valid, that is, the current
258
- // date falls between the validity period given in the certificate.
259
- //
333
+ /**
334
+ * Checks that the certificate is currently valid, that is, the current
335
+ * date falls between the validity period given in the certificate.
336
+ * @return True if the certificate is valid, false otherwise.
337
+ */
260
338
  virtual bool checkValidity() const = 0;
261
339
 
262
- //
263
- // Checks that the certificate is valid at the given time.
264
- //
340
+ /**
341
+ * Checks that the certificate is valid at the given time.
342
+ * @param t The target time.
343
+ * @return True if the certificate is valid, false otherwise.
344
+ */
265
345
  #ifdef ICE_CPP11_MAPPING
266
- virtual bool checkValidity(const std::chrono::system_clock::time_point&) const = 0;
346
+ virtual bool checkValidity(const std::chrono::system_clock::time_point& t) const = 0;
267
347
  #else
268
- virtual bool checkValidity(const IceUtil::Time&) const = 0;
348
+ virtual bool checkValidity(const IceUtil::Time& t) const = 0;
269
349
  #endif
270
350
 
271
- //
272
- // Get the not-after validity time.
273
- //
351
+ /**
352
+ * Obtains the not-after validity time.
353
+ * @return The time after which this certificate is invalid.
354
+ */
274
355
  #ifdef ICE_CPP11_MAPPING
275
356
  virtual std::chrono::system_clock::time_point getNotAfter() const = 0;
276
357
  #else
277
358
  virtual IceUtil::Time getNotAfter() const = 0;
278
359
  #endif
279
360
 
280
- //
281
- // Get the not-before validity time.
282
- //
361
+ /**
362
+ * Obtains the not-before validity time.
363
+ * @return The time at which this certificate is valid.
364
+ */
283
365
  #ifdef ICE_CPP11_MAPPING
284
366
  virtual std::chrono::system_clock::time_point getNotBefore() const = 0;
285
367
  #else
286
368
  virtual IceUtil::Time getNotBefore() const = 0;
287
369
  #endif
288
370
 
289
- //
290
- // Get the serial number. This is an arbitrarily large number.
291
- //
371
+ /**
372
+ * Obtains the serial number. This is an arbitrarily large number.
373
+ * @return The certificate's serial number.
374
+ */
292
375
  virtual std::string getSerialNumber() const = 0;
293
376
 
294
- //
295
- // Get the issuer's distinguished name (DN).
296
- //
377
+ /**
378
+ * Obtains the issuer's distinguished name (DN).
379
+ * @return The distinguished name.
380
+ */
297
381
  virtual DistinguishedName getIssuerDN() const = 0;
298
382
 
299
- //
300
- // Get the values in the issuer's alternative names extension.
301
- //
302
- // The returned list contains a pair of int, string.
303
- //
304
- // otherName [0] OtherName
305
- // rfc822Name [1] IA5String
306
- // dNSName [2] IA5String
307
- // x400Address [3] ORAddress
308
- // directoryName [4] Name
309
- // ediPartyName [5] EDIPartyName
310
- // uniformResourceIdentifier [6] IA5String
311
- // iPAddress [7] OCTET STRING
312
- // registeredID [8] OBJECT IDENTIFIER
313
- //
314
- // rfc822Name, dNSName, directoryName and
315
- // uniformResourceIdentifier data is returned as a string.
316
- //
317
- // iPAddress is returned in dotted quad notation. IPv6 is not
318
- // currently supported.
319
- //
320
- // All distinguished names are encoded in RFC2253 format.
321
- //
322
- // The remainder of the data will result in an empty string. Use the raw
323
- // X509* certificate to obtain these values.
324
- //
383
+ /**
384
+ * Obtains the values in the issuer's alternative names extension.
385
+ *
386
+ * The returned list contains a pair of int, string.
387
+ *
388
+ * otherName [0] OtherName
389
+ * rfc822Name [1] IA5String
390
+ * dNSName [2] IA5String
391
+ * x400Address [3] ORAddress
392
+ * directoryName [4] Name
393
+ * ediPartyName [5] EDIPartyName
394
+ * uniformResourceIdentifier [6] IA5String
395
+ * iPAddress [7] OCTET STRING
396
+ * registeredID [8] OBJECT IDENTIFIER
397
+ *
398
+ * rfc822Name, dNSName, directoryName and
399
+ * uniformResourceIdentifier data is returned as a string.
400
+ *
401
+ * iPAddress is returned in dotted quad notation. IPv6 is not
402
+ * currently supported.
403
+ *
404
+ * All distinguished names are encoded in RFC2253 format.
405
+ *
406
+ * The remainder of the data will result in an empty string. Use the raw
407
+ * X509* certificate to obtain these values.
408
+ *
409
+ * @return The issuer's alternative names.
410
+ */
325
411
  virtual std::vector<std::pair<int, std::string> > getIssuerAlternativeNames() const = 0;
326
412
 
327
- //
328
- // Get the subject's distinguished name (DN).
329
- //
413
+ /**
414
+ * Obtains the subject's distinguished name (DN).
415
+ * @return The distinguished name.
416
+ */
330
417
  virtual DistinguishedName getSubjectDN() const = 0;
331
418
 
332
- //
333
- // See the comment for getIssuerAlternativeNames.
334
- //
419
+ /**
420
+ * See the comment for Plugin::getIssuerAlternativeNames.
421
+ * @return The subject's alternative names.
422
+ */
335
423
  virtual std::vector<std::pair<int, std::string> > getSubjectAlternativeNames() const = 0;
336
424
 
337
- //
338
- // Retrieve the certificate version number.
339
- //
425
+ /**
426
+ * Obtains the certificate version number.
427
+ * @return The version number.
428
+ */
340
429
  virtual int getVersion() const = 0;
341
430
 
342
- //
343
- // Stringify the certificate. This is a human readable version of
344
- // the certificate, not a DER or PEM encoding.
345
- //
431
+ /**
432
+ * Stringifies the certificate. This is a human readable version of
433
+ * the certificate, not a DER or PEM encoding.
434
+ * @return A string version of the certificate.
435
+ */
346
436
  virtual std::string toString() const = 0;
347
437
 
348
- //
349
- // Return a list with the X509v3 extensions contained in the
350
- // certificate.
351
- //
438
+ /**
439
+ * Obtains a list of the X509v3 extensions contained in the certificate.
440
+ * @return The extensions.
441
+ */
352
442
  virtual std::vector<X509ExtensionPtr> getX509Extensions() const = 0;
353
443
 
354
- //
355
- // Return the extension with the given OID or null if the certificate
356
- // does not contain a extension with the given OID.
357
- //
358
- virtual X509ExtensionPtr getX509Extension(const std::string&) const = 0;
359
-
360
- //
361
- // Load the certificate from a file. The certificate must use the
362
- // PEM encoding format. Raises CertificateReadException if the
363
- // file cannot be read.
364
- //
365
- static CertificatePtr load(const std::string&);
366
-
367
- //
368
- // Decode a certificate from a string that uses the PEM encoding
369
- // format. Raises CertificateEncodingException if an error
370
- // occurs.
371
- //
372
- static CertificatePtr decode(const std::string&);
444
+ /**
445
+ * Obtains the extension with the given OID.
446
+ * @return The extension, or null if the certificate
447
+ * does not contain a extension with the given OID.
448
+ */
449
+ virtual X509ExtensionPtr getX509Extension(const std::string& oid) const = 0;
450
+
451
+ /**
452
+ * Loads the certificate from a file. The certificate must use the
453
+ * PEM encoding format.
454
+ * @param file The certificate file.
455
+ * @return The new certificate instance.
456
+ * @throws CertificateReadException if the file cannot be read.
457
+ */
458
+ static CertificatePtr load(const std::string& file);
459
+
460
+ /**
461
+ * Decodes a certificate from a string that uses the PEM encoding format.
462
+ * @param str A string containing the encoded certificate.
463
+ * @throws CertificateEncodingException if an error occurs.
464
+ */
465
+ static CertificatePtr decode(const std::string& str);
373
466
  };
374
467
 
375
468
  #ifndef ICE_CPP11_MAPPING // C++98 mapping
376
- //
377
- // An application can customize the certificate verification process
378
- // by implementing the CertificateVerifier interface.
379
- //
380
469
 
470
+ /**
471
+ * An application can customize the certificate verification process
472
+ * by implementing the CertificateVerifier interface.
473
+ * \headerfile IceSSL/IceSSL.h
474
+ */
381
475
  class ICESSL_API CertificateVerifier : public IceUtil::Shared
382
476
  {
383
477
  public:
384
478
 
385
479
  virtual ~CertificateVerifier();
386
480
 
387
- //
388
- // Return false if the connection should be rejected, or true to
389
- // allow it.
390
- //
391
- virtual bool verify(const ConnectionInfoPtr&) = 0;
481
+ /**
482
+ * Determines whether to accept a certificate.
483
+ * @param info Information about the connection.
484
+ * @return False if the connection should be rejected, or true to allow it.
485
+ */
486
+ virtual bool verify(const ConnectionInfoPtr& info) = 0;
392
487
  };
393
488
  typedef IceUtil::Handle<CertificateVerifier> CertificateVerifierPtr;
394
489
 
395
- //
396
- // In order to read an encrypted file, such as one containing a
397
- // private key, OpenSSL requests a password from IceSSL. The password
398
- // can be defined using an IceSSL configuration property, but a
399
- // plain-text password is a security risk. If a password is not
400
- // supplied via configuration, IceSSL allows OpenSSL to prompt the
401
- // user interactively. This may not be desirable (or even possible),
402
- // so the application can supply an implementation of PasswordPrompt
403
- // to take responsibility for obtaining the password.
404
- //
405
- // Note that the password is needed during plug-in initialization, so
406
- // in general you will need to delay initialization (by defining
407
- // IceSSL.DelayInit=1), configure the PasswordPrompt, then manually
408
- // initialize the plug-in.
409
- //
490
+ /**
491
+ * In order to read an encrypted file, such as one containing a
492
+ * private key, OpenSSL requests a password from IceSSL. The password
493
+ * can be defined using an IceSSL configuration property, but a
494
+ * plain-text password is a security risk. If a password is not
495
+ * supplied via configuration, IceSSL allows OpenSSL to prompt the
496
+ * user interactively. This may not be desirable (or even possible),
497
+ * so the application can supply an implementation of PasswordPrompt
498
+ * to take responsibility for obtaining the password.
499
+ *
500
+ * Note that the password is needed during plug-in initialization, so
501
+ * in general you will need to delay initialization (by defining
502
+ * IceSSL.DelayInit=1), configure the PasswordPrompt, then manually
503
+ * initialize the plug-in.
504
+ * \headerfile IceSSL/IceSSL.h
505
+ */
410
506
  class ICESSL_API PasswordPrompt : public IceUtil::Shared
411
507
  {
412
508
  public:
413
509
 
414
510
  virtual ~PasswordPrompt();
415
511
 
416
- //
417
- // The getPassword method may be invoked repeatedly, such as when
418
- // several encrypted files are opened, or when multiple password
419
- // attempts are allowed.
420
- //
512
+ /**
513
+ * Obtains the password. This method may be invoked repeatedly, such as when
514
+ * several encrypted files are opened, or when multiple password
515
+ * attempts are allowed.
516
+ * @return The clear-text password.
517
+ */
421
518
  virtual std::string getPassword() = 0;
422
519
  };
423
520
  typedef IceUtil::Handle<PasswordPrompt> PasswordPromptPtr;
424
521
  #endif
425
522
 
523
+ /**
524
+ * Represents the IceSSL plug-in object.
525
+ * \headerfile IceSSL/IceSSL.h
526
+ */
426
527
  class ICESSL_API Plugin : public Ice::Plugin
427
528
  {
428
529
  public:
429
530
 
430
531
  virtual ~Plugin();
431
532
 
432
- //
433
- // Establish the certificate verifier object. This should be done
434
- // before any connections are established.
435
- //
533
+ /**
534
+ * Establish the certificate verifier object. This should be done
535
+ * before any connections are established.
536
+ * @param v The verifier.
537
+ */
436
538
  #ifdef ICE_CPP11_MAPPING
437
- virtual void setCertificateVerifier(std::function<bool(const std::shared_ptr<ConnectionInfo>&)>) = 0;
539
+ virtual void setCertificateVerifier(std::function<bool(const std::shared_ptr<ConnectionInfo>&)> v) = 0;
438
540
  #else
439
- virtual void setCertificateVerifier(const CertificateVerifierPtr&) = 0;
541
+ virtual void setCertificateVerifier(const CertificateVerifierPtr& v) = 0;
440
542
  #endif
441
543
 
442
- //
443
- // Establish the password prompt object. This must be done before
444
- // the plug-in is initialized.
445
- //
544
+ /**
545
+ * Establish the password prompt object. This must be done before
546
+ * the plug-in is initialized.
547
+ * @param p The password prompt.
548
+ */
446
549
  #ifdef ICE_CPP11_MAPPING
447
- virtual void setPasswordPrompt(std::function<std::string()>) = 0;
550
+ virtual void setPasswordPrompt(std::function<std::string()> p) = 0;
448
551
  #else
449
- virtual void setPasswordPrompt(const PasswordPromptPtr&) = 0;
552
+ virtual void setPasswordPrompt(const PasswordPromptPtr& p) = 0;
450
553
  #endif
451
554
 
452
- //
453
- // Load the certificate from a file. The certificate must use the
454
- // PEM encoding format. Raises CertificateReadException if the
455
- // file cannot be read.
456
- //
457
- virtual CertificatePtr load(const std::string&) const = 0;
458
-
459
- //
460
- // Decode a certificate from a string that uses the PEM encoding
461
- // format. Raises CertificateEncodingException if an error
462
- // occurs.
463
- //
464
- virtual CertificatePtr decode(const std::string&) const = 0;
555
+ /**
556
+ * Load the certificate from a file. The certificate must use the
557
+ * PEM encoding format.
558
+ * @param file The certificate file.
559
+ * @throws CertificateReadException if the file cannot be read.
560
+ */
561
+ virtual CertificatePtr load(const std::string& file) const = 0;
562
+
563
+ /**
564
+ * Decode a certificate from a string that uses the PEM encoding
565
+ * format.
566
+ * @param str A string containing the encoded certificate.
567
+ * @throws CertificateEncodingException if an error occurs.
568
+ */
569
+ virtual CertificatePtr decode(const std::string& str) const = 0;
465
570
  };
466
571
  ICE_DEFINE_PTR(PluginPtr, Plugin);
467
572