Ice 3.8
C++ API Reference
Loading...
Searching...
No Matches
Registry.h
1// Copyright (c) ZeroC, Inc.
2
3// slice2cpp version 3.8.0-alpha.0
4// <auto-generated>Generated from Slice file 'Registry.ice'.</auto-generated>
5// clang-format off
6
7#ifndef IceGrid_Registry_h_
8#define IceGrid_Registry_h_
9
11#include <Ice/Ice.h>
12#include "Admin.h"
13#include <Ice/Locator.h>
14#include "Session.h"
15#include <IceGrid/Config.h>
16
17#ifndef ICE_DISABLE_VERSION
18# if ICE_INT_VERSION != 30850
19# error Ice version mismatch: an exact match is required for beta generated code
20# endif
21#endif
22
23#ifndef ICEGRID_API
24# if defined(ICEGRID_API_EXPORTS)
25# define ICEGRID_API ICE_DECLSPEC_EXPORT
26# else
27# define ICEGRID_API ICE_DECLSPEC_IMPORT
28# endif
29#endif
30
31// NOLINTBEGIN(modernize-concat-nested-namespaces)
32
33/// Deploy and manage Ice servers.
34namespace IceGrid
35{
36 /// Determines which load sampling interval to use.
37 enum class LoadSample : std::uint8_t
38 {
39 /// Sample every minute.
41
42 /// Sample every five minutes.
44
45 /// Sample every fifteen minutes.
47 };
48
49 /// Outputs the enumerator name or underlying value of a LoadSample to a stream.
50 /// @param os The output stream.
51 /// @param value The value to output.
52 /// @return The output stream.
53 ICEGRID_API std::ostream& operator<<(std::ostream& os, LoadSample value);
54
55 class QueryPrx;
56
57 class RegistryPrx;
58
59 class LocatorPrx;
60}
61
62namespace IceGrid
63{
64 /// Finds well-known Ice objects registered with the IceGrid registry.
65 /// @headerfile IceGrid/IceGrid.h
66 class ICEGRID_API QueryPrx : public Ice::Proxy<QueryPrx, Ice::ObjectPrx>
67 {
68 public:
69 /// Constructs a proxy from a Communicator and a proxy string.
70 /// @param communicator The communicator of the new proxy.
71 /// @param proxyString The proxy string to parse.
72 QueryPrx(const Ice::CommunicatorPtr& communicator, std::string_view proxyString) : Ice::ObjectPrx{communicator, proxyString} {} // NOLINT(modernize-use-equals-default)
73
74 /// Copy constructor. Constructs with a copy of the contents of @p other.
75 /// @param other The proxy to copy from.
76 QueryPrx(const QueryPrx& other) noexcept : Ice::ObjectPrx{other} {} // NOLINT(modernize-use-equals-default)
77
78 /// Move constructor. Constructs a proxy with the contents of @p other using move semantics.
79 /// @param other The proxy to move from.
80 QueryPrx(QueryPrx&& other) noexcept : Ice::ObjectPrx{std::move(other)} {} // NOLINT(modernize-use-equals-default)
81
82 ~QueryPrx() override;
83
84 /// Copy assignment operator. Replaces the contents of this proxy with a copy of the contents of @p rhs.
85 /// @param rhs The proxy to copy from.
86 /// @return A reference to this proxy.
87 QueryPrx& operator=(const QueryPrx& rhs) noexcept
88 {
89 if (this != &rhs)
90 {
92 }
93 return *this;
94 }
95
96 /// Move assignment operator. Replaces the contents of this proxy with the contents of @p rhs using move semantics.
97 /// @param rhs The proxy to move from.
98 QueryPrx& operator=(QueryPrx&& rhs) noexcept
99 {
100 if (this != &rhs)
101 {
102 Ice::ObjectPrx::operator=(std::move(rhs));
103 }
104 return *this;
105 }
106
107 /// Finds a well-known object by identity.
108 /// @param id The identity.
109 /// @param context The request context.
110 /// @return A proxy to the well-known object, or null if no such object is registered.
111 std::optional<Ice::ObjectPrx> findObjectById(const ::Ice::Identity& id, const Ice::Context& context = Ice::noExplicitContext) const; // NOLINT(modernize-use-nodiscard)
112
113 /// Finds a well-known object by identity.
114 /// @param id The identity.
115 /// @param context The request context.
116 /// @return A future that becomes available when the invocation completes. This future holds:
117 /// - A proxy to the well-known object, or null if no such object is registered.
118 [[nodiscard]] std::future<std::optional<Ice::ObjectPrx>> findObjectByIdAsync(const ::Ice::Identity& id, const Ice::Context& context = Ice::noExplicitContext) const;
119
120 /// Finds a well-known object by identity.
121 /// @param id The identity.
122 /// @param response The response callback. It accepts:
123 /// - A proxy to the well-known object, or null if no such object is registered.
124 /// @param exception The exception callback.
125 /// @param sent The sent callback.
126 /// @param context The request context.
127 /// @return A function that can be called to cancel the invocation locally.
128 // NOLINTNEXTLINE(modernize-use-nodiscard)
129 std::function<void()> findObjectByIdAsync(const ::Ice::Identity& id, std::function<void(std::optional<Ice::ObjectPrx>)> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
130
131 /// @private
132 void _iceI_findObjectById(const std::shared_ptr<IceInternal::OutgoingAsyncT<std::optional<Ice::ObjectPrx>>>&, const ::Ice::Identity&, const Ice::Context&) const;
133
134 /// Finds a well-known object by type. If there are several objects registered for the given type, the object is
135 /// randomly selected.
136 /// @param type The object type.
137 /// @param context The request context.
138 /// @return A proxy to a well-known object with the specified type, or null if no such object is registered.
139 std::optional<Ice::ObjectPrx> findObjectByType(std::string_view type, const Ice::Context& context = Ice::noExplicitContext) const; // NOLINT(modernize-use-nodiscard)
140
141 /// Finds a well-known object by type. If there are several objects registered for the given type, the object is
142 /// randomly selected.
143 /// @param type The object type.
144 /// @param context The request context.
145 /// @return A future that becomes available when the invocation completes. This future holds:
146 /// - A proxy to a well-known object with the specified type, or null if no such object is registered.
147 [[nodiscard]] std::future<std::optional<Ice::ObjectPrx>> findObjectByTypeAsync(std::string_view type, const Ice::Context& context = Ice::noExplicitContext) const;
148
149 /// Finds a well-known object by type. If there are several objects registered for the given type, the object is
150 /// randomly selected.
151 /// @param type The object type.
152 /// @param response The response callback. It accepts:
153 /// - A proxy to a well-known object with the specified type, or null if no such object is registered.
154 /// @param exception The exception callback.
155 /// @param sent The sent callback.
156 /// @param context The request context.
157 /// @return A function that can be called to cancel the invocation locally.
158 // NOLINTNEXTLINE(modernize-use-nodiscard)
159 std::function<void()> findObjectByTypeAsync(std::string_view type, std::function<void(std::optional<Ice::ObjectPrx>)> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
160
161 /// @private
162 void _iceI_findObjectByType(const std::shared_ptr<IceInternal::OutgoingAsyncT<std::optional<Ice::ObjectPrx>>>&, std::string_view, const Ice::Context&) const;
163
164 /// Finds a well-known object by type on the least-loaded node. If the registry does not know which node hosts
165 /// the object (for example, because the object was registered with a direct proxy), the registry assumes the
166 /// object is hosted on a node that has a load average of 1.0.
167 /// @param type The object type.
168 /// @param sample The sampling interval.
169 /// @param context The request context.
170 /// @return A proxy to the well-known object, or null if no such object is registered.
171 std::optional<Ice::ObjectPrx> findObjectByTypeOnLeastLoadedNode(std::string_view type, LoadSample sample, const Ice::Context& context = Ice::noExplicitContext) const; // NOLINT(modernize-use-nodiscard)
172
173 /// Finds a well-known object by type on the least-loaded node. If the registry does not know which node hosts
174 /// the object (for example, because the object was registered with a direct proxy), the registry assumes the
175 /// object is hosted on a node that has a load average of 1.0.
176 /// @param type The object type.
177 /// @param sample The sampling interval.
178 /// @param context The request context.
179 /// @return A future that becomes available when the invocation completes. This future holds:
180 /// - A proxy to the well-known object, or null if no such object is registered.
181 [[nodiscard]] std::future<std::optional<Ice::ObjectPrx>> findObjectByTypeOnLeastLoadedNodeAsync(std::string_view type, LoadSample sample, const Ice::Context& context = Ice::noExplicitContext) const;
182
183 /// Finds a well-known object by type on the least-loaded node. If the registry does not know which node hosts
184 /// the object (for example, because the object was registered with a direct proxy), the registry assumes the
185 /// object is hosted on a node that has a load average of 1.0.
186 /// @param type The object type.
187 /// @param sample The sampling interval.
188 /// @param response The response callback. It accepts:
189 /// - A proxy to the well-known object, or null if no such object is registered.
190 /// @param exception The exception callback.
191 /// @param sent The sent callback.
192 /// @param context The request context.
193 /// @return A function that can be called to cancel the invocation locally.
194 // NOLINTNEXTLINE(modernize-use-nodiscard)
195 std::function<void()> findObjectByTypeOnLeastLoadedNodeAsync(std::string_view type, LoadSample sample, std::function<void(std::optional<Ice::ObjectPrx>)> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
196
197 /// @private
198 void _iceI_findObjectByTypeOnLeastLoadedNode(const std::shared_ptr<IceInternal::OutgoingAsyncT<std::optional<Ice::ObjectPrx>>>&, std::string_view, LoadSample, const Ice::Context&) const;
199
200 /// Finds all the well-known objects with the given type.
201 /// @param type The object type.
202 /// @param context The request context.
203 /// @return A list of proxies to the well-known objects with the specified type. Can be empty.
204 ::Ice::ObjectProxySeq findAllObjectsByType(std::string_view type, const Ice::Context& context = Ice::noExplicitContext) const; // NOLINT(modernize-use-nodiscard)
205
206 /// Finds all the well-known objects with the given type.
207 /// @param type The object type.
208 /// @param context The request context.
209 /// @return A future that becomes available when the invocation completes. This future holds:
210 /// - A list of proxies to the well-known objects with the specified type. Can be empty.
211 [[nodiscard]] std::future<::Ice::ObjectProxySeq> findAllObjectsByTypeAsync(std::string_view type, const Ice::Context& context = Ice::noExplicitContext) const;
212
213 /// Finds all the well-known objects with the given type.
214 /// @param type The object type.
215 /// @param response The response callback. It accepts:
216 /// - A list of proxies to the well-known objects with the specified type. Can be empty.
217 /// @param exception The exception callback.
218 /// @param sent The sent callback.
219 /// @param context The request context.
220 /// @return A function that can be called to cancel the invocation locally.
221 // NOLINTNEXTLINE(modernize-use-nodiscard)
222 std::function<void()> findAllObjectsByTypeAsync(std::string_view type, std::function<void(::Ice::ObjectProxySeq)> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
223
224 /// @private
225 void _iceI_findAllObjectsByType(const std::shared_ptr<IceInternal::OutgoingAsyncT<::Ice::ObjectProxySeq>>&, std::string_view, const Ice::Context&) const;
226
227 /// Finds all the replicas of a well-known object.
228 /// @param proxy A proxy that identifies the well-known object.
229 /// @param context The request context.
230 /// @return A list of proxies to the replicas of the well-known object specified by @p proxy. Can be empty.
231 ::Ice::ObjectProxySeq findAllReplicas(const std::optional<Ice::ObjectPrx>& proxy, const Ice::Context& context = Ice::noExplicitContext) const; // NOLINT(modernize-use-nodiscard)
232
233 /// Finds all the replicas of a well-known object.
234 /// @param proxy A proxy that identifies the well-known object.
235 /// @param context The request context.
236 /// @return A future that becomes available when the invocation completes. This future holds:
237 /// - A list of proxies to the replicas of the well-known object specified by @p proxy. Can be empty.
238 [[nodiscard]] std::future<::Ice::ObjectProxySeq> findAllReplicasAsync(const std::optional<Ice::ObjectPrx>& proxy, const Ice::Context& context = Ice::noExplicitContext) const;
239
240 /// Finds all the replicas of a well-known object.
241 /// @param proxy A proxy that identifies the well-known object.
242 /// @param response The response callback. It accepts:
243 /// - A list of proxies to the replicas of the well-known object specified by @p proxy. Can be empty.
244 /// @param exception The exception callback.
245 /// @param sent The sent callback.
246 /// @param context The request context.
247 /// @return A function that can be called to cancel the invocation locally.
248 // NOLINTNEXTLINE(modernize-use-nodiscard)
249 std::function<void()> findAllReplicasAsync(const std::optional<Ice::ObjectPrx>& proxy, std::function<void(::Ice::ObjectProxySeq)> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
250
251 /// @private
252 void _iceI_findAllReplicas(const std::shared_ptr<IceInternal::OutgoingAsyncT<::Ice::ObjectProxySeq>>&, const std::optional<Ice::ObjectPrx>&, const Ice::Context&) const;
253
254 /// Gets the type ID of the associated Slice interface.
255 /// @return The string `"::IceGrid::Query"`.
256 static const char* ice_staticId() noexcept;
257
258 /// @private
259 static QueryPrx _fromReference(IceInternal::ReferencePtr ref) { return QueryPrx{std::move(ref)}; }
260
261 protected:
262 /// @private
263 QueryPrx() = default;
264
265 /// @private
266 explicit QueryPrx(IceInternal::ReferencePtr&& ref) : Ice::ObjectPrx{std::move(ref)}
267 {
268 }
269 };
270
271 /// Represents the main entry point into the IceGrid registry service. It provides operations to create sessions
272 /// with the registry.
273 /// @headerfile IceGrid/IceGrid.h
274 class ICEGRID_API RegistryPrx : public Ice::Proxy<RegistryPrx, Ice::ObjectPrx>
275 {
276 public:
277 /// Constructs a proxy from a Communicator and a proxy string.
278 /// @param communicator The communicator of the new proxy.
279 /// @param proxyString The proxy string to parse.
280 RegistryPrx(const Ice::CommunicatorPtr& communicator, std::string_view proxyString) : Ice::ObjectPrx{communicator, proxyString} {} // NOLINT(modernize-use-equals-default)
281
282 /// Copy constructor. Constructs with a copy of the contents of @p other.
283 /// @param other The proxy to copy from.
284 RegistryPrx(const RegistryPrx& other) noexcept : Ice::ObjectPrx{other} {} // NOLINT(modernize-use-equals-default)
285
286 /// Move constructor. Constructs a proxy with the contents of @p other using move semantics.
287 /// @param other The proxy to move from.
288 RegistryPrx(RegistryPrx&& other) noexcept : Ice::ObjectPrx{std::move(other)} {} // NOLINT(modernize-use-equals-default)
289
290 ~RegistryPrx() override;
291
292 /// Copy assignment operator. Replaces the contents of this proxy with a copy of the contents of @p rhs.
293 /// @param rhs The proxy to copy from.
294 /// @return A reference to this proxy.
295 RegistryPrx& operator=(const RegistryPrx& rhs) noexcept
296 {
297 if (this != &rhs)
298 {
300 }
301 return *this;
302 }
303
304 /// Move assignment operator. Replaces the contents of this proxy with the contents of @p rhs using move semantics.
305 /// @param rhs The proxy to move from.
307 {
308 if (this != &rhs)
309 {
310 Ice::ObjectPrx::operator=(std::move(rhs));
311 }
312 return *this;
313 }
314
315 /// Creates a client session.
316 /// @param userId The user ID.
317 /// @param password The password for the given user.
318 /// @param context The request context.
319 /// @return A proxy to the newly created session. This proxy is never null.
320 /// @throws IceGrid::PermissionDeniedException Thrown when authentication or authorization fails.
321 std::optional<SessionPrx> createSession(std::string_view userId, std::string_view password, const Ice::Context& context = Ice::noExplicitContext) const; // NOLINT(modernize-use-nodiscard)
322
323 /// Creates a client session.
324 /// @param userId The user ID.
325 /// @param password The password for the given user.
326 /// @param context The request context.
327 /// @return A future that becomes available when the invocation completes. This future holds:
328 /// - A proxy to the newly created session. This proxy is never null.
329 [[nodiscard]] std::future<std::optional<SessionPrx>> createSessionAsync(std::string_view userId, std::string_view password, const Ice::Context& context = Ice::noExplicitContext) const;
330
331 /// Creates a client session.
332 /// @param userId The user ID.
333 /// @param password The password for the given user.
334 /// @param response The response callback. It accepts:
335 /// - A proxy to the newly created session. This proxy is never null.
336 /// @param exception The exception callback.
337 /// @param sent The sent callback.
338 /// @param context The request context.
339 /// @return A function that can be called to cancel the invocation locally.
340 // NOLINTNEXTLINE(modernize-use-nodiscard)
341 std::function<void()> createSessionAsync(std::string_view userId, std::string_view password, std::function<void(std::optional<::IceGrid::SessionPrx>)> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
342
343 /// @private
344 void _iceI_createSession(const std::shared_ptr<IceInternal::OutgoingAsyncT<std::optional<SessionPrx>>>&, std::string_view, std::string_view, const Ice::Context&) const;
345
346 /// Creates an administrative session.
347 /// @param userId The user ID.
348 /// @param password The password for the given user.
349 /// @param context The request context.
350 /// @return A proxy to the newly created session. This proxy is never null.
351 /// @throws IceGrid::PermissionDeniedException Thrown when authentication or authorization fails.
352 std::optional<AdminSessionPrx> createAdminSession(std::string_view userId, std::string_view password, const Ice::Context& context = Ice::noExplicitContext) const; // NOLINT(modernize-use-nodiscard)
353
354 /// Creates an administrative session.
355 /// @param userId The user ID.
356 /// @param password The password for the given user.
357 /// @param context The request context.
358 /// @return A future that becomes available when the invocation completes. This future holds:
359 /// - A proxy to the newly created session. This proxy is never null.
360 [[nodiscard]] std::future<std::optional<AdminSessionPrx>> createAdminSessionAsync(std::string_view userId, std::string_view password, const Ice::Context& context = Ice::noExplicitContext) const;
361
362 /// Creates an administrative session.
363 /// @param userId The user ID.
364 /// @param password The password for the given user.
365 /// @param response The response callback. It accepts:
366 /// - A proxy to the newly created session. This proxy is never null.
367 /// @param exception The exception callback.
368 /// @param sent The sent callback.
369 /// @param context The request context.
370 /// @return A function that can be called to cancel the invocation locally.
371 // NOLINTNEXTLINE(modernize-use-nodiscard)
372 std::function<void()> createAdminSessionAsync(std::string_view userId, std::string_view password, std::function<void(std::optional<::IceGrid::AdminSessionPrx>)> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
373
374 /// @private
375 void _iceI_createAdminSession(const std::shared_ptr<IceInternal::OutgoingAsyncT<std::optional<AdminSessionPrx>>>&, std::string_view, std::string_view, const Ice::Context&) const;
376
377 /// Creates a client session from a secure connection.
378 /// @param context The request context.
379 /// @return A proxy to the newly created session. This proxy is never null.
380 /// @throws IceGrid::PermissionDeniedException Thrown when authentication or authorization fails.
381 std::optional<SessionPrx> createSessionFromSecureConnection(const Ice::Context& context = Ice::noExplicitContext) const; // NOLINT(modernize-use-nodiscard)
382
383 /// Creates a client session from a secure connection.
384 /// @param context The request context.
385 /// @return A future that becomes available when the invocation completes. This future holds:
386 /// - A proxy to the newly created session. This proxy is never null.
387 [[nodiscard]] std::future<std::optional<SessionPrx>> createSessionFromSecureConnectionAsync(const Ice::Context& context = Ice::noExplicitContext) const;
388
389 /// Creates a client session from a secure connection.
390 /// @param response The response callback. It accepts:
391 /// - A proxy to the newly created session. This proxy is never null.
392 /// @param exception The exception callback.
393 /// @param sent The sent callback.
394 /// @param context The request context.
395 /// @return A function that can be called to cancel the invocation locally.
396 // NOLINTNEXTLINE(modernize-use-nodiscard)
397 std::function<void()> createSessionFromSecureConnectionAsync(std::function<void(std::optional<::IceGrid::SessionPrx>)> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
398
399 /// @private
400 void _iceI_createSessionFromSecureConnection(const std::shared_ptr<IceInternal::OutgoingAsyncT<std::optional<SessionPrx>>>&, const Ice::Context&) const;
401
402 /// Creates an administrative session from a secure connection.
403 /// @param context The request context.
404 /// @return A proxy to the newly created session. This proxy is never null.
405 /// @throws IceGrid::PermissionDeniedException Thrown when authentication or authorization fails.
406 std::optional<AdminSessionPrx> createAdminSessionFromSecureConnection(const Ice::Context& context = Ice::noExplicitContext) const; // NOLINT(modernize-use-nodiscard)
407
408 /// Creates an administrative session from a secure connection.
409 /// @param context The request context.
410 /// @return A future that becomes available when the invocation completes. This future holds:
411 /// - A proxy to the newly created session. This proxy is never null.
412 [[nodiscard]] std::future<std::optional<AdminSessionPrx>> createAdminSessionFromSecureConnectionAsync(const Ice::Context& context = Ice::noExplicitContext) const;
413
414 /// Creates an administrative session from a secure connection.
415 /// @param response The response callback. It accepts:
416 /// - A proxy to the newly created session. This proxy is never null.
417 /// @param exception The exception callback.
418 /// @param sent The sent callback.
419 /// @param context The request context.
420 /// @return A function that can be called to cancel the invocation locally.
421 // NOLINTNEXTLINE(modernize-use-nodiscard)
422 std::function<void()> createAdminSessionFromSecureConnectionAsync(std::function<void(std::optional<::IceGrid::AdminSessionPrx>)> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
423
424 /// @private
425 void _iceI_createAdminSessionFromSecureConnection(const std::shared_ptr<IceInternal::OutgoingAsyncT<std::optional<AdminSessionPrx>>>&, const Ice::Context&) const;
426
427 /// Gets the session timeout. An Ice 3.7 or earlier client can use this value to determine how often it needs to
428 /// send heartbeats (using ACM) or call ::IceGrid::SessionPrx::keepAlive (resp. ::IceGrid::AdminSessionPrx::keepAlive) to keep
429 /// a session alive in the IceGrid registry.
430 /// @param context The request context.
431 /// @return The session timeout (in seconds).
432 [[deprecated]] std::int32_t getSessionTimeout(const Ice::Context& context = Ice::noExplicitContext) const; // NOLINT(modernize-use-nodiscard)
433
434 /// Gets the session timeout. An Ice 3.7 or earlier client can use this value to determine how often it needs to
435 /// send heartbeats (using ACM) or call ::IceGrid::SessionPrx::keepAlive (resp. ::IceGrid::AdminSessionPrx::keepAlive) to keep
436 /// a session alive in the IceGrid registry.
437 /// @param context The request context.
438 /// @return A future that becomes available when the invocation completes. This future holds:
439 /// - The session timeout (in seconds).
440 [[deprecated]] [[nodiscard]] std::future<std::int32_t> getSessionTimeoutAsync(const Ice::Context& context = Ice::noExplicitContext) const;
441
442 /// Gets the session timeout. An Ice 3.7 or earlier client can use this value to determine how often it needs to
443 /// send heartbeats (using ACM) or call ::IceGrid::SessionPrx::keepAlive (resp. ::IceGrid::AdminSessionPrx::keepAlive) to keep
444 /// a session alive in the IceGrid registry.
445 /// @param response The response callback. It accepts:
446 /// - The session timeout (in seconds).
447 /// @param exception The exception callback.
448 /// @param sent The sent callback.
449 /// @param context The request context.
450 /// @return A function that can be called to cancel the invocation locally.
451 // NOLINTNEXTLINE(modernize-use-nodiscard)
452 [[deprecated]] std::function<void()> getSessionTimeoutAsync(std::function<void(std::int32_t)> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
453
454 /// @private
455 void _iceI_getSessionTimeout(const std::shared_ptr<IceInternal::OutgoingAsyncT<std::int32_t>>&, const Ice::Context&) const;
456
457 /// Gets the type ID of the associated Slice interface.
458 /// @return The string `"::IceGrid::Registry"`.
459 static const char* ice_staticId() noexcept;
460
461 /// @private
462 static RegistryPrx _fromReference(IceInternal::ReferencePtr ref) { return RegistryPrx{std::move(ref)}; }
463
464 protected:
465 /// @private
466 RegistryPrx() = default;
467
468 /// @private
469 explicit RegistryPrx(IceInternal::ReferencePtr&& ref) : Ice::ObjectPrx{std::move(ref)}
470 {
471 }
472 };
473
474 /// Provides access to the QueryPrx and RegistryPrx objects implemented by the IceGrid registry.
475 /// @headerfile IceGrid/IceGrid.h
476 class ICEGRID_API LocatorPrx : public Ice::Proxy<LocatorPrx, ::Ice::LocatorPrx>
477 {
478 public:
479#if defined(__GNUC__) && !defined(__clang__)
480# pragma GCC diagnostic push
481# pragma GCC diagnostic ignored "-Wextra" // initialize all virtual bases in correct order
482#endif
483
484 /// Constructs a proxy from a Communicator and a proxy string.
485 /// @param communicator The communicator of the new proxy.
486 /// @param proxyString The proxy string to parse.
487 LocatorPrx(const Ice::CommunicatorPtr& communicator, std::string_view proxyString) : Ice::ObjectPrx{communicator, proxyString} {} // NOLINT(modernize-use-equals-default)
488
489 /// Copy constructor. Constructs with a copy of the contents of @p other.
490 /// @param other The proxy to copy from.
491 LocatorPrx(const LocatorPrx& other) noexcept : Ice::ObjectPrx{other} {} // NOLINT(modernize-use-equals-default)
492
493 /// Move constructor. Constructs a proxy with the contents of @p other using move semantics.
494 /// @param other The proxy to move from.
495 LocatorPrx(LocatorPrx&& other) noexcept : Ice::ObjectPrx{std::move(other)} {} // NOLINT(modernize-use-equals-default)
496
497 ~LocatorPrx() override;
498
499 /// Copy assignment operator. Replaces the contents of this proxy with a copy of the contents of @p rhs.
500 /// @param rhs The proxy to copy from.
501 /// @return A reference to this proxy.
502 LocatorPrx& operator=(const LocatorPrx& rhs) noexcept
503 {
504 if (this != &rhs)
505 {
507 }
508 return *this;
509 }
510
511 /// Move assignment operator. Replaces the contents of this proxy with the contents of @p rhs using move semantics.
512 /// @param rhs The proxy to move from.
514 {
515 if (this != &rhs)
516 {
517 Ice::ObjectPrx::operator=(std::move(rhs));
518 }
519 return *this;
520 }
521
522 /// Gets a proxy to the registry object hosted by this IceGrid registry.
523 /// @param context The request context.
524 /// @return A proxy to the registry object. This proxy is never null.
525 std::optional<RegistryPrx> getLocalRegistry(const Ice::Context& context = Ice::noExplicitContext) const; // NOLINT(modernize-use-nodiscard)
526
527 /// Gets a proxy to the registry object hosted by this IceGrid registry.
528 /// @param context The request context.
529 /// @return A future that becomes available when the invocation completes. This future holds:
530 /// - A proxy to the registry object. This proxy is never null.
531 [[nodiscard]] std::future<std::optional<RegistryPrx>> getLocalRegistryAsync(const Ice::Context& context = Ice::noExplicitContext) const;
532
533 /// Gets a proxy to the registry object hosted by this IceGrid registry.
534 /// @param response The response callback. It accepts:
535 /// - A proxy to the registry object. This proxy is never null.
536 /// @param exception The exception callback.
537 /// @param sent The sent callback.
538 /// @param context The request context.
539 /// @return A function that can be called to cancel the invocation locally.
540 // NOLINTNEXTLINE(modernize-use-nodiscard)
541 std::function<void()> getLocalRegistryAsync(std::function<void(std::optional<::IceGrid::RegistryPrx>)> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
542
543 /// @private
544 void _iceI_getLocalRegistry(const std::shared_ptr<IceInternal::OutgoingAsyncT<std::optional<RegistryPrx>>>&, const Ice::Context&) const;
545
546 /// Gets a proxy to the query object hosted by this IceGrid registry.
547 /// @param context The request context.
548 /// @return A proxy to the query object. This proxy is never null.
549 std::optional<QueryPrx> getLocalQuery(const Ice::Context& context = Ice::noExplicitContext) const; // NOLINT(modernize-use-nodiscard)
550
551 /// Gets a proxy to the query object hosted by this IceGrid registry.
552 /// @param context The request context.
553 /// @return A future that becomes available when the invocation completes. This future holds:
554 /// - A proxy to the query object. This proxy is never null.
555 [[nodiscard]] std::future<std::optional<QueryPrx>> getLocalQueryAsync(const Ice::Context& context = Ice::noExplicitContext) const;
556
557 /// Gets a proxy to the query object hosted by this IceGrid registry.
558 /// @param response The response callback. It accepts:
559 /// - A proxy to the query object. This proxy is never null.
560 /// @param exception The exception callback.
561 /// @param sent The sent callback.
562 /// @param context The request context.
563 /// @return A function that can be called to cancel the invocation locally.
564 // NOLINTNEXTLINE(modernize-use-nodiscard)
565 std::function<void()> getLocalQueryAsync(std::function<void(std::optional<::IceGrid::QueryPrx>)> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
566
567 /// @private
568 void _iceI_getLocalQuery(const std::shared_ptr<IceInternal::OutgoingAsyncT<std::optional<QueryPrx>>>&, const Ice::Context&) const;
569
570 /// Gets the type ID of the associated Slice interface.
571 /// @return The string `"::IceGrid::Locator"`.
572 static const char* ice_staticId() noexcept;
573
574 /// @private
575 static LocatorPrx _fromReference(IceInternal::ReferencePtr ref) { return LocatorPrx{std::move(ref)}; }
576
577 protected:
578 /// @private
579 LocatorPrx() = default;
580
581 /// @private
582 explicit LocatorPrx(IceInternal::ReferencePtr&& ref) : Ice::ObjectPrx{std::move(ref)}
583 {
584 }
585
586#if defined(__GNUC__) && !defined(__clang__)
587# pragma GCC diagnostic pop
588#endif
589 };
590}
591
592namespace IceGrid
593{
594 /// Finds well-known Ice objects registered with the IceGrid registry.
595 /// @headerfile IceGrid/IceGrid.h
596 class ICEGRID_API Query : public virtual Ice::Object
597 {
598 public:
599 /// The associated proxy type.
600 using ProxyType = QueryPrx;
601
602 /// Dispatches an incoming request to one of the member functions of this generated class, based on the operation name carried by the request.
603 /// @param request The incoming request.
604 /// @param sendResponse The callback to send the response.
605 void dispatch(Ice::IncomingRequest& request, std::function<void(Ice::OutgoingResponse)> sendResponse) override;
606
607 [[nodiscard]] std::vector<std::string> ice_ids(const Ice::Current& current) const override;
608
609 [[nodiscard]] std::string ice_id(const Ice::Current& current) const override;
610
611 /// Finds a well-known object by identity.
612 /// @param id The identity.
613 /// @param current The Current object of the incoming request.
614 /// @return A proxy to the well-known object, or null if no such object is registered.
615 [[nodiscard]] virtual std::optional<Ice::ObjectPrx> findObjectById(::Ice::Identity id, const Ice::Current& current) const = 0;
616
617 /// @private
618 void _iceD_findObjectById(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
619
620 /// Finds a well-known object by type. If there are several objects registered for the given type, the object is
621 /// randomly selected.
622 /// @param type The object type.
623 /// @param current The Current object of the incoming request.
624 /// @return A proxy to a well-known object with the specified type, or null if no such object is registered.
625 [[nodiscard]] virtual std::optional<Ice::ObjectPrx> findObjectByType(std::string type, const Ice::Current& current) const = 0;
626
627 /// @private
628 void _iceD_findObjectByType(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
629
630 /// Finds a well-known object by type on the least-loaded node. If the registry does not know which node hosts
631 /// the object (for example, because the object was registered with a direct proxy), the registry assumes the
632 /// object is hosted on a node that has a load average of 1.0.
633 /// @param type The object type.
634 /// @param sample The sampling interval.
635 /// @param current The Current object of the incoming request.
636 /// @return A proxy to the well-known object, or null if no such object is registered.
637 [[nodiscard]] virtual std::optional<Ice::ObjectPrx> findObjectByTypeOnLeastLoadedNode(std::string type, LoadSample sample, const Ice::Current& current) const = 0;
638
639 /// @private
640 void _iceD_findObjectByTypeOnLeastLoadedNode(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
641
642 /// Finds all the well-known objects with the given type.
643 /// @param type The object type.
644 /// @param current The Current object of the incoming request.
645 /// @return A list of proxies to the well-known objects with the specified type. Can be empty.
646 [[nodiscard]] virtual ::Ice::ObjectProxySeq findAllObjectsByType(std::string type, const Ice::Current& current) const = 0;
647
648 /// @private
649 void _iceD_findAllObjectsByType(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
650
651 /// Finds all the replicas of a well-known object.
652 /// @param proxy A proxy that identifies the well-known object.
653 /// @param current The Current object of the incoming request.
654 /// @return A list of proxies to the replicas of the well-known object specified by @p proxy. Can be empty.
655 [[nodiscard]] virtual ::Ice::ObjectProxySeq findAllReplicas(std::optional<Ice::ObjectPrx> proxy, const Ice::Current& current) const = 0;
656
657 /// @private
658 void _iceD_findAllReplicas(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
659
660 /// Gets the type ID of the associated Slice interface.
661 /// @return The string `"::IceGrid::Query"`.
662 static const char* ice_staticId() noexcept;
663 };
664
665 /// A shared pointer to a Query.
666 using QueryPtr = std::shared_ptr<Query>;
667
668 /// Represents the main entry point into the IceGrid registry service. It provides operations to create sessions
669 /// with the registry.
670 /// @headerfile IceGrid/IceGrid.h
671 class ICEGRID_API Registry : public virtual Ice::Object
672 {
673 public:
674 /// The associated proxy type.
675 using ProxyType = RegistryPrx;
676
677 /// Dispatches an incoming request to one of the member functions of this generated class, based on the operation name carried by the request.
678 /// @param request The incoming request.
679 /// @param sendResponse The callback to send the response.
680 void dispatch(Ice::IncomingRequest& request, std::function<void(Ice::OutgoingResponse)> sendResponse) override;
681
682 [[nodiscard]] std::vector<std::string> ice_ids(const Ice::Current& current) const override;
683
684 [[nodiscard]] std::string ice_id(const Ice::Current& current) const override;
685
686 /// Creates a client session.
687 /// @param userId The user ID.
688 /// @param password The password for the given user.
689 /// @param current The Current object of the incoming request.
690 /// @return A proxy to the newly created session. This proxy is never null.
691 /// @throws IceGrid::PermissionDeniedException Thrown when authentication or authorization fails.
692 virtual std::optional<SessionPrx> createSession(std::string userId, std::string password, const Ice::Current& current) = 0;
693
694 /// @private
695 void _iceD_createSession(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
696
697 /// Creates an administrative session.
698 /// @param userId The user ID.
699 /// @param password The password for the given user.
700 /// @param current The Current object of the incoming request.
701 /// @return A proxy to the newly created session. This proxy is never null.
702 /// @throws IceGrid::PermissionDeniedException Thrown when authentication or authorization fails.
703 virtual std::optional<AdminSessionPrx> createAdminSession(std::string userId, std::string password, const Ice::Current& current) = 0;
704
705 /// @private
706 void _iceD_createAdminSession(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
707
708 /// Creates a client session from a secure connection.
709 /// @param current The Current object of the incoming request.
710 /// @return A proxy to the newly created session. This proxy is never null.
711 /// @throws IceGrid::PermissionDeniedException Thrown when authentication or authorization fails.
712 virtual std::optional<SessionPrx> createSessionFromSecureConnection(const Ice::Current& current) = 0;
713
714 /// @private
715 void _iceD_createSessionFromSecureConnection(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
716
717 /// Creates an administrative session from a secure connection.
718 /// @param current The Current object of the incoming request.
719 /// @return A proxy to the newly created session. This proxy is never null.
720 /// @throws IceGrid::PermissionDeniedException Thrown when authentication or authorization fails.
721 virtual std::optional<AdminSessionPrx> createAdminSessionFromSecureConnection(const Ice::Current& current) = 0;
722
723 /// @private
724 void _iceD_createAdminSessionFromSecureConnection(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
725
726 /// Gets the session timeout. An Ice 3.7 or earlier client can use this value to determine how often it needs to
727 /// send heartbeats (using ACM) or call ::IceGrid::SessionPrx::keepAlive (resp. ::IceGrid::AdminSessionPrx::keepAlive) to keep
728 /// a session alive in the IceGrid registry.
729 /// @param current The Current object of the incoming request.
730 /// @return The session timeout (in seconds).
731 [[nodiscard]] virtual std::int32_t getSessionTimeout(const Ice::Current& current) const = 0;
732
733 /// @private
734 void _iceD_getSessionTimeout(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
735
736 /// Gets the type ID of the associated Slice interface.
737 /// @return The string `"::IceGrid::Registry"`.
738 static const char* ice_staticId() noexcept;
739 };
740
741 /// A shared pointer to a Registry.
742 using RegistryPtr = std::shared_ptr<Registry>;
743
744 /// Provides access to the QueryPrx and RegistryPrx objects implemented by the IceGrid registry.
745 /// @headerfile IceGrid/IceGrid.h
746 class ICEGRID_API Locator : public virtual ::Ice::Locator
747 {
748 public:
749 /// The associated proxy type.
750 using ProxyType = LocatorPrx;
751
752 /// Dispatches an incoming request to one of the member functions of this generated class, based on the operation name carried by the request.
753 /// @param request The incoming request.
754 /// @param sendResponse The callback to send the response.
755 void dispatch(Ice::IncomingRequest& request, std::function<void(Ice::OutgoingResponse)> sendResponse) override;
756
757 [[nodiscard]] std::vector<std::string> ice_ids(const Ice::Current& current) const override;
758
759 [[nodiscard]] std::string ice_id(const Ice::Current& current) const override;
760
761 /// Gets a proxy to the registry object hosted by this IceGrid registry.
762 /// @param current The Current object of the incoming request.
763 /// @return A proxy to the registry object. This proxy is never null.
764 [[nodiscard]] virtual std::optional<RegistryPrx> getLocalRegistry(const Ice::Current& current) const = 0;
765
766 /// @private
767 void _iceD_getLocalRegistry(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
768
769 /// Gets a proxy to the query object hosted by this IceGrid registry.
770 /// @param current The Current object of the incoming request.
771 /// @return A proxy to the query object. This proxy is never null.
772 [[nodiscard]] virtual std::optional<QueryPrx> getLocalQuery(const Ice::Current& current) const = 0;
773
774 /// @private
775 void _iceD_getLocalQuery(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
776
777 /// Gets the type ID of the associated Slice interface.
778 /// @return The string `"::IceGrid::Locator"`.
779 static const char* ice_staticId() noexcept;
780 };
781
782 /// A shared pointer to a Locator.
783 using LocatorPtr = std::shared_ptr<Locator>;
784}
785
786namespace Ice
787{
788 /// @cond INTERNAL
789 template<>
790 struct StreamableTraits<::IceGrid::LoadSample>
791 {
792 static constexpr StreamHelperCategory helper = StreamHelperCategoryEnum;
793 static constexpr int minValue = 0;
794 static constexpr int maxValue = 2;
795 static constexpr int minWireSize = 1;
796 static constexpr bool fixedLength = false;
797 };
798 /// @endcond
799}
800
801// NOLINTEND(modernize-concat-nested-namespaces)
802
804#endif
std::function< void()> getLocalQueryAsync(std::function< void(std::optional<::IceGrid::QueryPrx >)> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Gets a proxy to the query object hosted by this IceGrid registry.
std::optional< QueryPrx > getLocalQuery(const Ice::Context &context=Ice::noExplicitContext) const
Gets a proxy to the query object hosted by this IceGrid registry.
LocatorPrx(const Ice::CommunicatorPtr &communicator, std::string_view proxyString)
Constructs a proxy from a Communicator and a proxy string.
Definition Registry.h:487
static const char * ice_staticId() noexcept
Gets the type ID of the associated Slice interface.
LocatorPrx(const LocatorPrx &other) noexcept
Copy constructor.
Definition Registry.h:491
LocatorPrx & operator=(LocatorPrx &&rhs) noexcept
Move assignment operator.
Definition Registry.h:513
std::optional< RegistryPrx > getLocalRegistry(const Ice::Context &context=Ice::noExplicitContext) const
Gets a proxy to the registry object hosted by this IceGrid registry.
LocatorPrx & operator=(const LocatorPrx &rhs) noexcept
Copy assignment operator.
Definition Registry.h:502
std::function< void()> getLocalRegistryAsync(std::function< void(std::optional<::IceGrid::RegistryPrx >)> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Gets a proxy to the registry object hosted by this IceGrid registry.
std::future< std::optional< RegistryPrx > > getLocalRegistryAsync(const Ice::Context &context=Ice::noExplicitContext) const
Gets a proxy to the registry object hosted by this IceGrid registry.
LocatorPrx(LocatorPrx &&other) noexcept
Move constructor.
Definition Registry.h:495
std::future< std::optional< QueryPrx > > getLocalQueryAsync(const Ice::Context &context=Ice::noExplicitContext) const
Gets a proxy to the query object hosted by this IceGrid registry.
Provides access to the QueryPrx and RegistryPrx objects implemented by the IceGrid registry.
Definition Registry.h:477
std::optional< Ice::ObjectPrx > findObjectById(const ::Ice::Identity &id, const Ice::Context &context=Ice::noExplicitContext) const
Finds a well-known object by identity.
std::future<::Ice::ObjectProxySeq > findAllObjectsByTypeAsync(std::string_view type, const Ice::Context &context=Ice::noExplicitContext) const
Finds all the well-known objects with the given type.
static const char * ice_staticId() noexcept
Gets the type ID of the associated Slice interface.
std::future< std::optional< Ice::ObjectPrx > > findObjectByIdAsync(const ::Ice::Identity &id, const Ice::Context &context=Ice::noExplicitContext) const
Finds a well-known object by identity.
std::optional< Ice::ObjectPrx > findObjectByType(std::string_view type, const Ice::Context &context=Ice::noExplicitContext) const
Finds a well-known object by type.
std::future< std::optional< Ice::ObjectPrx > > findObjectByTypeAsync(std::string_view type, const Ice::Context &context=Ice::noExplicitContext) const
Finds a well-known object by type.
::Ice::ObjectProxySeq findAllObjectsByType(std::string_view type, const Ice::Context &context=Ice::noExplicitContext) const
Finds all the well-known objects with the given type.
std::function< void()> findObjectByIdAsync(const ::Ice::Identity &id, std::function< void(std::optional< Ice::ObjectPrx >)> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Finds a well-known object by identity.
std::function< void()> findObjectByTypeAsync(std::string_view type, std::function< void(std::optional< Ice::ObjectPrx >)> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Finds a well-known object by type.
QueryPrx(const Ice::CommunicatorPtr &communicator, std::string_view proxyString)
Constructs a proxy from a Communicator and a proxy string.
Definition Registry.h:72
QueryPrx(const QueryPrx &other) noexcept
Copy constructor.
Definition Registry.h:76
std::function< void()> findObjectByTypeOnLeastLoadedNodeAsync(std::string_view type, LoadSample sample, std::function< void(std::optional< Ice::ObjectPrx >)> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Finds a well-known object by type on the least-loaded node.
std::optional< Ice::ObjectPrx > findObjectByTypeOnLeastLoadedNode(std::string_view type, LoadSample sample, const Ice::Context &context=Ice::noExplicitContext) const
Finds a well-known object by type on the least-loaded node.
std::function< void()> findAllReplicasAsync(const std::optional< Ice::ObjectPrx > &proxy, std::function< void(::Ice::ObjectProxySeq)> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Finds all the replicas of a well-known object.
std::future<::Ice::ObjectProxySeq > findAllReplicasAsync(const std::optional< Ice::ObjectPrx > &proxy, const Ice::Context &context=Ice::noExplicitContext) const
Finds all the replicas of a well-known object.
QueryPrx(QueryPrx &&other) noexcept
Move constructor.
Definition Registry.h:80
QueryPrx & operator=(QueryPrx &&rhs) noexcept
Move assignment operator.
Definition Registry.h:98
QueryPrx & operator=(const QueryPrx &rhs) noexcept
Copy assignment operator.
Definition Registry.h:87
std::future< std::optional< Ice::ObjectPrx > > findObjectByTypeOnLeastLoadedNodeAsync(std::string_view type, LoadSample sample, const Ice::Context &context=Ice::noExplicitContext) const
Finds a well-known object by type on the least-loaded node.
::Ice::ObjectProxySeq findAllReplicas(const std::optional< Ice::ObjectPrx > &proxy, const Ice::Context &context=Ice::noExplicitContext) const
Finds all the replicas of a well-known object.
std::function< void()> findAllObjectsByTypeAsync(std::string_view type, std::function< void(::Ice::ObjectProxySeq)> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Finds all the well-known objects with the given type.
Finds well-known Ice objects registered with the IceGrid registry.
Definition Registry.h:67
RegistryPrx(const Ice::CommunicatorPtr &communicator, std::string_view proxyString)
Constructs a proxy from a Communicator and a proxy string.
Definition Registry.h:280
std::function< void()> createSessionAsync(std::string_view userId, std::string_view password, std::function< void(std::optional<::IceGrid::SessionPrx >)> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Creates a client session.
std::future< std::optional< SessionPrx > > createSessionAsync(std::string_view userId, std::string_view password, const Ice::Context &context=Ice::noExplicitContext) const
Creates a client session.
RegistryPrx & operator=(const RegistryPrx &rhs) noexcept
Copy assignment operator.
Definition Registry.h:295
std::future< std::int32_t > getSessionTimeoutAsync(const Ice::Context &context=Ice::noExplicitContext) const
Gets the session timeout.
std::function< void()> createSessionFromSecureConnectionAsync(std::function< void(std::optional<::IceGrid::SessionPrx >)> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Creates a client session from a secure connection.
std::optional< SessionPrx > createSession(std::string_view userId, std::string_view password, const Ice::Context &context=Ice::noExplicitContext) const
Creates a client session.
static const char * ice_staticId() noexcept
Gets the type ID of the associated Slice interface.
std::function< void()> createAdminSessionAsync(std::string_view userId, std::string_view password, std::function< void(std::optional<::IceGrid::AdminSessionPrx >)> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Creates an administrative session.
RegistryPrx(RegistryPrx &&other) noexcept
Move constructor.
Definition Registry.h:288
std::future< std::optional< SessionPrx > > createSessionFromSecureConnectionAsync(const Ice::Context &context=Ice::noExplicitContext) const
Creates a client session from a secure connection.
std::int32_t getSessionTimeout(const Ice::Context &context=Ice::noExplicitContext) const
Gets the session timeout.
std::function< void()> createAdminSessionFromSecureConnectionAsync(std::function< void(std::optional<::IceGrid::AdminSessionPrx >)> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Creates an administrative session from a secure connection.
std::optional< AdminSessionPrx > createAdminSessionFromSecureConnection(const Ice::Context &context=Ice::noExplicitContext) const
Creates an administrative session from a secure connection.
std::function< void()> getSessionTimeoutAsync(std::function< void(std::int32_t)> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Gets the session timeout.
std::future< std::optional< AdminSessionPrx > > createAdminSessionFromSecureConnectionAsync(const Ice::Context &context=Ice::noExplicitContext) const
Creates an administrative session from a secure connection.
std::future< std::optional< AdminSessionPrx > > createAdminSessionAsync(std::string_view userId, std::string_view password, const Ice::Context &context=Ice::noExplicitContext) const
Creates an administrative session.
RegistryPrx(const RegistryPrx &other) noexcept
Copy constructor.
Definition Registry.h:284
std::optional< SessionPrx > createSessionFromSecureConnection(const Ice::Context &context=Ice::noExplicitContext) const
Creates a client session from a secure connection.
std::optional< AdminSessionPrx > createAdminSession(std::string_view userId, std::string_view password, const Ice::Context &context=Ice::noExplicitContext) const
Creates an administrative session.
RegistryPrx & operator=(RegistryPrx &&rhs) noexcept
Move assignment operator.
Definition Registry.h:306
Represents the main entry point into the IceGrid registry service.
Definition Registry.h:275
Represents a request received by a connection.
Client applications use the Locator object to resolve Ice indirect proxies.
Definition Locator.h:326
ObjectPrx & operator=(const ObjectPrx &rhs) noexcept=default
Copy assignment operator.
The base class for all Ice proxies.
Definition Proxy.h:232
Represents the response to an incoming request.
Provides typed proxy functions.
Definition Proxy.h:45
LoadSample
Determines which load sampling interval to use.
Definition Registry.h:38
@ LoadSample5
Sample every five minutes.
Definition Registry.h:43
@ LoadSample15
Sample every fifteen minutes.
Definition Registry.h:46
@ LoadSample1
Sample every minute.
Definition Registry.h:40
std::ostream & operator<<(std::ostream &os, ServerState value)
Outputs the enumerator name or underlying value of a ServerState to a stream.
std::shared_ptr< Locator > LocatorPtr
A shared pointer to a Locator.
Definition Registry.h:783
std::shared_ptr< Query > QueryPtr
A shared pointer to a Query.
Definition Registry.h:666
std::shared_ptr< Registry > RegistryPtr
A shared pointer to a Registry.
Definition Registry.h:742
Deploy and manage Ice servers.
Definition Admin.h:34
std::shared_ptr< Communicator > CommunicatorPtr
A shared pointer to a Communicator.
const Context noExplicitContext
Marker value used to indicate that no explicit request context was passed to a proxy invocation.
std::vector< std::optional< Ice::ObjectPrx > > ObjectProxySeq
A sequence of object proxies.
std::map< std::string, std::string, std::less<> > Context
Represents additional information carried by an Ice request.
Definition Context.h:28
The Ice RPC framework.
Definition SampleEvent.h:59
Provides information about an incoming request being dispatched.
Definition Current.h:18