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
Ice/ServantLocator.py ADDED
@@ -0,0 +1,93 @@
1
+ # Copyright (c) ZeroC, Inc.
2
+
3
+ from abc import ABC, abstractmethod
4
+
5
+ from .Current import Current
6
+ from .Object import Object
7
+
8
+
9
+ class ServantLocator(ABC):
10
+ """
11
+ A servant locator is called by an object adapter to locate a servant that is not found in its active servant map.
12
+ """
13
+
14
+ @abstractmethod
15
+ def locate(self, current: Current) -> tuple[Object | None, object | None]:
16
+ """
17
+ Called before a request is dispatched if a servant cannot be found in the object adapter's active servant map.
18
+
19
+ Note that the object adapter does not automatically insert the returned servant into its active servant map.
20
+ This must be done by the servant locator implementation, if desired. The `locate` method can throw any user
21
+ exception. If it does, that exception is marshaled back to the client. If the Slice definition for the corresponding
22
+ operation includes that user exception, the client receives that user exception; otherwise, the client receives
23
+ `UnknownUserException`.
24
+
25
+ If `locate` throws any exception, the Ice runtime does not call `finished`. If you call `locate` from your own code,
26
+ you must also call `finished` when you have finished using the servant, provided that `locate` returned a non-null
27
+ servant.
28
+
29
+ Parameters
30
+ ----------
31
+ current : Current
32
+ Information about the current operation for which a servant is required.
33
+
34
+ Returns
35
+ -------
36
+ tuple[Object | None, object | None]
37
+
38
+ A tuple containing the following:
39
+ - retval : Object or None
40
+ The located servant, or None if no suitable servant has been found.
41
+ - cookie : object | None
42
+ A "cookie" that will be passed to `finished`.
43
+
44
+ Raises
45
+ ------
46
+ UserException
47
+ The implementation can raise a `UserException` and the runtime will marshal it as the result of the invocation.
48
+ """
49
+ pass
50
+
51
+ @abstractmethod
52
+ def finished(self, current: Current, servant: Object, cookie: object | None):
53
+ """
54
+ Called by the object adapter after a request has been made.
55
+
56
+ This operation is only called if `locate` was called prior to the request and returned a non-null servant.
57
+ This operation can be used for cleanup purposes after a request.
58
+
59
+ The `finished` method can throw any user exception. If it does, that exception is marshaled back to the client.
60
+ If the Slice definition for the corresponding operation includes that user exception, the client receives that user
61
+ exception; otherwise, the client receives `UnknownUserException`. If both the operation and `finished` throw an
62
+ exception, the exception thrown by `finished` is marshaled back to the client.
63
+
64
+ Parameters
65
+ ----------
66
+ current : Current
67
+ Information about the current operation call for which a servant was located by `locate`.
68
+ servant : Object
69
+ The servant that was returned by `locate`.
70
+ cookie : object | None
71
+ The cookie that was returned by `locate`.
72
+
73
+ Raises
74
+ ------
75
+ UserException
76
+ The implementation can raise a `UserException` and the runtime will marshal it as the result of the invocation.
77
+ """
78
+ pass
79
+
80
+ @abstractmethod
81
+ def deactivate(self, category: str):
82
+ """
83
+ Called when the object adapter in which this servant locator is installed is destroyed.
84
+
85
+ Parameters
86
+ ----------
87
+ category : str
88
+ Indicates for which category the servant locator is being deactivated.
89
+ """
90
+ pass
91
+
92
+
93
+ __all__ = ["ServantLocator"]
@@ -0,0 +1,34 @@
1
+ # Copyright (c) ZeroC, Inc.
2
+
3
+ # slice2py version 3.8.0
4
+
5
+ from __future__ import annotations
6
+ import IcePy
7
+
8
+ from Ice.UserException import UserException
9
+
10
+ from dataclasses import dataclass
11
+
12
+
13
+ @dataclass
14
+ class ServerNotFoundException(UserException):
15
+ """
16
+ The exception that is thrown when a server was not found.
17
+
18
+ Notes
19
+ -----
20
+ The Slice compiler generated this exception dataclass from Slice exception ``::Ice::ServerNotFoundException``.
21
+ """
22
+
23
+ _ice_id = "::Ice::ServerNotFoundException"
24
+
25
+ _Ice_ServerNotFoundException_t = IcePy.defineException(
26
+ "::Ice::ServerNotFoundException",
27
+ ServerNotFoundException,
28
+ (),
29
+ None,
30
+ ())
31
+
32
+ setattr(ServerNotFoundException, '_ice_type', _Ice_ServerNotFoundException_t)
33
+
34
+ __all__ = ["ServerNotFoundException", "_Ice_ServerNotFoundException_t"]
Ice/ShortSeq.py ADDED
@@ -0,0 +1,10 @@
1
+ # Copyright (c) ZeroC, Inc.
2
+
3
+ # slice2py version 3.8.0
4
+
5
+ from __future__ import annotations
6
+ import IcePy
7
+
8
+ _Ice_ShortSeq_t = IcePy.defineSequence("::Ice::ShortSeq", (), IcePy._t_short)
9
+
10
+ __all__ = ["_Ice_ShortSeq_t"]
@@ -0,0 +1,10 @@
1
+ # Copyright (c) ZeroC, Inc.
2
+
3
+ # slice2py version 3.8.0
4
+
5
+ from __future__ import annotations
6
+ import IcePy
7
+
8
+ _Ice_SliceChecksumDict_t = IcePy.defineDictionary("::Ice::SliceChecksumDict", (), IcePy._t_string, IcePy._t_string)
9
+
10
+ __all__ = ["_Ice_SliceChecksumDict_t"]
Ice/SliceInfo.py ADDED
@@ -0,0 +1,22 @@
1
+ # Copyright (c) ZeroC, Inc.
2
+
3
+
4
+ class SliceInfo:
5
+ """
6
+ Encapsulates the details of a slice with an unknown type.
7
+
8
+ Attributes
9
+ ----------
10
+ typeId : str
11
+ The Slice type ID for this slice.
12
+ compactId : int
13
+ The Slice compact type ID for this slice.
14
+ bytes : bytes
15
+ The encoded bytes for this slice, including the leading size integer.
16
+ hasOptionalMembers : bool
17
+ Whether or not the slice contains optional members.
18
+ isLastSlice : bool
19
+ Whether or not this is the last slice.
20
+ """
21
+
22
+ pass
Ice/SlicedData.py ADDED
@@ -0,0 +1,14 @@
1
+ # Copyright (c) ZeroC, Inc.
2
+
3
+
4
+ class SlicedData:
5
+ """
6
+ Holds class slices that cannot be unmarshaled because their types are not known locally.
7
+
8
+ Attributes
9
+ ----------
10
+ slices : tuple[SliceInfo, ...]
11
+ The details of each slice, in order of most-derived to least-derived.
12
+ """
13
+
14
+ pass
Ice/StringSeq.py ADDED
@@ -0,0 +1,10 @@
1
+ # Copyright (c) ZeroC, Inc.
2
+
3
+ # slice2py version 3.8.0
4
+
5
+ from __future__ import annotations
6
+ import IcePy
7
+
8
+ _Ice_StringSeq_t = IcePy.defineSequence("::Ice::StringSeq", (), IcePy._t_string)
9
+
10
+ __all__ = ["_Ice_StringSeq_t"]
Ice/TCPEndpointType.py ADDED
@@ -0,0 +1,11 @@
1
+ # Copyright (c) ZeroC, Inc.
2
+
3
+ # slice2py version 3.8.0
4
+
5
+ from __future__ import annotations
6
+ import IcePy
7
+
8
+
9
+ TCPEndpointType = 1
10
+
11
+ __all__ = ["TCPEndpointType"]
Ice/ToStringMode.py ADDED
@@ -0,0 +1,34 @@
1
+ # Copyright (c) ZeroC, Inc.
2
+
3
+ from enum import Enum
4
+
5
+
6
+ class ToStringMode(Enum):
7
+ """
8
+ The output mode for xxxToString methods such as identityToString and proxyToString. The actual encoding format for
9
+ the string is the same for all modes: you don't need to specify an encoding format or mode when reading such a
10
+ string.
11
+
12
+ Enumerators:
13
+
14
+ - Unicode:
15
+ Characters with ordinal values greater than 127 are kept as-is in the resulting string. Non-printable ASCII
16
+ characters with ordinal values 127 and below are encoded as \\t, \\n (etc.) or \\unnnn.
17
+
18
+ - ASCII:
19
+ Characters with ordinal values greater than 127 are encoded as universal character names in the resulting
20
+ string \\unnnn for BMP characters and \\Unnnnnnnn for non-BMP characters. Non-printable ASCII characters
21
+ with ordinal values 127 and below are encoded as \\t, \\n (etc.) or \\unnnn.
22
+
23
+ - Compat:
24
+ Characters with ordinal values greater than 127 are encoded as a sequence of UTF-8 bytes using octal escapes.
25
+ Characters with ordinal values 127 and below are encoded as \\t, \\n (etc.) or an octal escape. Use this mode
26
+ to generate strings compatible with Ice 3.6 and earlier.
27
+ """
28
+
29
+ Unicode = 0
30
+ ASCII = 1
31
+ Compat = 2
32
+
33
+
34
+ __all__ = ["ToStringMode"]
Ice/UDPEndpointType.py ADDED
@@ -0,0 +1,11 @@
1
+ # Copyright (c) ZeroC, Inc.
2
+
3
+ # slice2py version 3.8.0
4
+
5
+ from __future__ import annotations
6
+ import IcePy
7
+
8
+
9
+ UDPEndpointType = 3
10
+
11
+ __all__ = ["UDPEndpointType"]
Ice/URIEndpointType.py ADDED
@@ -0,0 +1,11 @@
1
+ # Copyright (c) ZeroC, Inc.
2
+
3
+ # slice2py version 3.8.0
4
+
5
+ from __future__ import annotations
6
+ import IcePy
7
+
8
+
9
+ URIEndpointType = 0
10
+
11
+ __all__ = ["URIEndpointType"]
@@ -0,0 +1,31 @@
1
+ # Copyright (c) ZeroC, Inc.
2
+
3
+ import IcePy
4
+
5
+ from .Value import Value
6
+
7
+
8
+ class UnknownSlicedValue(Value):
9
+ """
10
+ Unknown sliced value holds an instance of an unknown Slice class type.
11
+
12
+ Attributes
13
+ ----------
14
+ unknownTypeId : str
15
+ The type ID of the unknown Slice class type.
16
+ """
17
+
18
+ _ice_type = None # Will be set after class definition
19
+ unknownTypeId: str
20
+
21
+ def ice_id(self):
22
+ return self.unknownTypeId
23
+
24
+
25
+ IcePy._t_UnknownSlicedValue = IcePy.defineValue(
26
+ "::Ice::UnknownSlicedValue", UnknownSlicedValue, -1, (), False, None, ()
27
+ )
28
+
29
+ UnknownSlicedValue._ice_type = IcePy._t_UnknownSlicedValue
30
+
31
+ __all__ = ["UnknownSlicedValue"]
Ice/UserException.py ADDED
@@ -0,0 +1,18 @@
1
+ # Copyright (c) ZeroC, Inc.
2
+
3
+ from .Exception import Exception as IceException
4
+
5
+
6
+ class UserException(IceException):
7
+ """
8
+ The base class for all user-defined exceptions.
9
+ """
10
+
11
+ def __str__(self):
12
+ # Types derived from UserException are data classes. We override __str__ to delegate to the generated __repr__,
13
+ # since the built-in __str__ from BaseException only works when all arguments are passed to the constructor,
14
+ # which is not the case for exceptions unmarshalled from the wire.
15
+ return self.__repr__()
16
+
17
+
18
+ __all__ = ["UserException"]
Ice/Util.py ADDED
@@ -0,0 +1,170 @@
1
+ # Copyright (c) ZeroC, Inc.
2
+
3
+ from __future__ import annotations
4
+
5
+ import asyncio
6
+ import os
7
+ import sys
8
+ from typing import TYPE_CHECKING, overload
9
+
10
+ import IcePy
11
+
12
+ from .asyncio.EventLoopAdapter import EventLoopAdapter as AsyncIOEventLoopAdapter
13
+ from .Communicator import Communicator
14
+ from .InitializationData import InitializationData
15
+ from .Properties import Properties
16
+
17
+ if TYPE_CHECKING:
18
+ import asyncio
19
+
20
+ from Ice import Communicator, Identity, InitializationData, Properties, ToStringMode
21
+
22
+ __name__ = "Ice"
23
+
24
+
25
+ @overload
26
+ def initialize(args: list[str] | None = None, eventLoop: asyncio.AbstractEventLoop | None = None) -> Communicator: ...
27
+
28
+
29
+ @overload
30
+ def initialize(*, initData: InitializationData | None = None) -> Communicator: ...
31
+
32
+
33
+ def initialize(
34
+ args: list[str] | None = None,
35
+ eventLoop: asyncio.AbstractEventLoop | None = None,
36
+ initData: InitializationData | None = None,
37
+ ) -> Communicator:
38
+ """
39
+ Creates a new communicator. This function is provided for backwards compatibility. New code should call the
40
+ :class:`Communicator` constructor directly.
41
+
42
+ Parameters
43
+ ----------
44
+ args : list of str, optional
45
+ The command-line arguments.
46
+ eventLoop : asyncio.AbstractEventLoop, optional
47
+ An asyncio event loop used to run coroutines and wrap futures. This argument and the `initData` argument are
48
+ mutually exclusive.
49
+ initData : InitializationData, optional
50
+ Options for the new communicator. This argument and the `args` argument are mutually exclusive.
51
+
52
+ Returns
53
+ -------
54
+ Communicator
55
+ The new communicator.
56
+ """
57
+ return Communicator(initData=initData) if initData is not None else Communicator(args, eventLoop)
58
+
59
+
60
+ def identityToString(identity: Identity, toStringMode: ToStringMode | None = None) -> str:
61
+ """
62
+ Convert an object identity to a string.
63
+
64
+ Parameters
65
+ ----------
66
+ identity : Ice.Identity
67
+ The object identity to convert.
68
+ toStringMode : Ice.ToStringMode, optional
69
+ Specifies if and how non-printable ASCII characters are escaped in the result.
70
+
71
+ Returns
72
+ -------
73
+ str
74
+ The string representation of the object identity.
75
+ """
76
+ return IcePy.identityToString(identity, toStringMode)
77
+
78
+
79
+ def stringToIdentity(str: str) -> Identity:
80
+ """
81
+ Convert a string to an object identity.
82
+
83
+ Parameters
84
+ ----------
85
+ str : str
86
+ The string to convert.
87
+
88
+ Returns
89
+ -------
90
+ Identity
91
+ The converted object identity.
92
+
93
+ Raises
94
+ ------
95
+ ParseException
96
+ If the string cannot be converted to an object identity.
97
+ """
98
+ return IcePy.stringToIdentity(str)
99
+
100
+
101
+ def createProperties(args: list[str] | None = None, defaults: Properties | None = None) -> Properties:
102
+ """
103
+ Creates a property set initialized from command-line arguments and a default property set.
104
+
105
+ This function is provided for backwards compatibility. New code should call the :class:`Properties` constructor
106
+ directly.
107
+
108
+ Parameters
109
+ ----------
110
+ args : list[str], optional
111
+ The command-line arguments.
112
+ defaults : Properties, optional
113
+ Default values for the new property set.
114
+
115
+ Returns
116
+ -------
117
+ Properties
118
+ A new property set.
119
+ """
120
+ return Properties(args, defaults)
121
+
122
+
123
+ def getSliceDir() -> str | None:
124
+ """
125
+ Returns the path to the directory where the Ice Slice files are installed.
126
+
127
+ This helper function locates the installation directory for the Ice Slice files,
128
+ typically used to configure include paths for Slice compilers.
129
+
130
+ Returns
131
+ -------
132
+ str or None
133
+ The absolute path to the directory containing the Ice Slice files, or ``None`` if the directory cannot be found.
134
+ """
135
+
136
+ # Get the parent of the directory containing this file (__init__.py).
137
+ pyHome = os.path.join(os.path.dirname(__file__), "..")
138
+
139
+ # Detect setup.py installation in site-packages. The slice files live one level above this file.
140
+ dir = os.path.join(pyHome, "slice")
141
+ if os.path.isdir(dir):
142
+ return dir
143
+
144
+ # For an installation from a source distribution the "slice" directory is a sibling of the "python"
145
+ # directory.
146
+ dir = os.path.join(pyHome, "..", "slice")
147
+ if os.path.exists(dir):
148
+ return os.path.normpath(dir)
149
+
150
+ # In a source distribution, the "slice" directory is an extra level higher.
151
+ dir = os.path.join(pyHome, "..", "..", "slice")
152
+ if os.path.exists(dir):
153
+ return os.path.normpath(dir)
154
+
155
+ if sys.platform[:5] == "linux":
156
+ # Check the default Linux location.
157
+ dir = os.path.join("/", "usr", "share", "ice", "slice")
158
+ if os.path.exists(dir):
159
+ return dir
160
+
161
+ elif sys.platform == "darwin":
162
+ # Check the default macOS homebrew location.
163
+ dir = os.path.join("/", "usr", "local", "share", "ice", "slice")
164
+ if os.path.exists(dir):
165
+ return dir
166
+
167
+ return None
168
+
169
+
170
+ __all__ = ["initialize", "identityToString", "stringToIdentity", "createProperties", "getSliceDir"]
Ice/Value.py ADDED
@@ -0,0 +1,59 @@
1
+ # Copyright (c) ZeroC, Inc.
2
+
3
+ import IcePy
4
+
5
+ from .SlicedData import SlicedData
6
+
7
+
8
+ class Value:
9
+ """
10
+ The base class for instances of Slice-defined classes.
11
+ """
12
+
13
+ def ice_id(self) -> str:
14
+ """
15
+ Obtain the type ID corresponding to the most-derived Slice interface supported by the target object.
16
+
17
+ Returns
18
+ -------
19
+ str
20
+ The type ID.
21
+ """
22
+ # Call ice_staticId() on self to get the value from the most-derived class.
23
+ return self.ice_staticId()
24
+
25
+ @staticmethod
26
+ def ice_staticId() -> str:
27
+ """
28
+ Obtain the type ID of this Slice class or interface.
29
+
30
+ Returns
31
+ -------
32
+ str
33
+ The type ID.
34
+ """
35
+ return "::Ice::Object"
36
+
37
+ #
38
+ # Do not define these here. They will be invoked if defined by a subclass.
39
+ #
40
+ # def ice_preMarshal(self):
41
+ # pass
42
+ #
43
+ # def ice_postUnmarshal(self):
44
+ # pass
45
+
46
+ def ice_getSlicedData(self) -> SlicedData | None:
47
+ """
48
+ Return the sliced data if the value has a preserved-slice base class and has been sliced during
49
+ un-marshaling of the value. Return None otherwise.
50
+
51
+ Returns
52
+ -------
53
+ SlicedData | None
54
+ The sliced data or None.
55
+ """
56
+ return getattr(self, "_ice_slicedData", None)
57
+
58
+
59
+ IcePy._t_Value = IcePy.defineValue("::Ice::Object", Value, -1, (), False, None, ())
Ice/Value_forward.py ADDED
@@ -0,0 +1,7 @@
1
+ # Copyright (c) ZeroC, Inc.
2
+
3
+ import IcePy
4
+
5
+ _Ice_Value_t = IcePy.declareValue("::Ice::Object")
6
+
7
+ __all__ = ["_Ice_Value_t"]
Ice/WSEndpointType.py ADDED
@@ -0,0 +1,11 @@
1
+ # Copyright (c) ZeroC, Inc.
2
+
3
+ # slice2py version 3.8.0
4
+
5
+ from __future__ import annotations
6
+ import IcePy
7
+
8
+
9
+ WSEndpointType = 4
10
+
11
+ __all__ = ["WSEndpointType"]
Ice/WSSEndpointType.py ADDED
@@ -0,0 +1,11 @@
1
+ # Copyright (c) ZeroC, Inc.
2
+
3
+ # slice2py version 3.8.0
4
+
5
+ from __future__ import annotations
6
+ import IcePy
7
+
8
+
9
+ WSSEndpointType = 5
10
+
11
+ __all__ = ["WSSEndpointType"]
Ice/_ArrayUtil.py ADDED
@@ -0,0 +1,51 @@
1
+ # Copyright (c) ZeroC, Inc.
2
+
3
+ import array
4
+
5
+ from .Builtin import BuiltinBool, BuiltinByte, BuiltinDouble, BuiltinFloat, BuiltinInt, BuiltinLong, BuiltinShort
6
+
7
+ BuiltinTypes = [
8
+ BuiltinBool,
9
+ BuiltinByte,
10
+ BuiltinShort,
11
+ BuiltinInt,
12
+ BuiltinLong,
13
+ BuiltinFloat,
14
+ BuiltinDouble,
15
+ ]
16
+ BuiltinArrayTypes = ["b", "b", "h", "i", "q", "f", "d"]
17
+
18
+
19
+ def createArray(view: memoryview | None, t: int) -> array.array:
20
+ if t not in BuiltinTypes:
21
+ raise ValueError(f"'{t}' is not an array builtin type")
22
+
23
+ a = array.array(BuiltinArrayTypes[t])
24
+ if view is not None:
25
+ a.frombytes(view)
26
+ return a
27
+
28
+
29
+ try:
30
+ import numpy
31
+
32
+ BuiltinNumpyTypes = [
33
+ numpy.bool,
34
+ numpy.int8,
35
+ numpy.int16,
36
+ numpy.int32,
37
+ numpy.int64,
38
+ numpy.float32,
39
+ numpy.float64,
40
+ ]
41
+
42
+ def createNumPyArray(view: memoryview | None, t: int) -> numpy.ndarray:
43
+ if t not in BuiltinTypes:
44
+ raise ValueError(f"'{t}' is not an array builtin type")
45
+ if view is not None:
46
+ return numpy.frombuffer(view.tobytes(), BuiltinNumpyTypes[t])
47
+ else:
48
+ return numpy.empty(0, BuiltinNumpyTypes[t])
49
+
50
+ except ImportError:
51
+ pass
Ice/_LoggerI.py ADDED
@@ -0,0 +1,32 @@
1
+ # Copyright (c) ZeroC, Inc.
2
+
3
+ from typing import Self, final
4
+
5
+ import IcePy
6
+
7
+ from .Logger import Logger
8
+
9
+
10
+ @final
11
+ class LoggerI(Logger):
12
+ def __init__(self, impl: IcePy.Logger):
13
+ self._impl = impl
14
+
15
+ def print(self, message: str):
16
+ return self._impl.print(message)
17
+
18
+ def trace(self, category: str, message: str):
19
+ return self._impl.trace(category, message)
20
+
21
+ def warning(self, message: str):
22
+ return self._impl.warning(message)
23
+
24
+ def error(self, message: str):
25
+ return self._impl.error(message)
26
+
27
+ def getPrefix(self) -> str:
28
+ return self._impl.getPrefix()
29
+
30
+ def cloneWithPrefix(self, prefix: str) -> Logger:
31
+ logger: IcePy.Logger = self._impl.cloneWithPrefix(prefix)
32
+ return LoggerI(logger)