zeroc-ice 3.6.5 → 3.7.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (777) hide show
  1. checksums.yaml +5 -5
  2. data/ICE_LICENSE +17 -17
  3. data/LICENSE +12 -12
  4. data/bin/slice2rb +1 -6
  5. data/ext/Communicator.cpp +223 -61
  6. data/ext/Communicator.h +1 -6
  7. data/ext/Config.h +23 -7
  8. data/ext/Connection.cpp +108 -76
  9. data/ext/Connection.h +4 -6
  10. data/ext/Endpoint.cpp +16 -54
  11. data/ext/Endpoint.h +1 -6
  12. data/ext/ImplicitContext.cpp +1 -10
  13. data/ext/ImplicitContext.h +1 -6
  14. data/ext/Init.cpp +4 -6
  15. data/ext/Logger.cpp +1 -6
  16. data/ext/Logger.h +1 -6
  17. data/ext/Operation.cpp +38 -54
  18. data/ext/Operation.h +1 -6
  19. data/ext/Properties.cpp +3 -8
  20. data/ext/Properties.h +1 -6
  21. data/ext/Proxy.cpp +111 -70
  22. data/ext/Proxy.h +1 -6
  23. data/ext/Slice.cpp +5 -20
  24. data/ext/Slice.h +1 -6
  25. data/ext/Types.cpp +313 -224
  26. data/ext/Types.h +118 -71
  27. data/ext/Util.cpp +69 -36
  28. data/ext/Util.h +117 -42
  29. data/ext/ValueFactoryManager.cpp +440 -0
  30. data/ext/ValueFactoryManager.h +95 -0
  31. data/ext/extconf.rb +52 -48
  32. data/ext/ice/cpp/include/Ice/Application.h +275 -105
  33. data/ext/ice/cpp/include/Ice/AsyncResult.h +124 -337
  34. data/ext/ice/cpp/include/Ice/AsyncResultF.h +4 -7
  35. data/ext/ice/cpp/include/Ice/BatchRequestInterceptor.h +39 -16
  36. data/ext/ice/cpp/include/Ice/BatchRequestQueueF.h +1 -6
  37. data/ext/ice/cpp/include/Ice/Buffer.h +10 -15
  38. data/ext/ice/cpp/include/Ice/CommunicatorAsync.h +56 -17
  39. data/ext/ice/cpp/include/Ice/Comparable.h +205 -0
  40. data/ext/ice/cpp/include/Ice/Config.h +16 -39
  41. data/ext/ice/cpp/include/Ice/ConnectionAsync.h +203 -16
  42. data/ext/ice/cpp/include/Ice/ConnectionIF.h +7 -6
  43. data/ext/ice/cpp/include/Ice/ConsoleUtil.h +23 -0
  44. data/ext/ice/cpp/include/Ice/DefaultValueFactory.h +57 -0
  45. data/ext/ice/cpp/include/Ice/DispatchInterceptor.h +20 -12
  46. data/ext/ice/cpp/include/Ice/Dispatcher.h +35 -19
  47. data/ext/ice/cpp/include/Ice/DynamicLibrary.h +7 -10
  48. data/ext/ice/cpp/include/Ice/DynamicLibraryF.h +1 -6
  49. data/ext/ice/cpp/include/Ice/Exception.h +110 -63
  50. data/ext/ice/cpp/include/Ice/ExceptionHelpers.h +74 -0
  51. data/ext/ice/cpp/include/Ice/FactoryTable.h +22 -18
  52. data/ext/ice/cpp/include/Ice/FactoryTableInit.h +28 -31
  53. data/ext/ice/cpp/include/Ice/Format.h +17 -18
  54. data/ext/ice/cpp/include/Ice/Functional.h +38 -38
  55. data/ext/ice/cpp/include/Ice/GCObject.h +9 -10
  56. data/ext/ice/cpp/include/Ice/Handle.h +6 -16
  57. data/ext/ice/cpp/include/Ice/Ice.h +9 -10
  58. data/ext/ice/cpp/include/Ice/IconvStringConverter.h +377 -0
  59. data/ext/ice/cpp/include/Ice/Incoming.h +132 -38
  60. data/ext/ice/cpp/include/Ice/IncomingAsync.h +109 -31
  61. data/ext/ice/cpp/include/Ice/IncomingAsyncF.h +7 -6
  62. data/ext/ice/cpp/include/Ice/Initialize.h +872 -60
  63. data/ext/ice/cpp/include/Ice/InputStream.h +1514 -0
  64. data/ext/ice/cpp/include/Ice/InstanceF.h +1 -7
  65. data/ext/ice/cpp/include/Ice/InterfaceByValue.h +57 -0
  66. data/ext/ice/cpp/include/Ice/LocalObject.h +13 -14
  67. data/ext/ice/cpp/include/Ice/LocalObjectF.h +1 -6
  68. data/ext/ice/cpp/include/Ice/LoggerUtil.h +56 -24
  69. data/ext/ice/cpp/include/Ice/MetricsAdminI.h +124 -71
  70. data/ext/ice/cpp/include/Ice/MetricsFunctional.h +25 -10
  71. data/ext/ice/cpp/include/Ice/MetricsObserverI.h +116 -32
  72. data/ext/ice/cpp/include/Ice/NativePropertiesAdmin.h +61 -30
  73. data/ext/ice/cpp/include/Ice/Object.h +413 -78
  74. data/ext/ice/cpp/include/Ice/ObjectF.h +12 -8
  75. data/ext/ice/cpp/include/Ice/ObserverHelper.h +18 -13
  76. data/ext/ice/cpp/include/Ice/Optional.h +1114 -0
  77. data/ext/ice/cpp/include/Ice/OutgoingAsync.h +684 -89
  78. data/ext/ice/cpp/include/Ice/OutgoingAsyncF.h +12 -11
  79. data/ext/ice/cpp/include/Ice/OutputStream.h +1092 -0
  80. data/ext/ice/cpp/include/Ice/Protocol.h +49 -17
  81. data/ext/ice/cpp/include/Ice/Proxy.h +3438 -745
  82. data/ext/ice/cpp/include/Ice/ProxyF.h +13 -38
  83. data/ext/ice/cpp/include/Ice/ProxyFactoryF.h +1 -6
  84. data/ext/ice/cpp/include/Ice/ProxyHandle.h +43 -55
  85. data/ext/ice/cpp/include/Ice/ReferenceF.h +1 -6
  86. data/ext/ice/cpp/include/Ice/RegisterPlugins.h +84 -12
  87. data/ext/ice/cpp/include/Ice/RequestHandlerF.h +10 -9
  88. data/ext/ice/cpp/include/Ice/ResponseHandlerF.h +6 -6
  89. data/ext/ice/cpp/include/Ice/SHA1.h +42 -0
  90. data/ext/ice/cpp/include/Ice/ServantManagerF.h +1 -6
  91. data/ext/ice/cpp/include/Ice/Service.h +273 -154
  92. data/ext/ice/cpp/include/Ice/SliceChecksums.h +5 -6
  93. data/ext/ice/cpp/include/Ice/SlicedData.h +121 -53
  94. data/ext/ice/cpp/include/Ice/SlicedDataF.h +17 -11
  95. data/ext/ice/cpp/include/Ice/StreamHelpers.h +453 -140
  96. data/ext/ice/cpp/include/Ice/StringConverter.h +78 -0
  97. data/ext/ice/cpp/include/Ice/ThreadPoolF.h +1 -6
  98. data/ext/ice/cpp/include/Ice/UUID.h +19 -0
  99. data/ext/ice/cpp/include/{IceUtil → Ice}/UniquePtr.h +22 -28
  100. data/ext/ice/cpp/include/Ice/UniqueRef.h +97 -0
  101. data/ext/ice/cpp/include/Ice/UserExceptionFactory.h +45 -13
  102. data/ext/ice/cpp/include/Ice/Value.h +139 -0
  103. data/ext/ice/cpp/include/Ice/ValueF.h +21 -0
  104. data/ext/ice/cpp/include/IceSSL/Config.h +8 -28
  105. data/ext/ice/cpp/include/IceSSL/IceSSL.h +17 -11
  106. data/ext/ice/cpp/include/IceSSL/OpenSSL.h +147 -0
  107. data/ext/ice/cpp/include/IceSSL/Plugin.h +461 -448
  108. data/ext/ice/cpp/include/IceSSL/SChannel.h +72 -0
  109. data/ext/ice/cpp/include/IceSSL/SecureTransport.h +72 -0
  110. data/ext/ice/cpp/include/IceSSL/UWP.h +62 -0
  111. data/ext/ice/cpp/include/IceUtil/Atomic.h +7 -14
  112. data/ext/ice/cpp/include/IceUtil/Cond.h +17 -23
  113. data/ext/ice/cpp/include/IceUtil/Config.h +166 -46
  114. data/ext/ice/cpp/include/IceUtil/ConsoleUtil.h +92 -0
  115. data/ext/ice/cpp/include/IceUtil/CountDownLatch.h +5 -10
  116. data/ext/ice/cpp/include/IceUtil/CtrlCHandler.h +63 -41
  117. data/ext/ice/cpp/include/IceUtil/DisableWarnings.h +5 -13
  118. data/ext/ice/cpp/include/IceUtil/Exception.h +284 -75
  119. data/ext/ice/cpp/include/IceUtil/FileUtil.h +143 -0
  120. data/ext/ice/cpp/include/IceUtil/Functional.h +4 -6
  121. data/ext/ice/cpp/include/IceUtil/Handle.h +11 -16
  122. data/ext/ice/cpp/include/IceUtil/IceUtil.h +4 -15
  123. data/ext/ice/cpp/include/IceUtil/InputUtil.h +3 -8
  124. data/ext/ice/cpp/include/IceUtil/Iterator.h +2 -7
  125. data/ext/ice/cpp/include/IceUtil/Lock.h +8 -15
  126. data/ext/ice/cpp/include/IceUtil/Monitor.h +1 -7
  127. data/ext/ice/cpp/include/IceUtil/Mutex.h +19 -23
  128. data/ext/ice/cpp/include/IceUtil/MutexProtocol.h +2 -7
  129. data/ext/ice/cpp/include/IceUtil/MutexPtrLock.h +4 -9
  130. data/ext/ice/cpp/include/IceUtil/MutexPtrTryLock.h +4 -9
  131. data/ext/ice/cpp/include/IceUtil/Optional.h +134 -23
  132. data/ext/ice/cpp/include/IceUtil/Options.h +17 -23
  133. data/ext/ice/cpp/include/IceUtil/OutputUtil.h +61 -37
  134. data/ext/ice/cpp/include/IceUtil/PopDisableWarnings.h +6 -11
  135. data/ext/ice/cpp/include/IceUtil/PushDisableWarnings.h +18 -15
  136. data/ext/ice/cpp/include/IceUtil/Random.h +39 -8
  137. data/ext/ice/cpp/include/IceUtil/RecMutex.h +7 -13
  138. data/ext/ice/cpp/include/IceUtil/ResourceConfig.h +53 -0
  139. data/ext/ice/cpp/include/IceUtil/ScannerConfig.h +10 -15
  140. data/ext/ice/cpp/include/IceUtil/ScopedArray.h +8 -7
  141. data/ext/ice/cpp/include/IceUtil/Shared.h +5 -12
  142. data/ext/ice/cpp/{src → include}/IceUtil/StopWatch.h +2 -7
  143. data/ext/ice/cpp/include/IceUtil/StringConverter.h +146 -126
  144. data/ext/ice/cpp/include/IceUtil/StringUtil.h +32 -26
  145. data/ext/ice/cpp/include/IceUtil/Thread.h +10 -17
  146. data/ext/ice/cpp/include/IceUtil/ThreadException.h +33 -47
  147. data/ext/ice/cpp/include/IceUtil/Time.h +3 -8
  148. data/ext/ice/cpp/include/IceUtil/Timer.h +18 -18
  149. data/ext/ice/cpp/include/IceUtil/UUID.h +6 -7
  150. data/ext/ice/cpp/include/IceUtil/UndefSysMacros.h +1 -6
  151. data/ext/ice/cpp/include/generated/Ice/BuiltinSequences.h +170 -0
  152. data/ext/ice/cpp/include/generated/Ice/Communicator.h +1156 -0
  153. data/ext/ice/cpp/include/{Ice → generated/Ice}/CommunicatorF.h +51 -16
  154. data/ext/ice/cpp/include/generated/Ice/Connection.h +1660 -0
  155. data/ext/ice/cpp/include/generated/Ice/ConnectionF.h +119 -0
  156. data/ext/ice/cpp/include/generated/Ice/Current.h +322 -0
  157. data/ext/ice/cpp/include/generated/Ice/Endpoint.h +943 -0
  158. data/ext/ice/cpp/include/generated/Ice/EndpointF.h +166 -0
  159. data/ext/ice/cpp/include/generated/Ice/EndpointTypes.h +118 -0
  160. data/ext/ice/cpp/include/{Ice → generated/Ice}/FacetMap.h +31 -15
  161. data/ext/ice/cpp/include/generated/Ice/Identity.h +264 -0
  162. data/ext/ice/cpp/include/generated/Ice/ImplicitContext.h +278 -0
  163. data/ext/ice/cpp/include/{Ice → generated/Ice}/ImplicitContextF.h +51 -16
  164. data/ext/ice/cpp/include/generated/Ice/Instrumentation.h +1143 -0
  165. data/ext/ice/cpp/include/generated/Ice/InstrumentationF.h +128 -0
  166. data/ext/ice/cpp/include/generated/Ice/LocalException.h +7041 -0
  167. data/ext/ice/cpp/include/generated/Ice/Locator.h +3850 -0
  168. data/ext/ice/cpp/include/generated/Ice/LocatorF.h +147 -0
  169. data/ext/ice/cpp/include/generated/Ice/Logger.h +231 -0
  170. data/ext/ice/cpp/include/{Ice → generated/Ice}/LoggerF.h +51 -16
  171. data/ext/ice/cpp/include/generated/Ice/Metrics.h +4717 -0
  172. data/ext/ice/cpp/include/generated/Ice/ObjectAdapter.h +1175 -0
  173. data/ext/ice/cpp/include/{Ice → generated/Ice}/ObjectAdapterF.h +51 -16
  174. data/ext/ice/cpp/include/generated/Ice/ObjectFactory.h +197 -0
  175. data/ext/ice/cpp/include/generated/Ice/Plugin.h +306 -0
  176. data/ext/ice/cpp/include/generated/Ice/PluginF.h +110 -0
  177. data/ext/ice/cpp/include/generated/Ice/Process.h +971 -0
  178. data/ext/ice/cpp/include/generated/Ice/ProcessF.h +125 -0
  179. data/ext/ice/cpp/include/generated/Ice/Properties.h +446 -0
  180. data/ext/ice/cpp/include/generated/Ice/PropertiesAdmin.h +1360 -0
  181. data/ext/ice/cpp/include/generated/Ice/PropertiesF.h +134 -0
  182. data/ext/ice/cpp/include/generated/Ice/RemoteLogger.h +2689 -0
  183. data/ext/ice/cpp/include/generated/Ice/Router.h +1838 -0
  184. data/ext/ice/cpp/include/generated/Ice/RouterF.h +125 -0
  185. data/ext/ice/cpp/include/generated/Ice/ServantLocator.h +299 -0
  186. data/ext/ice/cpp/include/{Ice → generated/Ice}/ServantLocatorF.h +51 -16
  187. data/ext/ice/cpp/include/{Ice → generated/Ice}/SliceChecksumDict.h +34 -14
  188. data/ext/ice/cpp/include/generated/Ice/ValueFactory.h +318 -0
  189. data/ext/ice/cpp/include/generated/Ice/Version.h +357 -0
  190. data/ext/ice/cpp/include/generated/IceSSL/ConnectionInfo.h +223 -0
  191. data/ext/ice/cpp/include/generated/IceSSL/ConnectionInfoF.h +101 -0
  192. data/ext/ice/cpp/include/generated/IceSSL/EndpointInfo.h +181 -0
  193. data/ext/ice/cpp/src/Ice/ACM.cpp +38 -27
  194. data/ext/ice/cpp/src/Ice/ACM.h +9 -7
  195. data/ext/ice/cpp/src/Ice/ACMF.h +30 -0
  196. data/ext/ice/cpp/src/Ice/Acceptor.cpp +6 -6
  197. data/ext/ice/cpp/src/Ice/Acceptor.h +4 -8
  198. data/ext/ice/cpp/src/Ice/AcceptorF.h +1 -6
  199. data/ext/ice/cpp/src/Ice/ArgVector.cpp +59 -0
  200. data/ext/ice/cpp/src/Ice/ArgVector.h +36 -0
  201. data/ext/ice/cpp/src/Ice/AsyncResult.cpp +15 -544
  202. data/ext/ice/cpp/src/Ice/Base64.cpp +22 -28
  203. data/ext/ice/cpp/src/Ice/Base64.h +1 -6
  204. data/ext/ice/cpp/src/Ice/BatchRequestQueue.cpp +41 -18
  205. data/ext/ice/cpp/src/Ice/BatchRequestQueue.h +15 -15
  206. data/ext/ice/cpp/src/Ice/Buffer.cpp +75 -18
  207. data/ext/ice/cpp/src/Ice/BuiltinSequences.cpp +21 -12
  208. data/ext/ice/cpp/src/Ice/CollocatedRequestHandler.cpp +86 -197
  209. data/ext/ice/cpp/src/Ice/CollocatedRequestHandler.h +17 -23
  210. data/ext/ice/cpp/src/Ice/Communicator.cpp +43 -15
  211. data/ext/ice/cpp/src/Ice/CommunicatorF.cpp +28 -11
  212. data/ext/ice/cpp/src/Ice/CommunicatorI.cpp +318 -117
  213. data/ext/ice/cpp/src/Ice/CommunicatorI.h +95 -40
  214. data/ext/ice/cpp/src/{IceUtil → Ice}/Cond.cpp +3 -8
  215. data/ext/ice/cpp/src/Ice/ConnectRequestHandler.cpp +55 -122
  216. data/ext/ice/cpp/src/Ice/ConnectRequestHandler.h +15 -31
  217. data/ext/ice/cpp/src/Ice/ConnectRequestHandlerF.h +6 -7
  218. data/ext/ice/cpp/src/Ice/Connection.cpp +111 -20
  219. data/ext/ice/cpp/src/Ice/ConnectionF.cpp +28 -11
  220. data/ext/ice/cpp/src/Ice/ConnectionFactory.cpp +300 -107
  221. data/ext/ice/cpp/src/Ice/ConnectionFactory.h +44 -28
  222. data/ext/ice/cpp/src/Ice/ConnectionFactoryF.h +30 -0
  223. data/ext/ice/cpp/src/Ice/ConnectionI.cpp +785 -713
  224. data/ext/ice/cpp/src/Ice/ConnectionI.h +105 -80
  225. data/ext/ice/cpp/src/Ice/ConnectionRequestHandler.cpp +2 -20
  226. data/ext/ice/cpp/src/Ice/ConnectionRequestHandler.h +5 -9
  227. data/ext/ice/cpp/src/Ice/Connector.cpp +6 -6
  228. data/ext/ice/cpp/src/Ice/Connector.h +4 -8
  229. data/ext/ice/cpp/src/Ice/ConnectorF.h +1 -6
  230. data/ext/ice/cpp/src/{IceUtil → Ice}/CountDownLatch.cpp +4 -9
  231. data/ext/ice/cpp/src/Ice/Current.cpp +30 -12
  232. data/ext/ice/cpp/src/Ice/DefaultsAndOverrides.cpp +10 -16
  233. data/ext/ice/cpp/src/Ice/DefaultsAndOverrides.h +1 -6
  234. data/ext/ice/cpp/src/Ice/DefaultsAndOverridesF.h +1 -6
  235. data/ext/ice/cpp/src/Ice/DispatchInterceptor.cpp +13 -25
  236. data/ext/ice/cpp/src/Ice/DynamicLibrary.cpp +34 -28
  237. data/ext/ice/cpp/src/Ice/Endpoint.cpp +107 -19
  238. data/ext/ice/cpp/src/Ice/EndpointF.cpp +28 -11
  239. data/ext/ice/cpp/src/Ice/EndpointFactory.cpp +152 -6
  240. data/ext/ice/cpp/src/Ice/EndpointFactory.h +72 -11
  241. data/ext/ice/cpp/src/Ice/EndpointFactoryF.h +1 -6
  242. data/ext/ice/cpp/src/Ice/EndpointFactoryManager.cpp +41 -36
  243. data/ext/ice/cpp/src/Ice/EndpointFactoryManager.h +10 -9
  244. data/ext/ice/cpp/src/Ice/EndpointFactoryManagerF.h +1 -6
  245. data/ext/ice/cpp/src/Ice/EndpointI.cpp +18 -7
  246. data/ext/ice/cpp/src/Ice/EndpointI.h +39 -18
  247. data/ext/ice/cpp/src/Ice/EndpointIF.h +18 -10
  248. data/ext/ice/cpp/src/Ice/EndpointTypes.cpp +19 -12
  249. data/ext/ice/cpp/src/Ice/EventHandler.cpp +6 -9
  250. data/ext/ice/cpp/src/Ice/EventHandler.h +13 -13
  251. data/ext/ice/cpp/src/Ice/EventHandlerF.h +5 -7
  252. data/ext/ice/cpp/src/Ice/Exception.cpp +102 -98
  253. data/ext/ice/cpp/src/Ice/FacetMap.cpp +21 -12
  254. data/ext/ice/cpp/src/Ice/FactoryTable.cpp +37 -33
  255. data/ext/ice/cpp/src/Ice/FactoryTableInit.cpp +2 -9
  256. data/ext/ice/cpp/src/Ice/GCObject.cpp +29 -31
  257. data/ext/ice/cpp/src/Ice/HashUtil.h +3 -9
  258. data/ext/ice/cpp/src/Ice/HttpParser.cpp +1 -7
  259. data/ext/ice/cpp/src/Ice/HttpParser.h +1 -6
  260. data/ext/ice/cpp/src/Ice/IPEndpointI.cpp +128 -111
  261. data/ext/ice/cpp/src/Ice/IPEndpointI.h +23 -19
  262. data/ext/ice/cpp/src/Ice/IPEndpointIF.h +6 -7
  263. data/ext/ice/cpp/src/Ice/IconvStringConverter.cpp +51 -0
  264. data/ext/ice/cpp/src/Ice/Identity.cpp +25 -16
  265. data/ext/ice/cpp/src/Ice/ImplicitContext.cpp +41 -13
  266. data/ext/ice/cpp/src/Ice/ImplicitContextF.cpp +28 -11
  267. data/ext/ice/cpp/src/Ice/ImplicitContextI.cpp +11 -28
  268. data/ext/ice/cpp/src/Ice/ImplicitContextI.h +7 -10
  269. data/ext/ice/cpp/src/Ice/Incoming.cpp +284 -255
  270. data/ext/ice/cpp/src/Ice/IncomingAsync.cpp +104 -214
  271. data/ext/ice/cpp/src/Ice/IncomingRequest.h +5 -9
  272. data/ext/ice/cpp/src/Ice/Initialize.cpp +309 -193
  273. data/ext/ice/cpp/src/Ice/InputStream.cpp +2726 -0
  274. data/ext/ice/cpp/src/Ice/Instance.cpp +243 -262
  275. data/ext/ice/cpp/src/Ice/Instance.h +30 -23
  276. data/ext/ice/cpp/src/Ice/Instrumentation.cpp +137 -23
  277. data/ext/ice/cpp/src/Ice/InstrumentationF.cpp +28 -11
  278. data/ext/ice/cpp/src/Ice/InstrumentationI.cpp +118 -105
  279. data/ext/ice/cpp/src/Ice/InstrumentationI.h +30 -36
  280. data/ext/ice/cpp/src/Ice/LocalException.cpp +1191 -422
  281. data/ext/ice/cpp/src/Ice/LocalObject.cpp +1 -7
  282. data/ext/ice/cpp/src/Ice/Locator.cpp +1282 -1222
  283. data/ext/ice/cpp/src/Ice/LocatorF.cpp +30 -12
  284. data/ext/ice/cpp/src/Ice/LocatorInfo.cpp +150 -186
  285. data/ext/ice/cpp/src/Ice/LocatorInfo.h +31 -36
  286. data/ext/ice/cpp/src/Ice/LocatorInfoF.h +1 -6
  287. data/ext/ice/cpp/src/Ice/Logger.cpp +39 -12
  288. data/ext/ice/cpp/src/Ice/LoggerAdminI.cpp +182 -88
  289. data/ext/ice/cpp/src/Ice/LoggerAdminI.h +4 -9
  290. data/ext/ice/cpp/src/Ice/LoggerF.cpp +28 -11
  291. data/ext/ice/cpp/src/Ice/LoggerI.cpp +26 -55
  292. data/ext/ice/cpp/src/Ice/LoggerI.h +7 -18
  293. data/ext/ice/cpp/src/Ice/LoggerUtil.cpp +10 -17
  294. data/ext/ice/cpp/src/Ice/Metrics.cpp +1280 -1107
  295. data/ext/ice/cpp/src/Ice/MetricsAdminI.cpp +58 -33
  296. data/ext/ice/cpp/src/Ice/MetricsObserverI.cpp +1 -7
  297. data/ext/ice/cpp/src/Ice/Network.cpp +753 -408
  298. data/ext/ice/cpp/src/Ice/Network.h +99 -36
  299. data/ext/ice/cpp/src/Ice/NetworkF.h +2 -7
  300. data/ext/ice/cpp/src/Ice/NetworkProxy.cpp +20 -19
  301. data/ext/ice/cpp/src/Ice/NetworkProxy.h +5 -7
  302. data/ext/ice/cpp/src/Ice/NetworkProxyF.h +1 -6
  303. data/ext/ice/cpp/src/Ice/OSLogLoggerI.cpp +57 -0
  304. data/ext/ice/cpp/src/Ice/OSLogLoggerI.h +40 -0
  305. data/ext/ice/cpp/src/Ice/Object.cpp +227 -232
  306. data/ext/ice/cpp/src/Ice/ObjectAdapter.cpp +45 -13
  307. data/ext/ice/cpp/src/Ice/ObjectAdapterF.cpp +28 -11
  308. data/ext/ice/cpp/src/Ice/ObjectAdapterFactory.cpp +83 -33
  309. data/ext/ice/cpp/src/Ice/ObjectAdapterFactory.h +13 -12
  310. data/ext/ice/cpp/src/Ice/ObjectAdapterFactoryF.h +25 -0
  311. data/ext/ice/cpp/src/Ice/ObjectAdapterI.cpp +298 -191
  312. data/ext/ice/cpp/src/Ice/ObjectAdapterI.h +44 -39
  313. data/ext/ice/cpp/src/Ice/ObjectFactory.cpp +41 -13
  314. data/ext/ice/cpp/src/Ice/ObserverHelper.cpp +9 -37
  315. data/ext/ice/cpp/src/Ice/OpaqueEndpointI.cpp +67 -67
  316. data/ext/ice/cpp/src/Ice/OpaqueEndpointI.h +15 -11
  317. data/ext/ice/cpp/src/Ice/OutgoingAsync.cpp +801 -366
  318. data/ext/ice/cpp/src/Ice/OutputStream.cpp +1367 -0
  319. data/ext/ice/cpp/src/Ice/Plugin.cpp +52 -14
  320. data/ext/ice/cpp/src/Ice/PluginF.cpp +28 -11
  321. data/ext/ice/cpp/src/Ice/PluginManagerI.cpp +27 -51
  322. data/ext/ice/cpp/src/Ice/PluginManagerI.h +7 -13
  323. data/ext/ice/cpp/src/Ice/Process.cpp +294 -128
  324. data/ext/ice/cpp/src/Ice/ProcessF.cpp +30 -12
  325. data/ext/ice/cpp/src/Ice/Properties.cpp +42 -15
  326. data/ext/ice/cpp/src/Ice/PropertiesAdmin.cpp +382 -340
  327. data/ext/ice/cpp/src/Ice/PropertiesAdminI.cpp +83 -24
  328. data/ext/ice/cpp/src/Ice/PropertiesAdminI.h +29 -10
  329. data/ext/ice/cpp/src/Ice/PropertiesF.cpp +30 -12
  330. data/ext/ice/cpp/src/Ice/PropertiesI.cpp +46 -57
  331. data/ext/ice/cpp/src/Ice/PropertiesI.h +18 -26
  332. data/ext/ice/cpp/src/Ice/PropertyNames.cpp +112 -19
  333. data/ext/ice/cpp/src/Ice/PropertyNames.h +4 -7
  334. data/ext/ice/cpp/src/Ice/Protocol.cpp +6 -19
  335. data/ext/ice/cpp/src/Ice/ProtocolInstance.cpp +37 -7
  336. data/ext/ice/cpp/src/Ice/ProtocolInstance.h +9 -25
  337. data/ext/ice/cpp/src/Ice/ProtocolInstanceF.h +1 -6
  338. data/ext/ice/cpp/src/Ice/ProtocolPluginFacade.cpp +6 -6
  339. data/ext/ice/cpp/src/Ice/ProtocolPluginFacade.h +3 -6
  340. data/ext/ice/cpp/src/Ice/ProtocolPluginFacadeF.h +1 -6
  341. data/ext/ice/cpp/src/Ice/Proxy.cpp +729 -957
  342. data/ext/ice/cpp/src/Ice/ProxyFactory.cpp +33 -38
  343. data/ext/ice/cpp/src/Ice/ProxyFactory.h +16 -16
  344. data/ext/ice/cpp/src/Ice/Reference.cpp +190 -106
  345. data/ext/ice/cpp/src/Ice/Reference.h +39 -28
  346. data/ext/ice/cpp/src/Ice/ReferenceFactory.cpp +69 -118
  347. data/ext/ice/cpp/src/Ice/ReferenceFactory.h +12 -17
  348. data/ext/ice/cpp/src/Ice/ReferenceFactoryF.h +1 -6
  349. data/ext/ice/cpp/src/Ice/RegisterPluginsInit.cpp +19 -9
  350. data/ext/ice/cpp/src/Ice/RegisterPluginsInit.h +1 -6
  351. data/ext/ice/cpp/src/Ice/RemoteLogger.cpp +766 -565
  352. data/ext/ice/cpp/src/Ice/ReplyStatus.h +1 -6
  353. data/ext/ice/cpp/src/Ice/RequestHandler.cpp +5 -8
  354. data/ext/ice/cpp/src/Ice/RequestHandler.h +10 -18
  355. data/ext/ice/cpp/src/Ice/RequestHandlerFactory.cpp +10 -11
  356. data/ext/ice/cpp/src/Ice/RequestHandlerFactory.h +2 -7
  357. data/ext/ice/cpp/src/Ice/ResponseHandler.cpp +3 -11
  358. data/ext/ice/cpp/src/Ice/ResponseHandler.h +16 -12
  359. data/ext/ice/cpp/src/Ice/RetryQueue.cpp +12 -20
  360. data/ext/ice/cpp/src/Ice/RetryQueue.h +7 -11
  361. data/ext/ice/cpp/src/Ice/RetryQueueF.h +1 -6
  362. data/ext/ice/cpp/src/Ice/Router.cpp +614 -492
  363. data/ext/ice/cpp/src/Ice/RouterF.cpp +30 -12
  364. data/ext/ice/cpp/src/Ice/RouterInfo.cpp +93 -99
  365. data/ext/ice/cpp/src/Ice/RouterInfo.h +42 -38
  366. data/ext/ice/cpp/src/Ice/RouterInfoF.h +1 -6
  367. data/ext/ice/cpp/src/{IceUtil → Ice}/SHA1.cpp +23 -28
  368. data/ext/ice/cpp/src/Ice/Selector.cpp +948 -855
  369. data/ext/ice/cpp/src/Ice/Selector.h +100 -152
  370. data/ext/ice/cpp/src/Ice/ServantLocator.cpp +41 -13
  371. data/ext/ice/cpp/src/Ice/ServantLocatorF.cpp +28 -11
  372. data/ext/ice/cpp/src/Ice/ServantManager.cpp +24 -45
  373. data/ext/ice/cpp/src/Ice/ServantManager.h +1 -6
  374. data/ext/ice/cpp/src/Ice/SharedContext.h +2 -7
  375. data/ext/ice/cpp/src/Ice/SliceChecksumDict.cpp +21 -12
  376. data/ext/ice/cpp/src/Ice/SliceChecksums.cpp +2 -7
  377. data/ext/ice/cpp/src/Ice/SlicedData.cpp +72 -25
  378. data/ext/ice/cpp/src/Ice/StreamSocket.cpp +208 -76
  379. data/ext/ice/cpp/src/Ice/StreamSocket.h +13 -9
  380. data/ext/ice/cpp/src/Ice/StringConverterPlugin.cpp +57 -22
  381. data/ext/ice/cpp/src/Ice/StringUtil.h +30 -0
  382. data/ext/ice/cpp/src/Ice/SysLoggerI.cpp +6 -7
  383. data/ext/ice/cpp/src/Ice/SysLoggerI.h +2 -8
  384. data/ext/ice/cpp/src/Ice/SystemdJournalI.cpp +66 -0
  385. data/ext/ice/cpp/src/Ice/SystemdJournalI.h +39 -0
  386. data/ext/ice/cpp/src/Ice/TcpAcceptor.cpp +169 -49
  387. data/ext/ice/cpp/src/Ice/TcpAcceptor.h +12 -10
  388. data/ext/ice/cpp/src/Ice/TcpConnector.cpp +6 -12
  389. data/ext/ice/cpp/src/Ice/TcpConnector.h +1 -7
  390. data/ext/ice/cpp/src/Ice/TcpEndpointI.cpp +51 -46
  391. data/ext/ice/cpp/src/Ice/TcpEndpointI.h +12 -14
  392. data/ext/ice/cpp/src/Ice/TcpTransceiver.cpp +17 -32
  393. data/ext/ice/cpp/src/Ice/TcpTransceiver.h +7 -15
  394. data/ext/ice/cpp/src/{IceUtil → Ice}/Thread.cpp +41 -54
  395. data/ext/ice/cpp/src/Ice/ThreadPool.cpp +242 -274
  396. data/ext/ice/cpp/src/Ice/ThreadPool.h +46 -48
  397. data/ext/ice/cpp/src/{IceUtil → Ice}/Timer.cpp +38 -26
  398. data/ext/ice/cpp/src/Ice/TraceLevels.cpp +2 -7
  399. data/ext/ice/cpp/src/Ice/TraceLevels.h +1 -6
  400. data/ext/ice/cpp/src/Ice/TraceLevelsF.h +2 -7
  401. data/ext/ice/cpp/src/Ice/TraceUtil.cpp +53 -36
  402. data/ext/ice/cpp/src/Ice/TraceUtil.h +13 -11
  403. data/ext/ice/cpp/src/Ice/Transceiver.cpp +1 -7
  404. data/ext/ice/cpp/src/Ice/Transceiver.h +8 -12
  405. data/ext/ice/cpp/src/Ice/TransceiverF.h +3 -8
  406. data/ext/ice/cpp/src/Ice/UdpConnector.cpp +5 -13
  407. data/ext/ice/cpp/src/Ice/UdpConnector.h +1 -7
  408. data/ext/ice/cpp/src/Ice/UdpEndpointI.cpp +118 -60
  409. data/ext/ice/cpp/src/Ice/UdpEndpointI.h +13 -10
  410. data/ext/ice/cpp/src/Ice/UdpTransceiver.cpp +177 -236
  411. data/ext/ice/cpp/src/Ice/UdpTransceiver.h +15 -22
  412. data/ext/ice/cpp/src/Ice/Value.cpp +76 -0
  413. data/ext/ice/cpp/src/Ice/ValueFactory.cpp +83 -0
  414. data/ext/ice/cpp/src/Ice/ValueFactoryManagerI.cpp +61 -0
  415. data/ext/ice/cpp/src/Ice/ValueFactoryManagerI.h +37 -0
  416. data/ext/ice/cpp/src/Ice/Version.cpp +25 -20
  417. data/ext/ice/cpp/src/Ice/VirtualShared.h +38 -0
  418. data/ext/ice/cpp/src/Ice/WSAcceptor.cpp +3 -14
  419. data/ext/ice/cpp/src/Ice/WSAcceptor.h +3 -12
  420. data/ext/ice/cpp/src/Ice/WSConnector.cpp +5 -16
  421. data/ext/ice/cpp/src/Ice/WSConnector.h +3 -11
  422. data/ext/ice/cpp/src/Ice/WSEndpoint.cpp +188 -89
  423. data/ext/ice/cpp/src/Ice/WSEndpoint.h +22 -37
  424. data/ext/ice/cpp/src/Ice/WSTransceiver.cpp +65 -66
  425. data/ext/ice/cpp/src/Ice/WSTransceiver.h +7 -27
  426. data/ext/ice/cpp/src/IceDiscovery/IceDiscovery.cpp +596 -281
  427. data/ext/ice/cpp/src/IceDiscovery/IceDiscovery.h +1383 -543
  428. data/ext/ice/cpp/src/IceDiscovery/LocatorI.cpp +89 -32
  429. data/ext/ice/cpp/src/IceDiscovery/LocatorI.h +59 -28
  430. data/ext/ice/cpp/src/IceDiscovery/LookupI.cpp +315 -66
  431. data/ext/ice/cpp/src/IceDiscovery/LookupI.h +83 -41
  432. data/ext/ice/cpp/src/IceDiscovery/PluginI.cpp +57 -64
  433. data/ext/ice/cpp/src/IceDiscovery/PluginI.h +3 -8
  434. data/ext/ice/cpp/src/IceLocatorDiscovery/IceLocatorDiscovery.cpp +450 -172
  435. data/ext/ice/cpp/src/IceLocatorDiscovery/IceLocatorDiscovery.h +863 -406
  436. data/ext/ice/cpp/src/IceLocatorDiscovery/Plugin.h +47 -0
  437. data/ext/ice/cpp/src/IceLocatorDiscovery/PluginI.cpp +636 -144
  438. data/ext/ice/cpp/src/IceSSL/AcceptorI.cpp +20 -173
  439. data/ext/ice/cpp/src/IceSSL/AcceptorI.h +8 -22
  440. data/ext/ice/cpp/src/IceSSL/CertificateI.cpp +279 -0
  441. data/ext/ice/cpp/src/IceSSL/CertificateI.h +64 -0
  442. data/ext/ice/cpp/src/IceSSL/ConnectionInfo.cpp +42 -17
  443. data/ext/ice/cpp/src/IceSSL/ConnectionInfoF.cpp +61 -0
  444. data/ext/ice/cpp/src/IceSSL/ConnectorI.cpp +15 -64
  445. data/ext/ice/cpp/src/IceSSL/ConnectorI.h +6 -18
  446. data/ext/ice/cpp/src/IceSSL/EndpointI.cpp +207 -204
  447. data/ext/ice/cpp/src/IceSSL/EndpointI.h +43 -40
  448. data/ext/ice/cpp/src/IceSSL/EndpointInfo.cpp +42 -16
  449. data/ext/ice/cpp/src/IceSSL/Instance.cpp +1 -11
  450. data/ext/ice/cpp/src/IceSSL/Instance.h +7 -12
  451. data/ext/ice/cpp/src/IceSSL/InstanceF.h +11 -12
  452. data/ext/ice/cpp/src/IceSSL/OpenSSLCertificateI.cpp +583 -0
  453. data/ext/ice/cpp/src/IceSSL/OpenSSLEngine.cpp +134 -115
  454. data/ext/ice/cpp/src/IceSSL/OpenSSLEngine.h +59 -0
  455. data/ext/ice/cpp/src/IceSSL/OpenSSLEngineF.h +27 -0
  456. data/ext/ice/cpp/src/IceSSL/OpenSSLPluginI.cpp +127 -0
  457. data/ext/ice/cpp/src/IceSSL/OpenSSLTransceiverI.cpp +477 -182
  458. data/ext/ice/cpp/src/IceSSL/OpenSSLTransceiverI.h +32 -26
  459. data/ext/ice/cpp/src/IceSSL/OpenSSLUtil.cpp +286 -0
  460. data/ext/ice/cpp/src/IceSSL/OpenSSLUtil.h +58 -0
  461. data/ext/ice/cpp/src/IceSSL/PluginI.cpp +71 -46
  462. data/ext/ice/cpp/src/IceSSL/PluginI.h +13 -23
  463. data/ext/ice/cpp/src/IceSSL/RFC2253.cpp +9 -60
  464. data/ext/ice/cpp/src/IceSSL/RFC2253.h +7 -12
  465. data/ext/ice/cpp/src/IceSSL/SChannelCertificateI.cpp +580 -0
  466. data/ext/ice/cpp/src/IceSSL/SChannelEngine.cpp +523 -74
  467. data/ext/ice/cpp/src/IceSSL/SChannelEngine.h +123 -0
  468. data/ext/ice/cpp/src/IceSSL/SChannelEngineF.h +31 -0
  469. data/ext/ice/cpp/src/IceSSL/SChannelPluginI.cpp +73 -0
  470. data/ext/ice/cpp/src/IceSSL/SChannelTransceiverI.cpp +187 -221
  471. data/ext/ice/cpp/src/IceSSL/SChannelTransceiverI.h +24 -26
  472. data/ext/ice/cpp/src/IceSSL/SSLEngine.cpp +97 -94
  473. data/ext/ice/cpp/src/IceSSL/SSLEngine.h +26 -192
  474. data/ext/ice/cpp/src/IceSSL/SSLEngineF.h +4 -24
  475. data/ext/ice/cpp/src/IceSSL/SecureTransportCertificateI.cpp +868 -0
  476. data/ext/ice/cpp/src/IceSSL/SecureTransportEngine.cpp +69 -201
  477. data/ext/ice/cpp/src/IceSSL/SecureTransportEngine.h +59 -0
  478. data/ext/ice/cpp/src/IceSSL/SecureTransportEngineF.h +29 -0
  479. data/ext/ice/cpp/src/IceSSL/SecureTransportPluginI.cpp +75 -0
  480. data/ext/ice/cpp/src/IceSSL/SecureTransportTransceiverI.cpp +174 -161
  481. data/ext/ice/cpp/src/IceSSL/SecureTransportTransceiverI.h +29 -33
  482. data/ext/ice/cpp/src/IceSSL/SecureTransportUtil.cpp +864 -0
  483. data/ext/ice/cpp/src/IceSSL/SecureTransportUtil.h +45 -0
  484. data/ext/ice/cpp/src/IceSSL/TrustManager.cpp +12 -22
  485. data/ext/ice/cpp/src/IceSSL/TrustManager.h +4 -9
  486. data/ext/ice/cpp/src/IceSSL/TrustManagerF.h +3 -8
  487. data/ext/ice/cpp/src/IceSSL/UWPCertificateI.cpp +266 -0
  488. data/ext/ice/cpp/src/IceSSL/UWPEngine.cpp +338 -0
  489. data/ext/ice/cpp/src/IceSSL/UWPEngine.h +41 -0
  490. data/ext/ice/cpp/src/IceSSL/UWPEngineF.h +26 -0
  491. data/ext/ice/cpp/src/IceSSL/UWPPluginI.cpp +89 -0
  492. data/ext/ice/cpp/src/IceSSL/UWPTransceiverI.cpp +383 -0
  493. data/ext/ice/cpp/src/IceSSL/UWPTransceiverI.h +71 -0
  494. data/ext/ice/cpp/src/IceSSL/Util.cpp +71 -1260
  495. data/ext/ice/cpp/src/IceSSL/Util.h +48 -142
  496. data/ext/ice/cpp/src/IceUtil/ConsoleUtil.cpp +157 -0
  497. data/ext/ice/cpp/src/IceUtil/ConvertUTF.cpp +22 -27
  498. data/ext/ice/cpp/src/IceUtil/ConvertUTF.h +34 -31
  499. data/ext/ice/cpp/src/IceUtil/CtrlCHandler.cpp +22 -36
  500. data/ext/ice/cpp/src/IceUtil/FileUtil.cpp +30 -126
  501. data/ext/ice/cpp/src/IceUtil/InputUtil.cpp +1 -6
  502. data/ext/ice/cpp/src/IceUtil/MutexProtocol.cpp +1 -6
  503. data/ext/ice/cpp/src/IceUtil/Options.cpp +20 -33
  504. data/ext/ice/cpp/src/IceUtil/OutputUtil.cpp +47 -21
  505. data/ext/ice/cpp/src/IceUtil/Random.cpp +15 -20
  506. data/ext/ice/cpp/src/IceUtil/RecMutex.cpp +4 -19
  507. data/ext/ice/cpp/src/IceUtil/Shared.cpp +8 -8
  508. data/ext/ice/cpp/src/IceUtil/StringConverter.cpp +501 -269
  509. data/ext/ice/cpp/src/IceUtil/StringUtil.cpp +582 -244
  510. data/ext/ice/cpp/src/IceUtil/ThreadException.cpp +37 -79
  511. data/ext/ice/cpp/src/IceUtil/Time.cpp +6 -11
  512. data/ext/ice/cpp/src/IceUtil/UUID.cpp +17 -22
  513. data/ext/ice/cpp/src/IceUtil/Unicode.cpp +97 -101
  514. data/ext/ice/cpp/src/IceUtil/Unicode.h +21 -40
  515. data/ext/ice/cpp/src/IceUtil/UtilException.cpp +839 -0
  516. data/ext/ice/cpp/src/Slice/CPlusPlusUtil.cpp +894 -234
  517. data/ext/ice/cpp/src/Slice/CPlusPlusUtil.h +72 -0
  518. data/ext/ice/cpp/src/Slice/Checksum.cpp +2 -7
  519. data/ext/ice/cpp/src/Slice/Checksum.h +21 -0
  520. data/ext/ice/cpp/src/Slice/FileTracker.cpp +25 -83
  521. data/ext/ice/cpp/{include → src}/Slice/FileTracker.h +9 -14
  522. data/ext/ice/cpp/src/Slice/Grammar.cpp +1981 -1944
  523. data/ext/ice/cpp/src/Slice/Grammar.h +39 -19
  524. data/ext/ice/cpp/src/Slice/GrammarUtil.h +14 -20
  525. data/ext/ice/cpp/src/Slice/JavaUtil.cpp +2752 -1948
  526. data/ext/ice/cpp/src/Slice/JavaUtil.h +398 -0
  527. data/ext/ice/cpp/src/Slice/MD5.cpp +1 -6
  528. data/ext/ice/cpp/src/Slice/MD5.h +1 -6
  529. data/ext/ice/cpp/src/Slice/MD5I.cpp +8 -1
  530. data/ext/ice/cpp/src/Slice/MD5I.h +1 -1
  531. data/ext/ice/cpp/src/Slice/PHPUtil.cpp +17 -20
  532. data/ext/ice/cpp/src/Slice/PHPUtil.h +36 -0
  533. data/ext/ice/cpp/src/Slice/Parser.cpp +1190 -426
  534. data/ext/ice/cpp/{include → src}/Slice/Parser.h +143 -91
  535. data/ext/ice/cpp/src/Slice/Preprocessor.cpp +67 -36
  536. data/ext/ice/cpp/{include → src}/Slice/Preprocessor.h +8 -18
  537. data/ext/ice/cpp/src/Slice/Python.cpp +218 -111
  538. data/ext/ice/cpp/src/Slice/PythonUtil.cpp +787 -699
  539. data/ext/ice/cpp/src/Slice/PythonUtil.h +70 -0
  540. data/ext/ice/cpp/src/Slice/Ruby.cpp +42 -43
  541. data/ext/ice/cpp/src/Slice/RubyUtil.cpp +175 -445
  542. data/ext/ice/cpp/{include → src}/Slice/RubyUtil.h +6 -11
  543. data/ext/ice/cpp/src/Slice/Scanner.cpp +390 -399
  544. data/ext/ice/cpp/src/Slice/{Util.cpp → SliceUtil.cpp} +36 -69
  545. data/ext/ice/cpp/src/Slice/StringLiteralUtil.cpp +456 -0
  546. data/ext/ice/cpp/src/Slice/Util.h +50 -0
  547. data/ice.gemspec +2 -9
  548. data/lib/Glacier2.rb +1 -6
  549. data/lib/Glacier2/Metrics.rb +6 -50
  550. data/lib/Glacier2/PermissionsVerifier.rb +23 -99
  551. data/lib/Glacier2/PermissionsVerifierF.rb +2 -7
  552. data/lib/Glacier2/Router.rb +31 -78
  553. data/lib/Glacier2/RouterF.rb +2 -7
  554. data/lib/Glacier2/SSLInfo.rb +3 -11
  555. data/lib/Glacier2/Session.rb +87 -311
  556. data/lib/Ice.rb +84 -58
  557. data/lib/Ice/BuiltinSequences.rb +3 -8
  558. data/lib/Ice/Communicator.rb +54 -61
  559. data/lib/Ice/CommunicatorF.rb +2 -7
  560. data/lib/Ice/Connection.rb +152 -166
  561. data/lib/Ice/ConnectionF.rb +2 -7
  562. data/lib/Ice/Current.rb +3 -15
  563. data/lib/Ice/Endpoint.rb +56 -137
  564. data/lib/Ice/EndpointF.rb +2 -7
  565. data/lib/Ice/EndpointTypes.rb +2 -11
  566. data/lib/Ice/FacetMap.rb +3 -8
  567. data/lib/Ice/Identity.rb +4 -12
  568. data/lib/Ice/ImplicitContext.rb +4 -38
  569. data/lib/Ice/ImplicitContextF.rb +2 -7
  570. data/lib/Ice/Instrumentation.rb +22 -279
  571. data/lib/Ice/InstrumentationF.rb +2 -7
  572. data/lib/Ice/LocalException.rb +94 -145
  573. data/lib/Ice/Locator.rb +50 -169
  574. data/lib/Ice/LocatorF.rb +2 -7
  575. data/lib/Ice/Logger.rb +4 -38
  576. data/lib/Ice/LoggerF.rb +2 -7
  577. data/lib/Ice/Metrics.rb +60 -420
  578. data/lib/Ice/ObjectAdapter.rb +29 -0
  579. data/lib/Ice/ObjectAdapterF.rb +2 -7
  580. data/lib/Ice/ObjectFactory.rb +4 -34
  581. data/lib/Ice/Plugin.rb +6 -64
  582. data/lib/Ice/PluginF.rb +2 -7
  583. data/lib/Ice/Process.rb +15 -56
  584. data/lib/Ice/ProcessF.rb +2 -7
  585. data/lib/Ice/Properties.rb +4 -45
  586. data/lib/Ice/PropertiesAdmin.rb +18 -60
  587. data/lib/Ice/PropertiesF.rb +2 -7
  588. data/lib/Ice/RemoteLogger.rb +33 -119
  589. data/lib/Ice/Router.rb +28 -105
  590. data/lib/Ice/RouterF.rb +2 -7
  591. data/lib/Ice/ServantLocator.rb +26 -0
  592. data/lib/Ice/ServantLocatorF.rb +24 -0
  593. data/lib/Ice/SliceChecksumDict.rb +2 -7
  594. data/lib/Ice/ValueFactory.rb +28 -0
  595. data/lib/Ice/Version.rb +4 -15
  596. data/lib/IceBox.rb +1 -6
  597. data/lib/IceBox/IceBox.rb +43 -152
  598. data/lib/IceGrid.rb +1 -9
  599. data/lib/IceGrid/Admin.rb +550 -431
  600. data/lib/IceGrid/Descriptor.rb +61 -533
  601. data/lib/IceGrid/Exception.rb +23 -49
  602. data/lib/IceGrid/FileParser.rb +13 -54
  603. data/lib/IceGrid/PluginFacade.rb +35 -0
  604. data/lib/IceGrid/Registry.rb +150 -62
  605. data/lib/IceGrid/Session.rb +24 -68
  606. data/lib/IceGrid/UserAccountMapper.rb +13 -54
  607. data/lib/IcePatch2.rb +1 -6
  608. data/lib/IcePatch2/FileInfo.rb +4 -15
  609. data/lib/IcePatch2/FileServer.rb +32 -80
  610. data/lib/IceStorm.rb +1 -6
  611. data/lib/IceStorm/IceStorm.rb +78 -210
  612. data/lib/IceStorm/Metrics.rb +10 -93
  613. data/slice/Glacier2/Metrics.ice +20 -10
  614. data/slice/Glacier2/PermissionsVerifier.ice +19 -12
  615. data/slice/Glacier2/PermissionsVerifierF.ice +16 -9
  616. data/slice/Glacier2/Router.ice +19 -13
  617. data/slice/Glacier2/RouterF.ice +16 -9
  618. data/slice/Glacier2/SSLInfo.ice +17 -10
  619. data/slice/Glacier2/Session.ice +24 -18
  620. data/slice/Ice/BuiltinSequences.ice +18 -9
  621. data/slice/Ice/Communicator.ice +180 -64
  622. data/slice/Ice/CommunicatorF.ice +18 -9
  623. data/slice/Ice/Connection.ice +208 -75
  624. data/slice/Ice/ConnectionF.ice +18 -9
  625. data/slice/Ice/Current.ice +37 -28
  626. data/slice/Ice/Endpoint.ice +73 -21
  627. data/slice/Ice/EndpointF.ice +19 -10
  628. data/slice/Ice/EndpointTypes.ice +21 -13
  629. data/slice/Ice/FacetMap.ice +19 -10
  630. data/slice/Ice/Identity.ice +24 -10
  631. data/slice/Ice/ImplicitContext.ice +41 -33
  632. data/slice/Ice/ImplicitContextF.ice +17 -9
  633. data/slice/Ice/Instrumentation.ice +37 -30
  634. data/slice/Ice/InstrumentationF.ice +19 -10
  635. data/slice/Ice/LocalException.ice +118 -112
  636. data/slice/Ice/Locator.ice +28 -21
  637. data/slice/Ice/LocatorF.ice +18 -9
  638. data/slice/Ice/Logger.ice +26 -18
  639. data/slice/Ice/LoggerF.ice +18 -9
  640. data/slice/Ice/Metrics.ice +42 -30
  641. data/slice/Ice/ObjectAdapter.ice +88 -53
  642. data/slice/Ice/ObjectAdapterF.ice +18 -9
  643. data/slice/Ice/ObjectFactory.ice +28 -17
  644. data/slice/Ice/Plugin.ice +25 -13
  645. data/slice/Ice/PluginF.ice +22 -9
  646. data/slice/Ice/Process.ice +20 -11
  647. data/slice/Ice/ProcessF.ice +18 -9
  648. data/slice/Ice/Properties.ice +42 -28
  649. data/slice/Ice/PropertiesAdmin.ice +20 -10
  650. data/slice/Ice/PropertiesF.ice +18 -9
  651. data/slice/Ice/RemoteLogger.ice +23 -19
  652. data/slice/Ice/Router.ice +28 -13
  653. data/slice/Ice/RouterF.ice +18 -9
  654. data/slice/Ice/ServantLocator.ice +40 -29
  655. data/slice/Ice/ServantLocatorF.ice +18 -9
  656. data/slice/Ice/SliceChecksumDict.ice +18 -9
  657. data/slice/Ice/ValueFactory.ice +132 -0
  658. data/slice/Ice/Version.ice +20 -10
  659. data/slice/IceBT/ConnectionInfo.ice +58 -0
  660. data/slice/IceBT/EndpointInfo.ice +56 -0
  661. data/slice/IceBT/Types.ice +44 -0
  662. data/slice/IceBox/IceBox.ice +45 -27
  663. data/slice/IceDiscovery/IceDiscovery.ice +75 -10
  664. data/slice/IceGrid/Admin.ice +410 -44
  665. data/slice/IceGrid/Descriptor.ice +47 -34
  666. data/slice/IceGrid/Exception.ice +43 -32
  667. data/slice/IceGrid/FileParser.ice +21 -12
  668. data/slice/IceGrid/PluginFacade.ice +26 -18
  669. data/slice/IceGrid/Registry.ice +150 -21
  670. data/slice/IceGrid/Session.ice +25 -17
  671. data/slice/IceGrid/UserAccountMapper.ice +23 -14
  672. data/slice/IceIAP/ConnectionInfo.ice +73 -0
  673. data/slice/IceIAP/EndpointInfo.ice +67 -0
  674. data/slice/IceLocatorDiscovery/IceLocatorDiscovery.ice +19 -12
  675. data/slice/IcePatch2/FileInfo.ice +19 -13
  676. data/slice/IcePatch2/FileServer.ice +27 -18
  677. data/slice/IceSSL/ConnectionInfo.ice +27 -23
  678. data/slice/IceSSL/ConnectionInfoF.ice +30 -0
  679. data/slice/IceSSL/EndpointInfo.ice +21 -36
  680. data/slice/IceStorm/IceStorm.ice +33 -24
  681. data/slice/IceStorm/Metrics.ice +19 -11
  682. metadata +148 -120
  683. data/ext/ObjectFactory.cpp +0 -140
  684. data/ext/ObjectFactory.h +0 -50
  685. data/ext/ice/cpp/include/Ice/ACMF.h +0 -30
  686. data/ext/ice/cpp/include/Ice/BasicStream.h +0 -1335
  687. data/ext/ice/cpp/include/Ice/BuiltinSequences.h +0 -82
  688. data/ext/ice/cpp/include/Ice/Communicator.h +0 -200
  689. data/ext/ice/cpp/include/Ice/Connection.h +0 -497
  690. data/ext/ice/cpp/include/Ice/ConnectionF.h +0 -74
  691. data/ext/ice/cpp/include/Ice/ConnectionFactoryF.h +0 -30
  692. data/ext/ice/cpp/include/Ice/Current.h +0 -102
  693. data/ext/ice/cpp/include/Ice/DefaultObjectFactory.h +0 -48
  694. data/ext/ice/cpp/include/Ice/DeprecatedStringConverter.h +0 -62
  695. data/ext/ice/cpp/include/Ice/Endpoint.h +0 -341
  696. data/ext/ice/cpp/include/Ice/EndpointF.h +0 -93
  697. data/ext/ice/cpp/include/Ice/EndpointTypes.h +0 -82
  698. data/ext/ice/cpp/include/Ice/Identity.h +0 -168
  699. data/ext/ice/cpp/include/Ice/ImplicitContext.h +0 -102
  700. data/ext/ice/cpp/include/Ice/Instrumentation.h +0 -365
  701. data/ext/ice/cpp/include/Ice/InstrumentationF.h +0 -75
  702. data/ext/ice/cpp/include/Ice/LocalException.h +0 -1030
  703. data/ext/ice/cpp/include/Ice/Locator.h +0 -2193
  704. data/ext/ice/cpp/include/Ice/LocatorF.h +0 -93
  705. data/ext/ice/cpp/include/Ice/Logger.h +0 -100
  706. data/ext/ice/cpp/include/Ice/Metrics.h +0 -2974
  707. data/ext/ice/cpp/include/Ice/ObjectAdapter.h +0 -168
  708. data/ext/ice/cpp/include/Ice/ObjectAdapterFactoryF.h +0 -26
  709. data/ext/ice/cpp/include/Ice/ObjectFactory.h +0 -92
  710. data/ext/ice/cpp/include/Ice/ObjectFactoryF.h +0 -66
  711. data/ext/ice/cpp/include/Ice/ObjectFactoryManagerF.h +0 -26
  712. data/ext/ice/cpp/include/Ice/Outgoing.h +0 -225
  713. data/ext/ice/cpp/include/Ice/Plugin.h +0 -125
  714. data/ext/ice/cpp/include/Ice/PluginF.h +0 -70
  715. data/ext/ice/cpp/include/Ice/Process.h +0 -574
  716. data/ext/ice/cpp/include/Ice/ProcessF.h +0 -83
  717. data/ext/ice/cpp/include/Ice/Properties.h +0 -136
  718. data/ext/ice/cpp/include/Ice/PropertiesAdmin.h +0 -830
  719. data/ext/ice/cpp/include/Ice/PropertiesF.h +0 -87
  720. data/ext/ice/cpp/include/Ice/RemoteLogger.h +0 -1500
  721. data/ext/ice/cpp/include/Ice/Router.h +0 -1159
  722. data/ext/ice/cpp/include/Ice/RouterF.h +0 -83
  723. data/ext/ice/cpp/include/Ice/ServantLocator.h +0 -96
  724. data/ext/ice/cpp/include/Ice/Stream.h +0 -447
  725. data/ext/ice/cpp/include/Ice/StreamF.h +0 -30
  726. data/ext/ice/cpp/include/Ice/Version.h +0 -262
  727. data/ext/ice/cpp/include/IceSSL/ConnectionInfo.h +0 -158
  728. data/ext/ice/cpp/include/IceSSL/EndpointInfo.h +0 -142
  729. data/ext/ice/cpp/include/IceUtil/AbstractMutex.h +0 -119
  730. data/ext/ice/cpp/include/IceUtil/Cache.h +0 -362
  731. data/ext/ice/cpp/include/IceUtil/IconvStringConverter.h +0 -302
  732. data/ext/ice/cpp/include/IceUtil/SHA1.h +0 -47
  733. data/ext/ice/cpp/include/Slice/CPlusPlusUtil.h +0 -65
  734. data/ext/ice/cpp/include/Slice/Checksum.h +0 -26
  735. data/ext/ice/cpp/include/Slice/CsUtil.h +0 -92
  736. data/ext/ice/cpp/include/Slice/DotNetNames.h +0 -34
  737. data/ext/ice/cpp/include/Slice/JavaUtil.h +0 -279
  738. data/ext/ice/cpp/include/Slice/ObjCUtil.h +0 -127
  739. data/ext/ice/cpp/include/Slice/PHPUtil.h +0 -50
  740. data/ext/ice/cpp/include/Slice/PythonUtil.h +0 -64
  741. data/ext/ice/cpp/include/Slice/Util.h +0 -56
  742. data/ext/ice/cpp/src/Ice/BasicStream.cpp +0 -3428
  743. data/ext/ice/cpp/src/Ice/DeprecatedStringConverter.cpp +0 -62
  744. data/ext/ice/cpp/src/Ice/ObjectFactoryF.cpp +0 -44
  745. data/ext/ice/cpp/src/Ice/ObjectFactoryManager.cpp +0 -139
  746. data/ext/ice/cpp/src/Ice/ObjectFactoryManager.h +0 -43
  747. data/ext/ice/cpp/src/Ice/Outgoing.cpp +0 -694
  748. data/ext/ice/cpp/src/Ice/Stream.cpp +0 -53
  749. data/ext/ice/cpp/src/Ice/StreamI.cpp +0 -832
  750. data/ext/ice/cpp/src/Ice/StreamI.h +0 -198
  751. data/ext/ice/cpp/src/IceSSL/Certificate.cpp +0 -1336
  752. data/ext/ice/cpp/src/IceUtil/ArgVector.cpp +0 -64
  753. data/ext/ice/cpp/src/IceUtil/ArgVector.h +0 -41
  754. data/ext/ice/cpp/src/IceUtil/Exception.cpp +0 -792
  755. data/ext/ice/cpp/src/IceUtil/FileUtil.h +0 -185
  756. data/ext/ice/cpp/src/Slice/CsUtil.cpp +0 -2660
  757. data/ext/ice/cpp/src/Slice/DotNetNames.cpp +0 -146
  758. data/ext/ice/cpp/src/Slice/ObjCUtil.cpp +0 -1310
  759. data/lib/Ice/ObjectFactoryF.rb +0 -29
  760. data/lib/IceGrid/Locator.rb +0 -106
  761. data/lib/IceGrid/Observer.rb +0 -572
  762. data/lib/IceGrid/Query.rb +0 -169
  763. data/slice/Freeze/BackgroundSaveEvictor.ice +0 -111
  764. data/slice/Freeze/CatalogData.ice +0 -49
  765. data/slice/Freeze/Connection.ice +0 -121
  766. data/slice/Freeze/ConnectionF.ice +0 -20
  767. data/slice/Freeze/DB.ice +0 -37
  768. data/slice/Freeze/Evictor.ice +0 -346
  769. data/slice/Freeze/EvictorF.ice +0 -22
  770. data/slice/Freeze/EvictorStorage.ice +0 -72
  771. data/slice/Freeze/Exception.ice +0 -100
  772. data/slice/Freeze/Transaction.ice +0 -58
  773. data/slice/Freeze/TransactionalEvictor.ice +0 -50
  774. data/slice/Ice/ObjectFactoryF.ice +0 -21
  775. data/slice/IceGrid/Locator.ice +0 -57
  776. data/slice/IceGrid/Observer.ice +0 -395
  777. data/slice/IceGrid/Query.ice +0 -131
@@ -0,0 +1,134 @@
1
+ //
2
+ // Copyright (c) ZeroC, Inc. All rights reserved.
3
+ //
4
+ //
5
+ // Ice version 3.7.4
6
+ //
7
+ // <auto-generated>
8
+ //
9
+ // Generated from file `PropertiesF.ice'
10
+ //
11
+ // Warning: do not edit this file.
12
+ //
13
+ // </auto-generated>
14
+ //
15
+
16
+ #ifndef __Ice_PropertiesF_h__
17
+ #define __Ice_PropertiesF_h__
18
+
19
+ #include <IceUtil/PushDisableWarnings.h>
20
+ #include <Ice/ProxyF.h>
21
+ #include <Ice/ObjectF.h>
22
+ #include <Ice/ValueF.h>
23
+ #include <Ice/Exception.h>
24
+ #include <Ice/LocalObject.h>
25
+ #include <Ice/StreamHelpers.h>
26
+ #include <Ice/Comparable.h>
27
+ #include <Ice/Proxy.h>
28
+ #include <IceUtil/ScopedArray.h>
29
+ #include <Ice/Optional.h>
30
+ #include <IceUtil/UndefSysMacros.h>
31
+
32
+ #ifndef ICE_IGNORE_VERSION
33
+ # if ICE_INT_VERSION / 100 != 307
34
+ # error Ice version mismatch!
35
+ # endif
36
+ # if ICE_INT_VERSION % 100 >= 50
37
+ # error Beta header file detected
38
+ # endif
39
+ # if ICE_INT_VERSION % 100 < 4
40
+ # error Ice patch level mismatch!
41
+ # endif
42
+ #endif
43
+
44
+ #ifndef ICE_API
45
+ # if defined(ICE_STATIC_LIBS)
46
+ # define ICE_API /**/
47
+ # elif defined(ICE_API_EXPORTS)
48
+ # define ICE_API ICE_DECLSPEC_EXPORT
49
+ # else
50
+ # define ICE_API ICE_DECLSPEC_IMPORT
51
+ # endif
52
+ #endif
53
+
54
+ #ifdef ICE_CPP11_MAPPING // C++11 mapping
55
+
56
+ namespace Ice
57
+ {
58
+
59
+ class Properties;
60
+ class PropertiesAdmin;
61
+ class PropertiesAdminPrx;
62
+
63
+ }
64
+
65
+ /// \cond STREAM
66
+ namespace Ice
67
+ {
68
+
69
+ }
70
+ /// \endcond
71
+
72
+ /// \cond INTERNAL
73
+ namespace Ice
74
+ {
75
+
76
+ using PropertiesPtr = ::std::shared_ptr<Properties>;
77
+
78
+ using PropertiesAdminPtr = ::std::shared_ptr<PropertiesAdmin>;
79
+ using PropertiesAdminPrxPtr = ::std::shared_ptr<PropertiesAdminPrx>;
80
+
81
+ }
82
+ /// \endcond
83
+
84
+ #else // C++98 mapping
85
+
86
+ namespace IceProxy
87
+ {
88
+
89
+ namespace Ice
90
+ {
91
+
92
+ class PropertiesAdmin;
93
+ /// \cond INTERNAL
94
+ ICE_API void _readProxy(::Ice::InputStream*, ::IceInternal::ProxyHandle< PropertiesAdmin>&);
95
+ ICE_API ::IceProxy::Ice::Object* upCast(PropertiesAdmin*);
96
+ /// \endcond
97
+
98
+ }
99
+
100
+ }
101
+
102
+ namespace Ice
103
+ {
104
+
105
+ class Properties;
106
+ /// \cond INTERNAL
107
+ ICE_API LocalObject* upCast(Properties*);
108
+ /// \endcond
109
+ typedef ::IceInternal::Handle< Properties> PropertiesPtr;
110
+
111
+ class PropertiesAdmin;
112
+ /// \cond INTERNAL
113
+ ICE_API Object* upCast(PropertiesAdmin*);
114
+ /// \endcond
115
+ typedef ::IceInternal::Handle< PropertiesAdmin> PropertiesAdminPtr;
116
+ typedef ::IceInternal::ProxyHandle< ::IceProxy::Ice::PropertiesAdmin> PropertiesAdminPrx;
117
+ typedef PropertiesAdminPrx PropertiesAdminPrxPtr;
118
+ /// \cond INTERNAL
119
+ ICE_API void _icePatchObjectPtr(PropertiesAdminPtr&, const ObjectPtr&);
120
+ /// \endcond
121
+
122
+ }
123
+
124
+ /// \cond STREAM
125
+ namespace Ice
126
+ {
127
+
128
+ }
129
+ /// \endcond
130
+
131
+ #endif
132
+
133
+ #include <IceUtil/PopDisableWarnings.h>
134
+ #endif
@@ -0,0 +1,2689 @@
1
+ //
2
+ // Copyright (c) ZeroC, Inc. All rights reserved.
3
+ //
4
+ //
5
+ // Ice version 3.7.4
6
+ //
7
+ // <auto-generated>
8
+ //
9
+ // Generated from file `RemoteLogger.ice'
10
+ //
11
+ // Warning: do not edit this file.
12
+ //
13
+ // </auto-generated>
14
+ //
15
+
16
+ #ifndef __Ice_RemoteLogger_h__
17
+ #define __Ice_RemoteLogger_h__
18
+
19
+ #include <IceUtil/PushDisableWarnings.h>
20
+ #include <Ice/ProxyF.h>
21
+ #include <Ice/ObjectF.h>
22
+ #include <Ice/ValueF.h>
23
+ #include <Ice/Exception.h>
24
+ #include <Ice/LocalObject.h>
25
+ #include <Ice/StreamHelpers.h>
26
+ #include <Ice/Comparable.h>
27
+ #include <Ice/Proxy.h>
28
+ #include <Ice/Object.h>
29
+ #include <Ice/GCObject.h>
30
+ #include <Ice/Value.h>
31
+ #include <Ice/Incoming.h>
32
+ #include <Ice/FactoryTableInit.h>
33
+ #include <IceUtil/ScopedArray.h>
34
+ #include <Ice/Optional.h>
35
+ #include <Ice/ExceptionHelpers.h>
36
+ #include <Ice/BuiltinSequences.h>
37
+ #include <IceUtil/UndefSysMacros.h>
38
+ #include <list>
39
+
40
+ #ifndef ICE_IGNORE_VERSION
41
+ # if ICE_INT_VERSION / 100 != 307
42
+ # error Ice version mismatch!
43
+ # endif
44
+ # if ICE_INT_VERSION % 100 >= 50
45
+ # error Beta header file detected
46
+ # endif
47
+ # if ICE_INT_VERSION % 100 < 4
48
+ # error Ice patch level mismatch!
49
+ # endif
50
+ #endif
51
+
52
+ #ifndef ICE_API
53
+ # if defined(ICE_STATIC_LIBS)
54
+ # define ICE_API /**/
55
+ # elif defined(ICE_API_EXPORTS)
56
+ # define ICE_API ICE_DECLSPEC_EXPORT
57
+ # else
58
+ # define ICE_API ICE_DECLSPEC_IMPORT
59
+ # endif
60
+ #endif
61
+
62
+ #ifdef ICE_CPP11_MAPPING // C++11 mapping
63
+
64
+ namespace Ice
65
+ {
66
+
67
+ class RemoteLogger;
68
+ class RemoteLoggerPrx;
69
+ class LoggerAdmin;
70
+ class LoggerAdminPrx;
71
+
72
+ }
73
+
74
+ namespace Ice
75
+ {
76
+
77
+ /**
78
+ * An enumeration representing the different types of log messages.
79
+ */
80
+ enum class LogMessageType : unsigned char
81
+ {
82
+ /**
83
+ * The {@link Logger} received a print message.
84
+ */
85
+ PrintMessage,
86
+ /**
87
+ * The {@link Logger} received a trace message.
88
+ */
89
+ TraceMessage,
90
+ /**
91
+ * The {@link Logger} received a warning message.
92
+ */
93
+ WarningMessage,
94
+ /**
95
+ * The {@link Logger} received an error message.
96
+ */
97
+ ErrorMessage
98
+ };
99
+
100
+ /**
101
+ * A sequence of {@link LogMessageType}
102
+ */
103
+ using LogMessageTypeSeq = ::std::vector<LogMessageType>;
104
+
105
+ /**
106
+ * A complete log message.
107
+ * \headerfile Ice/Ice.h
108
+ */
109
+ struct LogMessage
110
+ {
111
+ /**
112
+ * The type of message sent to the {@link Logger}.
113
+ */
114
+ ::Ice::LogMessageType type;
115
+ /**
116
+ * The date and time when the {@link Logger} received this message, expressed
117
+ * as the number of microseconds since the Unix Epoch (00:00:00 UTC on 1 January 1970)
118
+ */
119
+ long long int timestamp;
120
+ /**
121
+ * For a message of type trace, the trace category of this log message;
122
+ * otherwise, the empty string.
123
+ */
124
+ ::std::string traceCategory;
125
+ /**
126
+ * The log message itself.
127
+ */
128
+ ::std::string message;
129
+
130
+ /**
131
+ * Obtains a tuple containing all of the struct's data members.
132
+ * @return The data members in a tuple.
133
+ */
134
+ std::tuple<const ::Ice::LogMessageType&, const long long int&, const ::std::string&, const ::std::string&> ice_tuple() const
135
+ {
136
+ return std::tie(type, timestamp, traceCategory, message);
137
+ }
138
+ };
139
+
140
+ /**
141
+ * A sequence of {@link LogMessage}.
142
+ */
143
+ using LogMessageSeq = std::list<LogMessage>;
144
+
145
+ /**
146
+ * Thrown when the provided RemoteLogger was previously attached to a LoggerAdmin.
147
+ * \headerfile Ice/Ice.h
148
+ */
149
+ class ICE_CLASS(ICE_API) RemoteLoggerAlreadyAttachedException : public UserExceptionHelper<RemoteLoggerAlreadyAttachedException, UserException>
150
+ {
151
+ public:
152
+
153
+ ICE_MEMBER(ICE_API) virtual ~RemoteLoggerAlreadyAttachedException();
154
+
155
+ RemoteLoggerAlreadyAttachedException(const RemoteLoggerAlreadyAttachedException&) = default;
156
+
157
+ RemoteLoggerAlreadyAttachedException() = default;
158
+
159
+ /**
160
+ * Obtains a tuple containing all of the exception's data members.
161
+ * @return The data members in a tuple.
162
+ */
163
+ std::tuple<> ice_tuple() const
164
+ {
165
+ return std::tie();
166
+ }
167
+
168
+ /**
169
+ * Obtains the Slice type ID of this exception.
170
+ * @return The fully-scoped type ID.
171
+ */
172
+ ICE_MEMBER(ICE_API) static const ::std::string& ice_staticId();
173
+ };
174
+
175
+ /// \cond INTERNAL
176
+ static RemoteLoggerAlreadyAttachedException _iceS_RemoteLoggerAlreadyAttachedException_init;
177
+ /// \endcond
178
+
179
+ using Ice::operator<;
180
+ using Ice::operator<=;
181
+ using Ice::operator>;
182
+ using Ice::operator>=;
183
+ using Ice::operator==;
184
+ using Ice::operator!=;
185
+
186
+ }
187
+
188
+ namespace Ice
189
+ {
190
+
191
+ /**
192
+ * The Ice remote logger interface. An application can implement a
193
+ * RemoteLogger to receive the log messages sent to the local {@link Logger}
194
+ * of another Ice application.
195
+ * \headerfile Ice/Ice.h
196
+ */
197
+ class ICE_API RemoteLogger : public virtual Object
198
+ {
199
+ public:
200
+
201
+ using ProxyType = RemoteLoggerPrx;
202
+
203
+ /**
204
+ * Determines whether this object supports an interface with the given Slice type ID.
205
+ * @param id The fully-scoped Slice type ID.
206
+ * @param current The Current object for the invocation.
207
+ * @return True if this object supports the interface, false, otherwise.
208
+ */
209
+ virtual bool ice_isA(::std::string id, const Current& current) const override;
210
+
211
+ /**
212
+ * Obtains a list of the Slice type IDs representing the interfaces supported by this object.
213
+ * @param current The Current object for the invocation.
214
+ * @return A list of fully-scoped type IDs.
215
+ */
216
+ virtual ::std::vector<::std::string> ice_ids(const Current& current) const override;
217
+
218
+ /**
219
+ * Obtains a Slice type ID representing the most-derived interface supported by this object.
220
+ * @param current The Current object for the invocation.
221
+ * @return A fully-scoped type ID.
222
+ */
223
+ virtual ::std::string ice_id(const Current& current) const override;
224
+
225
+ /**
226
+ * Obtains the Slice type ID corresponding to this class.
227
+ * @return A fully-scoped type ID.
228
+ */
229
+ static const ::std::string& ice_staticId();
230
+
231
+ /**
232
+ * init is called by attachRemoteLogger when a RemoteLogger proxy is attached.
233
+ * @param prefix The prefix of the associated local Logger.
234
+ * @param logMessages Old log messages generated before "now".
235
+ * @param current The Current object for the invocation.
236
+ */
237
+ virtual void init(::std::string prefix, LogMessageSeq logMessages, const Current& current) = 0;
238
+ /// \cond INTERNAL
239
+ bool _iceD_init(::IceInternal::Incoming&, const Current&);
240
+ /// \endcond
241
+
242
+ /**
243
+ * Log a LogMessage. Note that log may be called by LoggerAdmin before init.
244
+ * @param message The message to log.
245
+ * @param current The Current object for the invocation.
246
+ */
247
+ virtual void log(LogMessage message, const Current& current) = 0;
248
+ /// \cond INTERNAL
249
+ bool _iceD_log(::IceInternal::Incoming&, const Current&);
250
+ /// \endcond
251
+
252
+ /// \cond INTERNAL
253
+ virtual bool _iceDispatch(::IceInternal::Incoming&, const Current&) override;
254
+ /// \endcond
255
+ };
256
+
257
+ /**
258
+ * The interface of the admin object that allows an Ice application the attach its
259
+ * {@link RemoteLogger} to the {@link Logger} of this admin object's Ice communicator.
260
+ * \headerfile Ice/Ice.h
261
+ */
262
+ class ICE_API LoggerAdmin : public virtual Object
263
+ {
264
+ public:
265
+
266
+ using ProxyType = LoggerAdminPrx;
267
+
268
+ /**
269
+ * Determines whether this object supports an interface with the given Slice type ID.
270
+ * @param id The fully-scoped Slice type ID.
271
+ * @param current The Current object for the invocation.
272
+ * @return True if this object supports the interface, false, otherwise.
273
+ */
274
+ virtual bool ice_isA(::std::string id, const Current& current) const override;
275
+
276
+ /**
277
+ * Obtains a list of the Slice type IDs representing the interfaces supported by this object.
278
+ * @param current The Current object for the invocation.
279
+ * @return A list of fully-scoped type IDs.
280
+ */
281
+ virtual ::std::vector<::std::string> ice_ids(const Current& current) const override;
282
+
283
+ /**
284
+ * Obtains a Slice type ID representing the most-derived interface supported by this object.
285
+ * @param current The Current object for the invocation.
286
+ * @return A fully-scoped type ID.
287
+ */
288
+ virtual ::std::string ice_id(const Current& current) const override;
289
+
290
+ /**
291
+ * Obtains the Slice type ID corresponding to this class.
292
+ * @return A fully-scoped type ID.
293
+ */
294
+ static const ::std::string& ice_staticId();
295
+
296
+ /**
297
+ * Attaches a RemoteLogger object to the local logger.
298
+ * attachRemoteLogger calls init on the provided RemoteLogger proxy.
299
+ * @param prx A proxy to the remote logger.
300
+ * @param messageTypes The list of message types that the remote logger wishes to receive.
301
+ * An empty list means no filtering (send all message types).
302
+ * @param traceCategories The categories of traces that the remote logger wishes to receive.
303
+ * This parameter is ignored if messageTypes is not empty and does not include trace.
304
+ * An empty list means no filtering (send all trace categories).
305
+ * @param messageMax The maximum number of log messages (of all types) to be provided
306
+ * to init. A negative value requests all messages available.
307
+ * @param current The Current object for the invocation.
308
+ * @throws Ice::RemoteLoggerAlreadyAttachedException Raised if this remote logger is already
309
+ * attached to this admin object.
310
+ */
311
+ virtual void attachRemoteLogger(::std::shared_ptr<RemoteLoggerPrx> prx, LogMessageTypeSeq messageTypes, StringSeq traceCategories, int messageMax, const Current& current) = 0;
312
+ /// \cond INTERNAL
313
+ bool _iceD_attachRemoteLogger(::IceInternal::Incoming&, const Current&);
314
+ /// \endcond
315
+
316
+ /**
317
+ * Detaches a RemoteLogger object from the local logger.
318
+ * @param prx A proxy to the remote logger.
319
+ * @param current The Current object for the invocation.
320
+ * @return True if the provided remote logger proxy was detached, and false otherwise.
321
+ */
322
+ virtual bool detachRemoteLogger(::std::shared_ptr<RemoteLoggerPrx> prx, const Current& current) = 0;
323
+ /// \cond INTERNAL
324
+ bool _iceD_detachRemoteLogger(::IceInternal::Incoming&, const Current&);
325
+ /// \endcond
326
+
327
+ /**
328
+ * Encapsulates the results of a call to getLog.
329
+ */
330
+ struct GetLogResult
331
+ {
332
+ /** The Log messages. */
333
+ LogMessageSeq returnValue;
334
+ /** The prefix of the associated local logger. */
335
+ ::std::string prefix;
336
+ };
337
+
338
+ /**
339
+ * Retrieves log messages recently logged.
340
+ * @param messageTypes The list of message types that the caller wishes to receive.
341
+ * An empty list means no filtering (send all message types).
342
+ * @param traceCategories The categories of traces that caller wish to receive.
343
+ * This parameter is ignored if messageTypes is not empty and does not include trace.
344
+ * An empty list means no filtering (send all trace categories).
345
+ * @param messageMax The maximum number of log messages (of all types) to be returned.
346
+ * A negative value requests all messages available.
347
+ * @param prefix The prefix of the associated local logger.
348
+ * @param current The Current object for the invocation.
349
+ * @return The Log messages.
350
+ */
351
+ virtual LogMessageSeq getLog(LogMessageTypeSeq messageTypes, StringSeq traceCategories, int messageMax, ::std::string& prefix, const Current& current) = 0;
352
+ /// \cond INTERNAL
353
+ bool _iceD_getLog(::IceInternal::Incoming&, const Current&);
354
+ /// \endcond
355
+
356
+ /// \cond INTERNAL
357
+ virtual bool _iceDispatch(::IceInternal::Incoming&, const Current&) override;
358
+ /// \endcond
359
+ };
360
+
361
+ }
362
+
363
+ namespace Ice
364
+ {
365
+
366
+ /**
367
+ * The Ice remote logger interface. An application can implement a
368
+ * RemoteLogger to receive the log messages sent to the local {@link Logger}
369
+ * of another Ice application.
370
+ * \headerfile Ice/Ice.h
371
+ */
372
+ class ICE_CLASS(ICE_API) RemoteLoggerPrx : public virtual Proxy<RemoteLoggerPrx, ObjectPrx>
373
+ {
374
+ public:
375
+
376
+ /**
377
+ * init is called by attachRemoteLogger when a RemoteLogger proxy is attached.
378
+ * @param prefix The prefix of the associated local Logger.
379
+ * @param logMessages Old log messages generated before "now".
380
+ * @param context The Context map to send with the invocation.
381
+ */
382
+ void init(const ::std::string& prefix, const LogMessageSeq& logMessages, const Context& context = noExplicitContext)
383
+ {
384
+ _makePromiseOutgoing<void>(true, this, &RemoteLoggerPrx::_iceI_init, prefix, logMessages, context).get();
385
+ }
386
+
387
+ /**
388
+ * init is called by attachRemoteLogger when a RemoteLogger proxy is attached.
389
+ * @param prefix The prefix of the associated local Logger.
390
+ * @param logMessages Old log messages generated before "now".
391
+ * @param context The Context map to send with the invocation.
392
+ * @return The future object for the invocation.
393
+ */
394
+ template<template<typename> class P = ::std::promise>
395
+ auto initAsync(const ::std::string& prefix, const LogMessageSeq& logMessages, const Context& context = noExplicitContext)
396
+ -> decltype(::std::declval<P<void>>().get_future())
397
+ {
398
+ return _makePromiseOutgoing<void, P>(false, this, &RemoteLoggerPrx::_iceI_init, prefix, logMessages, context);
399
+ }
400
+
401
+ /**
402
+ * init is called by attachRemoteLogger when a RemoteLogger proxy is attached.
403
+ * @param prefix The prefix of the associated local Logger.
404
+ * @param logMessages Old log messages generated before "now".
405
+ * @param response The response callback.
406
+ * @param ex The exception callback.
407
+ * @param sent The sent callback.
408
+ * @param context The Context map to send with the invocation.
409
+ * @return A function that can be called to cancel the invocation locally.
410
+ */
411
+ ::std::function<void()>
412
+ initAsync(const ::std::string& prefix, const LogMessageSeq& logMessages,
413
+ ::std::function<void()> response,
414
+ ::std::function<void(::std::exception_ptr)> ex = nullptr,
415
+ ::std::function<void(bool)> sent = nullptr,
416
+ const Context& context = noExplicitContext)
417
+ {
418
+ return _makeLamdaOutgoing<void>(std::move(response), std::move(ex), std::move(sent), this, &Ice::RemoteLoggerPrx::_iceI_init, prefix, logMessages, context);
419
+ }
420
+
421
+ /// \cond INTERNAL
422
+ ICE_MEMBER(ICE_API) void _iceI_init(const ::std::shared_ptr<::IceInternal::OutgoingAsyncT<void>>&, const ::std::string&, const LogMessageSeq&, const Context&);
423
+ /// \endcond
424
+
425
+ /**
426
+ * Log a LogMessage. Note that log may be called by LoggerAdmin before init.
427
+ * @param message The message to log.
428
+ * @param context The Context map to send with the invocation.
429
+ */
430
+ void log(const LogMessage& message, const Context& context = noExplicitContext)
431
+ {
432
+ _makePromiseOutgoing<void>(true, this, &RemoteLoggerPrx::_iceI_log, message, context).get();
433
+ }
434
+
435
+ /**
436
+ * Log a LogMessage. Note that log may be called by LoggerAdmin before init.
437
+ * @param message The message to log.
438
+ * @param context The Context map to send with the invocation.
439
+ * @return The future object for the invocation.
440
+ */
441
+ template<template<typename> class P = ::std::promise>
442
+ auto logAsync(const LogMessage& message, const Context& context = noExplicitContext)
443
+ -> decltype(::std::declval<P<void>>().get_future())
444
+ {
445
+ return _makePromiseOutgoing<void, P>(false, this, &RemoteLoggerPrx::_iceI_log, message, context);
446
+ }
447
+
448
+ /**
449
+ * Log a LogMessage. Note that log may be called by LoggerAdmin before init.
450
+ * @param message The message to log.
451
+ * @param response The response callback.
452
+ * @param ex The exception callback.
453
+ * @param sent The sent callback.
454
+ * @param context The Context map to send with the invocation.
455
+ * @return A function that can be called to cancel the invocation locally.
456
+ */
457
+ ::std::function<void()>
458
+ logAsync(const LogMessage& message,
459
+ ::std::function<void()> response,
460
+ ::std::function<void(::std::exception_ptr)> ex = nullptr,
461
+ ::std::function<void(bool)> sent = nullptr,
462
+ const Context& context = noExplicitContext)
463
+ {
464
+ return _makeLamdaOutgoing<void>(std::move(response), std::move(ex), std::move(sent), this, &Ice::RemoteLoggerPrx::_iceI_log, message, context);
465
+ }
466
+
467
+ /// \cond INTERNAL
468
+ ICE_MEMBER(ICE_API) void _iceI_log(const ::std::shared_ptr<::IceInternal::OutgoingAsyncT<void>>&, const LogMessage&, const Context&);
469
+ /// \endcond
470
+
471
+ /**
472
+ * Obtains the Slice type ID of this interface.
473
+ * @return The fully-scoped type ID.
474
+ */
475
+ ICE_MEMBER(ICE_API) static const ::std::string& ice_staticId();
476
+
477
+ protected:
478
+
479
+ /// \cond INTERNAL
480
+ RemoteLoggerPrx() = default;
481
+ friend ::std::shared_ptr<RemoteLoggerPrx> IceInternal::createProxy<RemoteLoggerPrx>();
482
+
483
+ ICE_MEMBER(ICE_API) virtual ::std::shared_ptr<ObjectPrx> _newInstance() const override;
484
+ /// \endcond
485
+ };
486
+
487
+ /**
488
+ * The interface of the admin object that allows an Ice application the attach its
489
+ * {@link RemoteLogger} to the {@link Logger} of this admin object's Ice communicator.
490
+ * \headerfile Ice/Ice.h
491
+ */
492
+ class ICE_CLASS(ICE_API) LoggerAdminPrx : public virtual Proxy<LoggerAdminPrx, ObjectPrx>
493
+ {
494
+ public:
495
+
496
+ /**
497
+ * Attaches a RemoteLogger object to the local logger.
498
+ * attachRemoteLogger calls init on the provided RemoteLogger proxy.
499
+ * @param prx A proxy to the remote logger.
500
+ * @param messageTypes The list of message types that the remote logger wishes to receive.
501
+ * An empty list means no filtering (send all message types).
502
+ * @param traceCategories The categories of traces that the remote logger wishes to receive.
503
+ * This parameter is ignored if messageTypes is not empty and does not include trace.
504
+ * An empty list means no filtering (send all trace categories).
505
+ * @param messageMax The maximum number of log messages (of all types) to be provided
506
+ * to init. A negative value requests all messages available.
507
+ * @param context The Context map to send with the invocation.
508
+ * @throws Ice::RemoteLoggerAlreadyAttachedException Raised if this remote logger is already
509
+ * attached to this admin object.
510
+ */
511
+ void attachRemoteLogger(const ::std::shared_ptr<RemoteLoggerPrx>& prx, const LogMessageTypeSeq& messageTypes, const StringSeq& traceCategories, int messageMax, const Context& context = noExplicitContext)
512
+ {
513
+ _makePromiseOutgoing<void>(true, this, &LoggerAdminPrx::_iceI_attachRemoteLogger, prx, messageTypes, traceCategories, messageMax, context).get();
514
+ }
515
+
516
+ /**
517
+ * Attaches a RemoteLogger object to the local logger.
518
+ * attachRemoteLogger calls init on the provided RemoteLogger proxy.
519
+ * @param prx A proxy to the remote logger.
520
+ * @param messageTypes The list of message types that the remote logger wishes to receive.
521
+ * An empty list means no filtering (send all message types).
522
+ * @param traceCategories The categories of traces that the remote logger wishes to receive.
523
+ * This parameter is ignored if messageTypes is not empty and does not include trace.
524
+ * An empty list means no filtering (send all trace categories).
525
+ * @param messageMax The maximum number of log messages (of all types) to be provided
526
+ * to init. A negative value requests all messages available.
527
+ * @param context The Context map to send with the invocation.
528
+ * @return The future object for the invocation.
529
+ */
530
+ template<template<typename> class P = ::std::promise>
531
+ auto attachRemoteLoggerAsync(const ::std::shared_ptr<RemoteLoggerPrx>& prx, const LogMessageTypeSeq& messageTypes, const StringSeq& traceCategories, int messageMax, const Context& context = noExplicitContext)
532
+ -> decltype(::std::declval<P<void>>().get_future())
533
+ {
534
+ return _makePromiseOutgoing<void, P>(false, this, &LoggerAdminPrx::_iceI_attachRemoteLogger, prx, messageTypes, traceCategories, messageMax, context);
535
+ }
536
+
537
+ /**
538
+ * Attaches a RemoteLogger object to the local logger.
539
+ * attachRemoteLogger calls init on the provided RemoteLogger proxy.
540
+ * @param prx A proxy to the remote logger.
541
+ * @param messageTypes The list of message types that the remote logger wishes to receive.
542
+ * An empty list means no filtering (send all message types).
543
+ * @param traceCategories The categories of traces that the remote logger wishes to receive.
544
+ * This parameter is ignored if messageTypes is not empty and does not include trace.
545
+ * An empty list means no filtering (send all trace categories).
546
+ * @param messageMax The maximum number of log messages (of all types) to be provided
547
+ * to init. A negative value requests all messages available.
548
+ * @param response The response callback.
549
+ * @param ex The exception callback.
550
+ * @param sent The sent callback.
551
+ * @param context The Context map to send with the invocation.
552
+ * @return A function that can be called to cancel the invocation locally.
553
+ */
554
+ ::std::function<void()>
555
+ attachRemoteLoggerAsync(const ::std::shared_ptr<RemoteLoggerPrx>& prx, const LogMessageTypeSeq& messageTypes, const StringSeq& traceCategories, int messageMax,
556
+ ::std::function<void()> response,
557
+ ::std::function<void(::std::exception_ptr)> ex = nullptr,
558
+ ::std::function<void(bool)> sent = nullptr,
559
+ const Context& context = noExplicitContext)
560
+ {
561
+ return _makeLamdaOutgoing<void>(std::move(response), std::move(ex), std::move(sent), this, &Ice::LoggerAdminPrx::_iceI_attachRemoteLogger, prx, messageTypes, traceCategories, messageMax, context);
562
+ }
563
+
564
+ /// \cond INTERNAL
565
+ ICE_MEMBER(ICE_API) void _iceI_attachRemoteLogger(const ::std::shared_ptr<::IceInternal::OutgoingAsyncT<void>>&, const ::std::shared_ptr<RemoteLoggerPrx>&, const LogMessageTypeSeq&, const StringSeq&, int, const Context&);
566
+ /// \endcond
567
+
568
+ /**
569
+ * Detaches a RemoteLogger object from the local logger.
570
+ * @param prx A proxy to the remote logger.
571
+ * @param context The Context map to send with the invocation.
572
+ * @return True if the provided remote logger proxy was detached, and false otherwise.
573
+ */
574
+ bool detachRemoteLogger(const ::std::shared_ptr<RemoteLoggerPrx>& prx, const Context& context = noExplicitContext)
575
+ {
576
+ return _makePromiseOutgoing<bool>(true, this, &LoggerAdminPrx::_iceI_detachRemoteLogger, prx, context).get();
577
+ }
578
+
579
+ /**
580
+ * Detaches a RemoteLogger object from the local logger.
581
+ * @param prx A proxy to the remote logger.
582
+ * @param context The Context map to send with the invocation.
583
+ * @return The future object for the invocation.
584
+ */
585
+ template<template<typename> class P = ::std::promise>
586
+ auto detachRemoteLoggerAsync(const ::std::shared_ptr<RemoteLoggerPrx>& prx, const Context& context = noExplicitContext)
587
+ -> decltype(::std::declval<P<bool>>().get_future())
588
+ {
589
+ return _makePromiseOutgoing<bool, P>(false, this, &LoggerAdminPrx::_iceI_detachRemoteLogger, prx, context);
590
+ }
591
+
592
+ /**
593
+ * Detaches a RemoteLogger object from the local logger.
594
+ * @param prx A proxy to the remote logger.
595
+ * @param response The response callback.
596
+ * @param ex The exception callback.
597
+ * @param sent The sent callback.
598
+ * @param context The Context map to send with the invocation.
599
+ * @return A function that can be called to cancel the invocation locally.
600
+ */
601
+ ::std::function<void()>
602
+ detachRemoteLoggerAsync(const ::std::shared_ptr<RemoteLoggerPrx>& prx,
603
+ ::std::function<void(bool)> response,
604
+ ::std::function<void(::std::exception_ptr)> ex = nullptr,
605
+ ::std::function<void(bool)> sent = nullptr,
606
+ const Context& context = noExplicitContext)
607
+ {
608
+ return _makeLamdaOutgoing<bool>(std::move(response), std::move(ex), std::move(sent), this, &Ice::LoggerAdminPrx::_iceI_detachRemoteLogger, prx, context);
609
+ }
610
+
611
+ /// \cond INTERNAL
612
+ ICE_MEMBER(ICE_API) void _iceI_detachRemoteLogger(const ::std::shared_ptr<::IceInternal::OutgoingAsyncT<bool>>&, const ::std::shared_ptr<RemoteLoggerPrx>&, const Context&);
613
+ /// \endcond
614
+
615
+ /**
616
+ * Retrieves log messages recently logged.
617
+ * @param messageTypes The list of message types that the caller wishes to receive.
618
+ * An empty list means no filtering (send all message types).
619
+ * @param traceCategories The categories of traces that caller wish to receive.
620
+ * This parameter is ignored if messageTypes is not empty and does not include trace.
621
+ * An empty list means no filtering (send all trace categories).
622
+ * @param messageMax The maximum number of log messages (of all types) to be returned.
623
+ * A negative value requests all messages available.
624
+ * @param prefix The prefix of the associated local logger.
625
+ * @param context The Context map to send with the invocation.
626
+ * @return The Log messages.
627
+ */
628
+ LogMessageSeq getLog(const LogMessageTypeSeq& messageTypes, const StringSeq& traceCategories, int messageMax, ::std::string& prefix, const Context& context = noExplicitContext)
629
+ {
630
+ auto _result = _makePromiseOutgoing<LoggerAdmin::GetLogResult>(true, this, &LoggerAdminPrx::_iceI_getLog, messageTypes, traceCategories, messageMax, context).get();
631
+ prefix = ::std::move(_result.prefix);
632
+ return ::std::move(_result.returnValue);
633
+ }
634
+
635
+ /**
636
+ * Retrieves log messages recently logged.
637
+ * @param messageTypes The list of message types that the caller wishes to receive.
638
+ * An empty list means no filtering (send all message types).
639
+ * @param traceCategories The categories of traces that caller wish to receive.
640
+ * This parameter is ignored if messageTypes is not empty and does not include trace.
641
+ * An empty list means no filtering (send all trace categories).
642
+ * @param messageMax The maximum number of log messages (of all types) to be returned.
643
+ * A negative value requests all messages available.
644
+ * @param context The Context map to send with the invocation.
645
+ * @return The future object for the invocation.
646
+ */
647
+ template<template<typename> class P = ::std::promise>
648
+ auto getLogAsync(const LogMessageTypeSeq& messageTypes, const StringSeq& traceCategories, int messageMax, const Context& context = noExplicitContext)
649
+ -> decltype(::std::declval<P<LoggerAdmin::GetLogResult>>().get_future())
650
+ {
651
+ return _makePromiseOutgoing<LoggerAdmin::GetLogResult, P>(false, this, &LoggerAdminPrx::_iceI_getLog, messageTypes, traceCategories, messageMax, context);
652
+ }
653
+
654
+ /**
655
+ * Retrieves log messages recently logged.
656
+ * @param messageTypes The list of message types that the caller wishes to receive.
657
+ * An empty list means no filtering (send all message types).
658
+ * @param traceCategories The categories of traces that caller wish to receive.
659
+ * This parameter is ignored if messageTypes is not empty and does not include trace.
660
+ * An empty list means no filtering (send all trace categories).
661
+ * @param messageMax The maximum number of log messages (of all types) to be returned.
662
+ * A negative value requests all messages available.
663
+ * @param response The response callback.
664
+ * @param ex The exception callback.
665
+ * @param sent The sent callback.
666
+ * @param context The Context map to send with the invocation.
667
+ * @return A function that can be called to cancel the invocation locally.
668
+ */
669
+ ::std::function<void()>
670
+ getLogAsync(const LogMessageTypeSeq& messageTypes, const StringSeq& traceCategories, int messageMax,
671
+ ::std::function<void(::Ice::LogMessageSeq, ::std::string)> response,
672
+ ::std::function<void(::std::exception_ptr)> ex = nullptr,
673
+ ::std::function<void(bool)> sent = nullptr,
674
+ const Context& context = noExplicitContext)
675
+ {
676
+ auto _responseCb = [response](LoggerAdmin::GetLogResult&& _result)
677
+ {
678
+ response(::std::move(_result.returnValue), ::std::move(_result.prefix));
679
+ };
680
+ return _makeLamdaOutgoing<LoggerAdmin::GetLogResult>(std::move(_responseCb), std::move(ex), std::move(sent), this, &Ice::LoggerAdminPrx::_iceI_getLog, messageTypes, traceCategories, messageMax, context);
681
+ }
682
+
683
+ /// \cond INTERNAL
684
+ ICE_MEMBER(ICE_API) void _iceI_getLog(const ::std::shared_ptr<::IceInternal::OutgoingAsyncT<LoggerAdmin::GetLogResult>>&, const LogMessageTypeSeq&, const StringSeq&, int, const Context&);
685
+ /// \endcond
686
+
687
+ /**
688
+ * Obtains the Slice type ID of this interface.
689
+ * @return The fully-scoped type ID.
690
+ */
691
+ ICE_MEMBER(ICE_API) static const ::std::string& ice_staticId();
692
+
693
+ protected:
694
+
695
+ /// \cond INTERNAL
696
+ LoggerAdminPrx() = default;
697
+ friend ::std::shared_ptr<LoggerAdminPrx> IceInternal::createProxy<LoggerAdminPrx>();
698
+
699
+ ICE_MEMBER(ICE_API) virtual ::std::shared_ptr<ObjectPrx> _newInstance() const override;
700
+ /// \endcond
701
+ };
702
+
703
+ }
704
+
705
+ /// \cond STREAM
706
+ namespace Ice
707
+ {
708
+
709
+ template<>
710
+ struct StreamableTraits< ::Ice::LogMessageType>
711
+ {
712
+ static const StreamHelperCategory helper = StreamHelperCategoryEnum;
713
+ static const int minValue = 0;
714
+ static const int maxValue = 3;
715
+ static const int minWireSize = 1;
716
+ static const bool fixedLength = false;
717
+ };
718
+
719
+ template<>
720
+ struct StreamableTraits<::Ice::LogMessage>
721
+ {
722
+ static const StreamHelperCategory helper = StreamHelperCategoryStruct;
723
+ static const int minWireSize = 11;
724
+ static const bool fixedLength = false;
725
+ };
726
+
727
+ template<typename S>
728
+ struct StreamReader<::Ice::LogMessage, S>
729
+ {
730
+ static void read(S* istr, ::Ice::LogMessage& v)
731
+ {
732
+ istr->readAll(v.type, v.timestamp, v.traceCategory, v.message);
733
+ }
734
+ };
735
+
736
+ }
737
+ /// \endcond
738
+
739
+ /// \cond INTERNAL
740
+ namespace Ice
741
+ {
742
+
743
+ using RemoteLoggerPtr = ::std::shared_ptr<RemoteLogger>;
744
+ using RemoteLoggerPrxPtr = ::std::shared_ptr<RemoteLoggerPrx>;
745
+
746
+ using LoggerAdminPtr = ::std::shared_ptr<LoggerAdmin>;
747
+ using LoggerAdminPrxPtr = ::std::shared_ptr<LoggerAdminPrx>;
748
+
749
+ }
750
+ /// \endcond
751
+
752
+ #else // C++98 mapping
753
+
754
+ namespace IceProxy
755
+ {
756
+
757
+ namespace Ice
758
+ {
759
+
760
+ class RemoteLogger;
761
+ /// \cond INTERNAL
762
+ ICE_API void _readProxy(::Ice::InputStream*, ::IceInternal::ProxyHandle< RemoteLogger>&);
763
+ ICE_API ::IceProxy::Ice::Object* upCast(RemoteLogger*);
764
+ /// \endcond
765
+
766
+ class LoggerAdmin;
767
+ /// \cond INTERNAL
768
+ ICE_API void _readProxy(::Ice::InputStream*, ::IceInternal::ProxyHandle< LoggerAdmin>&);
769
+ ICE_API ::IceProxy::Ice::Object* upCast(LoggerAdmin*);
770
+ /// \endcond
771
+
772
+ }
773
+
774
+ }
775
+
776
+ namespace Ice
777
+ {
778
+
779
+ class RemoteLogger;
780
+ /// \cond INTERNAL
781
+ ICE_API Object* upCast(RemoteLogger*);
782
+ /// \endcond
783
+ typedef ::IceInternal::Handle< RemoteLogger> RemoteLoggerPtr;
784
+ typedef ::IceInternal::ProxyHandle< ::IceProxy::Ice::RemoteLogger> RemoteLoggerPrx;
785
+ typedef RemoteLoggerPrx RemoteLoggerPrxPtr;
786
+ /// \cond INTERNAL
787
+ ICE_API void _icePatchObjectPtr(RemoteLoggerPtr&, const ObjectPtr&);
788
+ /// \endcond
789
+
790
+ class LoggerAdmin;
791
+ /// \cond INTERNAL
792
+ ICE_API Object* upCast(LoggerAdmin*);
793
+ /// \endcond
794
+ typedef ::IceInternal::Handle< LoggerAdmin> LoggerAdminPtr;
795
+ typedef ::IceInternal::ProxyHandle< ::IceProxy::Ice::LoggerAdmin> LoggerAdminPrx;
796
+ typedef LoggerAdminPrx LoggerAdminPrxPtr;
797
+ /// \cond INTERNAL
798
+ ICE_API void _icePatchObjectPtr(LoggerAdminPtr&, const ObjectPtr&);
799
+ /// \endcond
800
+
801
+ }
802
+
803
+ namespace Ice
804
+ {
805
+
806
+ /**
807
+ * An enumeration representing the different types of log messages.
808
+ */
809
+ enum LogMessageType
810
+ {
811
+ /**
812
+ * The {@link Logger} received a print message.
813
+ */
814
+ PrintMessage,
815
+ /**
816
+ * The {@link Logger} received a trace message.
817
+ */
818
+ TraceMessage,
819
+ /**
820
+ * The {@link Logger} received a warning message.
821
+ */
822
+ WarningMessage,
823
+ /**
824
+ * The {@link Logger} received an error message.
825
+ */
826
+ ErrorMessage
827
+ };
828
+
829
+ /**
830
+ * A sequence of {@link LogMessageType}
831
+ */
832
+ typedef ::std::vector<LogMessageType> LogMessageTypeSeq;
833
+
834
+ /**
835
+ * A complete log message.
836
+ * \headerfile Ice/Ice.h
837
+ */
838
+ struct LogMessage
839
+ {
840
+ /**
841
+ * The type of message sent to the {@link Logger}.
842
+ */
843
+ ::Ice::LogMessageType type;
844
+ /**
845
+ * The date and time when the {@link Logger} received this message, expressed
846
+ * as the number of microseconds since the Unix Epoch (00:00:00 UTC on 1 January 1970)
847
+ */
848
+ ::Ice::Long timestamp;
849
+ /**
850
+ * For a message of type trace, the trace category of this log message;
851
+ * otherwise, the empty string.
852
+ */
853
+ ::std::string traceCategory;
854
+ /**
855
+ * The log message itself.
856
+ */
857
+ ::std::string message;
858
+
859
+ bool operator==(const LogMessage& rhs_) const
860
+ {
861
+ if(this == &rhs_)
862
+ {
863
+ return true;
864
+ }
865
+ if(type != rhs_.type)
866
+ {
867
+ return false;
868
+ }
869
+ if(timestamp != rhs_.timestamp)
870
+ {
871
+ return false;
872
+ }
873
+ if(traceCategory != rhs_.traceCategory)
874
+ {
875
+ return false;
876
+ }
877
+ if(message != rhs_.message)
878
+ {
879
+ return false;
880
+ }
881
+ return true;
882
+ }
883
+
884
+ bool operator<(const LogMessage& rhs_) const
885
+ {
886
+ if(this == &rhs_)
887
+ {
888
+ return false;
889
+ }
890
+ if(type < rhs_.type)
891
+ {
892
+ return true;
893
+ }
894
+ else if(rhs_.type < type)
895
+ {
896
+ return false;
897
+ }
898
+ if(timestamp < rhs_.timestamp)
899
+ {
900
+ return true;
901
+ }
902
+ else if(rhs_.timestamp < timestamp)
903
+ {
904
+ return false;
905
+ }
906
+ if(traceCategory < rhs_.traceCategory)
907
+ {
908
+ return true;
909
+ }
910
+ else if(rhs_.traceCategory < traceCategory)
911
+ {
912
+ return false;
913
+ }
914
+ if(message < rhs_.message)
915
+ {
916
+ return true;
917
+ }
918
+ else if(rhs_.message < message)
919
+ {
920
+ return false;
921
+ }
922
+ return false;
923
+ }
924
+
925
+ bool operator!=(const LogMessage& rhs_) const
926
+ {
927
+ return !operator==(rhs_);
928
+ }
929
+ bool operator<=(const LogMessage& rhs_) const
930
+ {
931
+ return operator<(rhs_) || operator==(rhs_);
932
+ }
933
+ bool operator>(const LogMessage& rhs_) const
934
+ {
935
+ return !operator<(rhs_) && !operator==(rhs_);
936
+ }
937
+ bool operator>=(const LogMessage& rhs_) const
938
+ {
939
+ return !operator<(rhs_);
940
+ }
941
+ };
942
+
943
+ /**
944
+ * A sequence of {@link LogMessage}.
945
+ */
946
+ typedef std::list<LogMessage> LogMessageSeq;
947
+
948
+ /**
949
+ * Thrown when the provided RemoteLogger was previously attached to a LoggerAdmin.
950
+ * \headerfile Ice/Ice.h
951
+ */
952
+ class ICE_API RemoteLoggerAlreadyAttachedException : public UserException
953
+ {
954
+ public:
955
+
956
+ RemoteLoggerAlreadyAttachedException() {}
957
+ virtual ~RemoteLoggerAlreadyAttachedException() throw();
958
+
959
+ /**
960
+ * Obtains the Slice type ID of this exception.
961
+ * @return The fully-scoped type ID.
962
+ */
963
+ virtual ::std::string ice_id() const;
964
+ /**
965
+ * Polymporphically clones this exception.
966
+ * @return A shallow copy of this exception.
967
+ */
968
+ virtual RemoteLoggerAlreadyAttachedException* ice_clone() const;
969
+ /**
970
+ * Throws this exception.
971
+ */
972
+ virtual void ice_throw() const;
973
+
974
+ protected:
975
+
976
+ /// \cond STREAM
977
+ virtual void _writeImpl(OutputStream*) const;
978
+ virtual void _readImpl(InputStream*);
979
+ /// \endcond
980
+ };
981
+
982
+ /// \cond INTERNAL
983
+ static RemoteLoggerAlreadyAttachedException _iceS_RemoteLoggerAlreadyAttachedException_init;
984
+ /// \endcond
985
+
986
+ }
987
+
988
+ namespace Ice
989
+ {
990
+
991
+ /**
992
+ * Base class for asynchronous callback wrapper classes used for calls to
993
+ * IceProxy::Ice::RemoteLogger::begin_init.
994
+ * Create a wrapper instance by calling ::Ice::newCallback_RemoteLogger_init.
995
+ */
996
+ class Callback_RemoteLogger_init_Base : public virtual ::IceInternal::CallbackBase { };
997
+ typedef ::IceUtil::Handle< Callback_RemoteLogger_init_Base> Callback_RemoteLogger_initPtr;
998
+
999
+ /**
1000
+ * Base class for asynchronous callback wrapper classes used for calls to
1001
+ * IceProxy::Ice::RemoteLogger::begin_log.
1002
+ * Create a wrapper instance by calling ::Ice::newCallback_RemoteLogger_log.
1003
+ */
1004
+ class Callback_RemoteLogger_log_Base : public virtual ::IceInternal::CallbackBase { };
1005
+ typedef ::IceUtil::Handle< Callback_RemoteLogger_log_Base> Callback_RemoteLogger_logPtr;
1006
+
1007
+ /**
1008
+ * Base class for asynchronous callback wrapper classes used for calls to
1009
+ * IceProxy::Ice::LoggerAdmin::begin_attachRemoteLogger.
1010
+ * Create a wrapper instance by calling ::Ice::newCallback_LoggerAdmin_attachRemoteLogger.
1011
+ */
1012
+ class Callback_LoggerAdmin_attachRemoteLogger_Base : public virtual ::IceInternal::CallbackBase { };
1013
+ typedef ::IceUtil::Handle< Callback_LoggerAdmin_attachRemoteLogger_Base> Callback_LoggerAdmin_attachRemoteLoggerPtr;
1014
+
1015
+ /**
1016
+ * Base class for asynchronous callback wrapper classes used for calls to
1017
+ * IceProxy::Ice::LoggerAdmin::begin_detachRemoteLogger.
1018
+ * Create a wrapper instance by calling ::Ice::newCallback_LoggerAdmin_detachRemoteLogger.
1019
+ */
1020
+ class Callback_LoggerAdmin_detachRemoteLogger_Base : public virtual ::IceInternal::CallbackBase { };
1021
+ typedef ::IceUtil::Handle< Callback_LoggerAdmin_detachRemoteLogger_Base> Callback_LoggerAdmin_detachRemoteLoggerPtr;
1022
+
1023
+ /**
1024
+ * Base class for asynchronous callback wrapper classes used for calls to
1025
+ * IceProxy::Ice::LoggerAdmin::begin_getLog.
1026
+ * Create a wrapper instance by calling ::Ice::newCallback_LoggerAdmin_getLog.
1027
+ */
1028
+ class Callback_LoggerAdmin_getLog_Base : public virtual ::IceInternal::CallbackBase { };
1029
+ typedef ::IceUtil::Handle< Callback_LoggerAdmin_getLog_Base> Callback_LoggerAdmin_getLogPtr;
1030
+
1031
+ }
1032
+
1033
+ namespace IceProxy
1034
+ {
1035
+
1036
+ namespace Ice
1037
+ {
1038
+
1039
+ class ICE_CLASS(ICE_API) RemoteLogger : public virtual ::Ice::Proxy<RemoteLogger, ::IceProxy::Ice::Object>
1040
+ {
1041
+ public:
1042
+
1043
+ /**
1044
+ * init is called by attachRemoteLogger when a RemoteLogger proxy is attached.
1045
+ * @param prefix The prefix of the associated local Logger.
1046
+ * @param logMessages Old log messages generated before "now".
1047
+ * @param context The Context map to send with the invocation.
1048
+ */
1049
+ ICE_MEMBER(ICE_API) void init(const ::std::string& prefix, const ::Ice::LogMessageSeq& logMessages, const ::Ice::Context& context = ::Ice::noExplicitContext)
1050
+ {
1051
+ end_init(_iceI_begin_init(prefix, logMessages, context, ::IceInternal::dummyCallback, 0, true));
1052
+ }
1053
+
1054
+ /**
1055
+ * init is called by attachRemoteLogger when a RemoteLogger proxy is attached.
1056
+ * @param prefix The prefix of the associated local Logger.
1057
+ * @param logMessages Old log messages generated before "now".
1058
+ * @param context The Context map to send with the invocation.
1059
+ * @return The asynchronous result object for the invocation.
1060
+ */
1061
+ ::Ice::AsyncResultPtr begin_init(const ::std::string& prefix, const ::Ice::LogMessageSeq& logMessages, const ::Ice::Context& context = ::Ice::noExplicitContext)
1062
+ {
1063
+ return _iceI_begin_init(prefix, logMessages, context, ::IceInternal::dummyCallback, 0);
1064
+ }
1065
+
1066
+ /**
1067
+ * init is called by attachRemoteLogger when a RemoteLogger proxy is attached.
1068
+ * @param prefix The prefix of the associated local Logger.
1069
+ * @param logMessages Old log messages generated before "now".
1070
+ * @param cb Asynchronous callback object.
1071
+ * @param cookie User-defined data to associate with the invocation.
1072
+ * @return The asynchronous result object for the invocation.
1073
+ */
1074
+ ::Ice::AsyncResultPtr begin_init(const ::std::string& prefix, const ::Ice::LogMessageSeq& logMessages, const ::Ice::CallbackPtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
1075
+ {
1076
+ return _iceI_begin_init(prefix, logMessages, ::Ice::noExplicitContext, cb, cookie);
1077
+ }
1078
+
1079
+ /**
1080
+ * init is called by attachRemoteLogger when a RemoteLogger proxy is attached.
1081
+ * @param prefix The prefix of the associated local Logger.
1082
+ * @param logMessages Old log messages generated before "now".
1083
+ * @param context The Context map to send with the invocation.
1084
+ * @param cb Asynchronous callback object.
1085
+ * @param cookie User-defined data to associate with the invocation.
1086
+ * @return The asynchronous result object for the invocation.
1087
+ */
1088
+ ::Ice::AsyncResultPtr begin_init(const ::std::string& prefix, const ::Ice::LogMessageSeq& logMessages, const ::Ice::Context& context, const ::Ice::CallbackPtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
1089
+ {
1090
+ return _iceI_begin_init(prefix, logMessages, context, cb, cookie);
1091
+ }
1092
+
1093
+ /**
1094
+ * init is called by attachRemoteLogger when a RemoteLogger proxy is attached.
1095
+ * @param prefix The prefix of the associated local Logger.
1096
+ * @param logMessages Old log messages generated before "now".
1097
+ * @param cb Asynchronous callback object.
1098
+ * @param cookie User-defined data to associate with the invocation.
1099
+ * @return The asynchronous result object for the invocation.
1100
+ */
1101
+ ::Ice::AsyncResultPtr begin_init(const ::std::string& prefix, const ::Ice::LogMessageSeq& logMessages, const ::Ice::Callback_RemoteLogger_initPtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
1102
+ {
1103
+ return _iceI_begin_init(prefix, logMessages, ::Ice::noExplicitContext, cb, cookie);
1104
+ }
1105
+
1106
+ /**
1107
+ * init is called by attachRemoteLogger when a RemoteLogger proxy is attached.
1108
+ * @param prefix The prefix of the associated local Logger.
1109
+ * @param logMessages Old log messages generated before "now".
1110
+ * @param context The Context map to send with the invocation.
1111
+ * @param cb Asynchronous callback object.
1112
+ * @param cookie User-defined data to associate with the invocation.
1113
+ * @return The asynchronous result object for the invocation.
1114
+ */
1115
+ ::Ice::AsyncResultPtr begin_init(const ::std::string& prefix, const ::Ice::LogMessageSeq& logMessages, const ::Ice::Context& context, const ::Ice::Callback_RemoteLogger_initPtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
1116
+ {
1117
+ return _iceI_begin_init(prefix, logMessages, context, cb, cookie);
1118
+ }
1119
+
1120
+ /**
1121
+ * Completes an invocation of begin_init.
1122
+ * @param result The asynchronous result object for the invocation.
1123
+ */
1124
+ ICE_MEMBER(ICE_API) void end_init(const ::Ice::AsyncResultPtr& result);
1125
+
1126
+ private:
1127
+
1128
+ ICE_MEMBER(ICE_API) ::Ice::AsyncResultPtr _iceI_begin_init(const ::std::string&, const ::Ice::LogMessageSeq&, const ::Ice::Context&, const ::IceInternal::CallbackBasePtr&, const ::Ice::LocalObjectPtr& cookie = 0, bool sync = false);
1129
+
1130
+ public:
1131
+
1132
+ /**
1133
+ * Log a LogMessage. Note that log may be called by LoggerAdmin before init.
1134
+ * @param message The message to log.
1135
+ * @param context The Context map to send with the invocation.
1136
+ */
1137
+ ICE_MEMBER(ICE_API) void log(const ::Ice::LogMessage& message, const ::Ice::Context& context = ::Ice::noExplicitContext)
1138
+ {
1139
+ end_log(_iceI_begin_log(message, context, ::IceInternal::dummyCallback, 0, true));
1140
+ }
1141
+
1142
+ /**
1143
+ * Log a LogMessage. Note that log may be called by LoggerAdmin before init.
1144
+ * @param message The message to log.
1145
+ * @param context The Context map to send with the invocation.
1146
+ * @return The asynchronous result object for the invocation.
1147
+ */
1148
+ ::Ice::AsyncResultPtr begin_log(const ::Ice::LogMessage& message, const ::Ice::Context& context = ::Ice::noExplicitContext)
1149
+ {
1150
+ return _iceI_begin_log(message, context, ::IceInternal::dummyCallback, 0);
1151
+ }
1152
+
1153
+ /**
1154
+ * Log a LogMessage. Note that log may be called by LoggerAdmin before init.
1155
+ * @param message The message to log.
1156
+ * @param cb Asynchronous callback object.
1157
+ * @param cookie User-defined data to associate with the invocation.
1158
+ * @return The asynchronous result object for the invocation.
1159
+ */
1160
+ ::Ice::AsyncResultPtr begin_log(const ::Ice::LogMessage& message, const ::Ice::CallbackPtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
1161
+ {
1162
+ return _iceI_begin_log(message, ::Ice::noExplicitContext, cb, cookie);
1163
+ }
1164
+
1165
+ /**
1166
+ * Log a LogMessage. Note that log may be called by LoggerAdmin before init.
1167
+ * @param message The message to log.
1168
+ * @param context The Context map to send with the invocation.
1169
+ * @param cb Asynchronous callback object.
1170
+ * @param cookie User-defined data to associate with the invocation.
1171
+ * @return The asynchronous result object for the invocation.
1172
+ */
1173
+ ::Ice::AsyncResultPtr begin_log(const ::Ice::LogMessage& message, const ::Ice::Context& context, const ::Ice::CallbackPtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
1174
+ {
1175
+ return _iceI_begin_log(message, context, cb, cookie);
1176
+ }
1177
+
1178
+ /**
1179
+ * Log a LogMessage. Note that log may be called by LoggerAdmin before init.
1180
+ * @param message The message to log.
1181
+ * @param cb Asynchronous callback object.
1182
+ * @param cookie User-defined data to associate with the invocation.
1183
+ * @return The asynchronous result object for the invocation.
1184
+ */
1185
+ ::Ice::AsyncResultPtr begin_log(const ::Ice::LogMessage& message, const ::Ice::Callback_RemoteLogger_logPtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
1186
+ {
1187
+ return _iceI_begin_log(message, ::Ice::noExplicitContext, cb, cookie);
1188
+ }
1189
+
1190
+ /**
1191
+ * Log a LogMessage. Note that log may be called by LoggerAdmin before init.
1192
+ * @param message The message to log.
1193
+ * @param context The Context map to send with the invocation.
1194
+ * @param cb Asynchronous callback object.
1195
+ * @param cookie User-defined data to associate with the invocation.
1196
+ * @return The asynchronous result object for the invocation.
1197
+ */
1198
+ ::Ice::AsyncResultPtr begin_log(const ::Ice::LogMessage& message, const ::Ice::Context& context, const ::Ice::Callback_RemoteLogger_logPtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
1199
+ {
1200
+ return _iceI_begin_log(message, context, cb, cookie);
1201
+ }
1202
+
1203
+ /**
1204
+ * Completes an invocation of begin_log.
1205
+ * @param result The asynchronous result object for the invocation.
1206
+ */
1207
+ ICE_MEMBER(ICE_API) void end_log(const ::Ice::AsyncResultPtr& result);
1208
+
1209
+ private:
1210
+
1211
+ ICE_MEMBER(ICE_API) ::Ice::AsyncResultPtr _iceI_begin_log(const ::Ice::LogMessage&, const ::Ice::Context&, const ::IceInternal::CallbackBasePtr&, const ::Ice::LocalObjectPtr& cookie = 0, bool sync = false);
1212
+
1213
+ public:
1214
+
1215
+ /**
1216
+ * Obtains the Slice type ID corresponding to this interface.
1217
+ * @return A fully-scoped type ID.
1218
+ */
1219
+ ICE_MEMBER(ICE_API) static const ::std::string& ice_staticId();
1220
+
1221
+ protected:
1222
+ /// \cond INTERNAL
1223
+
1224
+ ICE_MEMBER(ICE_API) virtual ::IceProxy::Ice::Object* _newInstance() const;
1225
+ /// \endcond
1226
+ };
1227
+
1228
+ class ICE_CLASS(ICE_API) LoggerAdmin : public virtual ::Ice::Proxy<LoggerAdmin, ::IceProxy::Ice::Object>
1229
+ {
1230
+ public:
1231
+
1232
+ /**
1233
+ * Attaches a RemoteLogger object to the local logger.
1234
+ * attachRemoteLogger calls init on the provided RemoteLogger proxy.
1235
+ * @param prx A proxy to the remote logger.
1236
+ * @param messageTypes The list of message types that the remote logger wishes to receive.
1237
+ * An empty list means no filtering (send all message types).
1238
+ * @param traceCategories The categories of traces that the remote logger wishes to receive.
1239
+ * This parameter is ignored if messageTypes is not empty and does not include trace.
1240
+ * An empty list means no filtering (send all trace categories).
1241
+ * @param messageMax The maximum number of log messages (of all types) to be provided
1242
+ * to init. A negative value requests all messages available.
1243
+ * @param context The Context map to send with the invocation.
1244
+ * @throws Ice::RemoteLoggerAlreadyAttachedException Raised if this remote logger is already
1245
+ * attached to this admin object.
1246
+ */
1247
+ ICE_MEMBER(ICE_API) void attachRemoteLogger(const ::Ice::RemoteLoggerPrx& prx, const ::Ice::LogMessageTypeSeq& messageTypes, const ::Ice::StringSeq& traceCategories, ::Ice::Int messageMax, const ::Ice::Context& context = ::Ice::noExplicitContext)
1248
+ {
1249
+ end_attachRemoteLogger(_iceI_begin_attachRemoteLogger(prx, messageTypes, traceCategories, messageMax, context, ::IceInternal::dummyCallback, 0, true));
1250
+ }
1251
+
1252
+ /**
1253
+ * Attaches a RemoteLogger object to the local logger.
1254
+ * attachRemoteLogger calls init on the provided RemoteLogger proxy.
1255
+ * @param prx A proxy to the remote logger.
1256
+ * @param messageTypes The list of message types that the remote logger wishes to receive.
1257
+ * An empty list means no filtering (send all message types).
1258
+ * @param traceCategories The categories of traces that the remote logger wishes to receive.
1259
+ * This parameter is ignored if messageTypes is not empty and does not include trace.
1260
+ * An empty list means no filtering (send all trace categories).
1261
+ * @param messageMax The maximum number of log messages (of all types) to be provided
1262
+ * to init. A negative value requests all messages available.
1263
+ * @param context The Context map to send with the invocation.
1264
+ * @return The asynchronous result object for the invocation.
1265
+ */
1266
+ ::Ice::AsyncResultPtr begin_attachRemoteLogger(const ::Ice::RemoteLoggerPrx& prx, const ::Ice::LogMessageTypeSeq& messageTypes, const ::Ice::StringSeq& traceCategories, ::Ice::Int messageMax, const ::Ice::Context& context = ::Ice::noExplicitContext)
1267
+ {
1268
+ return _iceI_begin_attachRemoteLogger(prx, messageTypes, traceCategories, messageMax, context, ::IceInternal::dummyCallback, 0);
1269
+ }
1270
+
1271
+ /**
1272
+ * Attaches a RemoteLogger object to the local logger.
1273
+ * attachRemoteLogger calls init on the provided RemoteLogger proxy.
1274
+ * @param prx A proxy to the remote logger.
1275
+ * @param messageTypes The list of message types that the remote logger wishes to receive.
1276
+ * An empty list means no filtering (send all message types).
1277
+ * @param traceCategories The categories of traces that the remote logger wishes to receive.
1278
+ * This parameter is ignored if messageTypes is not empty and does not include trace.
1279
+ * An empty list means no filtering (send all trace categories).
1280
+ * @param messageMax The maximum number of log messages (of all types) to be provided
1281
+ * to init. A negative value requests all messages available.
1282
+ * @param cb Asynchronous callback object.
1283
+ * @param cookie User-defined data to associate with the invocation.
1284
+ * @return The asynchronous result object for the invocation.
1285
+ */
1286
+ ::Ice::AsyncResultPtr begin_attachRemoteLogger(const ::Ice::RemoteLoggerPrx& prx, const ::Ice::LogMessageTypeSeq& messageTypes, const ::Ice::StringSeq& traceCategories, ::Ice::Int messageMax, const ::Ice::CallbackPtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
1287
+ {
1288
+ return _iceI_begin_attachRemoteLogger(prx, messageTypes, traceCategories, messageMax, ::Ice::noExplicitContext, cb, cookie);
1289
+ }
1290
+
1291
+ /**
1292
+ * Attaches a RemoteLogger object to the local logger.
1293
+ * attachRemoteLogger calls init on the provided RemoteLogger proxy.
1294
+ * @param prx A proxy to the remote logger.
1295
+ * @param messageTypes The list of message types that the remote logger wishes to receive.
1296
+ * An empty list means no filtering (send all message types).
1297
+ * @param traceCategories The categories of traces that the remote logger wishes to receive.
1298
+ * This parameter is ignored if messageTypes is not empty and does not include trace.
1299
+ * An empty list means no filtering (send all trace categories).
1300
+ * @param messageMax The maximum number of log messages (of all types) to be provided
1301
+ * to init. A negative value requests all messages available.
1302
+ * @param context The Context map to send with the invocation.
1303
+ * @param cb Asynchronous callback object.
1304
+ * @param cookie User-defined data to associate with the invocation.
1305
+ * @return The asynchronous result object for the invocation.
1306
+ */
1307
+ ::Ice::AsyncResultPtr begin_attachRemoteLogger(const ::Ice::RemoteLoggerPrx& prx, const ::Ice::LogMessageTypeSeq& messageTypes, const ::Ice::StringSeq& traceCategories, ::Ice::Int messageMax, const ::Ice::Context& context, const ::Ice::CallbackPtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
1308
+ {
1309
+ return _iceI_begin_attachRemoteLogger(prx, messageTypes, traceCategories, messageMax, context, cb, cookie);
1310
+ }
1311
+
1312
+ /**
1313
+ * Attaches a RemoteLogger object to the local logger.
1314
+ * attachRemoteLogger calls init on the provided RemoteLogger proxy.
1315
+ * @param prx A proxy to the remote logger.
1316
+ * @param messageTypes The list of message types that the remote logger wishes to receive.
1317
+ * An empty list means no filtering (send all message types).
1318
+ * @param traceCategories The categories of traces that the remote logger wishes to receive.
1319
+ * This parameter is ignored if messageTypes is not empty and does not include trace.
1320
+ * An empty list means no filtering (send all trace categories).
1321
+ * @param messageMax The maximum number of log messages (of all types) to be provided
1322
+ * to init. A negative value requests all messages available.
1323
+ * @param cb Asynchronous callback object.
1324
+ * @param cookie User-defined data to associate with the invocation.
1325
+ * @return The asynchronous result object for the invocation.
1326
+ */
1327
+ ::Ice::AsyncResultPtr begin_attachRemoteLogger(const ::Ice::RemoteLoggerPrx& prx, const ::Ice::LogMessageTypeSeq& messageTypes, const ::Ice::StringSeq& traceCategories, ::Ice::Int messageMax, const ::Ice::Callback_LoggerAdmin_attachRemoteLoggerPtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
1328
+ {
1329
+ return _iceI_begin_attachRemoteLogger(prx, messageTypes, traceCategories, messageMax, ::Ice::noExplicitContext, cb, cookie);
1330
+ }
1331
+
1332
+ /**
1333
+ * Attaches a RemoteLogger object to the local logger.
1334
+ * attachRemoteLogger calls init on the provided RemoteLogger proxy.
1335
+ * @param prx A proxy to the remote logger.
1336
+ * @param messageTypes The list of message types that the remote logger wishes to receive.
1337
+ * An empty list means no filtering (send all message types).
1338
+ * @param traceCategories The categories of traces that the remote logger wishes to receive.
1339
+ * This parameter is ignored if messageTypes is not empty and does not include trace.
1340
+ * An empty list means no filtering (send all trace categories).
1341
+ * @param messageMax The maximum number of log messages (of all types) to be provided
1342
+ * to init. A negative value requests all messages available.
1343
+ * @param context The Context map to send with the invocation.
1344
+ * @param cb Asynchronous callback object.
1345
+ * @param cookie User-defined data to associate with the invocation.
1346
+ * @return The asynchronous result object for the invocation.
1347
+ */
1348
+ ::Ice::AsyncResultPtr begin_attachRemoteLogger(const ::Ice::RemoteLoggerPrx& prx, const ::Ice::LogMessageTypeSeq& messageTypes, const ::Ice::StringSeq& traceCategories, ::Ice::Int messageMax, const ::Ice::Context& context, const ::Ice::Callback_LoggerAdmin_attachRemoteLoggerPtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
1349
+ {
1350
+ return _iceI_begin_attachRemoteLogger(prx, messageTypes, traceCategories, messageMax, context, cb, cookie);
1351
+ }
1352
+
1353
+ /**
1354
+ * Completes an invocation of begin_attachRemoteLogger.
1355
+ * @param result The asynchronous result object for the invocation.
1356
+ * @throws Ice::RemoteLoggerAlreadyAttachedException Raised if this remote logger is already
1357
+ * attached to this admin object.
1358
+ */
1359
+ ICE_MEMBER(ICE_API) void end_attachRemoteLogger(const ::Ice::AsyncResultPtr& result);
1360
+
1361
+ private:
1362
+
1363
+ ICE_MEMBER(ICE_API) ::Ice::AsyncResultPtr _iceI_begin_attachRemoteLogger(const ::Ice::RemoteLoggerPrx&, const ::Ice::LogMessageTypeSeq&, const ::Ice::StringSeq&, ::Ice::Int, const ::Ice::Context&, const ::IceInternal::CallbackBasePtr&, const ::Ice::LocalObjectPtr& cookie = 0, bool sync = false);
1364
+
1365
+ public:
1366
+
1367
+ /**
1368
+ * Detaches a RemoteLogger object from the local logger.
1369
+ * @param prx A proxy to the remote logger.
1370
+ * @param context The Context map to send with the invocation.
1371
+ * @return True if the provided remote logger proxy was detached, and false otherwise.
1372
+ */
1373
+ ICE_MEMBER(ICE_API) bool detachRemoteLogger(const ::Ice::RemoteLoggerPrx& prx, const ::Ice::Context& context = ::Ice::noExplicitContext)
1374
+ {
1375
+ return end_detachRemoteLogger(_iceI_begin_detachRemoteLogger(prx, context, ::IceInternal::dummyCallback, 0, true));
1376
+ }
1377
+
1378
+ /**
1379
+ * Detaches a RemoteLogger object from the local logger.
1380
+ * @param prx A proxy to the remote logger.
1381
+ * @param context The Context map to send with the invocation.
1382
+ * @return The asynchronous result object for the invocation.
1383
+ */
1384
+ ::Ice::AsyncResultPtr begin_detachRemoteLogger(const ::Ice::RemoteLoggerPrx& prx, const ::Ice::Context& context = ::Ice::noExplicitContext)
1385
+ {
1386
+ return _iceI_begin_detachRemoteLogger(prx, context, ::IceInternal::dummyCallback, 0);
1387
+ }
1388
+
1389
+ /**
1390
+ * Detaches a RemoteLogger object from the local logger.
1391
+ * @param prx A proxy to the remote logger.
1392
+ * @param cb Asynchronous callback object.
1393
+ * @param cookie User-defined data to associate with the invocation.
1394
+ * @return The asynchronous result object for the invocation.
1395
+ */
1396
+ ::Ice::AsyncResultPtr begin_detachRemoteLogger(const ::Ice::RemoteLoggerPrx& prx, const ::Ice::CallbackPtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
1397
+ {
1398
+ return _iceI_begin_detachRemoteLogger(prx, ::Ice::noExplicitContext, cb, cookie);
1399
+ }
1400
+
1401
+ /**
1402
+ * Detaches a RemoteLogger object from the local logger.
1403
+ * @param prx A proxy to the remote logger.
1404
+ * @param context The Context map to send with the invocation.
1405
+ * @param cb Asynchronous callback object.
1406
+ * @param cookie User-defined data to associate with the invocation.
1407
+ * @return The asynchronous result object for the invocation.
1408
+ */
1409
+ ::Ice::AsyncResultPtr begin_detachRemoteLogger(const ::Ice::RemoteLoggerPrx& prx, const ::Ice::Context& context, const ::Ice::CallbackPtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
1410
+ {
1411
+ return _iceI_begin_detachRemoteLogger(prx, context, cb, cookie);
1412
+ }
1413
+
1414
+ /**
1415
+ * Detaches a RemoteLogger object from the local logger.
1416
+ * @param prx A proxy to the remote logger.
1417
+ * @param cb Asynchronous callback object.
1418
+ * @param cookie User-defined data to associate with the invocation.
1419
+ * @return The asynchronous result object for the invocation.
1420
+ */
1421
+ ::Ice::AsyncResultPtr begin_detachRemoteLogger(const ::Ice::RemoteLoggerPrx& prx, const ::Ice::Callback_LoggerAdmin_detachRemoteLoggerPtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
1422
+ {
1423
+ return _iceI_begin_detachRemoteLogger(prx, ::Ice::noExplicitContext, cb, cookie);
1424
+ }
1425
+
1426
+ /**
1427
+ * Detaches a RemoteLogger object from the local logger.
1428
+ * @param prx A proxy to the remote logger.
1429
+ * @param context The Context map to send with the invocation.
1430
+ * @param cb Asynchronous callback object.
1431
+ * @param cookie User-defined data to associate with the invocation.
1432
+ * @return The asynchronous result object for the invocation.
1433
+ */
1434
+ ::Ice::AsyncResultPtr begin_detachRemoteLogger(const ::Ice::RemoteLoggerPrx& prx, const ::Ice::Context& context, const ::Ice::Callback_LoggerAdmin_detachRemoteLoggerPtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
1435
+ {
1436
+ return _iceI_begin_detachRemoteLogger(prx, context, cb, cookie);
1437
+ }
1438
+
1439
+ /**
1440
+ * Completes an invocation of begin_detachRemoteLogger.
1441
+ * @param result The asynchronous result object for the invocation.
1442
+ * @return True if the provided remote logger proxy was detached, and false otherwise.
1443
+ */
1444
+ ICE_MEMBER(ICE_API) bool end_detachRemoteLogger(const ::Ice::AsyncResultPtr& result);
1445
+
1446
+ private:
1447
+
1448
+ ICE_MEMBER(ICE_API) ::Ice::AsyncResultPtr _iceI_begin_detachRemoteLogger(const ::Ice::RemoteLoggerPrx&, const ::Ice::Context&, const ::IceInternal::CallbackBasePtr&, const ::Ice::LocalObjectPtr& cookie = 0, bool sync = false);
1449
+
1450
+ public:
1451
+
1452
+ /**
1453
+ * Retrieves log messages recently logged.
1454
+ * @param messageTypes The list of message types that the caller wishes to receive.
1455
+ * An empty list means no filtering (send all message types).
1456
+ * @param traceCategories The categories of traces that caller wish to receive.
1457
+ * This parameter is ignored if messageTypes is not empty and does not include trace.
1458
+ * An empty list means no filtering (send all trace categories).
1459
+ * @param messageMax The maximum number of log messages (of all types) to be returned.
1460
+ * A negative value requests all messages available.
1461
+ * @param prefix The prefix of the associated local logger.
1462
+ * @param context The Context map to send with the invocation.
1463
+ * @return The Log messages.
1464
+ */
1465
+ ICE_MEMBER(ICE_API) ::Ice::LogMessageSeq getLog(const ::Ice::LogMessageTypeSeq& messageTypes, const ::Ice::StringSeq& traceCategories, ::Ice::Int messageMax, ::std::string& prefix, const ::Ice::Context& context = ::Ice::noExplicitContext)
1466
+ {
1467
+ return end_getLog(prefix, _iceI_begin_getLog(messageTypes, traceCategories, messageMax, context, ::IceInternal::dummyCallback, 0, true));
1468
+ }
1469
+
1470
+ /**
1471
+ * Retrieves log messages recently logged.
1472
+ * @param messageTypes The list of message types that the caller wishes to receive.
1473
+ * An empty list means no filtering (send all message types).
1474
+ * @param traceCategories The categories of traces that caller wish to receive.
1475
+ * This parameter is ignored if messageTypes is not empty and does not include trace.
1476
+ * An empty list means no filtering (send all trace categories).
1477
+ * @param messageMax The maximum number of log messages (of all types) to be returned.
1478
+ * A negative value requests all messages available.
1479
+ * @param context The Context map to send with the invocation.
1480
+ * @return The asynchronous result object for the invocation.
1481
+ */
1482
+ ::Ice::AsyncResultPtr begin_getLog(const ::Ice::LogMessageTypeSeq& messageTypes, const ::Ice::StringSeq& traceCategories, ::Ice::Int messageMax, const ::Ice::Context& context = ::Ice::noExplicitContext)
1483
+ {
1484
+ return _iceI_begin_getLog(messageTypes, traceCategories, messageMax, context, ::IceInternal::dummyCallback, 0);
1485
+ }
1486
+
1487
+ /**
1488
+ * Retrieves log messages recently logged.
1489
+ * @param messageTypes The list of message types that the caller wishes to receive.
1490
+ * An empty list means no filtering (send all message types).
1491
+ * @param traceCategories The categories of traces that caller wish to receive.
1492
+ * This parameter is ignored if messageTypes is not empty and does not include trace.
1493
+ * An empty list means no filtering (send all trace categories).
1494
+ * @param messageMax The maximum number of log messages (of all types) to be returned.
1495
+ * A negative value requests all messages available.
1496
+ * @param cb Asynchronous callback object.
1497
+ * @param cookie User-defined data to associate with the invocation.
1498
+ * @return The asynchronous result object for the invocation.
1499
+ */
1500
+ ::Ice::AsyncResultPtr begin_getLog(const ::Ice::LogMessageTypeSeq& messageTypes, const ::Ice::StringSeq& traceCategories, ::Ice::Int messageMax, const ::Ice::CallbackPtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
1501
+ {
1502
+ return _iceI_begin_getLog(messageTypes, traceCategories, messageMax, ::Ice::noExplicitContext, cb, cookie);
1503
+ }
1504
+
1505
+ /**
1506
+ * Retrieves log messages recently logged.
1507
+ * @param messageTypes The list of message types that the caller wishes to receive.
1508
+ * An empty list means no filtering (send all message types).
1509
+ * @param traceCategories The categories of traces that caller wish to receive.
1510
+ * This parameter is ignored if messageTypes is not empty and does not include trace.
1511
+ * An empty list means no filtering (send all trace categories).
1512
+ * @param messageMax The maximum number of log messages (of all types) to be returned.
1513
+ * A negative value requests all messages available.
1514
+ * @param context The Context map to send with the invocation.
1515
+ * @param cb Asynchronous callback object.
1516
+ * @param cookie User-defined data to associate with the invocation.
1517
+ * @return The asynchronous result object for the invocation.
1518
+ */
1519
+ ::Ice::AsyncResultPtr begin_getLog(const ::Ice::LogMessageTypeSeq& messageTypes, const ::Ice::StringSeq& traceCategories, ::Ice::Int messageMax, const ::Ice::Context& context, const ::Ice::CallbackPtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
1520
+ {
1521
+ return _iceI_begin_getLog(messageTypes, traceCategories, messageMax, context, cb, cookie);
1522
+ }
1523
+
1524
+ /**
1525
+ * Retrieves log messages recently logged.
1526
+ * @param messageTypes The list of message types that the caller wishes to receive.
1527
+ * An empty list means no filtering (send all message types).
1528
+ * @param traceCategories The categories of traces that caller wish to receive.
1529
+ * This parameter is ignored if messageTypes is not empty and does not include trace.
1530
+ * An empty list means no filtering (send all trace categories).
1531
+ * @param messageMax The maximum number of log messages (of all types) to be returned.
1532
+ * A negative value requests all messages available.
1533
+ * @param cb Asynchronous callback object.
1534
+ * @param cookie User-defined data to associate with the invocation.
1535
+ * @return The asynchronous result object for the invocation.
1536
+ */
1537
+ ::Ice::AsyncResultPtr begin_getLog(const ::Ice::LogMessageTypeSeq& messageTypes, const ::Ice::StringSeq& traceCategories, ::Ice::Int messageMax, const ::Ice::Callback_LoggerAdmin_getLogPtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
1538
+ {
1539
+ return _iceI_begin_getLog(messageTypes, traceCategories, messageMax, ::Ice::noExplicitContext, cb, cookie);
1540
+ }
1541
+
1542
+ /**
1543
+ * Retrieves log messages recently logged.
1544
+ * @param messageTypes The list of message types that the caller wishes to receive.
1545
+ * An empty list means no filtering (send all message types).
1546
+ * @param traceCategories The categories of traces that caller wish to receive.
1547
+ * This parameter is ignored if messageTypes is not empty and does not include trace.
1548
+ * An empty list means no filtering (send all trace categories).
1549
+ * @param messageMax The maximum number of log messages (of all types) to be returned.
1550
+ * A negative value requests all messages available.
1551
+ * @param context The Context map to send with the invocation.
1552
+ * @param cb Asynchronous callback object.
1553
+ * @param cookie User-defined data to associate with the invocation.
1554
+ * @return The asynchronous result object for the invocation.
1555
+ */
1556
+ ::Ice::AsyncResultPtr begin_getLog(const ::Ice::LogMessageTypeSeq& messageTypes, const ::Ice::StringSeq& traceCategories, ::Ice::Int messageMax, const ::Ice::Context& context, const ::Ice::Callback_LoggerAdmin_getLogPtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
1557
+ {
1558
+ return _iceI_begin_getLog(messageTypes, traceCategories, messageMax, context, cb, cookie);
1559
+ }
1560
+
1561
+ /**
1562
+ * Completes an invocation of begin_getLog.
1563
+ * @param prefix The prefix of the associated local logger.
1564
+ * @param result The asynchronous result object for the invocation.
1565
+ * @return The Log messages.
1566
+ */
1567
+ ICE_MEMBER(ICE_API) ::Ice::LogMessageSeq end_getLog(::std::string& prefix, const ::Ice::AsyncResultPtr& result);
1568
+ /// \cond INTERNAL
1569
+
1570
+ ICE_MEMBER(ICE_API) void _iceI_end_getLog(::std::string& iceP_prefix, ::Ice::LogMessageSeq& ret, const ::Ice::AsyncResultPtr&);
1571
+ /// \endcond
1572
+
1573
+ private:
1574
+
1575
+ ICE_MEMBER(ICE_API) ::Ice::AsyncResultPtr _iceI_begin_getLog(const ::Ice::LogMessageTypeSeq&, const ::Ice::StringSeq&, ::Ice::Int, const ::Ice::Context&, const ::IceInternal::CallbackBasePtr&, const ::Ice::LocalObjectPtr& cookie = 0, bool sync = false);
1576
+
1577
+ public:
1578
+
1579
+ /**
1580
+ * Obtains the Slice type ID corresponding to this interface.
1581
+ * @return A fully-scoped type ID.
1582
+ */
1583
+ ICE_MEMBER(ICE_API) static const ::std::string& ice_staticId();
1584
+
1585
+ protected:
1586
+ /// \cond INTERNAL
1587
+
1588
+ ICE_MEMBER(ICE_API) virtual ::IceProxy::Ice::Object* _newInstance() const;
1589
+ /// \endcond
1590
+ };
1591
+
1592
+ }
1593
+
1594
+ }
1595
+
1596
+ namespace Ice
1597
+ {
1598
+
1599
+ /**
1600
+ * The Ice remote logger interface. An application can implement a
1601
+ * RemoteLogger to receive the log messages sent to the local {@link Logger}
1602
+ * of another Ice application.
1603
+ * \headerfile Ice/Ice.h
1604
+ */
1605
+ class ICE_API RemoteLogger : public virtual Object
1606
+ {
1607
+ public:
1608
+
1609
+ typedef RemoteLoggerPrx ProxyType;
1610
+ typedef RemoteLoggerPtr PointerType;
1611
+
1612
+ virtual ~RemoteLogger();
1613
+
1614
+ /**
1615
+ * Determines whether this object supports an interface with the given Slice type ID.
1616
+ * @param id The fully-scoped Slice type ID.
1617
+ * @param current The Current object for the invocation.
1618
+ * @return True if this object supports the interface, false, otherwise.
1619
+ */
1620
+ virtual bool ice_isA(const ::std::string& id, const Current& current = emptyCurrent) const;
1621
+
1622
+ /**
1623
+ * Obtains a list of the Slice type IDs representing the interfaces supported by this object.
1624
+ * @param current The Current object for the invocation.
1625
+ * @return A list of fully-scoped type IDs.
1626
+ */
1627
+ virtual ::std::vector< ::std::string> ice_ids(const Current& current = emptyCurrent) const;
1628
+
1629
+ /**
1630
+ * Obtains a Slice type ID representing the most-derived interface supported by this object.
1631
+ * @param current The Current object for the invocation.
1632
+ * @return A fully-scoped type ID.
1633
+ */
1634
+ virtual const ::std::string& ice_id(const Current& current = emptyCurrent) const;
1635
+
1636
+ /**
1637
+ * Obtains the Slice type ID corresponding to this class.
1638
+ * @return A fully-scoped type ID.
1639
+ */
1640
+ static const ::std::string& ice_staticId();
1641
+
1642
+ /**
1643
+ * init is called by attachRemoteLogger when a RemoteLogger proxy is attached.
1644
+ * @param prefix The prefix of the associated local Logger.
1645
+ * @param logMessages Old log messages generated before "now".
1646
+ * @param current The Current object for the invocation.
1647
+ */
1648
+ virtual void init(const ::std::string& prefix, const LogMessageSeq& logMessages, const Current& current = emptyCurrent) = 0;
1649
+ /// \cond INTERNAL
1650
+ bool _iceD_init(::IceInternal::Incoming&, const ::Ice::Current&);
1651
+ /// \endcond
1652
+
1653
+ /**
1654
+ * Log a LogMessage. Note that log may be called by LoggerAdmin before init.
1655
+ * @param message The message to log.
1656
+ * @param current The Current object for the invocation.
1657
+ */
1658
+ virtual void log(const LogMessage& message, const Current& current = emptyCurrent) = 0;
1659
+ /// \cond INTERNAL
1660
+ bool _iceD_log(::IceInternal::Incoming&, const ::Ice::Current&);
1661
+ /// \endcond
1662
+
1663
+ /// \cond INTERNAL
1664
+ virtual bool _iceDispatch(::IceInternal::Incoming&, const Current&);
1665
+ /// \endcond
1666
+
1667
+ protected:
1668
+
1669
+ /// \cond STREAM
1670
+ virtual void _iceWriteImpl(OutputStream*) const;
1671
+ virtual void _iceReadImpl(InputStream*);
1672
+ /// \endcond
1673
+ };
1674
+
1675
+ /// \cond INTERNAL
1676
+ inline bool operator==(const RemoteLogger& lhs, const RemoteLogger& rhs)
1677
+ {
1678
+ return static_cast<const Object&>(lhs) == static_cast<const Object&>(rhs);
1679
+ }
1680
+
1681
+ inline bool operator<(const RemoteLogger& lhs, const RemoteLogger& rhs)
1682
+ {
1683
+ return static_cast<const Object&>(lhs) < static_cast<const Object&>(rhs);
1684
+ }
1685
+ /// \endcond
1686
+
1687
+ /**
1688
+ * The interface of the admin object that allows an Ice application the attach its
1689
+ * {@link RemoteLogger} to the {@link Logger} of this admin object's Ice communicator.
1690
+ * \headerfile Ice/Ice.h
1691
+ */
1692
+ class ICE_API LoggerAdmin : public virtual Object
1693
+ {
1694
+ public:
1695
+
1696
+ typedef LoggerAdminPrx ProxyType;
1697
+ typedef LoggerAdminPtr PointerType;
1698
+
1699
+ virtual ~LoggerAdmin();
1700
+
1701
+ /**
1702
+ * Determines whether this object supports an interface with the given Slice type ID.
1703
+ * @param id The fully-scoped Slice type ID.
1704
+ * @param current The Current object for the invocation.
1705
+ * @return True if this object supports the interface, false, otherwise.
1706
+ */
1707
+ virtual bool ice_isA(const ::std::string& id, const Current& current = emptyCurrent) const;
1708
+
1709
+ /**
1710
+ * Obtains a list of the Slice type IDs representing the interfaces supported by this object.
1711
+ * @param current The Current object for the invocation.
1712
+ * @return A list of fully-scoped type IDs.
1713
+ */
1714
+ virtual ::std::vector< ::std::string> ice_ids(const Current& current = emptyCurrent) const;
1715
+
1716
+ /**
1717
+ * Obtains a Slice type ID representing the most-derived interface supported by this object.
1718
+ * @param current The Current object for the invocation.
1719
+ * @return A fully-scoped type ID.
1720
+ */
1721
+ virtual const ::std::string& ice_id(const Current& current = emptyCurrent) const;
1722
+
1723
+ /**
1724
+ * Obtains the Slice type ID corresponding to this class.
1725
+ * @return A fully-scoped type ID.
1726
+ */
1727
+ static const ::std::string& ice_staticId();
1728
+
1729
+ /**
1730
+ * Attaches a RemoteLogger object to the local logger.
1731
+ * attachRemoteLogger calls init on the provided RemoteLogger proxy.
1732
+ * @param prx A proxy to the remote logger.
1733
+ * @param messageTypes The list of message types that the remote logger wishes to receive.
1734
+ * An empty list means no filtering (send all message types).
1735
+ * @param traceCategories The categories of traces that the remote logger wishes to receive.
1736
+ * This parameter is ignored if messageTypes is not empty and does not include trace.
1737
+ * An empty list means no filtering (send all trace categories).
1738
+ * @param messageMax The maximum number of log messages (of all types) to be provided
1739
+ * to init. A negative value requests all messages available.
1740
+ * @param current The Current object for the invocation.
1741
+ * @throws Ice::RemoteLoggerAlreadyAttachedException Raised if this remote logger is already
1742
+ * attached to this admin object.
1743
+ */
1744
+ virtual void attachRemoteLogger(const RemoteLoggerPrx& prx, const LogMessageTypeSeq& messageTypes, const StringSeq& traceCategories, Int messageMax, const Current& current = emptyCurrent) = 0;
1745
+ /// \cond INTERNAL
1746
+ bool _iceD_attachRemoteLogger(::IceInternal::Incoming&, const ::Ice::Current&);
1747
+ /// \endcond
1748
+
1749
+ /**
1750
+ * Detaches a RemoteLogger object from the local logger.
1751
+ * @param prx A proxy to the remote logger.
1752
+ * @param current The Current object for the invocation.
1753
+ * @return True if the provided remote logger proxy was detached, and false otherwise.
1754
+ */
1755
+ virtual bool detachRemoteLogger(const RemoteLoggerPrx& prx, const Current& current = emptyCurrent) = 0;
1756
+ /// \cond INTERNAL
1757
+ bool _iceD_detachRemoteLogger(::IceInternal::Incoming&, const ::Ice::Current&);
1758
+ /// \endcond
1759
+
1760
+ /**
1761
+ * Retrieves log messages recently logged.
1762
+ * @param messageTypes The list of message types that the caller wishes to receive.
1763
+ * An empty list means no filtering (send all message types).
1764
+ * @param traceCategories The categories of traces that caller wish to receive.
1765
+ * This parameter is ignored if messageTypes is not empty and does not include trace.
1766
+ * An empty list means no filtering (send all trace categories).
1767
+ * @param messageMax The maximum number of log messages (of all types) to be returned.
1768
+ * A negative value requests all messages available.
1769
+ * @param prefix The prefix of the associated local logger.
1770
+ * @param current The Current object for the invocation.
1771
+ * @return The Log messages.
1772
+ */
1773
+ virtual LogMessageSeq getLog(const LogMessageTypeSeq& messageTypes, const StringSeq& traceCategories, Int messageMax, ::std::string& prefix, const Current& current = emptyCurrent) = 0;
1774
+ /// \cond INTERNAL
1775
+ bool _iceD_getLog(::IceInternal::Incoming&, const ::Ice::Current&);
1776
+ /// \endcond
1777
+
1778
+ /// \cond INTERNAL
1779
+ virtual bool _iceDispatch(::IceInternal::Incoming&, const Current&);
1780
+ /// \endcond
1781
+
1782
+ protected:
1783
+
1784
+ /// \cond STREAM
1785
+ virtual void _iceWriteImpl(OutputStream*) const;
1786
+ virtual void _iceReadImpl(InputStream*);
1787
+ /// \endcond
1788
+ };
1789
+
1790
+ /// \cond INTERNAL
1791
+ inline bool operator==(const LoggerAdmin& lhs, const LoggerAdmin& rhs)
1792
+ {
1793
+ return static_cast<const Object&>(lhs) == static_cast<const Object&>(rhs);
1794
+ }
1795
+
1796
+ inline bool operator<(const LoggerAdmin& lhs, const LoggerAdmin& rhs)
1797
+ {
1798
+ return static_cast<const Object&>(lhs) < static_cast<const Object&>(rhs);
1799
+ }
1800
+ /// \endcond
1801
+
1802
+ }
1803
+
1804
+ /// \cond STREAM
1805
+ namespace Ice
1806
+ {
1807
+
1808
+ template<>
1809
+ struct StreamableTraits< ::Ice::LogMessageType>
1810
+ {
1811
+ static const StreamHelperCategory helper = StreamHelperCategoryEnum;
1812
+ static const int minValue = 0;
1813
+ static const int maxValue = 3;
1814
+ static const int minWireSize = 1;
1815
+ static const bool fixedLength = false;
1816
+ };
1817
+
1818
+ template<>
1819
+ struct StreamableTraits< ::Ice::LogMessage>
1820
+ {
1821
+ static const StreamHelperCategory helper = StreamHelperCategoryStruct;
1822
+ static const int minWireSize = 11;
1823
+ static const bool fixedLength = false;
1824
+ };
1825
+
1826
+ template<typename S>
1827
+ struct StreamWriter< ::Ice::LogMessage, S>
1828
+ {
1829
+ static void write(S* ostr, const ::Ice::LogMessage& v)
1830
+ {
1831
+ ostr->write(v.type);
1832
+ ostr->write(v.timestamp);
1833
+ ostr->write(v.traceCategory);
1834
+ ostr->write(v.message);
1835
+ }
1836
+ };
1837
+
1838
+ template<typename S>
1839
+ struct StreamReader< ::Ice::LogMessage, S>
1840
+ {
1841
+ static void read(S* istr, ::Ice::LogMessage& v)
1842
+ {
1843
+ istr->read(v.type);
1844
+ istr->read(v.timestamp);
1845
+ istr->read(v.traceCategory);
1846
+ istr->read(v.message);
1847
+ }
1848
+ };
1849
+
1850
+ template<>
1851
+ struct StreamableTraits< ::Ice::RemoteLoggerAlreadyAttachedException>
1852
+ {
1853
+ static const StreamHelperCategory helper = StreamHelperCategoryUserException;
1854
+ };
1855
+
1856
+ }
1857
+ /// \endcond
1858
+
1859
+ namespace Ice
1860
+ {
1861
+
1862
+ /**
1863
+ * Type-safe asynchronous callback wrapper class used for calls to
1864
+ * IceProxy::Ice::RemoteLogger::begin_init.
1865
+ * Create a wrapper instance by calling ::Ice::newCallback_RemoteLogger_init.
1866
+ */
1867
+ template<class T>
1868
+ class CallbackNC_RemoteLogger_init : public Callback_RemoteLogger_init_Base, public ::IceInternal::OnewayCallbackNC<T>
1869
+ {
1870
+ public:
1871
+
1872
+ typedef IceUtil::Handle<T> TPtr;
1873
+
1874
+ typedef void (T::*Exception)(const ::Ice::Exception&);
1875
+ typedef void (T::*Sent)(bool);
1876
+ typedef void (T::*Response)();
1877
+
1878
+ CallbackNC_RemoteLogger_init(const TPtr& obj, Response cb, Exception excb, Sent sentcb)
1879
+ : ::IceInternal::OnewayCallbackNC<T>(obj, cb, excb, sentcb)
1880
+ {
1881
+ }
1882
+ };
1883
+
1884
+ /**
1885
+ * Creates a callback wrapper instance that delegates to your object.
1886
+ * @param instance The callback object.
1887
+ * @param cb The success method of the callback object.
1888
+ * @param excb The exception method of the callback object.
1889
+ * @param sentcb The sent method of the callback object.
1890
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::Ice::RemoteLogger::begin_init.
1891
+ */
1892
+ template<class T> Callback_RemoteLogger_initPtr
1893
+ newCallback_RemoteLogger_init(const IceUtil::Handle<T>& instance, void (T::*cb)(), void (T::*excb)(const ::Ice::Exception&), void (T::*sentcb)(bool) = 0)
1894
+ {
1895
+ return new CallbackNC_RemoteLogger_init<T>(instance, cb, excb, sentcb);
1896
+ }
1897
+
1898
+ /**
1899
+ * Creates a callback wrapper instance that delegates to your object.
1900
+ * @param instance The callback object.
1901
+ * @param excb The exception method of the callback object.
1902
+ * @param sentcb The sent method of the callback object.
1903
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::Ice::RemoteLogger::begin_init.
1904
+ */
1905
+ template<class T> Callback_RemoteLogger_initPtr
1906
+ newCallback_RemoteLogger_init(const IceUtil::Handle<T>& instance, void (T::*excb)(const ::Ice::Exception&), void (T::*sentcb)(bool) = 0)
1907
+ {
1908
+ return new CallbackNC_RemoteLogger_init<T>(instance, 0, excb, sentcb);
1909
+ }
1910
+
1911
+ /**
1912
+ * Creates a callback wrapper instance that delegates to your object.
1913
+ * @param instance The callback object.
1914
+ * @param cb The success method of the callback object.
1915
+ * @param excb The exception method of the callback object.
1916
+ * @param sentcb The sent method of the callback object.
1917
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::Ice::RemoteLogger::begin_init.
1918
+ */
1919
+ template<class T> Callback_RemoteLogger_initPtr
1920
+ newCallback_RemoteLogger_init(T* instance, void (T::*cb)(), void (T::*excb)(const ::Ice::Exception&), void (T::*sentcb)(bool) = 0)
1921
+ {
1922
+ return new CallbackNC_RemoteLogger_init<T>(instance, cb, excb, sentcb);
1923
+ }
1924
+
1925
+ /**
1926
+ * Creates a callback wrapper instance that delegates to your object.
1927
+ * @param instance The callback object.
1928
+ * @param excb The exception method of the callback object.
1929
+ * @param sentcb The sent method of the callback object.
1930
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::Ice::RemoteLogger::begin_init.
1931
+ */
1932
+ template<class T> Callback_RemoteLogger_initPtr
1933
+ newCallback_RemoteLogger_init(T* instance, void (T::*excb)(const ::Ice::Exception&), void (T::*sentcb)(bool) = 0)
1934
+ {
1935
+ return new CallbackNC_RemoteLogger_init<T>(instance, 0, excb, sentcb);
1936
+ }
1937
+
1938
+ /**
1939
+ * Type-safe asynchronous callback wrapper class with cookie support used for calls to
1940
+ * IceProxy::Ice::RemoteLogger::begin_init.
1941
+ * Create a wrapper instance by calling ::Ice::newCallback_RemoteLogger_init.
1942
+ */
1943
+ template<class T, typename CT>
1944
+ class Callback_RemoteLogger_init : public Callback_RemoteLogger_init_Base, public ::IceInternal::OnewayCallback<T, CT>
1945
+ {
1946
+ public:
1947
+
1948
+ typedef IceUtil::Handle<T> TPtr;
1949
+
1950
+ typedef void (T::*Exception)(const ::Ice::Exception& , const CT&);
1951
+ typedef void (T::*Sent)(bool , const CT&);
1952
+ typedef void (T::*Response)(const CT&);
1953
+
1954
+ Callback_RemoteLogger_init(const TPtr& obj, Response cb, Exception excb, Sent sentcb)
1955
+ : ::IceInternal::OnewayCallback<T, CT>(obj, cb, excb, sentcb)
1956
+ {
1957
+ }
1958
+ };
1959
+
1960
+ /**
1961
+ * Creates a callback wrapper instance that delegates to your object.
1962
+ * Use this overload when your callback methods receive a cookie value.
1963
+ * @param instance The callback object.
1964
+ * @param cb The success method of the callback object.
1965
+ * @param excb The exception method of the callback object.
1966
+ * @param sentcb The sent method of the callback object.
1967
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::Ice::RemoteLogger::begin_init.
1968
+ */
1969
+ template<class T, typename CT> Callback_RemoteLogger_initPtr
1970
+ newCallback_RemoteLogger_init(const IceUtil::Handle<T>& instance, void (T::*cb)(const CT&), void (T::*excb)(const ::Ice::Exception&, const CT&), void (T::*sentcb)(bool, const CT&) = 0)
1971
+ {
1972
+ return new Callback_RemoteLogger_init<T, CT>(instance, cb, excb, sentcb);
1973
+ }
1974
+
1975
+ /**
1976
+ * Creates a callback wrapper instance that delegates to your object.
1977
+ * Use this overload when your callback methods receive a cookie value.
1978
+ * @param instance The callback object.
1979
+ * @param excb The exception method of the callback object.
1980
+ * @param sentcb The sent method of the callback object.
1981
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::Ice::RemoteLogger::begin_init.
1982
+ */
1983
+ template<class T, typename CT> Callback_RemoteLogger_initPtr
1984
+ newCallback_RemoteLogger_init(const IceUtil::Handle<T>& instance, void (T::*excb)(const ::Ice::Exception&, const CT&), void (T::*sentcb)(bool, const CT&) = 0)
1985
+ {
1986
+ return new Callback_RemoteLogger_init<T, CT>(instance, 0, excb, sentcb);
1987
+ }
1988
+
1989
+ /**
1990
+ * Creates a callback wrapper instance that delegates to your object.
1991
+ * Use this overload when your callback methods receive a cookie value.
1992
+ * @param instance The callback object.
1993
+ * @param cb The success method of the callback object.
1994
+ * @param excb The exception method of the callback object.
1995
+ * @param sentcb The sent method of the callback object.
1996
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::Ice::RemoteLogger::begin_init.
1997
+ */
1998
+ template<class T, typename CT> Callback_RemoteLogger_initPtr
1999
+ newCallback_RemoteLogger_init(T* instance, void (T::*cb)(const CT&), void (T::*excb)(const ::Ice::Exception&, const CT&), void (T::*sentcb)(bool, const CT&) = 0)
2000
+ {
2001
+ return new Callback_RemoteLogger_init<T, CT>(instance, cb, excb, sentcb);
2002
+ }
2003
+
2004
+ /**
2005
+ * Creates a callback wrapper instance that delegates to your object.
2006
+ * Use this overload when your callback methods receive a cookie value.
2007
+ * @param instance The callback object.
2008
+ * @param excb The exception method of the callback object.
2009
+ * @param sentcb The sent method of the callback object.
2010
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::Ice::RemoteLogger::begin_init.
2011
+ */
2012
+ template<class T, typename CT> Callback_RemoteLogger_initPtr
2013
+ newCallback_RemoteLogger_init(T* instance, void (T::*excb)(const ::Ice::Exception&, const CT&), void (T::*sentcb)(bool, const CT&) = 0)
2014
+ {
2015
+ return new Callback_RemoteLogger_init<T, CT>(instance, 0, excb, sentcb);
2016
+ }
2017
+
2018
+ /**
2019
+ * Type-safe asynchronous callback wrapper class used for calls to
2020
+ * IceProxy::Ice::RemoteLogger::begin_log.
2021
+ * Create a wrapper instance by calling ::Ice::newCallback_RemoteLogger_log.
2022
+ */
2023
+ template<class T>
2024
+ class CallbackNC_RemoteLogger_log : public Callback_RemoteLogger_log_Base, public ::IceInternal::OnewayCallbackNC<T>
2025
+ {
2026
+ public:
2027
+
2028
+ typedef IceUtil::Handle<T> TPtr;
2029
+
2030
+ typedef void (T::*Exception)(const ::Ice::Exception&);
2031
+ typedef void (T::*Sent)(bool);
2032
+ typedef void (T::*Response)();
2033
+
2034
+ CallbackNC_RemoteLogger_log(const TPtr& obj, Response cb, Exception excb, Sent sentcb)
2035
+ : ::IceInternal::OnewayCallbackNC<T>(obj, cb, excb, sentcb)
2036
+ {
2037
+ }
2038
+ };
2039
+
2040
+ /**
2041
+ * Creates a callback wrapper instance that delegates to your object.
2042
+ * @param instance The callback object.
2043
+ * @param cb The success method of the callback object.
2044
+ * @param excb The exception method of the callback object.
2045
+ * @param sentcb The sent method of the callback object.
2046
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::Ice::RemoteLogger::begin_log.
2047
+ */
2048
+ template<class T> Callback_RemoteLogger_logPtr
2049
+ newCallback_RemoteLogger_log(const IceUtil::Handle<T>& instance, void (T::*cb)(), void (T::*excb)(const ::Ice::Exception&), void (T::*sentcb)(bool) = 0)
2050
+ {
2051
+ return new CallbackNC_RemoteLogger_log<T>(instance, cb, excb, sentcb);
2052
+ }
2053
+
2054
+ /**
2055
+ * Creates a callback wrapper instance that delegates to your object.
2056
+ * @param instance The callback object.
2057
+ * @param excb The exception method of the callback object.
2058
+ * @param sentcb The sent method of the callback object.
2059
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::Ice::RemoteLogger::begin_log.
2060
+ */
2061
+ template<class T> Callback_RemoteLogger_logPtr
2062
+ newCallback_RemoteLogger_log(const IceUtil::Handle<T>& instance, void (T::*excb)(const ::Ice::Exception&), void (T::*sentcb)(bool) = 0)
2063
+ {
2064
+ return new CallbackNC_RemoteLogger_log<T>(instance, 0, excb, sentcb);
2065
+ }
2066
+
2067
+ /**
2068
+ * Creates a callback wrapper instance that delegates to your object.
2069
+ * @param instance The callback object.
2070
+ * @param cb The success method of the callback object.
2071
+ * @param excb The exception method of the callback object.
2072
+ * @param sentcb The sent method of the callback object.
2073
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::Ice::RemoteLogger::begin_log.
2074
+ */
2075
+ template<class T> Callback_RemoteLogger_logPtr
2076
+ newCallback_RemoteLogger_log(T* instance, void (T::*cb)(), void (T::*excb)(const ::Ice::Exception&), void (T::*sentcb)(bool) = 0)
2077
+ {
2078
+ return new CallbackNC_RemoteLogger_log<T>(instance, cb, excb, sentcb);
2079
+ }
2080
+
2081
+ /**
2082
+ * Creates a callback wrapper instance that delegates to your object.
2083
+ * @param instance The callback object.
2084
+ * @param excb The exception method of the callback object.
2085
+ * @param sentcb The sent method of the callback object.
2086
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::Ice::RemoteLogger::begin_log.
2087
+ */
2088
+ template<class T> Callback_RemoteLogger_logPtr
2089
+ newCallback_RemoteLogger_log(T* instance, void (T::*excb)(const ::Ice::Exception&), void (T::*sentcb)(bool) = 0)
2090
+ {
2091
+ return new CallbackNC_RemoteLogger_log<T>(instance, 0, excb, sentcb);
2092
+ }
2093
+
2094
+ /**
2095
+ * Type-safe asynchronous callback wrapper class with cookie support used for calls to
2096
+ * IceProxy::Ice::RemoteLogger::begin_log.
2097
+ * Create a wrapper instance by calling ::Ice::newCallback_RemoteLogger_log.
2098
+ */
2099
+ template<class T, typename CT>
2100
+ class Callback_RemoteLogger_log : public Callback_RemoteLogger_log_Base, public ::IceInternal::OnewayCallback<T, CT>
2101
+ {
2102
+ public:
2103
+
2104
+ typedef IceUtil::Handle<T> TPtr;
2105
+
2106
+ typedef void (T::*Exception)(const ::Ice::Exception& , const CT&);
2107
+ typedef void (T::*Sent)(bool , const CT&);
2108
+ typedef void (T::*Response)(const CT&);
2109
+
2110
+ Callback_RemoteLogger_log(const TPtr& obj, Response cb, Exception excb, Sent sentcb)
2111
+ : ::IceInternal::OnewayCallback<T, CT>(obj, cb, excb, sentcb)
2112
+ {
2113
+ }
2114
+ };
2115
+
2116
+ /**
2117
+ * Creates a callback wrapper instance that delegates to your object.
2118
+ * Use this overload when your callback methods receive a cookie value.
2119
+ * @param instance The callback object.
2120
+ * @param cb The success method of the callback object.
2121
+ * @param excb The exception method of the callback object.
2122
+ * @param sentcb The sent method of the callback object.
2123
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::Ice::RemoteLogger::begin_log.
2124
+ */
2125
+ template<class T, typename CT> Callback_RemoteLogger_logPtr
2126
+ newCallback_RemoteLogger_log(const IceUtil::Handle<T>& instance, void (T::*cb)(const CT&), void (T::*excb)(const ::Ice::Exception&, const CT&), void (T::*sentcb)(bool, const CT&) = 0)
2127
+ {
2128
+ return new Callback_RemoteLogger_log<T, CT>(instance, cb, excb, sentcb);
2129
+ }
2130
+
2131
+ /**
2132
+ * Creates a callback wrapper instance that delegates to your object.
2133
+ * Use this overload when your callback methods receive a cookie value.
2134
+ * @param instance The callback object.
2135
+ * @param excb The exception method of the callback object.
2136
+ * @param sentcb The sent method of the callback object.
2137
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::Ice::RemoteLogger::begin_log.
2138
+ */
2139
+ template<class T, typename CT> Callback_RemoteLogger_logPtr
2140
+ newCallback_RemoteLogger_log(const IceUtil::Handle<T>& instance, void (T::*excb)(const ::Ice::Exception&, const CT&), void (T::*sentcb)(bool, const CT&) = 0)
2141
+ {
2142
+ return new Callback_RemoteLogger_log<T, CT>(instance, 0, excb, sentcb);
2143
+ }
2144
+
2145
+ /**
2146
+ * Creates a callback wrapper instance that delegates to your object.
2147
+ * Use this overload when your callback methods receive a cookie value.
2148
+ * @param instance The callback object.
2149
+ * @param cb The success method of the callback object.
2150
+ * @param excb The exception method of the callback object.
2151
+ * @param sentcb The sent method of the callback object.
2152
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::Ice::RemoteLogger::begin_log.
2153
+ */
2154
+ template<class T, typename CT> Callback_RemoteLogger_logPtr
2155
+ newCallback_RemoteLogger_log(T* instance, void (T::*cb)(const CT&), void (T::*excb)(const ::Ice::Exception&, const CT&), void (T::*sentcb)(bool, const CT&) = 0)
2156
+ {
2157
+ return new Callback_RemoteLogger_log<T, CT>(instance, cb, excb, sentcb);
2158
+ }
2159
+
2160
+ /**
2161
+ * Creates a callback wrapper instance that delegates to your object.
2162
+ * Use this overload when your callback methods receive a cookie value.
2163
+ * @param instance The callback object.
2164
+ * @param excb The exception method of the callback object.
2165
+ * @param sentcb The sent method of the callback object.
2166
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::Ice::RemoteLogger::begin_log.
2167
+ */
2168
+ template<class T, typename CT> Callback_RemoteLogger_logPtr
2169
+ newCallback_RemoteLogger_log(T* instance, void (T::*excb)(const ::Ice::Exception&, const CT&), void (T::*sentcb)(bool, const CT&) = 0)
2170
+ {
2171
+ return new Callback_RemoteLogger_log<T, CT>(instance, 0, excb, sentcb);
2172
+ }
2173
+
2174
+ /**
2175
+ * Type-safe asynchronous callback wrapper class used for calls to
2176
+ * IceProxy::Ice::LoggerAdmin::begin_attachRemoteLogger.
2177
+ * Create a wrapper instance by calling ::Ice::newCallback_LoggerAdmin_attachRemoteLogger.
2178
+ */
2179
+ template<class T>
2180
+ class CallbackNC_LoggerAdmin_attachRemoteLogger : public Callback_LoggerAdmin_attachRemoteLogger_Base, public ::IceInternal::TwowayCallbackNC<T>
2181
+ {
2182
+ public:
2183
+
2184
+ typedef IceUtil::Handle<T> TPtr;
2185
+
2186
+ typedef void (T::*Exception)(const ::Ice::Exception&);
2187
+ typedef void (T::*Sent)(bool);
2188
+ typedef void (T::*Response)();
2189
+
2190
+ CallbackNC_LoggerAdmin_attachRemoteLogger(const TPtr& obj, Response cb, Exception excb, Sent sentcb)
2191
+ : ::IceInternal::TwowayCallbackNC<T>(obj, cb != 0, excb, sentcb), _response(cb)
2192
+ {
2193
+ }
2194
+
2195
+ /// \cond INTERNAL
2196
+ virtual void completed(const AsyncResultPtr& result) const
2197
+ {
2198
+ LoggerAdminPrx proxy = LoggerAdminPrx::uncheckedCast(result->getProxy());
2199
+ try
2200
+ {
2201
+ proxy->end_attachRemoteLogger(result);
2202
+ }
2203
+ catch(const ::Ice::Exception& ex)
2204
+ {
2205
+ ::IceInternal::CallbackNC<T>::exception(result, ex);
2206
+ return;
2207
+ }
2208
+ if(_response)
2209
+ {
2210
+ (::IceInternal::CallbackNC<T>::_callback.get()->*_response)();
2211
+ }
2212
+ }
2213
+ /// \endcond
2214
+
2215
+ private:
2216
+
2217
+ Response _response;
2218
+ };
2219
+
2220
+ /**
2221
+ * Creates a callback wrapper instance that delegates to your object.
2222
+ * @param instance The callback object.
2223
+ * @param cb The success method of the callback object.
2224
+ * @param excb The exception method of the callback object.
2225
+ * @param sentcb The sent method of the callback object.
2226
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::Ice::LoggerAdmin::begin_attachRemoteLogger.
2227
+ */
2228
+ template<class T> Callback_LoggerAdmin_attachRemoteLoggerPtr
2229
+ newCallback_LoggerAdmin_attachRemoteLogger(const IceUtil::Handle<T>& instance, void (T::*cb)(), void (T::*excb)(const ::Ice::Exception&), void (T::*sentcb)(bool) = 0)
2230
+ {
2231
+ return new CallbackNC_LoggerAdmin_attachRemoteLogger<T>(instance, cb, excb, sentcb);
2232
+ }
2233
+
2234
+ /**
2235
+ * Creates a callback wrapper instance that delegates to your object.
2236
+ * @param instance The callback object.
2237
+ * @param excb The exception method of the callback object.
2238
+ * @param sentcb The sent method of the callback object.
2239
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::Ice::LoggerAdmin::begin_attachRemoteLogger.
2240
+ */
2241
+ template<class T> Callback_LoggerAdmin_attachRemoteLoggerPtr
2242
+ newCallback_LoggerAdmin_attachRemoteLogger(const IceUtil::Handle<T>& instance, void (T::*excb)(const ::Ice::Exception&), void (T::*sentcb)(bool) = 0)
2243
+ {
2244
+ return new CallbackNC_LoggerAdmin_attachRemoteLogger<T>(instance, 0, excb, sentcb);
2245
+ }
2246
+
2247
+ /**
2248
+ * Creates a callback wrapper instance that delegates to your object.
2249
+ * @param instance The callback object.
2250
+ * @param cb The success method of the callback object.
2251
+ * @param excb The exception method of the callback object.
2252
+ * @param sentcb The sent method of the callback object.
2253
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::Ice::LoggerAdmin::begin_attachRemoteLogger.
2254
+ */
2255
+ template<class T> Callback_LoggerAdmin_attachRemoteLoggerPtr
2256
+ newCallback_LoggerAdmin_attachRemoteLogger(T* instance, void (T::*cb)(), void (T::*excb)(const ::Ice::Exception&), void (T::*sentcb)(bool) = 0)
2257
+ {
2258
+ return new CallbackNC_LoggerAdmin_attachRemoteLogger<T>(instance, cb, excb, sentcb);
2259
+ }
2260
+
2261
+ /**
2262
+ * Creates a callback wrapper instance that delegates to your object.
2263
+ * @param instance The callback object.
2264
+ * @param excb The exception method of the callback object.
2265
+ * @param sentcb The sent method of the callback object.
2266
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::Ice::LoggerAdmin::begin_attachRemoteLogger.
2267
+ */
2268
+ template<class T> Callback_LoggerAdmin_attachRemoteLoggerPtr
2269
+ newCallback_LoggerAdmin_attachRemoteLogger(T* instance, void (T::*excb)(const ::Ice::Exception&), void (T::*sentcb)(bool) = 0)
2270
+ {
2271
+ return new CallbackNC_LoggerAdmin_attachRemoteLogger<T>(instance, 0, excb, sentcb);
2272
+ }
2273
+
2274
+ /**
2275
+ * Type-safe asynchronous callback wrapper class with cookie support used for calls to
2276
+ * IceProxy::Ice::LoggerAdmin::begin_attachRemoteLogger.
2277
+ * Create a wrapper instance by calling ::Ice::newCallback_LoggerAdmin_attachRemoteLogger.
2278
+ */
2279
+ template<class T, typename CT>
2280
+ class Callback_LoggerAdmin_attachRemoteLogger : public Callback_LoggerAdmin_attachRemoteLogger_Base, public ::IceInternal::TwowayCallback<T, CT>
2281
+ {
2282
+ public:
2283
+
2284
+ typedef IceUtil::Handle<T> TPtr;
2285
+
2286
+ typedef void (T::*Exception)(const ::Ice::Exception& , const CT&);
2287
+ typedef void (T::*Sent)(bool , const CT&);
2288
+ typedef void (T::*Response)(const CT&);
2289
+
2290
+ Callback_LoggerAdmin_attachRemoteLogger(const TPtr& obj, Response cb, Exception excb, Sent sentcb)
2291
+ : ::IceInternal::TwowayCallback<T, CT>(obj, cb != 0, excb, sentcb), _response(cb)
2292
+ {
2293
+ }
2294
+
2295
+ /// \cond INTERNAL
2296
+ virtual void completed(const AsyncResultPtr& result) const
2297
+ {
2298
+ LoggerAdminPrx proxy = LoggerAdminPrx::uncheckedCast(result->getProxy());
2299
+ try
2300
+ {
2301
+ proxy->end_attachRemoteLogger(result);
2302
+ }
2303
+ catch(const ::Ice::Exception& ex)
2304
+ {
2305
+ ::IceInternal::Callback<T, CT>::exception(result, ex);
2306
+ return;
2307
+ }
2308
+ if(_response)
2309
+ {
2310
+ (::IceInternal::Callback<T, CT>::_callback.get()->*_response)(CT::dynamicCast(result->getCookie()));
2311
+ }
2312
+ }
2313
+ /// \endcond
2314
+
2315
+ private:
2316
+
2317
+ Response _response;
2318
+ };
2319
+
2320
+ /**
2321
+ * Creates a callback wrapper instance that delegates to your object.
2322
+ * Use this overload when your callback methods receive a cookie value.
2323
+ * @param instance The callback object.
2324
+ * @param cb The success method of the callback object.
2325
+ * @param excb The exception method of the callback object.
2326
+ * @param sentcb The sent method of the callback object.
2327
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::Ice::LoggerAdmin::begin_attachRemoteLogger.
2328
+ */
2329
+ template<class T, typename CT> Callback_LoggerAdmin_attachRemoteLoggerPtr
2330
+ newCallback_LoggerAdmin_attachRemoteLogger(const IceUtil::Handle<T>& instance, void (T::*cb)(const CT&), void (T::*excb)(const ::Ice::Exception&, const CT&), void (T::*sentcb)(bool, const CT&) = 0)
2331
+ {
2332
+ return new Callback_LoggerAdmin_attachRemoteLogger<T, CT>(instance, cb, excb, sentcb);
2333
+ }
2334
+
2335
+ /**
2336
+ * Creates a callback wrapper instance that delegates to your object.
2337
+ * Use this overload when your callback methods receive a cookie value.
2338
+ * @param instance The callback object.
2339
+ * @param excb The exception method of the callback object.
2340
+ * @param sentcb The sent method of the callback object.
2341
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::Ice::LoggerAdmin::begin_attachRemoteLogger.
2342
+ */
2343
+ template<class T, typename CT> Callback_LoggerAdmin_attachRemoteLoggerPtr
2344
+ newCallback_LoggerAdmin_attachRemoteLogger(const IceUtil::Handle<T>& instance, void (T::*excb)(const ::Ice::Exception&, const CT&), void (T::*sentcb)(bool, const CT&) = 0)
2345
+ {
2346
+ return new Callback_LoggerAdmin_attachRemoteLogger<T, CT>(instance, 0, excb, sentcb);
2347
+ }
2348
+
2349
+ /**
2350
+ * Creates a callback wrapper instance that delegates to your object.
2351
+ * Use this overload when your callback methods receive a cookie value.
2352
+ * @param instance The callback object.
2353
+ * @param cb The success method of the callback object.
2354
+ * @param excb The exception method of the callback object.
2355
+ * @param sentcb The sent method of the callback object.
2356
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::Ice::LoggerAdmin::begin_attachRemoteLogger.
2357
+ */
2358
+ template<class T, typename CT> Callback_LoggerAdmin_attachRemoteLoggerPtr
2359
+ newCallback_LoggerAdmin_attachRemoteLogger(T* instance, void (T::*cb)(const CT&), void (T::*excb)(const ::Ice::Exception&, const CT&), void (T::*sentcb)(bool, const CT&) = 0)
2360
+ {
2361
+ return new Callback_LoggerAdmin_attachRemoteLogger<T, CT>(instance, cb, excb, sentcb);
2362
+ }
2363
+
2364
+ /**
2365
+ * Creates a callback wrapper instance that delegates to your object.
2366
+ * Use this overload when your callback methods receive a cookie value.
2367
+ * @param instance The callback object.
2368
+ * @param excb The exception method of the callback object.
2369
+ * @param sentcb The sent method of the callback object.
2370
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::Ice::LoggerAdmin::begin_attachRemoteLogger.
2371
+ */
2372
+ template<class T, typename CT> Callback_LoggerAdmin_attachRemoteLoggerPtr
2373
+ newCallback_LoggerAdmin_attachRemoteLogger(T* instance, void (T::*excb)(const ::Ice::Exception&, const CT&), void (T::*sentcb)(bool, const CT&) = 0)
2374
+ {
2375
+ return new Callback_LoggerAdmin_attachRemoteLogger<T, CT>(instance, 0, excb, sentcb);
2376
+ }
2377
+
2378
+ /**
2379
+ * Type-safe asynchronous callback wrapper class used for calls to
2380
+ * IceProxy::Ice::LoggerAdmin::begin_detachRemoteLogger.
2381
+ * Create a wrapper instance by calling ::Ice::newCallback_LoggerAdmin_detachRemoteLogger.
2382
+ */
2383
+ template<class T>
2384
+ class CallbackNC_LoggerAdmin_detachRemoteLogger : public Callback_LoggerAdmin_detachRemoteLogger_Base, public ::IceInternal::TwowayCallbackNC<T>
2385
+ {
2386
+ public:
2387
+
2388
+ typedef IceUtil::Handle<T> TPtr;
2389
+
2390
+ typedef void (T::*Exception)(const ::Ice::Exception&);
2391
+ typedef void (T::*Sent)(bool);
2392
+ typedef void (T::*Response)(bool);
2393
+
2394
+ CallbackNC_LoggerAdmin_detachRemoteLogger(const TPtr& obj, Response cb, Exception excb, Sent sentcb)
2395
+ : ::IceInternal::TwowayCallbackNC<T>(obj, cb != 0, excb, sentcb), _response(cb)
2396
+ {
2397
+ }
2398
+
2399
+ /// \cond INTERNAL
2400
+ virtual void completed(const AsyncResultPtr& result) const
2401
+ {
2402
+ LoggerAdminPrx proxy = LoggerAdminPrx::uncheckedCast(result->getProxy());
2403
+ bool ret;
2404
+ try
2405
+ {
2406
+ ret = proxy->end_detachRemoteLogger(result);
2407
+ }
2408
+ catch(const ::Ice::Exception& ex)
2409
+ {
2410
+ ::IceInternal::CallbackNC<T>::exception(result, ex);
2411
+ return;
2412
+ }
2413
+ if(_response)
2414
+ {
2415
+ (::IceInternal::CallbackNC<T>::_callback.get()->*_response)(ret);
2416
+ }
2417
+ }
2418
+ /// \endcond
2419
+
2420
+ private:
2421
+
2422
+ Response _response;
2423
+ };
2424
+
2425
+ /**
2426
+ * Creates a callback wrapper instance that delegates to your object.
2427
+ * @param instance The callback object.
2428
+ * @param cb The success method of the callback object.
2429
+ * @param excb The exception method of the callback object.
2430
+ * @param sentcb The sent method of the callback object.
2431
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::Ice::LoggerAdmin::begin_detachRemoteLogger.
2432
+ */
2433
+ template<class T> Callback_LoggerAdmin_detachRemoteLoggerPtr
2434
+ newCallback_LoggerAdmin_detachRemoteLogger(const IceUtil::Handle<T>& instance, void (T::*cb)(bool), void (T::*excb)(const ::Ice::Exception&), void (T::*sentcb)(bool) = 0)
2435
+ {
2436
+ return new CallbackNC_LoggerAdmin_detachRemoteLogger<T>(instance, cb, excb, sentcb);
2437
+ }
2438
+
2439
+ /**
2440
+ * Creates a callback wrapper instance that delegates to your object.
2441
+ * @param instance The callback object.
2442
+ * @param cb The success method of the callback object.
2443
+ * @param excb The exception method of the callback object.
2444
+ * @param sentcb The sent method of the callback object.
2445
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::Ice::LoggerAdmin::begin_detachRemoteLogger.
2446
+ */
2447
+ template<class T> Callback_LoggerAdmin_detachRemoteLoggerPtr
2448
+ newCallback_LoggerAdmin_detachRemoteLogger(T* instance, void (T::*cb)(bool), void (T::*excb)(const ::Ice::Exception&), void (T::*sentcb)(bool) = 0)
2449
+ {
2450
+ return new CallbackNC_LoggerAdmin_detachRemoteLogger<T>(instance, cb, excb, sentcb);
2451
+ }
2452
+
2453
+ /**
2454
+ * Type-safe asynchronous callback wrapper class with cookie support used for calls to
2455
+ * IceProxy::Ice::LoggerAdmin::begin_detachRemoteLogger.
2456
+ * Create a wrapper instance by calling ::Ice::newCallback_LoggerAdmin_detachRemoteLogger.
2457
+ */
2458
+ template<class T, typename CT>
2459
+ class Callback_LoggerAdmin_detachRemoteLogger : public Callback_LoggerAdmin_detachRemoteLogger_Base, public ::IceInternal::TwowayCallback<T, CT>
2460
+ {
2461
+ public:
2462
+
2463
+ typedef IceUtil::Handle<T> TPtr;
2464
+
2465
+ typedef void (T::*Exception)(const ::Ice::Exception& , const CT&);
2466
+ typedef void (T::*Sent)(bool , const CT&);
2467
+ typedef void (T::*Response)(bool, const CT&);
2468
+
2469
+ Callback_LoggerAdmin_detachRemoteLogger(const TPtr& obj, Response cb, Exception excb, Sent sentcb)
2470
+ : ::IceInternal::TwowayCallback<T, CT>(obj, cb != 0, excb, sentcb), _response(cb)
2471
+ {
2472
+ }
2473
+
2474
+ /// \cond INTERNAL
2475
+ virtual void completed(const AsyncResultPtr& result) const
2476
+ {
2477
+ LoggerAdminPrx proxy = LoggerAdminPrx::uncheckedCast(result->getProxy());
2478
+ bool ret;
2479
+ try
2480
+ {
2481
+ ret = proxy->end_detachRemoteLogger(result);
2482
+ }
2483
+ catch(const ::Ice::Exception& ex)
2484
+ {
2485
+ ::IceInternal::Callback<T, CT>::exception(result, ex);
2486
+ return;
2487
+ }
2488
+ if(_response)
2489
+ {
2490
+ (::IceInternal::Callback<T, CT>::_callback.get()->*_response)(ret, CT::dynamicCast(result->getCookie()));
2491
+ }
2492
+ }
2493
+ /// \endcond
2494
+
2495
+ private:
2496
+
2497
+ Response _response;
2498
+ };
2499
+
2500
+ /**
2501
+ * Creates a callback wrapper instance that delegates to your object.
2502
+ * Use this overload when your callback methods receive a cookie value.
2503
+ * @param instance The callback object.
2504
+ * @param cb The success method of the callback object.
2505
+ * @param excb The exception method of the callback object.
2506
+ * @param sentcb The sent method of the callback object.
2507
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::Ice::LoggerAdmin::begin_detachRemoteLogger.
2508
+ */
2509
+ template<class T, typename CT> Callback_LoggerAdmin_detachRemoteLoggerPtr
2510
+ newCallback_LoggerAdmin_detachRemoteLogger(const IceUtil::Handle<T>& instance, void (T::*cb)(bool, const CT&), void (T::*excb)(const ::Ice::Exception&, const CT&), void (T::*sentcb)(bool, const CT&) = 0)
2511
+ {
2512
+ return new Callback_LoggerAdmin_detachRemoteLogger<T, CT>(instance, cb, excb, sentcb);
2513
+ }
2514
+
2515
+ /**
2516
+ * Creates a callback wrapper instance that delegates to your object.
2517
+ * Use this overload when your callback methods receive a cookie value.
2518
+ * @param instance The callback object.
2519
+ * @param cb The success method of the callback object.
2520
+ * @param excb The exception method of the callback object.
2521
+ * @param sentcb The sent method of the callback object.
2522
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::Ice::LoggerAdmin::begin_detachRemoteLogger.
2523
+ */
2524
+ template<class T, typename CT> Callback_LoggerAdmin_detachRemoteLoggerPtr
2525
+ newCallback_LoggerAdmin_detachRemoteLogger(T* instance, void (T::*cb)(bool, const CT&), void (T::*excb)(const ::Ice::Exception&, const CT&), void (T::*sentcb)(bool, const CT&) = 0)
2526
+ {
2527
+ return new Callback_LoggerAdmin_detachRemoteLogger<T, CT>(instance, cb, excb, sentcb);
2528
+ }
2529
+
2530
+ /**
2531
+ * Type-safe asynchronous callback wrapper class used for calls to
2532
+ * IceProxy::Ice::LoggerAdmin::begin_getLog.
2533
+ * Create a wrapper instance by calling ::Ice::newCallback_LoggerAdmin_getLog.
2534
+ */
2535
+ template<class T>
2536
+ class CallbackNC_LoggerAdmin_getLog : public Callback_LoggerAdmin_getLog_Base, public ::IceInternal::TwowayCallbackNC<T>
2537
+ {
2538
+ public:
2539
+
2540
+ typedef IceUtil::Handle<T> TPtr;
2541
+
2542
+ typedef void (T::*Exception)(const ::Ice::Exception&);
2543
+ typedef void (T::*Sent)(bool);
2544
+ typedef void (T::*Response)(const LogMessageSeq&, const ::std::string&);
2545
+
2546
+ CallbackNC_LoggerAdmin_getLog(const TPtr& obj, Response cb, Exception excb, Sent sentcb)
2547
+ : ::IceInternal::TwowayCallbackNC<T>(obj, cb != 0, excb, sentcb), _response(cb)
2548
+ {
2549
+ }
2550
+
2551
+ /// \cond INTERNAL
2552
+ virtual void completed(const AsyncResultPtr& result) const
2553
+ {
2554
+ LoggerAdminPrx proxy = LoggerAdminPrx::uncheckedCast(result->getProxy());
2555
+ ::std::string iceP_prefix;
2556
+ LogMessageSeq ret;
2557
+ try
2558
+ {
2559
+ ret = proxy->end_getLog(iceP_prefix, result);
2560
+ }
2561
+ catch(const ::Ice::Exception& ex)
2562
+ {
2563
+ ::IceInternal::CallbackNC<T>::exception(result, ex);
2564
+ return;
2565
+ }
2566
+ if(_response)
2567
+ {
2568
+ (::IceInternal::CallbackNC<T>::_callback.get()->*_response)(ret, iceP_prefix);
2569
+ }
2570
+ }
2571
+ /// \endcond
2572
+
2573
+ private:
2574
+
2575
+ Response _response;
2576
+ };
2577
+
2578
+ /**
2579
+ * Creates a callback wrapper instance that delegates to your object.
2580
+ * @param instance The callback object.
2581
+ * @param cb The success method of the callback object.
2582
+ * @param excb The exception method of the callback object.
2583
+ * @param sentcb The sent method of the callback object.
2584
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::Ice::LoggerAdmin::begin_getLog.
2585
+ */
2586
+ template<class T> Callback_LoggerAdmin_getLogPtr
2587
+ newCallback_LoggerAdmin_getLog(const IceUtil::Handle<T>& instance, void (T::*cb)(const LogMessageSeq&, const ::std::string&), void (T::*excb)(const ::Ice::Exception&), void (T::*sentcb)(bool) = 0)
2588
+ {
2589
+ return new CallbackNC_LoggerAdmin_getLog<T>(instance, cb, excb, sentcb);
2590
+ }
2591
+
2592
+ /**
2593
+ * Creates a callback wrapper instance that delegates to your object.
2594
+ * @param instance The callback object.
2595
+ * @param cb The success method of the callback object.
2596
+ * @param excb The exception method of the callback object.
2597
+ * @param sentcb The sent method of the callback object.
2598
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::Ice::LoggerAdmin::begin_getLog.
2599
+ */
2600
+ template<class T> Callback_LoggerAdmin_getLogPtr
2601
+ newCallback_LoggerAdmin_getLog(T* instance, void (T::*cb)(const LogMessageSeq&, const ::std::string&), void (T::*excb)(const ::Ice::Exception&), void (T::*sentcb)(bool) = 0)
2602
+ {
2603
+ return new CallbackNC_LoggerAdmin_getLog<T>(instance, cb, excb, sentcb);
2604
+ }
2605
+
2606
+ /**
2607
+ * Type-safe asynchronous callback wrapper class with cookie support used for calls to
2608
+ * IceProxy::Ice::LoggerAdmin::begin_getLog.
2609
+ * Create a wrapper instance by calling ::Ice::newCallback_LoggerAdmin_getLog.
2610
+ */
2611
+ template<class T, typename CT>
2612
+ class Callback_LoggerAdmin_getLog : public Callback_LoggerAdmin_getLog_Base, public ::IceInternal::TwowayCallback<T, CT>
2613
+ {
2614
+ public:
2615
+
2616
+ typedef IceUtil::Handle<T> TPtr;
2617
+
2618
+ typedef void (T::*Exception)(const ::Ice::Exception& , const CT&);
2619
+ typedef void (T::*Sent)(bool , const CT&);
2620
+ typedef void (T::*Response)(const LogMessageSeq&, const ::std::string&, const CT&);
2621
+
2622
+ Callback_LoggerAdmin_getLog(const TPtr& obj, Response cb, Exception excb, Sent sentcb)
2623
+ : ::IceInternal::TwowayCallback<T, CT>(obj, cb != 0, excb, sentcb), _response(cb)
2624
+ {
2625
+ }
2626
+
2627
+ /// \cond INTERNAL
2628
+ virtual void completed(const AsyncResultPtr& result) const
2629
+ {
2630
+ LoggerAdminPrx proxy = LoggerAdminPrx::uncheckedCast(result->getProxy());
2631
+ ::std::string iceP_prefix;
2632
+ LogMessageSeq ret;
2633
+ try
2634
+ {
2635
+ ret = proxy->end_getLog(iceP_prefix, result);
2636
+ }
2637
+ catch(const ::Ice::Exception& ex)
2638
+ {
2639
+ ::IceInternal::Callback<T, CT>::exception(result, ex);
2640
+ return;
2641
+ }
2642
+ if(_response)
2643
+ {
2644
+ (::IceInternal::Callback<T, CT>::_callback.get()->*_response)(ret, iceP_prefix, CT::dynamicCast(result->getCookie()));
2645
+ }
2646
+ }
2647
+ /// \endcond
2648
+
2649
+ private:
2650
+
2651
+ Response _response;
2652
+ };
2653
+
2654
+ /**
2655
+ * Creates a callback wrapper instance that delegates to your object.
2656
+ * Use this overload when your callback methods receive a cookie value.
2657
+ * @param instance The callback object.
2658
+ * @param cb The success method of the callback object.
2659
+ * @param excb The exception method of the callback object.
2660
+ * @param sentcb The sent method of the callback object.
2661
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::Ice::LoggerAdmin::begin_getLog.
2662
+ */
2663
+ template<class T, typename CT> Callback_LoggerAdmin_getLogPtr
2664
+ newCallback_LoggerAdmin_getLog(const IceUtil::Handle<T>& instance, void (T::*cb)(const LogMessageSeq&, const ::std::string&, const CT&), void (T::*excb)(const ::Ice::Exception&, const CT&), void (T::*sentcb)(bool, const CT&) = 0)
2665
+ {
2666
+ return new Callback_LoggerAdmin_getLog<T, CT>(instance, cb, excb, sentcb);
2667
+ }
2668
+
2669
+ /**
2670
+ * Creates a callback wrapper instance that delegates to your object.
2671
+ * Use this overload when your callback methods receive a cookie value.
2672
+ * @param instance The callback object.
2673
+ * @param cb The success method of the callback object.
2674
+ * @param excb The exception method of the callback object.
2675
+ * @param sentcb The sent method of the callback object.
2676
+ * @return An object that can be passed to an asynchronous invocation of IceProxy::Ice::LoggerAdmin::begin_getLog.
2677
+ */
2678
+ template<class T, typename CT> Callback_LoggerAdmin_getLogPtr
2679
+ newCallback_LoggerAdmin_getLog(T* instance, void (T::*cb)(const LogMessageSeq&, const ::std::string&, const CT&), void (T::*excb)(const ::Ice::Exception&, const CT&), void (T::*sentcb)(bool, const CT&) = 0)
2680
+ {
2681
+ return new Callback_LoggerAdmin_getLog<T, CT>(instance, cb, excb, sentcb);
2682
+ }
2683
+
2684
+ }
2685
+
2686
+ #endif
2687
+
2688
+ #include <IceUtil/PopDisableWarnings.h>
2689
+ #endif