zeroc-ice 3.8.0__cp312-cp312-macosx_10_13_universal2.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (343) hide show
  1. Glacier2/CannotCreateSessionException.py +40 -0
  2. Glacier2/IdentitySet.py +293 -0
  3. Glacier2/IdentitySet_forward.py +10 -0
  4. Glacier2/PermissionDeniedException.py +40 -0
  5. Glacier2/PermissionsVerifier.py +189 -0
  6. Glacier2/PermissionsVerifier_forward.py +10 -0
  7. Glacier2/Router.py +661 -0
  8. Glacier2/Router_forward.py +10 -0
  9. Glacier2/SSLInfo.py +62 -0
  10. Glacier2/SSLPermissionsVerifier.py +186 -0
  11. Glacier2/SSLPermissionsVerifier_forward.py +10 -0
  12. Glacier2/SSLSessionManager.py +192 -0
  13. Glacier2/SSLSessionManager_forward.py +10 -0
  14. Glacier2/Session.py +161 -0
  15. Glacier2/SessionControl.py +407 -0
  16. Glacier2/SessionControl_forward.py +10 -0
  17. Glacier2/SessionManager.py +189 -0
  18. Glacier2/SessionManager_forward.py +10 -0
  19. Glacier2/SessionNotExistException.py +39 -0
  20. Glacier2/Session_forward.py +10 -0
  21. Glacier2/StringSet.py +289 -0
  22. Glacier2/StringSet_forward.py +10 -0
  23. Glacier2/__init__.py +79 -0
  24. Glacier2/py.typed +0 -0
  25. Ice/AdapterAlreadyActiveException.py +35 -0
  26. Ice/AdapterNotFoundException.py +35 -0
  27. Ice/BTEndpointType.py +11 -0
  28. Ice/BTSEndpointType.py +11 -0
  29. Ice/Blobject.py +42 -0
  30. Ice/BoolSeq.py +10 -0
  31. Ice/Builtin.py +11 -0
  32. Ice/ByteSeq.py +10 -0
  33. Ice/Communicator.py +621 -0
  34. Ice/CompressBatch.py +25 -0
  35. Ice/Context.py +10 -0
  36. Ice/Current.py +48 -0
  37. Ice/Dispatch.py +122 -0
  38. Ice/DoubleSeq.py +10 -0
  39. Ice/EncodingVersion.py +41 -0
  40. Ice/EndpointSelectionType.py +22 -0
  41. Ice/EventLoopAdapter.py +52 -0
  42. Ice/Exception.py +29 -0
  43. Ice/FloatSeq.py +10 -0
  44. Ice/FormatType.py +15 -0
  45. Ice/Future.py +375 -0
  46. Ice/IcePyTypes.py +47 -0
  47. Ice/Identity.py +40 -0
  48. Ice/IdentitySeq.py +12 -0
  49. Ice/ImplicitContext.py +126 -0
  50. Ice/InitializationData.py +64 -0
  51. Ice/IntSeq.py +10 -0
  52. Ice/InvalidReplicaGroupIdException.py +34 -0
  53. Ice/InvocationFuture.py +158 -0
  54. Ice/LocalException.py +12 -0
  55. Ice/LocalExceptions.py +546 -0
  56. Ice/Locator.py +332 -0
  57. Ice/LocatorFinder.py +163 -0
  58. Ice/LocatorFinder_forward.py +10 -0
  59. Ice/LocatorRegistry.py +387 -0
  60. Ice/LocatorRegistry_forward.py +10 -0
  61. Ice/Locator_forward.py +10 -0
  62. Ice/LogMessage.py +51 -0
  63. Ice/LogMessageSeq.py +12 -0
  64. Ice/LogMessageType.py +50 -0
  65. Ice/LogMessageTypeSeq.py +12 -0
  66. Ice/Logger.py +100 -0
  67. Ice/LoggerAdmin.py +380 -0
  68. Ice/LoggerAdmin_forward.py +10 -0
  69. Ice/LongSeq.py +10 -0
  70. Ice/Object.py +145 -0
  71. Ice/ObjectAdapter.py +588 -0
  72. Ice/ObjectNotFoundException.py +35 -0
  73. Ice/ObjectProxySeq.py +12 -0
  74. Ice/ObjectPrx.py +940 -0
  75. Ice/ObjectPrx_forward.py +7 -0
  76. Ice/ObjectSeq.py +12 -0
  77. Ice/OperationMode.py +47 -0
  78. Ice/Process.py +217 -0
  79. Ice/ProcessLogger.py +25 -0
  80. Ice/Process_forward.py +10 -0
  81. Ice/Properties.py +387 -0
  82. Ice/PropertiesAdmin.py +302 -0
  83. Ice/PropertiesAdmin_forward.py +10 -0
  84. Ice/PropertyDict.py +10 -0
  85. Ice/ProtocolVersion.py +39 -0
  86. Ice/Proxy.py +63 -0
  87. Ice/RemoteLogger.py +238 -0
  88. Ice/RemoteLoggerAlreadyAttachedException.py +34 -0
  89. Ice/RemoteLogger_forward.py +10 -0
  90. Ice/ReplyStatus.py +84 -0
  91. Ice/Router.py +322 -0
  92. Ice/RouterFinder.py +163 -0
  93. Ice/RouterFinder_forward.py +10 -0
  94. Ice/Router_forward.py +10 -0
  95. Ice/SSLEndpointType.py +11 -0
  96. Ice/ServantLocator.py +93 -0
  97. Ice/ServerNotFoundException.py +34 -0
  98. Ice/ShortSeq.py +10 -0
  99. Ice/SliceChecksumDict.py +10 -0
  100. Ice/SliceInfo.py +22 -0
  101. Ice/SlicedData.py +14 -0
  102. Ice/StringSeq.py +10 -0
  103. Ice/TCPEndpointType.py +11 -0
  104. Ice/ToStringMode.py +34 -0
  105. Ice/UDPEndpointType.py +11 -0
  106. Ice/URIEndpointType.py +11 -0
  107. Ice/UnknownSlicedValue.py +31 -0
  108. Ice/UserException.py +18 -0
  109. Ice/Util.py +170 -0
  110. Ice/Value.py +59 -0
  111. Ice/Value_forward.py +7 -0
  112. Ice/WSEndpointType.py +11 -0
  113. Ice/WSSEndpointType.py +11 -0
  114. Ice/_ArrayUtil.py +51 -0
  115. Ice/_LoggerI.py +32 -0
  116. Ice/__init__.py +367 -0
  117. Ice/asyncio/EventLoopAdapter.py +31 -0
  118. Ice/asyncio/__init__.py +5 -0
  119. Ice/iAPEndpointType.py +11 -0
  120. Ice/iAPSEndpointType.py +11 -0
  121. Ice/py.typed +0 -0
  122. IceBox/AlreadyStartedException.py +34 -0
  123. IceBox/AlreadyStoppedException.py +34 -0
  124. IceBox/NoSuchServiceException.py +34 -0
  125. IceBox/ServiceManager.py +447 -0
  126. IceBox/ServiceManager_forward.py +10 -0
  127. IceBox/ServiceObserver.py +229 -0
  128. IceBox/ServiceObserver_forward.py +10 -0
  129. IceBox/__init__.py +33 -0
  130. IceBox/py.typed +0 -0
  131. IceGrid/AccessDeniedException.py +40 -0
  132. IceGrid/AdapterDescriptor.py +77 -0
  133. IceGrid/AdapterDescriptorSeq.py +12 -0
  134. IceGrid/AdapterDynamicInfo.py +46 -0
  135. IceGrid/AdapterDynamicInfoSeq.py +12 -0
  136. IceGrid/AdapterInfo.py +50 -0
  137. IceGrid/AdapterInfoSeq.py +12 -0
  138. IceGrid/AdapterNotExistException.py +40 -0
  139. IceGrid/AdapterObserver.py +338 -0
  140. IceGrid/AdapterObserver_forward.py +10 -0
  141. IceGrid/AdaptiveLoadBalancingPolicy.py +48 -0
  142. IceGrid/AdaptiveLoadBalancingPolicy_forward.py +10 -0
  143. IceGrid/Admin.py +3662 -0
  144. IceGrid/AdminSession.py +1406 -0
  145. IceGrid/AdminSession_forward.py +10 -0
  146. IceGrid/Admin_forward.py +10 -0
  147. IceGrid/AllocationException.py +40 -0
  148. IceGrid/AllocationTimeoutException.py +35 -0
  149. IceGrid/ApplicationDescriptor.py +89 -0
  150. IceGrid/ApplicationDescriptorSeq.py +12 -0
  151. IceGrid/ApplicationInfo.py +63 -0
  152. IceGrid/ApplicationInfoSeq.py +12 -0
  153. IceGrid/ApplicationNotExistException.py +40 -0
  154. IceGrid/ApplicationObserver.py +374 -0
  155. IceGrid/ApplicationObserver_forward.py +10 -0
  156. IceGrid/ApplicationUpdateDescriptor.py +118 -0
  157. IceGrid/ApplicationUpdateInfo.py +51 -0
  158. IceGrid/BadSignalException.py +40 -0
  159. IceGrid/BoxedDistributionDescriptor.py +49 -0
  160. IceGrid/BoxedDistributionDescriptor_forward.py +10 -0
  161. IceGrid/BoxedString.py +45 -0
  162. IceGrid/BoxedString_forward.py +10 -0
  163. IceGrid/CommunicatorDescriptor.py +79 -0
  164. IceGrid/CommunicatorDescriptor_forward.py +10 -0
  165. IceGrid/DbEnvDescriptor.py +55 -0
  166. IceGrid/DbEnvDescriptorSeq.py +12 -0
  167. IceGrid/DeploymentException.py +40 -0
  168. IceGrid/DistributionDescriptor.py +42 -0
  169. IceGrid/FileIterator.py +246 -0
  170. IceGrid/FileIterator_forward.py +10 -0
  171. IceGrid/FileNotAvailableException.py +49 -0
  172. IceGrid/FileParser.py +182 -0
  173. IceGrid/FileParser_forward.py +10 -0
  174. IceGrid/IceBoxDescriptor.py +55 -0
  175. IceGrid/IceBoxDescriptor_forward.py +10 -0
  176. IceGrid/LoadBalancingPolicy.py +45 -0
  177. IceGrid/LoadBalancingPolicy_forward.py +10 -0
  178. IceGrid/LoadInfo.py +43 -0
  179. IceGrid/LoadSample.py +45 -0
  180. IceGrid/Locator.py +232 -0
  181. IceGrid/Locator_forward.py +10 -0
  182. IceGrid/NodeDescriptor.py +71 -0
  183. IceGrid/NodeDescriptorDict.py +12 -0
  184. IceGrid/NodeDynamicInfo.py +57 -0
  185. IceGrid/NodeDynamicInfoSeq.py +12 -0
  186. IceGrid/NodeInfo.py +64 -0
  187. IceGrid/NodeNotExistException.py +40 -0
  188. IceGrid/NodeObserver.py +424 -0
  189. IceGrid/NodeObserver_forward.py +10 -0
  190. IceGrid/NodeUnreachableException.py +46 -0
  191. IceGrid/NodeUpdateDescriptor.py +92 -0
  192. IceGrid/NodeUpdateDescriptorSeq.py +12 -0
  193. IceGrid/ObjectDescriptor.py +48 -0
  194. IceGrid/ObjectDescriptorSeq.py +12 -0
  195. IceGrid/ObjectExistsException.py +44 -0
  196. IceGrid/ObjectInfo.py +46 -0
  197. IceGrid/ObjectInfoSeq.py +12 -0
  198. IceGrid/ObjectNotRegisteredException.py +44 -0
  199. IceGrid/ObjectObserver.py +347 -0
  200. IceGrid/ObjectObserver_forward.py +10 -0
  201. IceGrid/ObserverAlreadyRegisteredException.py +49 -0
  202. IceGrid/OrderedLoadBalancingPolicy.py +41 -0
  203. IceGrid/OrderedLoadBalancingPolicy_forward.py +10 -0
  204. IceGrid/ParseException.py +40 -0
  205. IceGrid/PermissionDeniedException.py +40 -0
  206. IceGrid/PropertyDescriptor.py +39 -0
  207. IceGrid/PropertyDescriptorSeq.py +12 -0
  208. IceGrid/PropertySetDescriptor.py +49 -0
  209. IceGrid/PropertySetDescriptorDict.py +12 -0
  210. IceGrid/Query.py +451 -0
  211. IceGrid/Query_forward.py +10 -0
  212. IceGrid/RandomLoadBalancingPolicy.py +41 -0
  213. IceGrid/RandomLoadBalancingPolicy_forward.py +10 -0
  214. IceGrid/Registry.py +477 -0
  215. IceGrid/RegistryInfo.py +39 -0
  216. IceGrid/RegistryInfoSeq.py +12 -0
  217. IceGrid/RegistryNotExistException.py +40 -0
  218. IceGrid/RegistryObserver.py +282 -0
  219. IceGrid/RegistryObserver_forward.py +10 -0
  220. IceGrid/RegistryUnreachableException.py +46 -0
  221. IceGrid/Registry_forward.py +10 -0
  222. IceGrid/ReplicaGroupDescriptor.py +66 -0
  223. IceGrid/ReplicaGroupDescriptorSeq.py +12 -0
  224. IceGrid/RoundRobinLoadBalancingPolicy.py +41 -0
  225. IceGrid/RoundRobinLoadBalancingPolicy_forward.py +10 -0
  226. IceGrid/ServerDescriptor.py +107 -0
  227. IceGrid/ServerDescriptorSeq.py +12 -0
  228. IceGrid/ServerDescriptor_forward.py +10 -0
  229. IceGrid/ServerDynamicInfo.py +50 -0
  230. IceGrid/ServerDynamicInfoSeq.py +12 -0
  231. IceGrid/ServerInfo.py +62 -0
  232. IceGrid/ServerInstanceDescriptor.py +58 -0
  233. IceGrid/ServerInstanceDescriptorSeq.py +12 -0
  234. IceGrid/ServerNotExistException.py +40 -0
  235. IceGrid/ServerStartException.py +46 -0
  236. IceGrid/ServerState.py +66 -0
  237. IceGrid/ServerStopException.py +46 -0
  238. IceGrid/ServiceDescriptor.py +53 -0
  239. IceGrid/ServiceDescriptorSeq.py +12 -0
  240. IceGrid/ServiceDescriptor_forward.py +10 -0
  241. IceGrid/ServiceInstanceDescriptor.py +60 -0
  242. IceGrid/ServiceInstanceDescriptorSeq.py +12 -0
  243. IceGrid/Session.py +498 -0
  244. IceGrid/Session_forward.py +10 -0
  245. IceGrid/StringObjectProxyDict.py +12 -0
  246. IceGrid/StringStringDict.py +10 -0
  247. IceGrid/TemplateDescriptor.py +55 -0
  248. IceGrid/TemplateDescriptorDict.py +12 -0
  249. IceGrid/UserAccountMapper.py +178 -0
  250. IceGrid/UserAccountMapper_forward.py +10 -0
  251. IceGrid/UserAccountNotFoundException.py +34 -0
  252. IceGrid/__init__.py +375 -0
  253. IceGrid/py.typed +0 -0
  254. IceMX/ChildInvocationMetrics.py +56 -0
  255. IceMX/ChildInvocationMetrics_forward.py +10 -0
  256. IceMX/CollocatedMetrics.py +42 -0
  257. IceMX/CollocatedMetrics_forward.py +10 -0
  258. IceMX/ConnectionMetrics.py +53 -0
  259. IceMX/ConnectionMetrics_forward.py +10 -0
  260. IceMX/DispatchMetrics.py +57 -0
  261. IceMX/DispatchMetrics_forward.py +10 -0
  262. IceMX/InvocationMetrics.py +66 -0
  263. IceMX/InvocationMetrics_forward.py +10 -0
  264. IceMX/Metrics.py +66 -0
  265. IceMX/MetricsAdmin.py +586 -0
  266. IceMX/MetricsAdmin_forward.py +10 -0
  267. IceMX/MetricsFailures.py +42 -0
  268. IceMX/MetricsFailuresSeq.py +12 -0
  269. IceMX/MetricsMap.py +12 -0
  270. IceMX/MetricsView.py +12 -0
  271. IceMX/Metrics_forward.py +10 -0
  272. IceMX/RemoteMetrics.py +42 -0
  273. IceMX/RemoteMetrics_forward.py +10 -0
  274. IceMX/SessionMetrics.py +73 -0
  275. IceMX/SessionMetrics_forward.py +10 -0
  276. IceMX/StringIntDict.py +10 -0
  277. IceMX/SubscriberMetrics.py +57 -0
  278. IceMX/SubscriberMetrics_forward.py +10 -0
  279. IceMX/ThreadMetrics.py +59 -0
  280. IceMX/ThreadMetrics_forward.py +10 -0
  281. IceMX/TopicMetrics.py +53 -0
  282. IceMX/TopicMetrics_forward.py +10 -0
  283. IceMX/UnknownMetricsView.py +34 -0
  284. IceMX/__init__.py +75 -0
  285. IceMX/py.typed +0 -0
  286. IcePy-stubs/__init__.pyi +740 -0
  287. IcePy.cpython-312-darwin.so +0 -0
  288. IceStorm/AlreadySubscribed.py +34 -0
  289. IceStorm/BadQoS.py +40 -0
  290. IceStorm/Finder.py +163 -0
  291. IceStorm/Finder_forward.py +10 -0
  292. IceStorm/LinkExists.py +40 -0
  293. IceStorm/LinkInfo.py +50 -0
  294. IceStorm/LinkInfoSeq.py +12 -0
  295. IceStorm/NoSuchLink.py +40 -0
  296. IceStorm/NoSuchTopic.py +40 -0
  297. IceStorm/QoS.py +10 -0
  298. IceStorm/Topic.py +825 -0
  299. IceStorm/TopicDict.py +12 -0
  300. IceStorm/TopicExists.py +40 -0
  301. IceStorm/TopicManager.py +394 -0
  302. IceStorm/TopicManager_forward.py +10 -0
  303. IceStorm/Topic_forward.py +10 -0
  304. IceStorm/__init__.py +61 -0
  305. IceStorm/py.typed +0 -0
  306. slice/DataStorm/SampleEvent.ice +29 -0
  307. slice/Glacier2/Metrics.ice +47 -0
  308. slice/Glacier2/PermissionsVerifier.ice +55 -0
  309. slice/Glacier2/Router.ice +93 -0
  310. slice/Glacier2/SSLInfo.ice +42 -0
  311. slice/Glacier2/Session.ice +133 -0
  312. slice/Ice/BuiltinSequences.ice +54 -0
  313. slice/Ice/Context.ice +24 -0
  314. slice/Ice/EndpointTypes.ice +50 -0
  315. slice/Ice/Identity.ice +36 -0
  316. slice/Ice/Locator.ice +74 -0
  317. slice/Ice/LocatorRegistry.ice +77 -0
  318. slice/Ice/Metrics.ice +201 -0
  319. slice/Ice/OperationMode.ice +38 -0
  320. slice/Ice/Process.ice +28 -0
  321. slice/Ice/PropertiesAdmin.ice +37 -0
  322. slice/Ice/PropertyDict.ice +23 -0
  323. slice/Ice/RemoteLogger.ice +126 -0
  324. slice/Ice/ReplyStatus.ice +65 -0
  325. slice/Ice/Router.ice +54 -0
  326. slice/Ice/SliceChecksumDict.ice +18 -0
  327. slice/Ice/Version.ice +43 -0
  328. slice/IceBox/ServiceManager.ice +79 -0
  329. slice/IceGrid/Admin.ice +981 -0
  330. slice/IceGrid/Descriptor.ice +519 -0
  331. slice/IceGrid/Exception.ice +98 -0
  332. slice/IceGrid/FileParser.ice +36 -0
  333. slice/IceGrid/Registry.ice +130 -0
  334. slice/IceGrid/Session.ice +64 -0
  335. slice/IceGrid/UserAccountMapper.ice +34 -0
  336. slice/IceStorm/IceStorm.ice +186 -0
  337. slice/IceStorm/Metrics.ice +41 -0
  338. slice2py.py +20 -0
  339. zeroc_ice-3.8.0.dist-info/METADATA +106 -0
  340. zeroc_ice-3.8.0.dist-info/RECORD +343 -0
  341. zeroc_ice-3.8.0.dist-info/WHEEL +5 -0
  342. zeroc_ice-3.8.0.dist-info/entry_points.txt +2 -0
  343. zeroc_ice-3.8.0.dist-info/top_level.txt +10 -0
@@ -0,0 +1,93 @@
1
+ // Copyright (c) ZeroC, Inc.
2
+
3
+ #pragma once
4
+
5
+ [["cpp:dll-export:GLACIER2_API"]]
6
+ [["cpp:doxygen:include:Glacier2/Glacier2.h"]]
7
+ [["cpp:header-ext:h"]]
8
+
9
+ [["cpp:include:Glacier2/Config.h"]]
10
+
11
+ [["js:module:@zeroc/ice"]]
12
+
13
+ #include "Ice/Router.ice"
14
+ #include "PermissionsVerifier.ice"
15
+ #include "Session.ice"
16
+
17
+ /// Communicate through firewalls and across NATs.
18
+ ["java:identifier:com.zeroc.Glacier2"]
19
+ module Glacier2
20
+ {
21
+ /// The exception that is thrown when a client tries to destroy a session with a router, but no session exists for
22
+ /// this client.
23
+ /// @see Router#destroySession
24
+ exception SessionNotExistException
25
+ {
26
+ }
27
+
28
+ /// The Glacier2 specialization of the {@link Ice::Router} interface.
29
+ interface Router extends Ice::Router
30
+ {
31
+ /// Gets a unique category that identifies the client (caller) in the router. This category must be used in the
32
+ /// identities of all the client's callback objects.
33
+ /// @return The category. It's an empty string when `Glacier2.Server.Endpoints` is not configured.
34
+ ["cpp:const"]
35
+ idempotent string getCategoryForClient();
36
+
37
+ /// Creates a session for the client (caller) with the router. If a {@link SessionManager} is configured,
38
+ /// a proxy to a {@link Session} object is returned to the client. Otherwise, null is returned and only an
39
+ /// internal session (i.e., not visible to the client) is created.
40
+ /// If a non-null session proxy is returned, it must be configured to route through the router that created it.
41
+ /// This occurs automatically when the router is configured as the client's default router at the time the
42
+ /// session proxy is created in the client application; otherwise, the client must configure the session proxy
43
+ /// explicitly.
44
+ /// @param userId The user ID.
45
+ /// @param password The password.
46
+ /// @return A proxy for the newly created session, or null if no {@link SessionManager} is configured.
47
+ /// @throws PermissionDeniedException Thrown when an authentication or authorization failure occurs.
48
+ /// @throws CannotCreateSessionException Thrown when the session cannot be created.
49
+ /// @see Session
50
+ /// @see SessionManager
51
+ /// @see PermissionsVerifier
52
+ Session* createSession(string userId, string password)
53
+ throws PermissionDeniedException, CannotCreateSessionException;
54
+
55
+ /// Creates a per-client session with the router. The user is authenticated through the SSL certificate(s)
56
+ /// associated with the connection. If an {@link SSLSessionManager} is configured, a proxy to a {@link Session}
57
+ /// object is returned to the client. Otherwise, null is returned and only an internal session (i.e., not
58
+ /// visible to the client) is created.
59
+ /// If a non-null session proxy is returned, it must be configured to route through the router that created it.
60
+ /// This occurs automatically when the router is configured as the client's default router at the time the
61
+ /// session proxy is created in the client application; otherwise, the client must configure the session proxy
62
+ /// explicitly.
63
+ /// @return A proxy for the newly created session, or null if no {@link SSLSessionManager} is configured.
64
+ /// @throws PermissionDeniedException Thrown when an authentication or authorization failure occurs.
65
+ /// @throws CannotCreateSessionException Thrown when the session cannot be created.
66
+ /// @see Session
67
+ /// @see SessionManager
68
+ /// @see PermissionsVerifier
69
+ Session* createSessionFromSecureConnection()
70
+ throws PermissionDeniedException, CannotCreateSessionException;
71
+
72
+ /// Keeps the session with this router alive.
73
+ /// @throws SessionNotExistException Thrown when no session exists for the caller (client).
74
+ ["deprecated:As of Ice 3.8, this operation does nothing."]
75
+ void refreshSession()
76
+ throws SessionNotExistException;
77
+
78
+ /// Destroys the session of the caller with this router.
79
+ /// @throws SessionNotExistException Thrown when no session exists for the caller (client).
80
+ void destroySession()
81
+ throws SessionNotExistException;
82
+
83
+ /// Gets the idle timeout used by the server-side of the connection.
84
+ /// @return The idle timeout (in seconds).
85
+ ["cpp:const"]
86
+ idempotent long getSessionTimeout();
87
+
88
+ /// Gets the idle timeout used by the server-side of the connection.
89
+ /// @return The idle timeout (in seconds).
90
+ ["cpp:const"]
91
+ idempotent int getACMTimeout();
92
+ }
93
+ }
@@ -0,0 +1,42 @@
1
+ // Copyright (c) ZeroC, Inc.
2
+
3
+ #pragma once
4
+
5
+ [["cpp:dll-export:GLACIER2_API"]]
6
+ [["cpp:doxygen:include:Glacier2/Glacier2.h"]]
7
+ [["cpp:header-ext:h"]]
8
+
9
+ [["cpp:include:Glacier2/Config.h"]]
10
+
11
+ [["js:module:@zeroc/ice"]]
12
+
13
+ #include "Ice/BuiltinSequences.ice"
14
+
15
+ ["java:identifier:com.zeroc.Glacier2"]
16
+ module Glacier2
17
+ {
18
+ interface SSLPermissionsVerifier; // So that doc-comments can link to `SSLPermissionsVerifier`.
19
+
20
+ /// Represents information gathered from an incoming SSL connection and used for authentication and authorization.
21
+ /// @see SSLPermissionsVerifier
22
+ struct SSLInfo
23
+ {
24
+ /// The remote host.
25
+ string remoteHost;
26
+
27
+ /// The remote port.
28
+ int remotePort;
29
+
30
+ /// The router's host.
31
+ string localHost;
32
+
33
+ /// The router's port.
34
+ int localPort;
35
+
36
+ /// The negotiated cipher suite.
37
+ string cipher;
38
+
39
+ /// The certificate chain.
40
+ Ice::StringSeq certs;
41
+ }
42
+ }
@@ -0,0 +1,133 @@
1
+ // Copyright (c) ZeroC, Inc.
2
+
3
+ #pragma once
4
+
5
+ [["cpp:dll-export:GLACIER2_API"]]
6
+ [["cpp:doxygen:include:Glacier2/Glacier2.h"]]
7
+ [["cpp:header-ext:h"]]
8
+
9
+ [["cpp:include:Glacier2/Config.h"]]
10
+
11
+ [["js:module:@zeroc/ice"]]
12
+
13
+ #include "Ice/BuiltinSequences.ice"
14
+ #include "Ice/Identity.ice"
15
+ #include "SSLInfo.ice"
16
+
17
+ ["java:identifier:com.zeroc.Glacier2"]
18
+ module Glacier2
19
+ {
20
+ interface Router; // So that doc-comments can link to `Glacier2::Router`.
21
+
22
+ /// The exception that is thrown when an attempt to create a new session fails.
23
+ exception CannotCreateSessionException
24
+ {
25
+ /// The reason why the session creation failed.
26
+ string reason;
27
+ }
28
+
29
+ /// Represents a session between a client application and the Glacier2 router. With Glacier2, the lifetime of a
30
+ /// session is tied to the Ice connection between the client and the router: the session is destroyed when the
31
+ /// connection is closed.
32
+ /// @see Router
33
+ /// @see SessionManager
34
+ interface Session
35
+ {
36
+ /// Destroys this session.
37
+ void destroy();
38
+ }
39
+
40
+ /// Manages a set of constraints on a {@link Session}.
41
+ /// @see SessionControl
42
+ interface StringSet
43
+ {
44
+ /// Adds a sequence of strings to this set of constraints. Order is not preserved and duplicates are implicitly
45
+ /// removed.
46
+ /// @param additions The sequence of strings to add.
47
+ idempotent void add(Ice::StringSeq additions);
48
+
49
+ /// Removes a sequence of strings from this set of constraints. No errors are returned if an entry is not found.
50
+ /// @param deletions The sequence of strings to remove.
51
+ idempotent void remove(Ice::StringSeq deletions);
52
+
53
+ /// Gets a sequence of strings describing the constraints in this set.
54
+ /// @return The sequence of strings for this set.
55
+ ["swift:identifier:`get`"]
56
+ idempotent Ice::StringSeq get();
57
+ }
58
+
59
+ /// Manages a set of object identity constraints on a {@link Session}.
60
+ /// @see SessionControl
61
+ interface IdentitySet
62
+ {
63
+ /// Adds a sequence of Ice identities to this set of constraints. Order is not preserved and duplicates are
64
+ /// implicitly removed.
65
+ /// @param additions The sequence of Ice identities to add.
66
+ idempotent void add(Ice::IdentitySeq additions);
67
+
68
+ /// Removes a sequence of identities from this set of constraints. No errors are returned if an entry is not
69
+ /// found.
70
+ /// @param deletions The sequence of Ice identities to remove.
71
+ idempotent void remove(Ice::IdentitySeq deletions);
72
+
73
+ /// Gets a sequence of identities describing the constraints in this set.
74
+ /// @return The sequence of Ice identities for this set.
75
+ ["swift:identifier:`get`"]
76
+ idempotent Ice::IdentitySeq get();
77
+ }
78
+
79
+ /// Represents a router-provided object that allows an application-provided session manager to configure the
80
+ /// routing constraints for a session.
81
+ /// @see SessionManager
82
+ interface SessionControl
83
+ {
84
+ /// Gets a proxy to the object that manages the allowable categories for object identities for this session.
85
+ /// @return A proxy to a {@link StringSet} object. This proxy is never null.
86
+ StringSet* categories();
87
+
88
+ /// Gets a proxy to the object that manages the allowable adapter identities for objects for this session.
89
+ /// @return A proxy to a {@link StringSet} object. This proxy is never null.
90
+ StringSet* adapterIds();
91
+
92
+ /// Gets a proxy to the object that manages the allowable object identities for this session.
93
+ /// @return A proxy to an {@link IdentitySet} object. This proxy is never null.
94
+ IdentitySet* identities();
95
+
96
+ /// Gets the session timeout.
97
+ /// @return The timeout.
98
+ idempotent int getSessionTimeout();
99
+
100
+ /// Destroys the associated session.
101
+ void destroy();
102
+ }
103
+
104
+ /// Represents an application-provided factory for session objects. You can configure a Glacier2 router with your
105
+ /// own SessionManager implementation; this router will then return the sessions created by this session manager to
106
+ /// its clients.
107
+ interface SessionManager
108
+ {
109
+ /// Creates a new session object.
110
+ /// @param userId The user ID for the session.
111
+ /// @param control A proxy to the session control object. This proxy is null when `Glacier2.Server.Endpoints`
112
+ /// is not configured.
113
+ /// @return A proxy to the newly created session. This proxy is never null.
114
+ /// @throws CannotCreateSessionException Thrown when the session cannot be created.
115
+ Session* create(string userId, SessionControl* control)
116
+ throws CannotCreateSessionException;
117
+ }
118
+
119
+ /// Represents an application-provided factory for session objects. You can configure a Glacier2 router with your
120
+ /// own SSLSessionManager implementation; this router will then return the sessions created by this session manager
121
+ /// to its clients.
122
+ interface SSLSessionManager
123
+ {
124
+ /// Creates a new session object.
125
+ /// @param info The SSL info.
126
+ /// @param control A proxy to the session control object. This proxy is null when `Glacier2.Server.Endpoints`
127
+ /// is not configured.
128
+ /// @return A proxy to the newly created session. This proxy is never null.
129
+ /// @throws CannotCreateSessionException Thrown when the session cannot be created.
130
+ Session* create(SSLInfo info, SessionControl* control)
131
+ throws CannotCreateSessionException;
132
+ }
133
+ }
@@ -0,0 +1,54 @@
1
+ // Copyright (c) ZeroC, Inc.
2
+
3
+ #pragma once
4
+
5
+ [["cpp:dll-export:ICE_API"]]
6
+ [["cpp:doxygen:include:Ice/Ice.h"]]
7
+ [["cpp:header-ext:h"]]
8
+
9
+ [["cpp:no-default-include"]]
10
+ [["cpp:include:Ice/Config.h"]]
11
+ [["cpp:include:Ice/ObjectF.h"]]
12
+ [["cpp:include:Ice/ProxyF.h"]]
13
+ [["cpp:include:Ice/ValueF.h"]]
14
+ [["cpp:include:cstdint"]]
15
+ [["cpp:include:optional"]]
16
+ [["cpp:include:string"]]
17
+ [["cpp:include:vector"]]
18
+
19
+ [["js:module:@zeroc/ice"]]
20
+
21
+ ["java:identifier:com.zeroc.Ice"]
22
+ module Ice
23
+ {
24
+ /// A sequence of bools.
25
+ sequence<bool> BoolSeq;
26
+
27
+ /// A sequence of bytes.
28
+ sequence<byte> ByteSeq;
29
+
30
+ /// A sequence of shorts.
31
+ sequence<short> ShortSeq;
32
+
33
+ /// A sequence of ints.
34
+ sequence<int> IntSeq;
35
+
36
+ /// A sequence of longs.
37
+ sequence<long> LongSeq;
38
+
39
+ /// A sequence of floats.
40
+ sequence<float> FloatSeq;
41
+
42
+ /// A sequence of doubles.
43
+ sequence<double> DoubleSeq;
44
+
45
+ /// A sequence of strings.
46
+ sequence<string> StringSeq;
47
+
48
+ /// A sequence of class instances.
49
+ ["deprecated:Define your own sequence instead and avoid using the term `object` to designate a class instance."]
50
+ sequence<Value> ObjectSeq;
51
+
52
+ /// A sequence of object proxies.
53
+ sequence<Object*> ObjectProxySeq;
54
+ }
slice/Ice/Context.ice ADDED
@@ -0,0 +1,24 @@
1
+ // Copyright (c) ZeroC, Inc.
2
+
3
+ #pragma once
4
+
5
+ [["cpp:dll-export:ICE_API"]]
6
+ [["cpp:doxygen:include:Ice/Ice.h"]]
7
+ [["cpp:header-ext:h"]]
8
+
9
+ [["cpp:no-default-include"]]
10
+ [["cpp:include:Ice/Config.h"]]
11
+ [["cpp:include:map"]]
12
+ [["cpp:include:string"]]
13
+
14
+ [["js:module:@zeroc/ice"]]
15
+
16
+ ["java:identifier:com.zeroc.Ice"]
17
+ module Ice
18
+ {
19
+ /// Represents additional information carried by an Ice request. This information is filled in by the application
20
+ /// and transmitted by Ice as-is, from the client to the server.
21
+ /// @remark The Ice protocol provides request contexts but does not provide response contexts.
22
+ ["cpp:type:std::map<std::string, std::string, std::less<>>"]
23
+ dictionary<string, string> Context;
24
+ }
@@ -0,0 +1,50 @@
1
+ // Copyright (c) ZeroC, Inc.
2
+
3
+ #pragma once
4
+
5
+ [["cpp:dll-export:ICE_API"]]
6
+ [["cpp:doxygen:include:Ice/Ice.h"]]
7
+ [["cpp:header-ext:h"]]
8
+
9
+ [["cpp:no-default-include"]]
10
+ [["cpp:include:Ice/Config.h"]]
11
+ [["cpp:include:cstdint"]]
12
+
13
+ [["js:module:@zeroc/ice"]]
14
+
15
+ // The endpoint types are called transport codes in IceRPC. They are used to marshal endpoints (as part of proxies) with
16
+ // the Slice 1.x encoding.
17
+
18
+ ["java:identifier:com.zeroc.Ice"]
19
+ module Ice
20
+ {
21
+ /// Identifies endpoints marshaled as URI strings.
22
+ const short URIEndpointType = 0;
23
+
24
+ /// Identifies TCP endpoints.
25
+ const short TCPEndpointType = 1;
26
+
27
+ /// Identifies SSL endpoints.
28
+ const short SSLEndpointType = 2;
29
+
30
+ /// Identifies UDP endpoints.
31
+ const short UDPEndpointType = 3;
32
+
33
+ /// Identifies TCP-based WebSocket endpoints.
34
+ const short WSEndpointType = 4;
35
+
36
+ /// Identifies SSL-based WebSocket endpoints.
37
+ const short WSSEndpointType = 5;
38
+
39
+ /// Identifies Bluetooth endpoints.
40
+ const short BTEndpointType = 6;
41
+
42
+ /// Identifies SSL Bluetooth endpoints.
43
+ const short BTSEndpointType = 7;
44
+
45
+ /// Identifies iAP-based endpoints.
46
+ const short iAPEndpointType = 8;
47
+
48
+ /// Identifies SSL iAP-based endpoints.
49
+ const short iAPSEndpointType = 9;
50
+ }
slice/Ice/Identity.ice ADDED
@@ -0,0 +1,36 @@
1
+ // Copyright (c) ZeroC, Inc.
2
+
3
+ #pragma once
4
+
5
+ [["cpp:dll-export:ICE_API"]]
6
+ [["cpp:doxygen:include:Ice/Ice.h"]]
7
+ [["cpp:header-ext:h"]]
8
+
9
+ [["cpp:no-default-include"]]
10
+ [["cpp:include:Ice/Config.h"]]
11
+ [["cpp:include:Ice/StreamHelpers.h"]]
12
+ [["cpp:include:Ice/TupleCompare.h"]]
13
+ [["cpp:include:string"]]
14
+ [["cpp:include:vector"]]
15
+
16
+ [["js:module:@zeroc/ice"]]
17
+
18
+ /// The Ice RPC framework.
19
+ ["java:identifier:com.zeroc.Ice"]
20
+ module Ice
21
+ {
22
+ /// Represents the identity of an Ice object. It is comparable to the path of a URI. Its string representation is
23
+ /// `name` when the category is empty, and `category/name` when the category is not empty.
24
+ ["cpp:custom-print"]
25
+ struct Identity
26
+ {
27
+ /// The name of the Ice object. An empty name is not valid.
28
+ string name;
29
+
30
+ /// The category of the object.
31
+ string category = "";
32
+ }
33
+
34
+ /// A sequence of identities.
35
+ sequence<Identity> IdentitySeq;
36
+ }
slice/Ice/Locator.ice ADDED
@@ -0,0 +1,74 @@
1
+ // Copyright (c) ZeroC, Inc.
2
+
3
+ #pragma once
4
+
5
+ [["cpp:dll-export:ICE_API"]]
6
+ [["cpp:doxygen:include:Ice/Ice.h"]]
7
+ [["cpp:header-ext:h"]]
8
+
9
+ [["cpp:source-include:Ice/LocatorRegistry.h"]]
10
+
11
+ [["js:module:@zeroc/ice"]]
12
+
13
+ #include "Identity.ice"
14
+
15
+ ["java:identifier:com.zeroc.Ice"]
16
+ module Ice
17
+ {
18
+ /// The exception that is thrown by a {@link Locator} implementation when it cannot find an object adapter with the
19
+ /// provided adapter ID.
20
+ exception AdapterNotFoundException
21
+ {
22
+ }
23
+
24
+ /// The exception that is thrown by a {@link Locator} implementation when it cannot find an object with the provided
25
+ /// identity.
26
+ exception ObjectNotFoundException
27
+ {
28
+ }
29
+
30
+ interface LocatorRegistry;
31
+
32
+ /// Client applications use the Locator object to resolve Ice indirect proxies. This object also allows
33
+ /// server applications to retrieve a proxy to the associated {@link LocatorRegistry} object where they can register
34
+ /// their object adapters.
35
+ interface Locator
36
+ {
37
+ /// Finds an object by identity and returns a dummy proxy with the endpoint(s) that can be used to reach this
38
+ /// object. This dummy proxy may be an indirect proxy that requires further resolution using
39
+ /// {@link findAdapterById}.
40
+ /// @param id The identity.
41
+ /// @return A dummy proxy, or null if an object with the requested identity was not found.
42
+ /// @throws ObjectNotFoundException Thrown when an object with the requested identity was not found. The caller
43
+ /// should treat this exception like a null return value.
44
+ ["cpp:const"]
45
+ idempotent Object* findObjectById(Identity id)
46
+ throws ObjectNotFoundException;
47
+
48
+ /// Finds an object adapter by adapter ID and returns a dummy proxy with the object adapter's endpoint(s).
49
+ /// @param id The adapter ID.
50
+ /// @return A dummy proxy with the adapter's endpoints, or null if an object adapter with @p id was not found.
51
+ /// @throws AdapterNotFoundException Thrown when an object adapter with this adapter ID was not found. The
52
+ /// caller should treat this exception like a null return value.
53
+ ["cpp:const"]
54
+ idempotent Object* findAdapterById(string id)
55
+ throws AdapterNotFoundException;
56
+
57
+ /// Gets a proxy to the locator registry.
58
+ /// @return A proxy to the locator registry, or null if this locator has no associated registry.
59
+ ["cpp:const"]
60
+ idempotent LocatorRegistry* getRegistry();
61
+ }
62
+
63
+ /// Provides access to a {@link Locator} object via a fixed identity.
64
+ /// A LocatorFinder is always registered with identity `Ice/LocatorFinder`. This allows clients to obtain the
65
+ /// associated Locator proxy with just the endpoint information of the object. For example, you can use the
66
+ /// LocatorFinder proxy `Ice/LocatorFinder:tcp -h somehost -p 4061` to get the Locator proxy
67
+ /// `MyIceGrid/Locator:tcp -h somehost -p 4061`.
68
+ interface LocatorFinder
69
+ {
70
+ /// Gets a proxy to the associated {@link Locator}. The proxy might point to several replicas.
71
+ /// @return The locator proxy. This proxy is never null.
72
+ Locator* getLocator();
73
+ }
74
+ }
@@ -0,0 +1,77 @@
1
+ // Copyright (c) ZeroC, Inc.
2
+
3
+ #pragma once
4
+
5
+ [["cpp:dll-export:ICE_API"]]
6
+ [["cpp:doxygen:include:Ice/Ice.h"]]
7
+ [["cpp:header-ext:h"]]
8
+
9
+ [["cpp:source-include:Ice/Process.h"]]
10
+
11
+ [["js:module:@zeroc/ice"]]
12
+
13
+ #include "Locator.ice"
14
+
15
+ ["java:identifier:com.zeroc.Ice"]
16
+ module Ice
17
+ {
18
+ interface Process;
19
+
20
+ /// The exception that is thrown when a server application tries to register endpoints for an object adapter that is
21
+ /// already active.
22
+ exception AdapterAlreadyActiveException
23
+ {
24
+ }
25
+
26
+ /// The exception that is thrown when the provided replica group is invalid.
27
+ exception InvalidReplicaGroupIdException
28
+ {
29
+ }
30
+
31
+ /// The exception that is thrown when a server was not found.
32
+ exception ServerNotFoundException
33
+ {
34
+ }
35
+
36
+ /// A server application registers the endpoints of its indirect object adapters with the LocatorRegistry object.
37
+ interface LocatorRegistry
38
+ {
39
+ /// Registers or unregisters the endpoints of an object adapter.
40
+ /// @param id The adapter ID.
41
+ /// @param proxy A dummy proxy created by the object adapter. @p proxy carries the object adapter's endpoints.
42
+ /// The locator considers an object adapter to be active after it has registered its endpoints.
43
+ /// When @p proxy is null, the endpoints are unregistered and the locator considers the object adapter inactive.
44
+ /// @throws AdapterNotFoundException Thrown when the locator only allows registered object adapters to register
45
+ /// their endpoints and no object adapter with this adapter ID was registered with the locator.
46
+ /// @throws AdapterAlreadyActiveException Thrown when an object adapter with the same adapter ID has already
47
+ /// registered its endpoints. Since this operation is marked idempotent, this exception may be thrown when the
48
+ /// Ice client runtime retries an invocation with a non-null @p proxy.
49
+ idempotent void setAdapterDirectProxy(string id, Object* proxy)
50
+ throws AdapterNotFoundException, AdapterAlreadyActiveException;
51
+
52
+ /// Registers or unregisters the endpoints of an object adapter. This object adapter is a member of a replica
53
+ /// group.
54
+ /// @param adapterId The adapter ID.
55
+ /// @param replicaGroupId The replica group ID.
56
+ /// @param proxy A dummy proxy created by the object adapter. @p proxy carries the object adapter's endpoints.
57
+ /// The locator considers an object adapter to be active after it has registered its endpoints. When @p proxy is
58
+ /// null, the endpoints are unregistered and the locator considers the object adapter inactive.
59
+ /// @throws AdapterNotFoundException Thrown when the locator only allows registered object adapters to register
60
+ /// their endpoints and no object adapter with this adapter ID was registered with the locator.
61
+ /// @throws AdapterAlreadyActiveException Thrown when an object adapter with the same adapter ID has already
62
+ /// registered its endpoints. Since this operation is marked idempotent, this exception may be thrown when the
63
+ /// Ice client runtime retries an invocation with a non-null @p proxy.
64
+ /// @throws InvalidReplicaGroupIdException Thrown when the given replica group does not match the replica group
65
+ /// associated with the adapter ID in the locator's database.
66
+ idempotent void setReplicatedAdapterDirectProxy(string adapterId, string replicaGroupId, Object* proxy)
67
+ throws AdapterNotFoundException, AdapterAlreadyActiveException, InvalidReplicaGroupIdException;
68
+
69
+ /// Registers a proxy to the {@link Process} object of a server application.
70
+ /// @param id The server ID.
71
+ /// @param proxy A proxy to the {@link Process} object of the server. This proxy is never null.
72
+ /// @throws ServerNotFoundException Thrown when the locator does not know a server application with a server ID
73
+ /// of @p id.
74
+ idempotent void setServerProcessProxy(string id, Process* proxy)
75
+ throws ServerNotFoundException;
76
+ }
77
+ }