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,13 +1,13 @@
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.
7
7
  //
8
8
  // **********************************************************************
9
9
  //
10
- // Ice version 3.7.0
10
+ // Ice version 3.7.1
11
11
  //
12
12
  // <auto-generated>
13
13
  //
@@ -61,7 +61,7 @@
61
61
  # if ICE_INT_VERSION % 100 > 50
62
62
  # error Beta header file detected
63
63
  # endif
64
- # if ICE_INT_VERSION % 100 < 0
64
+ # if ICE_INT_VERSION % 100 < 1
65
65
  # error Ice patch level mismatch!
66
66
  # endif
67
67
  #endif
@@ -88,10 +88,31 @@ class Communicator;
88
88
  namespace Ice
89
89
  {
90
90
 
91
+ /**
92
+ * The output mode for xxxToString method such as identityToString and proxyToString.
93
+ * The actual encoding format for the string is the same for all modes: you
94
+ * don't need to specify an encoding format or mode when reading such a string.
95
+ */
91
96
  enum class ToStringMode : unsigned char
92
97
  {
98
+ /**
99
+ * Characters with ordinal values greater than 127 are kept as-is in the resulting string.
100
+ * Non-printable ASCII characters with ordinal values 127 and below are encoded as \\t, \\n (etc.)
101
+ * or \\unnnn.
102
+ */
93
103
  Unicode,
104
+ /**
105
+ * Characters with ordinal values greater than 127 are encoded as universal character names in
106
+ * the resulting string: \\unnnn for BMP characters and \\Unnnnnnnn for non-BMP characters.
107
+ * Non-printable ASCII characters with ordinal values 127 and below are encoded as \\t, \\n (etc.)
108
+ * or \\unnnn.
109
+ */
94
110
  ASCII,
111
+ /**
112
+ * Characters with ordinal values greater than 127 are encoded as a sequence of UTF-8 bytes using
113
+ * octal escapes. Characters with ordinal values 127 and below are encoded as \\t, \\n (etc.) or
114
+ * an octal escape. Use this mode to generate strings compatible with Ice 3.6 and earlier.
115
+ */
95
116
  Compat
96
117
  };
97
118
 
@@ -100,74 +121,382 @@ enum class ToStringMode : unsigned char
100
121
  namespace Ice
101
122
  {
102
123
 
124
+ /**
125
+ * The central object in Ice. One or more communicators can be
126
+ * instantiated for an Ice application. Communicator instantiation
127
+ * is language-specific, and not specified in Slice code.
128
+ * @see Logger
129
+ * @see ObjectAdapter
130
+ * @see Properties
131
+ * @see ValueFactory
132
+ * \headerfile Ice/Ice.h
133
+ */
103
134
  class ICE_CLASS(ICE_API) Communicator
104
135
  {
105
136
  public:
106
137
 
107
138
  ICE_MEMBER(ICE_API) virtual ~Communicator();
108
139
 
140
+ /**
141
+ * Destroy the communicator. This operation calls {@link #shutdown}
142
+ * implicitly. Calling {@link #destroy} cleans up memory, and shuts down
143
+ * this communicator's client functionality and destroys all object
144
+ * adapters. Subsequent calls to {@link #destroy} are ignored.
145
+ * @see #shutdown
146
+ * @see ObjectAdapter#destroy
147
+ */
109
148
  virtual void destroy() noexcept = 0;
110
149
 
111
- virtual void shutdown() = 0;
112
-
113
- virtual void waitForShutdown() = 0;
114
-
115
- virtual bool isShutdown() const = 0;
116
-
117
- virtual ::std::shared_ptr<::Ice::ObjectPrx> stringToProxy(const ::std::string&) const = 0;
118
-
119
- virtual ::std::string proxyToString(const ::std::shared_ptr<::Ice::ObjectPrx>&) const = 0;
120
-
121
- virtual ::std::shared_ptr<::Ice::ObjectPrx> propertyToProxy(const ::std::string&) const = 0;
122
-
123
- virtual ::Ice::PropertyDict proxyToProperty(const ::std::shared_ptr<::Ice::ObjectPrx>&, const ::std::string&) const = 0;
124
-
125
- ICE_DEPRECATED_API("stringToIdentity() is deprecated, use the static stringToIdentity() method instead.") virtual ::Ice::Identity stringToIdentity(const ::std::string&) const = 0;
126
-
127
- virtual ::std::string identityToString(const ::Ice::Identity&) const = 0;
128
-
129
- virtual ::std::shared_ptr<::Ice::ObjectAdapter> createObjectAdapter(const ::std::string&) = 0;
130
-
131
- virtual ::std::shared_ptr<::Ice::ObjectAdapter> createObjectAdapterWithEndpoints(const ::std::string&, const ::std::string&) = 0;
132
-
133
- virtual ::std::shared_ptr<::Ice::ObjectAdapter> createObjectAdapterWithRouter(const ::std::string&, const ::std::shared_ptr<::Ice::RouterPrx>&) = 0;
134
-
135
- ICE_DEPRECATED_API("addObjectFactory() is deprecated, use ValueFactoryManager::add() instead.") virtual void addObjectFactory(const ::std::shared_ptr<::Ice::ObjectFactory>&, const ::std::string&) = 0;
136
-
137
- ICE_DEPRECATED_API("findObjectFactory() is deprecated, use ValueFactoryManager::find() instead.") virtual ::std::shared_ptr<::Ice::ObjectFactory> findObjectFactory(const ::std::string&) const = 0;
138
-
139
- virtual ::std::shared_ptr<::Ice::ImplicitContext> getImplicitContext() const = 0;
140
-
141
- virtual ::std::shared_ptr<::Ice::Properties> getProperties() const = 0;
142
-
143
- virtual ::std::shared_ptr<::Ice::Logger> getLogger() const = 0;
144
-
145
- virtual ::std::shared_ptr<::Ice::Instrumentation::CommunicatorObserver> getObserver() const = 0;
146
-
150
+ /**
151
+ * Shuts down this communicator's server functionality, which
152
+ * includes the deactivation of all object adapters. Attempts to use a
153
+ * deactivated object adapter raise ObjectAdapterDeactivatedException.
154
+ * Subsequent calls to shutdown are ignored.
155
+ *
156
+ * After shutdown returns, no new requests are processed. However, requests
157
+ * that have been started before shutdown was called might still be active.
158
+ * You can use {@link #waitForShutdown} to wait for the completion of all
159
+ * requests.
160
+ * @see #destroy
161
+ * @see #waitForShutdown
162
+ * @see ObjectAdapter#deactivate
163
+ */
164
+ virtual void shutdown() noexcept = 0;
165
+
166
+ /**
167
+ * Wait until the application has called {@link #shutdown} (or {@link #destroy}).
168
+ * On the server side, this operation blocks the calling thread
169
+ * until all currently-executing operations have completed.
170
+ * On the client side, the operation simply blocks until another
171
+ * thread has called {@link #shutdown} or {@link #destroy}.
172
+ *
173
+ * A typical use of this operation is to call it from the main thread,
174
+ * which then waits until some other thread calls {@link #shutdown}.
175
+ * After shut-down is complete, the main thread returns and can do some
176
+ * cleanup work before it finally calls {@link #destroy} to shut down
177
+ * the client functionality, and then exits the application.
178
+ * @see #shutdown
179
+ * @see #destroy
180
+ * @see ObjectAdapter#waitForDeactivate
181
+ */
182
+ virtual void waitForShutdown() noexcept = 0;
183
+
184
+ /**
185
+ * Check whether communicator has been shut down.
186
+ * @return True if the communicator has been shut down; false otherwise.
187
+ * @see #shutdown
188
+ */
189
+ virtual bool isShutdown() const noexcept = 0;
190
+
191
+ /**
192
+ * Convert a stringified proxy into a proxy. For example,
193
+ * <tt>MyCategory/MyObject:tcp -h some_host -p
194
+ * 10000</tt> creates a proxy that refers to the Ice object
195
+ * having an identity with a name "MyObject" and a category
196
+ * "MyCategory", with the server running on host "some_host", port
197
+ * 10000. If the stringified proxy does not parse correctly, the
198
+ * operation throws one of ProxyParseException, EndpointParseException,
199
+ * or IdentityParseException. Refer to the Ice manual for a detailed
200
+ * description of the syntax supported by stringified proxies.
201
+ * @param str The stringified proxy to convert into a proxy.
202
+ * @return The proxy, or nil if <tt>str</tt> is an empty string.
203
+ * @see #proxyToString
204
+ */
205
+ virtual ::std::shared_ptr<::Ice::ObjectPrx> stringToProxy(const ::std::string& str) const = 0;
206
+
207
+ /**
208
+ * Convert a proxy into a string.
209
+ * @param obj The proxy to convert into a stringified proxy.
210
+ * @return The stringified proxy, or an empty string if
211
+ * <tt>obj</tt> is nil.
212
+ * @see #stringToProxy
213
+ */
214
+ virtual ::std::string proxyToString(const ::std::shared_ptr<ObjectPrx>& obj) const = 0;
215
+
216
+ /**
217
+ * Convert a set of proxy properties into a proxy. The "base"
218
+ * name supplied in the <tt>property</tt> argument refers to a
219
+ * property containing a stringified proxy, such as
220
+ * <tt>MyProxy=id:tcp -h localhost -p 10000</tt>. Additional
221
+ * properties configure local settings for the proxy, such as
222
+ * <tt>MyProxy.PreferSecure=1</tt>. The "Properties"
223
+ * appendix in the Ice manual describes each of the supported
224
+ * proxy properties.
225
+ * @param property The base property name.
226
+ * @return The proxy.
227
+ */
228
+ virtual ::std::shared_ptr<::Ice::ObjectPrx> propertyToProxy(const ::std::string& property) const = 0;
229
+
230
+ /**
231
+ * Convert a proxy to a set of proxy properties.
232
+ * @param proxy The proxy.
233
+ * @param property The base property name.
234
+ * @return The property set.
235
+ */
236
+ virtual ::Ice::PropertyDict proxyToProperty(const ::std::shared_ptr<ObjectPrx>& proxy, const ::std::string& property) const = 0;
237
+
238
+ /**
239
+ * Convert a string into an identity. If the string does not parse
240
+ * correctly, the operation throws IdentityParseException.
241
+ * @param str The string to convert into an identity.
242
+ * @return The identity.
243
+ * @see #identityToString
244
+ *
245
+ * @deprecated stringToIdentity() is deprecated, use the static stringToIdentity() method instead.
246
+ */
247
+ ICE_DEPRECATED_API("stringToIdentity() is deprecated, use the static stringToIdentity() method instead.") virtual ::Ice::Identity stringToIdentity(const ::std::string& str) const = 0;
248
+
249
+ /**
250
+ * Convert an identity into a string.
251
+ * @param ident The identity to convert into a string.
252
+ * @return The "stringified" identity.
253
+ * @see #stringToIdentity
254
+ */
255
+ virtual ::std::string identityToString(const Identity& ident) const = 0;
256
+
257
+ /**
258
+ * Create a new object adapter. The endpoints for the object
259
+ * adapter are taken from the property <tt><em>name</em>.Endpoints</tt>.
260
+ *
261
+ * It is legal to create an object adapter with the empty string as
262
+ * its name. Such an object adapter is accessible via bidirectional
263
+ * connections or by collocated invocations that originate from the
264
+ * same communicator as is used by the adapter.
265
+ *
266
+ * Attempts to create a named object adapter for which no configuration
267
+ * can be found raise InitializationException.
268
+ * @param name The object adapter name.
269
+ * @return The new object adapter.
270
+ * @see #createObjectAdapterWithEndpoints
271
+ * @see ObjectAdapter
272
+ * @see Properties
273
+ */
274
+ virtual ::std::shared_ptr<::Ice::ObjectAdapter> createObjectAdapter(const ::std::string& name) = 0;
275
+
276
+ /**
277
+ * Create a new object adapter with endpoints. This operation sets
278
+ * the property <tt><em>name</em>.Endpoints</tt>, and then calls
279
+ * {@link #createObjectAdapter}. It is provided as a convenience
280
+ * function.
281
+ *
282
+ * Calling this operation with an empty name will result in a
283
+ * UUID being generated for the name.
284
+ * @param name The object adapter name.
285
+ * @param endpoints The endpoints for the object adapter.
286
+ * @return The new object adapter.
287
+ * @see #createObjectAdapter
288
+ * @see ObjectAdapter
289
+ * @see Properties
290
+ */
291
+ virtual ::std::shared_ptr<::Ice::ObjectAdapter> createObjectAdapterWithEndpoints(const ::std::string& name, const ::std::string& endpoints) = 0;
292
+
293
+ /**
294
+ * Create a new object adapter with a router. This operation
295
+ * creates a routed object adapter.
296
+ *
297
+ * Calling this operation with an empty name will result in a
298
+ * UUID being generated for the name.
299
+ * @param name The object adapter name.
300
+ * @param rtr The router.
301
+ * @return The new object adapter.
302
+ * @see #createObjectAdapter
303
+ * @see ObjectAdapter
304
+ * @see Properties
305
+ */
306
+ virtual ::std::shared_ptr<::Ice::ObjectAdapter> createObjectAdapterWithRouter(const ::std::string& name, const ::std::shared_ptr<RouterPrx>& rtr) = 0;
307
+
308
+ /**
309
+ * Add an object factory to this communicator. Installing a
310
+ * factory with an id for which a factory is already registered
311
+ * throws AlreadyRegisteredException.
312
+ *
313
+ * When unmarshaling an Ice object, the Ice run time reads the
314
+ * most-derived type id off the wire and attempts to create an
315
+ * instance of the type using a factory. If no instance is created,
316
+ * either because no factory was found, or because all factories
317
+ * returned nil, the behavior of the Ice run time depends on the
318
+ * format with which the object was marshaled:
319
+ *
320
+ * If the object uses the "sliced" format, Ice ascends the class
321
+ * hierarchy until it finds a type that is recognized by a factory,
322
+ * or it reaches the least-derived type. If no factory is found that
323
+ * can create an instance, the run time throws NoValueFactoryException.
324
+ *
325
+ * If the object uses the "compact" format, Ice immediately raises
326
+ * NoValueFactoryException.
327
+ *
328
+ * The following order is used to locate a factory for a type:
329
+ *
330
+ * <ol>
331
+ *
332
+ * <li>The Ice run-time looks for a factory registered
333
+ * specifically for the type.</li>
334
+ *
335
+ * <li>If no instance has been created, the Ice run-time looks
336
+ * for the default factory, which is registered with an empty type id.
337
+ * </li>
338
+ *
339
+ * <li>If no instance has been created by any of the preceding
340
+ * steps, the Ice run-time looks for a factory that may have been
341
+ * statically generated by the language mapping for non-abstract classes.
342
+ * </li>
343
+ *
344
+ * </ol>
345
+ * @param factory The factory to add.
346
+ * @param id The type id for which the factory can create instances, or
347
+ * an empty string for the default factory.
348
+ * @see #findObjectFactory
349
+ * @see ObjectFactory
350
+ * @see ValueFactoryManager#add
351
+ *
352
+ * @deprecated addObjectFactory() is deprecated, use ValueFactoryManager::add() instead.
353
+ */
354
+ ICE_DEPRECATED_API("addObjectFactory() is deprecated, use ValueFactoryManager::add() instead.") virtual void addObjectFactory(const ::std::shared_ptr<ObjectFactory>& factory, const ::std::string& id) = 0;
355
+
356
+ /**
357
+ * Find an object factory registered with this communicator.
358
+ * @param id The type id for which the factory can create instances,
359
+ * or an empty string for the default factory.
360
+ * @return The object factory, or null if no object factory was
361
+ * found for the given id.
362
+ * @see #addObjectFactory
363
+ * @see ObjectFactory
364
+ * @see ValueFactoryManager#find
365
+ *
366
+ * @deprecated findObjectFactory() is deprecated, use ValueFactoryManager::find() instead.
367
+ */
368
+ ICE_DEPRECATED_API("findObjectFactory() is deprecated, use ValueFactoryManager::find() instead.") virtual ::std::shared_ptr<::Ice::ObjectFactory> findObjectFactory(const ::std::string& id) const noexcept = 0;
369
+
370
+ /**
371
+ * Get the implicit context associated with this communicator.
372
+ * @return The implicit context associated with this communicator;
373
+ * returns null when the property Ice.ImplicitContext is not set
374
+ * or is set to None.
375
+ */
376
+ virtual ::std::shared_ptr<::Ice::ImplicitContext> getImplicitContext() const noexcept = 0;
377
+
378
+ /**
379
+ * Get the properties for this communicator.
380
+ * @return This communicator's properties.
381
+ * @see Properties
382
+ */
383
+ virtual ::std::shared_ptr<::Ice::Properties> getProperties() const noexcept = 0;
384
+
385
+ /**
386
+ * Get the logger for this communicator.
387
+ * @return This communicator's logger.
388
+ * @see Logger
389
+ */
390
+ virtual ::std::shared_ptr<::Ice::Logger> getLogger() const noexcept = 0;
391
+
392
+ /**
393
+ * Get the observer resolver object for this communicator.
394
+ * @return This communicator's observer resolver object.
395
+ */
396
+ virtual ::std::shared_ptr<::Ice::Instrumentation::CommunicatorObserver> getObserver() const noexcept = 0;
397
+
398
+ /**
399
+ * Get the default router this communicator.
400
+ * @return The default router for this communicator.
401
+ * @see #setDefaultRouter
402
+ * @see Router
403
+ */
147
404
  virtual ::std::shared_ptr<::Ice::RouterPrx> getDefaultRouter() const = 0;
148
405
 
149
- virtual void setDefaultRouter(const ::std::shared_ptr<::Ice::RouterPrx>&) = 0;
150
-
406
+ /**
407
+ * Set a default router for this communicator. All newly
408
+ * created proxies will use this default router. To disable the
409
+ * default router, null can be used. Note that this
410
+ * operation has no effect on existing proxies.
411
+ *
412
+ * You can also set a router for an individual proxy
413
+ * by calling the operation <tt>ice_router</tt> on the proxy.
414
+ * @param rtr The default router to use for this communicator.
415
+ * @see #getDefaultRouter
416
+ * @see #createObjectAdapterWithRouter
417
+ * @see Router
418
+ */
419
+ virtual void setDefaultRouter(const ::std::shared_ptr<RouterPrx>& rtr) = 0;
420
+
421
+ /**
422
+ * Get the default locator this communicator.
423
+ * @return The default locator for this communicator.
424
+ * @see #setDefaultLocator
425
+ * @see Locator
426
+ */
151
427
  virtual ::std::shared_ptr<::Ice::LocatorPrx> getDefaultLocator() const = 0;
152
428
 
153
- virtual void setDefaultLocator(const ::std::shared_ptr<::Ice::LocatorPrx>&) = 0;
154
-
429
+ /**
430
+ * Set a default Ice locator for this communicator. All newly
431
+ * created proxy and object adapters will use this default
432
+ * locator. To disable the default locator, null can be used.
433
+ * Note that this operation has no effect on existing proxies or
434
+ * object adapters.
435
+ *
436
+ * You can also set a locator for an individual proxy by calling the
437
+ * operation <tt>ice_locator</tt> on the proxy, or for an object adapter
438
+ * by calling {@link ObjectAdapter#setLocator} on the object adapter.
439
+ * @param loc The default locator to use for this communicator.
440
+ * @see #getDefaultLocator
441
+ * @see Locator
442
+ * @see ObjectAdapter#setLocator
443
+ */
444
+ virtual void setDefaultLocator(const ::std::shared_ptr<LocatorPrx>& loc) = 0;
445
+
446
+ /**
447
+ * Get the plug-in manager for this communicator.
448
+ * @return This communicator's plug-in manager.
449
+ * @see PluginManager
450
+ */
155
451
  virtual ::std::shared_ptr<::Ice::PluginManager> getPluginManager() const = 0;
156
452
 
157
- virtual ::std::shared_ptr<::Ice::ValueFactoryManager> getValueFactoryManager() const = 0;
158
-
159
- virtual void flushBatchRequests(::Ice::CompressBatch compress)
453
+ /**
454
+ * Get the value factory manager for this communicator.
455
+ * @return This communicator's value factory manager.
456
+ * @see ValueFactoryManager
457
+ */
458
+ virtual ::std::shared_ptr<::Ice::ValueFactoryManager> getValueFactoryManager() const noexcept = 0;
459
+
460
+ /**
461
+ * Flush any pending batch requests for this communicator.
462
+ * This means all batch requests invoked on fixed proxies
463
+ * for all connections associated with the communicator.
464
+ * Any errors that occur while flushing a connection are ignored.
465
+ * @param compress Specifies whether or not the queued batch requests
466
+ * should be compressed before being sent over the wire.
467
+ */
468
+ virtual void flushBatchRequests(CompressBatch compress)
160
469
  {
161
470
  flushBatchRequestsAsync(compress).get();
162
471
  }
163
472
 
473
+ /**
474
+ * Flush any pending batch requests for this communicator.
475
+ * This means all batch requests invoked on fixed proxies
476
+ * for all connections associated with the communicator.
477
+ * Any errors that occur while flushing a connection are ignored.
478
+ * @param compress Specifies whether or not the queued batch requests
479
+ * should be compressed before being sent over the wire.
480
+ * @param exception The exception callback.
481
+ * @param sent The sent callback.
482
+ * @return A function that can be called to cancel the invocation locally.
483
+ */
164
484
  virtual ::std::function<void()>
165
- flushBatchRequestsAsync(::Ice::CompressBatch compress,
485
+ flushBatchRequestsAsync(CompressBatch compress,
166
486
  ::std::function<void(::std::exception_ptr)> exception,
167
487
  ::std::function<void(bool)> sent = nullptr) = 0;
168
488
 
489
+ /**
490
+ * Flush any pending batch requests for this communicator.
491
+ * This means all batch requests invoked on fixed proxies
492
+ * for all connections associated with the communicator.
493
+ * Any errors that occur while flushing a connection are ignored.
494
+ * @param compress Specifies whether or not the queued batch requests
495
+ * should be compressed before being sent over the wire.
496
+ * @return The future object for the invocation.
497
+ */
169
498
  template<template<typename> class P = ::std::promise>
170
- auto flushBatchRequestsAsync(::Ice::CompressBatch compress)
499
+ auto flushBatchRequestsAsync(CompressBatch compress)
171
500
  -> decltype(::std::declval<P<void>>().get_future())
172
501
  {
173
502
  using Promise = P<void>;
@@ -184,32 +513,88 @@ public:
184
513
  return promise->get_future();
185
514
  }
186
515
 
187
- virtual ::std::shared_ptr<::Ice::ObjectPrx> createAdmin(const ::std::shared_ptr<::Ice::ObjectAdapter>&, const ::Ice::Identity&) = 0;
188
-
516
+ /**
517
+ * Add the Admin object with all its facets to the provided object adapter.
518
+ * If Ice.Admin.ServerId is set and the provided object adapter has a {@link Locator},
519
+ * createAdmin registers the Admin's Process facet with the {@link Locator}'s {@link LocatorRegistry}.
520
+ *
521
+ * createAdmin call only be called once; subsequent calls raise InitializationException.
522
+ * @param adminAdapter The object adapter used to host the Admin object; if null and
523
+ * Ice.Admin.Endpoints is set, create, activate and use the Ice.Admin object adapter.
524
+ * @param adminId The identity of the Admin object.
525
+ * @return A proxy to the main ("") facet of the Admin object. Never returns a null proxy.
526
+ * @see #getAdmin
527
+ */
528
+ virtual ::std::shared_ptr<::Ice::ObjectPrx> createAdmin(const ::std::shared_ptr<ObjectAdapter>& adminAdapter, const Identity& adminId) = 0;
529
+
530
+ /**
531
+ * Get a proxy to the main facet of the Admin object.
532
+ *
533
+ * getAdmin also creates the Admin object and creates and activates the Ice.Admin object
534
+ * adapter to host this Admin object if Ice.Admin.Enpoints is set. The identity of the Admin
535
+ * object created by getAdmin is {value of Ice.Admin.InstanceName}/admin, or {UUID}/admin
536
+ * when Ice.Admin.InstanceName is not set.
537
+ *
538
+ * If Ice.Admin.DelayCreation is 0 or not set, getAdmin is called by the communicator
539
+ * initialization, after initialization of all plugins.
540
+ * @return A proxy to the main ("") facet of the Admin object, or a null proxy if no
541
+ * Admin object is configured.
542
+ * @see #createAdmin
543
+ */
189
544
  virtual ::std::shared_ptr<::Ice::ObjectPrx> getAdmin() const = 0;
190
545
 
191
- virtual void addAdminFacet(const ::std::shared_ptr<::Ice::Object>&, const ::std::string&) = 0;
192
-
193
- virtual ::std::shared_ptr<::Ice::Object> removeAdminFacet(const ::std::string&) = 0;
194
-
195
- virtual ::std::shared_ptr<::Ice::Object> findAdminFacet(const ::std::string&) = 0;
196
-
546
+ /**
547
+ * Add a new facet to the Admin object.
548
+ * Adding a servant with a facet that is already registered
549
+ * throws AlreadyRegisteredException.
550
+ * @param servant The servant that implements the new Admin facet.
551
+ * @param facet The name of the new Admin facet.
552
+ */
553
+ virtual void addAdminFacet(const ::std::shared_ptr<Object>& servant, const ::std::string& facet) = 0;
554
+
555
+ /**
556
+ * Remove the following facet to the Admin object.
557
+ * Removing a facet that was not previously registered throws
558
+ * NotRegisteredException.
559
+ * @param facet The name of the Admin facet.
560
+ * @return The servant associated with this Admin facet.
561
+ */
562
+ virtual ::std::shared_ptr<::Ice::Object> removeAdminFacet(const ::std::string& facet) = 0;
563
+
564
+ /**
565
+ * Returns a facet of the Admin object.
566
+ * @param facet The name of the Admin facet.
567
+ * @return The servant associated with this Admin facet, or
568
+ * null if no facet is registered with the given name.
569
+ */
570
+ virtual ::std::shared_ptr<::Ice::Object> findAdminFacet(const ::std::string& facet) = 0;
571
+
572
+ /**
573
+ * Returns a map of all facets of the Admin object.
574
+ * @return A collection containing all the facet names and
575
+ * servants of the Admin object.
576
+ * @see #findAdminFacet
577
+ */
197
578
  virtual ::Ice::FacetMap findAllAdminFacets() = 0;
198
579
  };
199
580
 
200
581
  }
201
582
 
583
+ /// \cond STREAM
202
584
  namespace Ice
203
585
  {
204
586
 
205
587
  }
588
+ /// \endcond
206
589
 
590
+ /// \cond INTERNAL
207
591
  namespace Ice
208
592
  {
209
593
 
210
594
  using CommunicatorPtr = ::std::shared_ptr<Communicator>;
211
595
 
212
596
  }
597
+ /// \endcond
213
598
 
214
599
  #else // C++98 mapping
215
600
 
@@ -222,31 +607,61 @@ namespace Ice
222
607
  {
223
608
 
224
609
  class Communicator;
225
- ICE_API ::Ice::LocalObject* upCast(::Ice::Communicator*);
226
- typedef ::IceInternal::Handle< ::Ice::Communicator> CommunicatorPtr;
610
+ /// \cond INTERNAL
611
+ ICE_API LocalObject* upCast(Communicator*);
612
+ /// \endcond
613
+ typedef ::IceInternal::Handle< Communicator> CommunicatorPtr;
227
614
 
228
615
  }
229
616
 
230
617
  namespace Ice
231
618
  {
232
619
 
620
+ /**
621
+ * The output mode for xxxToString method such as identityToString and proxyToString.
622
+ * The actual encoding format for the string is the same for all modes: you
623
+ * don't need to specify an encoding format or mode when reading such a string.
624
+ */
233
625
  enum ToStringMode
234
626
  {
627
+ /**
628
+ * Characters with ordinal values greater than 127 are kept as-is in the resulting string.
629
+ * Non-printable ASCII characters with ordinal values 127 and below are encoded as \\t, \\n (etc.)
630
+ * or \\unnnn.
631
+ */
235
632
  Unicode,
633
+ /**
634
+ * Characters with ordinal values greater than 127 are encoded as universal character names in
635
+ * the resulting string: \\unnnn for BMP characters and \\Unnnnnnnn for non-BMP characters.
636
+ * Non-printable ASCII characters with ordinal values 127 and below are encoded as \\t, \\n (etc.)
637
+ * or \\unnnn.
638
+ */
236
639
  ASCII,
640
+ /**
641
+ * Characters with ordinal values greater than 127 are encoded as a sequence of UTF-8 bytes using
642
+ * octal escapes. Characters with ordinal values 127 and below are encoded as \\t, \\n (etc.) or
643
+ * an octal escape. Use this mode to generate strings compatible with Ice 3.6 and earlier.
644
+ */
237
645
  Compat
238
646
  };
239
647
 
240
648
  }
241
649
 
650
+ /// \cond INTERNAL
242
651
  namespace IceAsync
243
652
  {
244
653
 
245
654
  }
655
+ /// \endcond
246
656
 
247
657
  namespace Ice
248
658
  {
249
659
 
660
+ /**
661
+ * Base class for asynchronous callback wrapper classes used for calls to
662
+ * IceProxy::Ice::Communicator::begin_flushBatchRequests.
663
+ * Create a wrapper instance by calling ::Ice::newCallback_Communicator_flushBatchRequests.
664
+ */
250
665
  class Callback_Communicator_flushBatchRequests_Base : public virtual ::IceInternal::CallbackBase { };
251
666
  typedef ::IceUtil::Handle< Callback_Communicator_flushBatchRequests_Base> Callback_Communicator_flushBatchRequestsPtr;
252
667
 
@@ -260,7 +675,17 @@ namespace IceProxy
260
675
  namespace Ice
261
676
  {
262
677
 
263
- class ICE_API Communicator : public virtual ::Ice::LocalObject
678
+ /**
679
+ * The central object in Ice. One or more communicators can be
680
+ * instantiated for an Ice application. Communicator instantiation
681
+ * is language-specific, and not specified in Slice code.
682
+ * @see Logger
683
+ * @see ObjectAdapter
684
+ * @see Properties
685
+ * @see ValueFactory
686
+ * \headerfile Ice/Ice.h
687
+ */
688
+ class ICE_API Communicator : public virtual LocalObject
264
689
  {
265
690
  public:
266
691
 
@@ -268,95 +693,467 @@ public:
268
693
 
269
694
  virtual ~Communicator();
270
695
 
696
+ /**
697
+ * Destroy the communicator. This operation calls {@link #shutdown}
698
+ * implicitly. Calling {@link #destroy} cleans up memory, and shuts down
699
+ * this communicator's client functionality and destroys all object
700
+ * adapters. Subsequent calls to {@link #destroy} are ignored.
701
+ * @see #shutdown
702
+ * @see ObjectAdapter#destroy
703
+ */
271
704
  virtual void destroy() ICE_NOEXCEPT = 0;
272
705
 
273
- virtual void shutdown() = 0;
274
-
275
- virtual void waitForShutdown() = 0;
276
-
277
- virtual bool isShutdown() const = 0;
278
-
279
- virtual ::Ice::ObjectPrx stringToProxy(const ::std::string&) const = 0;
280
-
281
- virtual ::std::string proxyToString(const ::Ice::ObjectPrx&) const = 0;
282
-
283
- virtual ::Ice::ObjectPrx propertyToProxy(const ::std::string&) const = 0;
284
-
285
- virtual ::Ice::PropertyDict proxyToProperty(const ::Ice::ObjectPrx&, const ::std::string&) const = 0;
286
-
287
- ICE_DEPRECATED_API("stringToIdentity() is deprecated, use the static stringToIdentity() method instead.") virtual ::Ice::Identity stringToIdentity(const ::std::string&) const = 0;
288
-
289
- virtual ::std::string identityToString(const ::Ice::Identity&) const = 0;
290
-
291
- virtual ::Ice::ObjectAdapterPtr createObjectAdapter(const ::std::string&) = 0;
292
-
293
- virtual ::Ice::ObjectAdapterPtr createObjectAdapterWithEndpoints(const ::std::string&, const ::std::string&) = 0;
294
-
295
- virtual ::Ice::ObjectAdapterPtr createObjectAdapterWithRouter(const ::std::string&, const ::Ice::RouterPrx&) = 0;
296
-
297
- ICE_DEPRECATED_API("addObjectFactory() is deprecated, use ValueFactoryManager::add() instead.") virtual void addObjectFactory(const ::Ice::ObjectFactoryPtr&, const ::std::string&) = 0;
298
-
299
- ICE_DEPRECATED_API("findObjectFactory() is deprecated, use ValueFactoryManager::find() instead.") virtual ::Ice::ObjectFactoryPtr findObjectFactory(const ::std::string&) const = 0;
300
-
301
- virtual ::Ice::ImplicitContextPtr getImplicitContext() const = 0;
302
-
303
- virtual ::Ice::PropertiesPtr getProperties() const = 0;
304
-
305
- virtual ::Ice::LoggerPtr getLogger() const = 0;
306
-
307
- virtual ::Ice::Instrumentation::CommunicatorObserverPtr getObserver() const = 0;
308
-
309
- virtual ::Ice::RouterPrx getDefaultRouter() const = 0;
310
-
311
- virtual void setDefaultRouter(const ::Ice::RouterPrx&) = 0;
312
-
313
- virtual ::Ice::LocatorPrx getDefaultLocator() const = 0;
314
-
315
- virtual void setDefaultLocator(const ::Ice::LocatorPrx&) = 0;
316
-
317
- virtual ::Ice::PluginManagerPtr getPluginManager() const = 0;
318
-
319
- virtual ::Ice::ValueFactoryManagerPtr getValueFactoryManager() const = 0;
320
-
321
- virtual void flushBatchRequests(::Ice::CompressBatch) = 0;
322
-
323
- virtual ::Ice::AsyncResultPtr begin_flushBatchRequests(::Ice::CompressBatch compress) = 0;
324
-
325
- virtual ::Ice::AsyncResultPtr begin_flushBatchRequests(::Ice::CompressBatch compress, const ::Ice::CallbackPtr& del, const ::Ice::LocalObjectPtr& cookie = 0) = 0;
326
-
327
- virtual ::Ice::AsyncResultPtr begin_flushBatchRequests(::Ice::CompressBatch compress, const ::Ice::Callback_Communicator_flushBatchRequestsPtr& del, const ::Ice::LocalObjectPtr& cookie = 0) = 0;
328
-
329
- virtual void end_flushBatchRequests(const ::Ice::AsyncResultPtr&) = 0;
330
-
331
- virtual ::Ice::ObjectPrx createAdmin(const ::Ice::ObjectAdapterPtr&, const ::Ice::Identity&) = 0;
332
-
333
- virtual ::Ice::ObjectPrx getAdmin() const = 0;
334
-
335
- virtual void addAdminFacet(const ::Ice::ObjectPtr&, const ::std::string&) = 0;
336
-
337
- virtual ::Ice::ObjectPtr removeAdminFacet(const ::std::string&) = 0;
338
-
339
- virtual ::Ice::ObjectPtr findAdminFacet(const ::std::string&) = 0;
340
-
341
- virtual ::Ice::FacetMap findAllAdminFacets() = 0;
706
+ /**
707
+ * Shuts down this communicator's server functionality, which
708
+ * includes the deactivation of all object adapters. Attempts to use a
709
+ * deactivated object adapter raise ObjectAdapterDeactivatedException.
710
+ * Subsequent calls to shutdown are ignored.
711
+ *
712
+ * After shutdown returns, no new requests are processed. However, requests
713
+ * that have been started before shutdown was called might still be active.
714
+ * You can use {@link #waitForShutdown} to wait for the completion of all
715
+ * requests.
716
+ * @see #destroy
717
+ * @see #waitForShutdown
718
+ * @see ObjectAdapter#deactivate
719
+ */
720
+ virtual void shutdown() ICE_NOEXCEPT = 0;
721
+
722
+ /**
723
+ * Wait until the application has called {@link #shutdown} (or {@link #destroy}).
724
+ * On the server side, this operation blocks the calling thread
725
+ * until all currently-executing operations have completed.
726
+ * On the client side, the operation simply blocks until another
727
+ * thread has called {@link #shutdown} or {@link #destroy}.
728
+ *
729
+ * A typical use of this operation is to call it from the main thread,
730
+ * which then waits until some other thread calls {@link #shutdown}.
731
+ * After shut-down is complete, the main thread returns and can do some
732
+ * cleanup work before it finally calls {@link #destroy} to shut down
733
+ * the client functionality, and then exits the application.
734
+ * @see #shutdown
735
+ * @see #destroy
736
+ * @see ObjectAdapter#waitForDeactivate
737
+ */
738
+ virtual void waitForShutdown() ICE_NOEXCEPT = 0;
739
+
740
+ /**
741
+ * Check whether communicator has been shut down.
742
+ * @return True if the communicator has been shut down; false otherwise.
743
+ * @see #shutdown
744
+ */
745
+ virtual bool isShutdown() const ICE_NOEXCEPT = 0;
746
+
747
+ /**
748
+ * Convert a stringified proxy into a proxy. For example,
749
+ * <tt>MyCategory/MyObject:tcp -h some_host -p
750
+ * 10000</tt> creates a proxy that refers to the Ice object
751
+ * having an identity with a name "MyObject" and a category
752
+ * "MyCategory", with the server running on host "some_host", port
753
+ * 10000. If the stringified proxy does not parse correctly, the
754
+ * operation throws one of ProxyParseException, EndpointParseException,
755
+ * or IdentityParseException. Refer to the Ice manual for a detailed
756
+ * description of the syntax supported by stringified proxies.
757
+ * @param str The stringified proxy to convert into a proxy.
758
+ * @return The proxy, or nil if <tt>str</tt> is an empty string.
759
+ * @see #proxyToString
760
+ */
761
+ virtual ObjectPrx stringToProxy(const ::std::string& str) const = 0;
762
+
763
+ /**
764
+ * Convert a proxy into a string.
765
+ * @param obj The proxy to convert into a stringified proxy.
766
+ * @return The stringified proxy, or an empty string if
767
+ * <tt>obj</tt> is nil.
768
+ * @see #stringToProxy
769
+ */
770
+ virtual ::std::string proxyToString(const ObjectPrx& obj) const = 0;
771
+
772
+ /**
773
+ * Convert a set of proxy properties into a proxy. The "base"
774
+ * name supplied in the <tt>property</tt> argument refers to a
775
+ * property containing a stringified proxy, such as
776
+ * <tt>MyProxy=id:tcp -h localhost -p 10000</tt>. Additional
777
+ * properties configure local settings for the proxy, such as
778
+ * <tt>MyProxy.PreferSecure=1</tt>. The "Properties"
779
+ * appendix in the Ice manual describes each of the supported
780
+ * proxy properties.
781
+ * @param property The base property name.
782
+ * @return The proxy.
783
+ */
784
+ virtual ObjectPrx propertyToProxy(const ::std::string& property) const = 0;
785
+
786
+ /**
787
+ * Convert a proxy to a set of proxy properties.
788
+ * @param proxy The proxy.
789
+ * @param property The base property name.
790
+ * @return The property set.
791
+ */
792
+ virtual PropertyDict proxyToProperty(const ObjectPrx& proxy, const ::std::string& property) const = 0;
793
+
794
+ /**
795
+ * Convert a string into an identity. If the string does not parse
796
+ * correctly, the operation throws IdentityParseException.
797
+ * @param str The string to convert into an identity.
798
+ * @return The identity.
799
+ * @see #identityToString
800
+ *
801
+ * @deprecated stringToIdentity() is deprecated, use the static stringToIdentity() method instead.
802
+ */
803
+ ICE_DEPRECATED_API("stringToIdentity() is deprecated, use the static stringToIdentity() method instead.") virtual Identity stringToIdentity(const ::std::string& str) const = 0;
804
+
805
+ /**
806
+ * Convert an identity into a string.
807
+ * @param ident The identity to convert into a string.
808
+ * @return The "stringified" identity.
809
+ * @see #stringToIdentity
810
+ */
811
+ virtual ::std::string identityToString(const Identity& ident) const = 0;
812
+
813
+ /**
814
+ * Create a new object adapter. The endpoints for the object
815
+ * adapter are taken from the property <tt><em>name</em>.Endpoints</tt>.
816
+ *
817
+ * It is legal to create an object adapter with the empty string as
818
+ * its name. Such an object adapter is accessible via bidirectional
819
+ * connections or by collocated invocations that originate from the
820
+ * same communicator as is used by the adapter.
821
+ *
822
+ * Attempts to create a named object adapter for which no configuration
823
+ * can be found raise InitializationException.
824
+ * @param name The object adapter name.
825
+ * @return The new object adapter.
826
+ * @see #createObjectAdapterWithEndpoints
827
+ * @see ObjectAdapter
828
+ * @see Properties
829
+ */
830
+ virtual ObjectAdapterPtr createObjectAdapter(const ::std::string& name) = 0;
831
+
832
+ /**
833
+ * Create a new object adapter with endpoints. This operation sets
834
+ * the property <tt><em>name</em>.Endpoints</tt>, and then calls
835
+ * {@link #createObjectAdapter}. It is provided as a convenience
836
+ * function.
837
+ *
838
+ * Calling this operation with an empty name will result in a
839
+ * UUID being generated for the name.
840
+ * @param name The object adapter name.
841
+ * @param endpoints The endpoints for the object adapter.
842
+ * @return The new object adapter.
843
+ * @see #createObjectAdapter
844
+ * @see ObjectAdapter
845
+ * @see Properties
846
+ */
847
+ virtual ObjectAdapterPtr createObjectAdapterWithEndpoints(const ::std::string& name, const ::std::string& endpoints) = 0;
848
+
849
+ /**
850
+ * Create a new object adapter with a router. This operation
851
+ * creates a routed object adapter.
852
+ *
853
+ * Calling this operation with an empty name will result in a
854
+ * UUID being generated for the name.
855
+ * @param name The object adapter name.
856
+ * @param rtr The router.
857
+ * @return The new object adapter.
858
+ * @see #createObjectAdapter
859
+ * @see ObjectAdapter
860
+ * @see Properties
861
+ */
862
+ virtual ObjectAdapterPtr createObjectAdapterWithRouter(const ::std::string& name, const RouterPrx& rtr) = 0;
863
+
864
+ /**
865
+ * Add an object factory to this communicator. Installing a
866
+ * factory with an id for which a factory is already registered
867
+ * throws AlreadyRegisteredException.
868
+ *
869
+ * When unmarshaling an Ice object, the Ice run time reads the
870
+ * most-derived type id off the wire and attempts to create an
871
+ * instance of the type using a factory. If no instance is created,
872
+ * either because no factory was found, or because all factories
873
+ * returned nil, the behavior of the Ice run time depends on the
874
+ * format with which the object was marshaled:
875
+ *
876
+ * If the object uses the "sliced" format, Ice ascends the class
877
+ * hierarchy until it finds a type that is recognized by a factory,
878
+ * or it reaches the least-derived type. If no factory is found that
879
+ * can create an instance, the run time throws NoValueFactoryException.
880
+ *
881
+ * If the object uses the "compact" format, Ice immediately raises
882
+ * NoValueFactoryException.
883
+ *
884
+ * The following order is used to locate a factory for a type:
885
+ *
886
+ * <ol>
887
+ *
888
+ * <li>The Ice run-time looks for a factory registered
889
+ * specifically for the type.</li>
890
+ *
891
+ * <li>If no instance has been created, the Ice run-time looks
892
+ * for the default factory, which is registered with an empty type id.
893
+ * </li>
894
+ *
895
+ * <li>If no instance has been created by any of the preceding
896
+ * steps, the Ice run-time looks for a factory that may have been
897
+ * statically generated by the language mapping for non-abstract classes.
898
+ * </li>
899
+ *
900
+ * </ol>
901
+ * @param factory The factory to add.
902
+ * @param id The type id for which the factory can create instances, or
903
+ * an empty string for the default factory.
904
+ * @see #findObjectFactory
905
+ * @see ObjectFactory
906
+ * @see ValueFactoryManager#add
907
+ *
908
+ * @deprecated addObjectFactory() is deprecated, use ValueFactoryManager::add() instead.
909
+ */
910
+ ICE_DEPRECATED_API("addObjectFactory() is deprecated, use ValueFactoryManager::add() instead.") virtual void addObjectFactory(const ObjectFactoryPtr& factory, const ::std::string& id) = 0;
911
+
912
+ /**
913
+ * Find an object factory registered with this communicator.
914
+ * @param id The type id for which the factory can create instances,
915
+ * or an empty string for the default factory.
916
+ * @return The object factory, or null if no object factory was
917
+ * found for the given id.
918
+ * @see #addObjectFactory
919
+ * @see ObjectFactory
920
+ * @see ValueFactoryManager#find
921
+ *
922
+ * @deprecated findObjectFactory() is deprecated, use ValueFactoryManager::find() instead.
923
+ */
924
+ ICE_DEPRECATED_API("findObjectFactory() is deprecated, use ValueFactoryManager::find() instead.") virtual ObjectFactoryPtr findObjectFactory(const ::std::string& id) const ICE_NOEXCEPT = 0;
925
+
926
+ /**
927
+ * Get the implicit context associated with this communicator.
928
+ * @return The implicit context associated with this communicator;
929
+ * returns null when the property Ice.ImplicitContext is not set
930
+ * or is set to None.
931
+ */
932
+ virtual ImplicitContextPtr getImplicitContext() const ICE_NOEXCEPT = 0;
933
+
934
+ /**
935
+ * Get the properties for this communicator.
936
+ * @return This communicator's properties.
937
+ * @see Properties
938
+ */
939
+ virtual PropertiesPtr getProperties() const ICE_NOEXCEPT = 0;
940
+
941
+ /**
942
+ * Get the logger for this communicator.
943
+ * @return This communicator's logger.
944
+ * @see Logger
945
+ */
946
+ virtual LoggerPtr getLogger() const ICE_NOEXCEPT = 0;
947
+
948
+ /**
949
+ * Get the observer resolver object for this communicator.
950
+ * @return This communicator's observer resolver object.
951
+ */
952
+ virtual Instrumentation::CommunicatorObserverPtr getObserver() const ICE_NOEXCEPT = 0;
953
+
954
+ /**
955
+ * Get the default router this communicator.
956
+ * @return The default router for this communicator.
957
+ * @see #setDefaultRouter
958
+ * @see Router
959
+ */
960
+ virtual RouterPrx getDefaultRouter() const = 0;
961
+
962
+ /**
963
+ * Set a default router for this communicator. All newly
964
+ * created proxies will use this default router. To disable the
965
+ * default router, null can be used. Note that this
966
+ * operation has no effect on existing proxies.
967
+ *
968
+ * You can also set a router for an individual proxy
969
+ * by calling the operation <tt>ice_router</tt> on the proxy.
970
+ * @param rtr The default router to use for this communicator.
971
+ * @see #getDefaultRouter
972
+ * @see #createObjectAdapterWithRouter
973
+ * @see Router
974
+ */
975
+ virtual void setDefaultRouter(const RouterPrx& rtr) = 0;
976
+
977
+ /**
978
+ * Get the default locator this communicator.
979
+ * @return The default locator for this communicator.
980
+ * @see #setDefaultLocator
981
+ * @see Locator
982
+ */
983
+ virtual LocatorPrx getDefaultLocator() const = 0;
984
+
985
+ /**
986
+ * Set a default Ice locator for this communicator. All newly
987
+ * created proxy and object adapters will use this default
988
+ * locator. To disable the default locator, null can be used.
989
+ * Note that this operation has no effect on existing proxies or
990
+ * object adapters.
991
+ *
992
+ * You can also set a locator for an individual proxy by calling the
993
+ * operation <tt>ice_locator</tt> on the proxy, or for an object adapter
994
+ * by calling {@link ObjectAdapter#setLocator} on the object adapter.
995
+ * @param loc The default locator to use for this communicator.
996
+ * @see #getDefaultLocator
997
+ * @see Locator
998
+ * @see ObjectAdapter#setLocator
999
+ */
1000
+ virtual void setDefaultLocator(const LocatorPrx& loc) = 0;
1001
+
1002
+ /**
1003
+ * Get the plug-in manager for this communicator.
1004
+ * @return This communicator's plug-in manager.
1005
+ * @see PluginManager
1006
+ */
1007
+ virtual PluginManagerPtr getPluginManager() const = 0;
1008
+
1009
+ /**
1010
+ * Get the value factory manager for this communicator.
1011
+ * @return This communicator's value factory manager.
1012
+ * @see ValueFactoryManager
1013
+ */
1014
+ virtual ValueFactoryManagerPtr getValueFactoryManager() const ICE_NOEXCEPT = 0;
1015
+
1016
+ /**
1017
+ * Flush any pending batch requests for this communicator.
1018
+ * This means all batch requests invoked on fixed proxies
1019
+ * for all connections associated with the communicator.
1020
+ * Any errors that occur while flushing a connection are ignored.
1021
+ * @param compress Specifies whether or not the queued batch requests
1022
+ * should be compressed before being sent over the wire.
1023
+ */
1024
+ virtual void flushBatchRequests(CompressBatch compress) = 0;
1025
+
1026
+ /**
1027
+ * Flush any pending batch requests for this communicator.
1028
+ * This means all batch requests invoked on fixed proxies
1029
+ * for all connections associated with the communicator.
1030
+ * Any errors that occur while flushing a connection are ignored.
1031
+ * @param compress Specifies whether or not the queued batch requests
1032
+ * should be compressed before being sent over the wire.
1033
+ * @return The asynchronous result object for the invocation.
1034
+ */
1035
+ virtual AsyncResultPtr begin_flushBatchRequests(CompressBatch compress) = 0;
1036
+
1037
+ /**
1038
+ * Flush any pending batch requests for this communicator.
1039
+ * This means all batch requests invoked on fixed proxies
1040
+ * for all connections associated with the communicator.
1041
+ * Any errors that occur while flushing a connection are ignored.
1042
+ * @param compress Specifies whether or not the queued batch requests
1043
+ * should be compressed before being sent over the wire.
1044
+ * @param cb Callback to be invoked when the invocation completes
1045
+ * @param cookie Extra data to associate with the invocation.
1046
+ * @return The asynchronous result object for the invocation.
1047
+ */
1048
+ virtual AsyncResultPtr begin_flushBatchRequests(CompressBatch compress, const CallbackPtr& cb, const LocalObjectPtr& cookie = 0) = 0;
1049
+
1050
+ /**
1051
+ * Flush any pending batch requests for this communicator.
1052
+ * This means all batch requests invoked on fixed proxies
1053
+ * for all connections associated with the communicator.
1054
+ * Any errors that occur while flushing a connection are ignored.
1055
+ * @param compress Specifies whether or not the queued batch requests
1056
+ * should be compressed before being sent over the wire.
1057
+ * @param cb Callback to be invoked when the invocation completes
1058
+ * @param cookie Extra data to associate with the invocation.
1059
+ * @return The asynchronous result object for the invocation.
1060
+ */
1061
+ virtual AsyncResultPtr begin_flushBatchRequests(CompressBatch compress, const Callback_Communicator_flushBatchRequestsPtr& cb, const LocalObjectPtr& cookie = 0) = 0;
1062
+
1063
+ /**
1064
+ * Flush any pending batch requests for this communicator.
1065
+ * This means all batch requests invoked on fixed proxies
1066
+ * for all connections associated with the communicator.
1067
+ * Any errors that occur while flushing a connection are ignored.
1068
+ * @param result The asynchronous result object returned by the begin_ method.
1069
+ */
1070
+ virtual void end_flushBatchRequests(const AsyncResultPtr& result) = 0;
1071
+
1072
+ /**
1073
+ * Add the Admin object with all its facets to the provided object adapter.
1074
+ * If Ice.Admin.ServerId is set and the provided object adapter has a {@link Locator},
1075
+ * createAdmin registers the Admin's Process facet with the {@link Locator}'s {@link LocatorRegistry}.
1076
+ *
1077
+ * createAdmin call only be called once; subsequent calls raise InitializationException.
1078
+ * @param adminAdapter The object adapter used to host the Admin object; if null and
1079
+ * Ice.Admin.Endpoints is set, create, activate and use the Ice.Admin object adapter.
1080
+ * @param adminId The identity of the Admin object.
1081
+ * @return A proxy to the main ("") facet of the Admin object. Never returns a null proxy.
1082
+ * @see #getAdmin
1083
+ */
1084
+ virtual ObjectPrx createAdmin(const ObjectAdapterPtr& adminAdapter, const Identity& adminId) = 0;
1085
+
1086
+ /**
1087
+ * Get a proxy to the main facet of the Admin object.
1088
+ *
1089
+ * getAdmin also creates the Admin object and creates and activates the Ice.Admin object
1090
+ * adapter to host this Admin object if Ice.Admin.Enpoints is set. The identity of the Admin
1091
+ * object created by getAdmin is {value of Ice.Admin.InstanceName}/admin, or {UUID}/admin
1092
+ * when Ice.Admin.InstanceName is not set.
1093
+ *
1094
+ * If Ice.Admin.DelayCreation is 0 or not set, getAdmin is called by the communicator
1095
+ * initialization, after initialization of all plugins.
1096
+ * @return A proxy to the main ("") facet of the Admin object, or a null proxy if no
1097
+ * Admin object is configured.
1098
+ * @see #createAdmin
1099
+ */
1100
+ virtual ObjectPrx getAdmin() const = 0;
1101
+
1102
+ /**
1103
+ * Add a new facet to the Admin object.
1104
+ * Adding a servant with a facet that is already registered
1105
+ * throws AlreadyRegisteredException.
1106
+ * @param servant The servant that implements the new Admin facet.
1107
+ * @param facet The name of the new Admin facet.
1108
+ */
1109
+ virtual void addAdminFacet(const ObjectPtr& servant, const ::std::string& facet) = 0;
1110
+
1111
+ /**
1112
+ * Remove the following facet to the Admin object.
1113
+ * Removing a facet that was not previously registered throws
1114
+ * NotRegisteredException.
1115
+ * @param facet The name of the Admin facet.
1116
+ * @return The servant associated with this Admin facet.
1117
+ */
1118
+ virtual ObjectPtr removeAdminFacet(const ::std::string& facet) = 0;
1119
+
1120
+ /**
1121
+ * Returns a facet of the Admin object.
1122
+ * @param facet The name of the Admin facet.
1123
+ * @return The servant associated with this Admin facet, or
1124
+ * null if no facet is registered with the given name.
1125
+ */
1126
+ virtual ObjectPtr findAdminFacet(const ::std::string& facet) = 0;
1127
+
1128
+ /**
1129
+ * Returns a map of all facets of the Admin object.
1130
+ * @return A collection containing all the facet names and
1131
+ * servants of the Admin object.
1132
+ * @see #findAdminFacet
1133
+ */
1134
+ virtual FacetMap findAllAdminFacets() = 0;
342
1135
  };
343
1136
 
1137
+ /// \cond INTERNAL
344
1138
  inline bool operator==(const Communicator& lhs, const Communicator& rhs)
345
1139
  {
346
- return static_cast<const ::Ice::LocalObject&>(lhs) == static_cast<const ::Ice::LocalObject&>(rhs);
1140
+ return static_cast<const LocalObject&>(lhs) == static_cast<const LocalObject&>(rhs);
347
1141
  }
348
1142
 
349
1143
  inline bool operator<(const Communicator& lhs, const Communicator& rhs)
350
1144
  {
351
- return static_cast<const ::Ice::LocalObject&>(lhs) < static_cast<const ::Ice::LocalObject&>(rhs);
1145
+ return static_cast<const LocalObject&>(lhs) < static_cast<const LocalObject&>(rhs);
352
1146
  }
1147
+ /// \endcond
353
1148
 
354
1149
  }
355
1150
 
1151
+ /// \cond STREAM
356
1152
  namespace Ice
357
1153
  {
358
1154
 
359
1155
  }
1156
+ /// \endcond
360
1157
 
361
1158
  #endif
362
1159