zeroc-ice 3.7.11__cp313-cp313-win_amd64.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 (143) hide show
  1. Glacier2/Metrics_ice.py +82 -0
  2. Glacier2/PermissionsVerifierF_ice.py +32 -0
  3. Glacier2/PermissionsVerifier_ice.py +284 -0
  4. Glacier2/RouterF_ice.py +28 -0
  5. Glacier2/Router_ice.py +618 -0
  6. Glacier2/SSLInfo_ice.py +179 -0
  7. Glacier2/Session_ice.py +1103 -0
  8. Glacier2/__init__.py +226 -0
  9. Ice/BuiltinSequences_ice.py +65 -0
  10. Ice/CommunicatorF_ice.py +27 -0
  11. Ice/Communicator_ice.py +469 -0
  12. Ice/ConnectionF_ice.py +33 -0
  13. Ice/Connection_ice.py +680 -0
  14. Ice/Current_ice.py +175 -0
  15. Ice/EndpointF_ice.py +45 -0
  16. Ice/EndpointTypes_ice.py +54 -0
  17. Ice/Endpoint_ice.py +304 -0
  18. Ice/FacetMap_ice.py +27 -0
  19. Ice/Identity_ice.py +133 -0
  20. Ice/ImplicitContextF_ice.py +27 -0
  21. Ice/ImplicitContext_ice.py +119 -0
  22. Ice/InstrumentationF_ice.py +38 -0
  23. Ice/Instrumentation_ice.py +566 -0
  24. Ice/LocalException_ice.py +1715 -0
  25. Ice/LocatorF_ice.py +32 -0
  26. Ice/Locator_ice.py +728 -0
  27. Ice/LoggerF_ice.py +27 -0
  28. Ice/Logger_ice.py +96 -0
  29. Ice/Metrics_ice.py +864 -0
  30. Ice/ObjectAdapterF_ice.py +27 -0
  31. Ice/ObjectAdapter_ice.py +461 -0
  32. Ice/ObjectFactory_ice.py +68 -0
  33. Ice/PluginF_ice.py +30 -0
  34. Ice/Plugin_ice.py +136 -0
  35. Ice/ProcessF_ice.py +28 -0
  36. Ice/Process_ice.py +175 -0
  37. Ice/PropertiesAdmin_ice.py +247 -0
  38. Ice/PropertiesF_ice.py +31 -0
  39. Ice/Properties_ice.py +199 -0
  40. Ice/Py3/IceFuture.py +52 -0
  41. Ice/Py3/__init__.py +3 -0
  42. Ice/RemoteLogger_ice.py +617 -0
  43. Ice/RouterF_ice.py +28 -0
  44. Ice/Router_ice.py +350 -0
  45. Ice/ServantLocatorF_ice.py +27 -0
  46. Ice/ServantLocator_ice.py +110 -0
  47. Ice/SliceChecksumDict_ice.py +29 -0
  48. Ice/ValueFactory_ice.py +125 -0
  49. Ice/Version_ice.py +217 -0
  50. Ice/__init__.py +2008 -0
  51. IceBox/IceBox_ice.py +644 -0
  52. IceBox/__init__.py +10 -0
  53. IceGrid/Admin_ice.py +6662 -0
  54. IceGrid/Descriptor_ice.py +1795 -0
  55. IceGrid/Exception_ice.py +592 -0
  56. IceGrid/FileParser_ice.py +171 -0
  57. IceGrid/PluginFacade_ice.py +288 -0
  58. IceGrid/Registry_ice.py +985 -0
  59. IceGrid/Session_ice.py +406 -0
  60. IceGrid/UserAccountMapper_ice.py +166 -0
  61. IceGrid/__init__.py +17 -0
  62. IceMX/__init__.py +12 -0
  63. IcePatch2/FileInfo_ice.py +287 -0
  64. IcePatch2/FileServer_ice.py +555 -0
  65. IcePatch2/__init__.py +11 -0
  66. IcePy.cp313-win_amd64.pdb +0 -0
  67. IcePy.cp313-win_amd64.pyd +0 -0
  68. IceStorm/IceStorm_ice.py +1265 -0
  69. IceStorm/Metrics_ice.py +106 -0
  70. IceStorm/__init__.py +10 -0
  71. slice/Glacier2/Metrics.ice +88 -0
  72. slice/Glacier2/PermissionsVerifier.ice +111 -0
  73. slice/Glacier2/PermissionsVerifierF.ice +30 -0
  74. slice/Glacier2/Router.ice +186 -0
  75. slice/Glacier2/RouterF.ice +29 -0
  76. slice/Glacier2/SSLInfo.ice +59 -0
  77. slice/Glacier2/Session.ice +274 -0
  78. slice/Ice/BuiltinSequences.ice +59 -0
  79. slice/Ice/Communicator.ice +676 -0
  80. slice/Ice/CommunicatorF.ice +31 -0
  81. slice/Ice/Connection.ice +516 -0
  82. slice/Ice/ConnectionF.ice +33 -0
  83. slice/Ice/Current.ice +170 -0
  84. slice/Ice/Endpoint.ice +291 -0
  85. slice/Ice/EndpointF.ice +43 -0
  86. slice/Ice/EndpointTypes.ice +48 -0
  87. slice/Ice/FacetMap.ice +36 -0
  88. slice/Ice/Identity.ice +75 -0
  89. slice/Ice/ImplicitContext.ice +119 -0
  90. slice/Ice/ImplicitContextF.ice +30 -0
  91. slice/Ice/Instrumentation.ice +509 -0
  92. slice/Ice/InstrumentationF.ice +38 -0
  93. slice/Ice/LocalException.ice +1040 -0
  94. slice/Ice/Locator.ice +239 -0
  95. slice/Ice/LocatorF.ice +32 -0
  96. slice/Ice/Logger.ice +99 -0
  97. slice/Ice/LoggerF.ice +31 -0
  98. slice/Ice/Metrics.ice +436 -0
  99. slice/Ice/ObjectAdapter.ice +710 -0
  100. slice/Ice/ObjectAdapterF.ice +31 -0
  101. slice/Ice/ObjectFactory.ice +71 -0
  102. slice/Ice/Plugin.ice +131 -0
  103. slice/Ice/PluginF.ice +36 -0
  104. slice/Ice/Process.ice +64 -0
  105. slice/Ice/ProcessF.ice +31 -0
  106. slice/Ice/Properties.ice +244 -0
  107. slice/Ice/PropertiesAdmin.ice +87 -0
  108. slice/Ice/PropertiesF.ice +32 -0
  109. slice/Ice/RemoteLogger.ice +226 -0
  110. slice/Ice/Router.ice +103 -0
  111. slice/Ice/RouterF.ice +31 -0
  112. slice/Ice/ServantLocator.ice +136 -0
  113. slice/Ice/ServantLocatorF.ice +31 -0
  114. slice/Ice/SliceChecksumDict.ice +36 -0
  115. slice/Ice/ValueFactory.ice +133 -0
  116. slice/Ice/Version.ice +51 -0
  117. slice/IceBT/ConnectionInfo.ice +59 -0
  118. slice/IceBT/EndpointInfo.ice +57 -0
  119. slice/IceBT/Types.ice +45 -0
  120. slice/IceBox/IceBox.ice +216 -0
  121. slice/IceGrid/Admin.ice +1957 -0
  122. slice/IceGrid/Descriptor.ice +1094 -0
  123. slice/IceGrid/Exception.ice +396 -0
  124. slice/IceGrid/FileParser.ice +72 -0
  125. slice/IceGrid/PluginFacade.ice +329 -0
  126. slice/IceGrid/Registry.ice +269 -0
  127. slice/IceGrid/Session.ice +128 -0
  128. slice/IceGrid/UserAccountMapper.ice +69 -0
  129. slice/IceIAP/ConnectionInfo.ice +74 -0
  130. slice/IceIAP/EndpointInfo.ice +68 -0
  131. slice/IcePatch2/FileInfo.ice +85 -0
  132. slice/IcePatch2/FileServer.ice +191 -0
  133. slice/IceSSL/ConnectionInfo.ice +54 -0
  134. slice/IceSSL/ConnectionInfoF.ice +31 -0
  135. slice/IceSSL/EndpointInfo.ice +45 -0
  136. slice/IceStorm/IceStorm.ice +414 -0
  137. slice/IceStorm/Metrics.ice +83 -0
  138. slice2py.py +21 -0
  139. zeroc_ice-3.7.11.dist-info/METADATA +97 -0
  140. zeroc_ice-3.7.11.dist-info/RECORD +143 -0
  141. zeroc_ice-3.7.11.dist-info/WHEEL +5 -0
  142. zeroc_ice-3.7.11.dist-info/entry_points.txt +2 -0
  143. zeroc_ice-3.7.11.dist-info/top_level.txt +10 -0
@@ -0,0 +1,329 @@
1
+ //
2
+ // Copyright (c) ZeroC, Inc. All rights reserved.
3
+ //
4
+
5
+ #pragma once
6
+
7
+ [["cpp:dll-export:ICEGRID_API"]]
8
+ [["cpp:doxygen:include:IceGrid/IceGrid.h"]]
9
+ [["cpp:header-ext:h"]]
10
+ [["cpp:include:IceGrid/Config.h"]]
11
+
12
+ [["ice-prefix"]]
13
+
14
+ [["js:module:ice"]]
15
+ [["js:cjs-module"]]
16
+
17
+ [["objc:dll-export:ICEGRID_API"]]
18
+ [["objc:header-dir:objc"]]
19
+
20
+ [["python:pkgdir:IceGrid"]]
21
+
22
+ #include <Ice/BuiltinSequences.ice>
23
+ #include <Ice/Current.ice>
24
+
25
+ #include <IceGrid/Admin.ice>
26
+
27
+ #ifndef __SLICE2JAVA_COMPAT__
28
+ [["java:package:com.zeroc"]]
29
+ #endif
30
+
31
+ ["objc:prefix:ICEGRID"]
32
+ module IceGrid
33
+ {
34
+
35
+ /**
36
+ *
37
+ * The ReplicaGroupFilter is used by IceGrid to filter adapters
38
+ * returned to the client when it resolves a filtered replica group.
39
+ *
40
+ * IceGrid provides the list of available adapters. The implementation
41
+ * of this method can use the provided context and connection to
42
+ * filter and return the filtered set of adapters.
43
+ *
44
+ **/
45
+ local interface ReplicaGroupFilter
46
+ {
47
+ /**
48
+ *
49
+ * Filter the given set of adapters.
50
+ *
51
+ * @param replicaGroupId The replica group ID.
52
+ *
53
+ * @param adapterIds The adpater IDs to filter.
54
+ *
55
+ * @param con The connection from the Ice client which is
56
+ * resolving the replica group endpoints.
57
+ *
58
+ * @param ctx The context from the Ice client which is resolving
59
+ * the replica group endpoints.
60
+ *
61
+ * @return The filtered adapter IDs.
62
+ *
63
+ **/
64
+ Ice::StringSeq filter(string replicaGroupId, Ice::StringSeq adapterIds, Ice::Connection con, Ice::Context ctx);
65
+ }
66
+
67
+ /**
68
+ *
69
+ * The TypeFilter is used by IceGrid to filter well-known proxies
70
+ * returned to the client when it searches a well-known object by
71
+ * type.
72
+ *
73
+ * IceGrid provides the list of available proxies. The implementation
74
+ * of this method can use the provided context and connection to
75
+ * filter and return the filtered set of proxies.
76
+ *
77
+ **/
78
+ local interface TypeFilter
79
+ {
80
+ /**
81
+ *
82
+ * Filter the given set of proxies.
83
+ *
84
+ * @param type The type.
85
+ *
86
+ * @param proxies The proxies to filter.
87
+ *
88
+ * @param con The connection from the Ice client which is
89
+ * looking up well-known objects by type.
90
+ *
91
+ * @param ctx The context from the Ice client which is looking up
92
+ * well-known objects by type.
93
+ *
94
+ * @return The filtered proxies.
95
+ *
96
+ **/
97
+ Ice::ObjectProxySeq filter(string type, Ice::ObjectProxySeq proxies, Ice::Connection con, Ice::Context ctx);
98
+ }
99
+
100
+ /**
101
+ *
102
+ * The RegistryPluginFacade is implemented by IceGrid and can be used
103
+ * by plugins and filter implementations to retrieve information from
104
+ * IceGrid about the well-known objects or adapters. It's also used to
105
+ * register/unregister replica group and type filters.
106
+ *
107
+ **/
108
+ local interface RegistryPluginFacade
109
+ {
110
+ /**
111
+ *
112
+ * Get an application descriptor.
113
+ *
114
+ * @param name The application name.
115
+ *
116
+ * @return The application descriptor.
117
+ *
118
+ * @throws ApplicationNotExistException Raised if the application
119
+ * doesn't exist.
120
+ *
121
+ **/
122
+ ["nonmutating", "cpp:const"] idempotent ApplicationInfo getApplicationInfo(string name)
123
+ throws ApplicationNotExistException;
124
+
125
+ /**
126
+ *
127
+ * Get the server information for the server with the given id.
128
+ *
129
+ * @param id The server id.
130
+ *
131
+ * @throws ServerNotExistException Raised if the server doesn't exist.
132
+ *
133
+ * @return The server information.
134
+ *
135
+ **/
136
+ ["nonmutating", "cpp:const"] idempotent ServerInfo getServerInfo(string id)
137
+ throws ServerNotExistException;
138
+
139
+ /**
140
+ *
141
+ * Get the ID of the server to which the given adapter belongs.
142
+ *
143
+ * @param adapterId The adapter ID.
144
+ *
145
+ * @return The server ID or the empty string if the given
146
+ * identifier is not associated to an object adapter defined with
147
+ * an application descriptor.
148
+ *
149
+ * @throws AdapterNotExistException Raised if the adapter doesn't
150
+ * exist.
151
+ *
152
+ **/
153
+ ["nonmutating", "cpp:const"] idempotent string getAdapterServer(string adapterId)
154
+ throws AdapterNotExistException;
155
+
156
+ /**
157
+ *
158
+ * Get the name of the application to which the given adapter belongs.
159
+ *
160
+ * @param adapterId The adapter ID.
161
+ *
162
+ * @return The application name or the empty string if the given
163
+ * identifier is not associated to a replica group or object
164
+ * adapter defined with an application descriptor.
165
+ *
166
+ * @throws AdapterNotExistException Raised if the adapter doesn't
167
+ * exist.
168
+ *
169
+ **/
170
+ ["nonmutating", "cpp:const"] idempotent string getAdapterApplication(string adapterId)
171
+ throws AdapterNotExistException;
172
+
173
+ /**
174
+ *
175
+ * Get the name of the node to which the given adapter belongs.
176
+ *
177
+ * @param adapterId The adapter ID.
178
+ *
179
+ * @return The node name or the empty string if the given
180
+ * identifier is not associated to an object adapter defined with
181
+ * an application descriptor.
182
+ *
183
+ * @throws AdapterNotExistException Raised if the adapter doesn't
184
+ * exist.
185
+ *
186
+ **/
187
+ ["nonmutating", "cpp:const"] idempotent string getAdapterNode(string adapterId)
188
+ throws AdapterNotExistException;
189
+
190
+ /**
191
+ *
192
+ * Get the adapter information for the replica group or adapter
193
+ * with the given id.
194
+ *
195
+ * @param id The adapter id.
196
+ *
197
+ * @return A sequence of adapter information structures. If the
198
+ * given id refers to an adapter, this sequence will contain only
199
+ * one element. If the given id refers to a replica group, the
200
+ * sequence will contain the adapter information of each member of
201
+ * the replica group.
202
+ *
203
+ * @throws AdapterNotExistException Raised if the adapter or
204
+ * replica group doesn't exist.
205
+ *
206
+ **/
207
+ ["nonmutating", "cpp:const"] idempotent AdapterInfoSeq getAdapterInfo(string id)
208
+ throws AdapterNotExistException;
209
+
210
+ /**
211
+ *
212
+ * Get the object info for the object with the given identity.
213
+ *
214
+ * @param id The identity of the object.
215
+ *
216
+ * @return The object info.
217
+ *
218
+ * @throws ObjectNotRegisteredException Raised if the object isn't
219
+ * registered with the registry.
220
+ *
221
+ **/
222
+ ["nonmutating", "cpp:const"] idempotent ObjectInfo getObjectInfo(Ice::Identity id)
223
+ throws ObjectNotRegisteredException;
224
+
225
+ /**
226
+ *
227
+ * Get the node information for the node with the given name.
228
+ *
229
+ * @param name The node name.
230
+ *
231
+ * @return The node information.
232
+ *
233
+ * @throws NodeNotExistException Raised if the node doesn't exist.
234
+ *
235
+ * @throws NodeUnreachableException Raised if the node could not be
236
+ * reached.
237
+ *
238
+ **/
239
+ ["nonmutating", "cpp:const"] idempotent NodeInfo getNodeInfo(string name)
240
+ throws NodeNotExistException, NodeUnreachableException;
241
+
242
+ /**
243
+ *
244
+ * Get the load averages of the node.
245
+ *
246
+ * @param name The node name.
247
+ *
248
+ * @return The node load information.
249
+ *
250
+ * @throws NodeNotExistException Raised if the node doesn't exist.
251
+ *
252
+ * @throws NodeUnreachableException Raised if the node could not be
253
+ * reached.
254
+ *
255
+ **/
256
+ ["nonmutating", "cpp:const"] idempotent LoadInfo getNodeLoad(string name)
257
+ throws NodeNotExistException, NodeUnreachableException;
258
+
259
+ /**
260
+ *
261
+ * Get the property value for the given property and adapter. The
262
+ * property is looked up in the server or service descriptor where
263
+ * the adapter is defined.
264
+ *
265
+ * @param adapterId The adapter ID
266
+ *
267
+ * @param name The name of the property.
268
+ *
269
+ * @return The property value.
270
+ *
271
+ * @throws AdapterNotExistException Raised if the adapter doesn't exist.
272
+ *
273
+ **/
274
+ ["nonmutating", "cpp:const"] idempotent string getPropertyForAdapter(string adapterId, string name)
275
+ throws AdapterNotExistException;
276
+
277
+ /**
278
+ *
279
+ * Add a replica group filter.
280
+ *
281
+ * @param id The identifier of the filter. This identifier must
282
+ * match the value of the "filter" attribute specified in the
283
+ * replica group descriptor. To filter dynamically registered
284
+ * replica groups, you should use the empty filter id.
285
+ *
286
+ * @param filter The filter implementation.
287
+ *
288
+ **/
289
+ ["cpp:noexcept", "swift:noexcept"] void addReplicaGroupFilter(string id, ReplicaGroupFilter filter);
290
+
291
+ /**
292
+ *
293
+ * Remove a replica group filter.
294
+ *
295
+ * @param id The identifier of the filter.
296
+ *
297
+ * @param filter The filter implementation.
298
+ *
299
+ * @return True of the filter was removed, false otherwise.
300
+ *
301
+ **/
302
+ ["cpp:noexcept", "swift:noexcept"] bool removeReplicaGroupFilter(string id, ReplicaGroupFilter filter);
303
+
304
+ /**
305
+ *
306
+ * Add a type filter.
307
+ *
308
+ * @param type The type to register this filter with.
309
+ *
310
+ * @param filter The filter implementation.
311
+ *
312
+ **/
313
+ ["cpp:noexcept", "swift:noexcept"] void addTypeFilter(string type, TypeFilter filter);
314
+
315
+ /**
316
+ *
317
+ * Remove a type filter.
318
+ *
319
+ * @param type The type to register this filter with.
320
+ *
321
+ * @param filter The filter implementation.
322
+ *
323
+ * @return True of the filter was removed, false otherwise.
324
+ *
325
+ **/
326
+ ["cpp:noexcept", "swift:noexcept"] bool removeTypeFilter(string type, TypeFilter filter);
327
+ }
328
+
329
+ }
@@ -0,0 +1,269 @@
1
+ //
2
+ // Copyright (c) ZeroC, Inc. All rights reserved.
3
+ //
4
+
5
+ #pragma once
6
+
7
+ [["cpp:dll-export:ICEGRID_API"]]
8
+ [["cpp:doxygen:include:IceGrid/IceGrid.h"]]
9
+ [["cpp:header-ext:h"]]
10
+ [["cpp:include:IceGrid/Config.h"]]
11
+
12
+ [["ice-prefix"]]
13
+
14
+ [["js:module:ice"]]
15
+ [["js:cjs-module"]]
16
+
17
+ [["objc:dll-export:ICEGRID_API"]]
18
+ [["objc:header-dir:objc"]]
19
+
20
+ [["python:pkgdir:IceGrid"]]
21
+
22
+ #include <IceGrid/Exception.ice>
23
+ #include <IceGrid/Session.ice>
24
+ #include <IceGrid/Admin.ice>
25
+ #include <Ice/Locator.ice>
26
+
27
+ #ifndef __SLICE2JAVA_COMPAT__
28
+ [["java:package:com.zeroc"]]
29
+ #endif
30
+
31
+ ["objc:prefix:ICEGRID"]
32
+ module IceGrid
33
+ {
34
+
35
+ /**
36
+ *
37
+ * Determines which load sampling interval to use.
38
+ *
39
+ **/
40
+ enum LoadSample
41
+ {
42
+ /**
43
+ * Sample every minute.
44
+ **/
45
+ LoadSample1,
46
+
47
+ /**
48
+ * Sample every five minutes.
49
+ **/
50
+ LoadSample5,
51
+
52
+ /**
53
+ * Sample every fifteen minutes.
54
+ **/
55
+ LoadSample15
56
+ }
57
+
58
+ /**
59
+ *
60
+ * The IceGrid query interface. This interface is accessible to
61
+ * Ice clients who wish to look up well-known objects.
62
+ *
63
+ **/
64
+ interface Query
65
+ {
66
+ /**
67
+ *
68
+ * Find a well-known object by identity.
69
+ *
70
+ * @param id The identity.
71
+ *
72
+ * @return The proxy or null if no such object has been found.
73
+ *
74
+ **/
75
+ ["nonmutating", "cpp:const"] idempotent Object* findObjectById(Ice::Identity id);
76
+
77
+ /**
78
+ *
79
+ * Find a well-known object by type. If there are several objects
80
+ * registered for the given type, the object is randomly
81
+ * selected.
82
+ *
83
+ * @param type The object type.
84
+ *
85
+ * @return The proxy or null, if no such object has been found.
86
+ *
87
+ **/
88
+ ["nonmutating", "cpp:const"] idempotent Object* findObjectByType(string type);
89
+
90
+ /**
91
+ *
92
+ * Find a well-known object by type on the least-loaded node. If
93
+ * the registry does not know which node hosts the object
94
+ * (for example, because the object was registered with a direct proxy), the
95
+ * registry assumes the object is hosted on a node that has a load
96
+ * average of 1.0.
97
+ *
98
+ * @param type The object type.
99
+ *
100
+ * @param sample The sampling interval.
101
+ *
102
+ * @return The proxy or null, if no such object has been found.
103
+ *
104
+ **/
105
+ ["nonmutating", "cpp:const"] idempotent Object* findObjectByTypeOnLeastLoadedNode(string type, LoadSample sample);
106
+
107
+ /**
108
+ *
109
+ * Find all the well-known objects with the given type.
110
+ *
111
+ * @param type The object type.
112
+ *
113
+ * @return The proxies or an empty sequence, if no such objects
114
+ * have been found.
115
+ *
116
+ **/
117
+ ["nonmutating", "cpp:const"] idempotent Ice::ObjectProxySeq findAllObjectsByType(string type);
118
+
119
+ /**
120
+ *
121
+ * Find all the object replicas associated with the given
122
+ * proxy. If the given proxy is not an indirect proxy from a
123
+ * replica group, an empty sequence is returned.
124
+ *
125
+ * @param proxy The object proxy.
126
+ *
127
+ * @return The proxies of each object replica or an empty sequence,
128
+ * if the given proxy is not from a replica group.
129
+ *
130
+ **/
131
+ ["cpp:const"] idempotent Ice::ObjectProxySeq findAllReplicas(Object* proxy);
132
+ }
133
+
134
+ /**
135
+ *
136
+ * The IceGrid registry allows clients create sessions
137
+ * directly with the registry.
138
+ *
139
+ * @see Session
140
+ * @see AdminSession
141
+ *
142
+ **/
143
+ interface Registry
144
+ {
145
+ /**
146
+ *
147
+ * Create a client session.
148
+ *
149
+ * @return A proxy for the newly created session.
150
+ *
151
+ * @param userId The user id.
152
+ *
153
+ * @param password The password for the given user id.
154
+ *
155
+ * @throws PermissionDeniedException Raised if the password for
156
+ * the given user id is not correct, or if the user is not allowed
157
+ * access.
158
+ *
159
+ **/
160
+ Session* createSession(string userId, string password)
161
+ throws PermissionDeniedException;
162
+
163
+ /**
164
+ *
165
+ * Create an administrative session.
166
+ *
167
+ * @return A proxy for the newly created session.
168
+ *
169
+ * @param userId The user id.
170
+ *
171
+ * @param password The password for the given user id.
172
+ *
173
+ * @throws PermissionDeniedException Raised if the password for
174
+ * the given user id is not correct, or if the user is not allowed
175
+ * access.
176
+ *
177
+ **/
178
+ AdminSession* createAdminSession(string userId, string password)
179
+ throws PermissionDeniedException;
180
+
181
+ /**
182
+ *
183
+ * Create a client session from a secure connection.
184
+ *
185
+ * @return A proxy for the newly created session.
186
+ *
187
+ * @throws PermissionDeniedException Raised if the password for
188
+ * the given user id is not correct, or if the user is not allowed
189
+ * access.
190
+ *
191
+ **/
192
+ Session* createSessionFromSecureConnection()
193
+ throws PermissionDeniedException;
194
+
195
+ /**
196
+ *
197
+ * Create an administrative session from a secure connection.
198
+ *
199
+ * @return A proxy for the newly created session.
200
+ *
201
+ * @throws PermissionDeniedException Raised if the password for
202
+ * the given user id is not correct, or if the user is not allowed
203
+ * access.
204
+ *
205
+ **/
206
+ AdminSession* createAdminSessionFromSecureConnection()
207
+ throws PermissionDeniedException;
208
+
209
+ /**
210
+ *
211
+ * Get the session timeout. If a client or administrative client
212
+ * doesn't call the session keepAlive method in the time interval
213
+ * defined by this timeout, IceGrid might reap the session.
214
+ *
215
+ * @see Session#keepAlive
216
+ * @see AdminSession#keepAlive
217
+ *
218
+ * @return The timeout (in seconds).
219
+ *
220
+ **/
221
+ ["nonmutating", "cpp:const"] idempotent int getSessionTimeout();
222
+
223
+ /**
224
+ *
225
+ * Get the value of the ACM timeout. Clients supporting ACM
226
+ * connection heartbeats can enable them instead of explicitly
227
+ * sending keep alives requests.
228
+ *
229
+ * NOTE: This method is only available since Ice 3.6.
230
+ *
231
+ * @return The timeout (in seconds).
232
+ *
233
+ **/
234
+ ["nonmutating", "cpp:const"] idempotent int getACMTimeout();
235
+ }
236
+
237
+ /**
238
+ *
239
+ * The IceGrid locator interface provides access to the {@link Query}
240
+ * and {@link Registry} object of the IceGrid registry.
241
+ *
242
+ * @see Query
243
+ * @see Registry
244
+ *
245
+ **/
246
+ interface Locator extends Ice::Locator
247
+ {
248
+ /**
249
+ *
250
+ * Get the proxy of the registry object hosted by this IceGrid
251
+ * registry.
252
+ *
253
+ * @return The proxy of the registry object.
254
+ *
255
+ **/
256
+ ["cpp:const"] idempotent Registry* getLocalRegistry();
257
+
258
+ /**
259
+ *
260
+ * Get the proxy of the query object hosted by this IceGrid
261
+ * registry.
262
+ *
263
+ * @return The proxy of the query object.
264
+ *
265
+ **/
266
+ ["cpp:const"] idempotent Query* getLocalQuery();
267
+ }
268
+
269
+ }
@@ -0,0 +1,128 @@
1
+ //
2
+ // Copyright (c) ZeroC, Inc. All rights reserved.
3
+ //
4
+
5
+ #pragma once
6
+
7
+ [["cpp:dll-export:ICEGRID_API"]]
8
+ [["cpp:doxygen:include:IceGrid/IceGrid.h"]]
9
+ [["cpp:header-ext:h"]]
10
+ [["cpp:include:IceGrid/Config.h"]]
11
+
12
+ [["ice-prefix"]]
13
+
14
+ [["js:module:ice"]]
15
+ [["js:cjs-module"]]
16
+
17
+ [["objc:dll-export:ICEGRID_API"]]
18
+ [["objc:header-dir:objc"]]
19
+
20
+ [["python:pkgdir:IceGrid"]]
21
+
22
+ #include <Glacier2/Session.ice>
23
+ #include <IceGrid/Exception.ice>
24
+
25
+ #ifndef __SLICE2JAVA_COMPAT__
26
+ [["java:package:com.zeroc"]]
27
+ #endif
28
+
29
+ ["objc:prefix:ICEGRID"]
30
+ module IceGrid
31
+ {
32
+
33
+ /**
34
+ *
35
+ * A session object is used by IceGrid clients to allocate and
36
+ * release objects. Client sessions are created either via the
37
+ * {@link Registry} object or via the registry client <code>SessionManager</code>
38
+ * object.
39
+ *
40
+ * @see Registry
41
+ *
42
+ **/
43
+ interface Session extends Glacier2::Session
44
+ {
45
+ /**
46
+ *
47
+ * Keep the session alive. Clients should call this operation
48
+ * regularly to prevent the server from reaping the session.
49
+ *
50
+ * @see Registry#getSessionTimeout
51
+ *
52
+ **/
53
+ idempotent void keepAlive();
54
+
55
+ /**
56
+ *
57
+ * Allocate an object. Depending on the allocation timeout, this
58
+ * operation might hang until the object is available or until the
59
+ * timeout is reached.
60
+ *
61
+ * @param id The identity of the object to allocate.
62
+ *
63
+ * @return The proxy of the allocated object.
64
+ *
65
+ * @throws ObjectNotRegisteredException Raised if the object with
66
+ * the given identity is not registered with the registry.
67
+ *
68
+ * @throws AllocationException Raised if the object can't be
69
+ * allocated.
70
+ *
71
+ * @see #setAllocationTimeout
72
+ * @see #releaseObject
73
+ *
74
+ **/
75
+ ["amd"] Object* allocateObjectById(Ice::Identity id)
76
+ throws ObjectNotRegisteredException, AllocationException;
77
+
78
+ /**
79
+ *
80
+ * Allocate an object with the given type. Depending on the
81
+ * allocation timeout, this operation can block until an object
82
+ * becomes available or until the timeout is reached.
83
+ *
84
+ * @param type The type of the object.
85
+ *
86
+ * @return The proxy of the allocated object.
87
+ *
88
+ * @throws AllocationException Raised if the object could not be allocated.
89
+ *
90
+ * @see #setAllocationTimeout
91
+ * @see #releaseObject
92
+ *
93
+ **/
94
+ ["amd"] Object* allocateObjectByType(string type)
95
+ throws AllocationException;
96
+
97
+ /**
98
+ *
99
+ * Release an object that was allocated using <code>allocateObjectById</code> or
100
+ * <code>allocateObjectByType</code>.
101
+ *
102
+ * @param id The identity of the object to release.
103
+ *
104
+ * @throws ObjectNotRegisteredException Raised if the object with
105
+ * the given identity is not registered with the registry.
106
+ *
107
+ * @throws AllocationException Raised if the given object can't be
108
+ * released. This might happen if the object isn't allocatable or
109
+ * isn't allocated by the session.
110
+ *
111
+ **/
112
+ void releaseObject(Ice::Identity id)
113
+ throws ObjectNotRegisteredException, AllocationException;
114
+
115
+ /**
116
+ *
117
+ * Set the allocation timeout. If no objects are available for an
118
+ * allocation request, a call to <code>allocateObjectById</code> or
119
+ * <code>allocateObjectByType</code> will block for the duration of this
120
+ * timeout.
121
+ *
122
+ * @param timeout The timeout in milliseconds.
123
+ *
124
+ **/
125
+ idempotent void setAllocationTimeout(int timeout);
126
+ }
127
+
128
+ }