Ice 3.9
C++ API Reference
Loading...
Searching...
No Matches
Session.h
1// Copyright (c) ZeroC, Inc.
2
3// slice2cpp version 3.9.0-alpha.0
4// <auto-generated>Generated from Slice file 'Session.ice'.</auto-generated>
5// clang-format off
6
7#ifndef Glacier2_Session_h_
8#define Glacier2_Session_h_
9
11#include <Ice/Ice.h>
12#include <Ice/BuiltinSequences.h>
13#include <Ice/Identity.h>
14#include "SSLInfo.h"
15#include <Glacier2/Config.h>
16
17#ifndef ICE_DISABLE_VERSION
18# if ICE_INT_VERSION != 30950
19# error Ice version mismatch: an exact match is required for beta generated code
20# endif
21#endif
22
23#ifndef GLACIER2_API
24# if defined(GLACIER2_API_EXPORTS)
25# define GLACIER2_API ICE_DECLSPEC_EXPORT
26# else
27# define GLACIER2_API ICE_DECLSPEC_IMPORT
28# endif
29#endif
30
31// NOLINTBEGIN(modernize-concat-nested-namespaces)
32
33namespace Glacier2
34{
35 class RouterPrx;
36
37 class SessionPrx;
38
39 class StringSetPrx;
40
41 class IdentitySetPrx;
42
44
46
48}
49
50namespace Glacier2
51{
52 /// Represents a session between a client application and the Glacier2 router. With Glacier2, the lifetime of a
53 /// session is tied to the Ice connection between the client and the router: the session is destroyed when the
54 /// connection is closed.
55 /// @remarks The Slice compiler generated this proxy class from Slice interface `::Glacier2::Session`.
56 /// @see RouterPrx
57 /// @see SessionManagerPrx
58 /// @headerfile Glacier2/Glacier2.h
59 class GLACIER2_API SessionPrx : public Ice::Proxy<SessionPrx, Ice::ObjectPrx>
60 {
61 public:
62 /// Constructs a proxy from a Communicator and a proxy string.
63 /// @param communicator The communicator of the new proxy.
64 /// @param proxyString The proxy string to parse.
65 SessionPrx(const Ice::CommunicatorPtr& communicator, std::string_view proxyString) : Ice::ObjectPrx{communicator, proxyString} {} // NOLINT(modernize-use-equals-default)
66
67 /// Copy constructor. Constructs with a copy of the contents of @p other.
68 /// @param other The proxy to copy from.
69 SessionPrx(const SessionPrx& other) noexcept : Ice::ObjectPrx{other} {} // NOLINT(modernize-use-equals-default)
70
71 /// Move constructor. Constructs a proxy with the contents of @p other using move semantics.
72 /// @param other The proxy to move from.
73 SessionPrx(SessionPrx&& other) noexcept : Ice::ObjectPrx{std::move(other)} {} // NOLINT(modernize-use-equals-default)
74
75 ~SessionPrx() override;
76
77 /// Copy assignment operator. Replaces the contents of this proxy with a copy of the contents of @p rhs.
78 /// @param rhs The proxy to copy from.
79 /// @return A reference to this proxy.
80 SessionPrx& operator=(const SessionPrx& rhs) noexcept
81 {
82 if (this != &rhs)
83 {
85 }
86 return *this;
87 }
88
89 /// Move assignment operator. Replaces the contents of this proxy with the contents of @p rhs using move semantics.
90 /// @param rhs The proxy to move from.
92 {
93 if (this != &rhs)
94 {
95 Ice::ObjectPrx::operator=(std::move(rhs));
96 }
97 return *this;
98 }
99
100 /// Destroys this session.
101 /// @param context The request context.
102 void destroy(const Ice::Context& context = Ice::noExplicitContext) const;
103
104 /// Destroys this session.
105 /// @param context The request context.
106 /// @return A future that becomes available when the invocation completes.
107 [[nodiscard]] std::future<void> destroyAsync(const Ice::Context& context = Ice::noExplicitContext) const;
108
109 /// Destroys this session.
110 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
111 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
112 /// function.
113 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
114 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
115 /// function.
116 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
117 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
118 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
119 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
120 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
121 /// asynchronous case.
122 /// @param context The request context.
123 /// @return A function that can be called to cancel the invocation locally.
124 /// @remark When this proxy is a oneway or datagram proxy, the Ice runtime does not call the response
125 /// callback: a successful invocation completes with the sent callback. When this proxy is a batch
126 /// proxy, this function only adds the request to the batch: the Ice runtime calls none of the
127 /// callbacks, and the request is sent later, by a flush.
128 // NOLINTNEXTLINE(modernize-use-nodiscard)
129 std::function<void()> destroyAsync(std::function<void()> 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_destroy(const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&, const Ice::Context&) const;
133
134 /// Gets the type ID of the associated Slice interface.
135 /// @return The string `"::Glacier2::Session"`.
136 static const char* ice_staticId() noexcept;
137
138 /// @private
139 static SessionPrx _fromReference(IceInternal::ReferencePtr ref) { return SessionPrx{std::move(ref)}; }
140
141 protected:
142 /// @private
143 SessionPrx() = default;
144
145 /// @private
146 explicit SessionPrx(IceInternal::ReferencePtr&& ref) : Ice::ObjectPrx{std::move(ref)}
147 {
148 }
149 };
150
151 /// Manages a set of constraints on a SessionPrx.
152 /// @remarks The Slice compiler generated this proxy class from Slice interface `::Glacier2::StringSet`.
153 /// @see SessionControlPrx
154 /// @headerfile Glacier2/Glacier2.h
155 class GLACIER2_API StringSetPrx : public Ice::Proxy<StringSetPrx, Ice::ObjectPrx>
156 {
157 public:
158 /// Constructs a proxy from a Communicator and a proxy string.
159 /// @param communicator The communicator of the new proxy.
160 /// @param proxyString The proxy string to parse.
161 StringSetPrx(const Ice::CommunicatorPtr& communicator, std::string_view proxyString) : Ice::ObjectPrx{communicator, proxyString} {} // NOLINT(modernize-use-equals-default)
162
163 /// Copy constructor. Constructs with a copy of the contents of @p other.
164 /// @param other The proxy to copy from.
165 StringSetPrx(const StringSetPrx& other) noexcept : Ice::ObjectPrx{other} {} // NOLINT(modernize-use-equals-default)
166
167 /// Move constructor. Constructs a proxy with the contents of @p other using move semantics.
168 /// @param other The proxy to move from.
169 StringSetPrx(StringSetPrx&& other) noexcept : Ice::ObjectPrx{std::move(other)} {} // NOLINT(modernize-use-equals-default)
170
171 ~StringSetPrx() override;
172
173 /// Copy assignment operator. Replaces the contents of this proxy with a copy of the contents of @p rhs.
174 /// @param rhs The proxy to copy from.
175 /// @return A reference to this proxy.
176 StringSetPrx& operator=(const StringSetPrx& rhs) noexcept
177 {
178 if (this != &rhs)
179 {
181 }
182 return *this;
183 }
184
185 /// Move assignment operator. Replaces the contents of this proxy with the contents of @p rhs using move semantics.
186 /// @param rhs The proxy to move from.
188 {
189 if (this != &rhs)
190 {
191 Ice::ObjectPrx::operator=(std::move(rhs));
192 }
193 return *this;
194 }
195
196 /// Adds a sequence of strings to this set of constraints. Order is not preserved and duplicates are implicitly
197 /// removed.
198 /// @param additions The sequence of strings to add.
199 /// @param context The request context.
200 void add(const ::Ice::StringSeq& additions, const Ice::Context& context = Ice::noExplicitContext) const;
201
202 /// Adds a sequence of strings to this set of constraints. Order is not preserved and duplicates are implicitly
203 /// removed.
204 /// @param additions The sequence of strings to add.
205 /// @param context The request context.
206 /// @return A future that becomes available when the invocation completes.
207 [[nodiscard]] std::future<void> addAsync(const ::Ice::StringSeq& additions, const Ice::Context& context = Ice::noExplicitContext) const;
208
209 /// Adds a sequence of strings to this set of constraints. Order is not preserved and duplicates are implicitly
210 /// removed.
211 /// @param additions The sequence of strings to add.
212 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
213 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
214 /// function.
215 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
216 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
217 /// function.
218 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
219 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
220 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
221 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
222 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
223 /// asynchronous case.
224 /// @param context The request context.
225 /// @return A function that can be called to cancel the invocation locally.
226 /// @remark When this proxy is a oneway or datagram proxy, the Ice runtime does not call the response
227 /// callback: a successful invocation completes with the sent callback. When this proxy is a batch
228 /// proxy, this function only adds the request to the batch: the Ice runtime calls none of the
229 /// callbacks, and the request is sent later, by a flush.
230 // NOLINTNEXTLINE(modernize-use-nodiscard)
231 std::function<void()> addAsync(const ::Ice::StringSeq& additions, std::function<void()> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
232
233 /// @private
234 void _iceI_add(const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&, const ::Ice::StringSeq&, const Ice::Context&) const;
235
236 /// Removes a sequence of strings from this set of constraints. No errors are returned if an entry is not found.
237 /// @param deletions The sequence of strings to remove.
238 /// @param context The request context.
239 void remove(const ::Ice::StringSeq& deletions, const Ice::Context& context = Ice::noExplicitContext) const;
240
241 /// Removes a sequence of strings from this set of constraints. No errors are returned if an entry is not found.
242 /// @param deletions The sequence of strings to remove.
243 /// @param context The request context.
244 /// @return A future that becomes available when the invocation completes.
245 [[nodiscard]] std::future<void> removeAsync(const ::Ice::StringSeq& deletions, const Ice::Context& context = Ice::noExplicitContext) const;
246
247 /// Removes a sequence of strings from this set of constraints. No errors are returned if an entry is not found.
248 /// @param deletions The sequence of strings to remove.
249 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
250 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
251 /// function.
252 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
253 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
254 /// function.
255 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
256 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
257 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
258 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
259 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
260 /// asynchronous case.
261 /// @param context The request context.
262 /// @return A function that can be called to cancel the invocation locally.
263 /// @remark When this proxy is a oneway or datagram proxy, the Ice runtime does not call the response
264 /// callback: a successful invocation completes with the sent callback. When this proxy is a batch
265 /// proxy, this function only adds the request to the batch: the Ice runtime calls none of the
266 /// callbacks, and the request is sent later, by a flush.
267 // NOLINTNEXTLINE(modernize-use-nodiscard)
268 std::function<void()> removeAsync(const ::Ice::StringSeq& deletions, std::function<void()> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
269
270 /// @private
271 void _iceI_remove(const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&, const ::Ice::StringSeq&, const Ice::Context&) const;
272
273 /// Gets a sequence of strings describing the constraints in this set.
274 /// @param context The request context.
275 /// @return The sequence of strings for this set.
276 ::Ice::StringSeq get(const Ice::Context& context = Ice::noExplicitContext) const; // NOLINT(modernize-use-nodiscard)
277
278 /// Gets a sequence of strings describing the constraints in this set.
279 /// @param context The request context.
280 /// @return A future that becomes available when the invocation completes. This future holds:
281 /// - The sequence of strings for this set.
282 [[nodiscard]] std::future<::Ice::StringSeq> getAsync(const Ice::Context& context = Ice::noExplicitContext) const;
283
284 /// Gets a sequence of strings describing the constraints in this set.
285 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
286 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
287 /// function. It accepts:
288 /// - The sequence of strings for this set.
289 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
290 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
291 /// function.
292 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
293 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
294 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
295 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
296 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
297 /// asynchronous case.
298 /// @param context The request context.
299 /// @return A function that can be called to cancel the invocation locally.
300 // NOLINTNEXTLINE(modernize-use-nodiscard)
301 std::function<void()> getAsync(std::function<void(::Ice::StringSeq)> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
302
303 /// @private
304 void _iceI_get(const std::shared_ptr<IceInternal::OutgoingAsyncT<::Ice::StringSeq>>&, const Ice::Context&) const;
305
306 /// Gets the type ID of the associated Slice interface.
307 /// @return The string `"::Glacier2::StringSet"`.
308 static const char* ice_staticId() noexcept;
309
310 /// @private
311 static StringSetPrx _fromReference(IceInternal::ReferencePtr ref) { return StringSetPrx{std::move(ref)}; }
312
313 protected:
314 /// @private
315 StringSetPrx() = default;
316
317 /// @private
318 explicit StringSetPrx(IceInternal::ReferencePtr&& ref) : Ice::ObjectPrx{std::move(ref)}
319 {
320 }
321 };
322
323 /// Manages a set of object identity constraints on a SessionPrx.
324 /// @remarks The Slice compiler generated this proxy class from Slice interface `::Glacier2::IdentitySet`.
325 /// @see SessionControlPrx
326 /// @headerfile Glacier2/Glacier2.h
327 class GLACIER2_API IdentitySetPrx : public Ice::Proxy<IdentitySetPrx, Ice::ObjectPrx>
328 {
329 public:
330 /// Constructs a proxy from a Communicator and a proxy string.
331 /// @param communicator The communicator of the new proxy.
332 /// @param proxyString The proxy string to parse.
333 IdentitySetPrx(const Ice::CommunicatorPtr& communicator, std::string_view proxyString) : Ice::ObjectPrx{communicator, proxyString} {} // NOLINT(modernize-use-equals-default)
334
335 /// Copy constructor. Constructs with a copy of the contents of @p other.
336 /// @param other The proxy to copy from.
337 IdentitySetPrx(const IdentitySetPrx& other) noexcept : Ice::ObjectPrx{other} {} // NOLINT(modernize-use-equals-default)
338
339 /// Move constructor. Constructs a proxy with the contents of @p other using move semantics.
340 /// @param other The proxy to move from.
341 IdentitySetPrx(IdentitySetPrx&& other) noexcept : Ice::ObjectPrx{std::move(other)} {} // NOLINT(modernize-use-equals-default)
342
343 ~IdentitySetPrx() override;
344
345 /// Copy assignment operator. Replaces the contents of this proxy with a copy of the contents of @p rhs.
346 /// @param rhs The proxy to copy from.
347 /// @return A reference to this proxy.
349 {
350 if (this != &rhs)
351 {
353 }
354 return *this;
355 }
356
357 /// Move assignment operator. Replaces the contents of this proxy with the contents of @p rhs using move semantics.
358 /// @param rhs The proxy to move from.
360 {
361 if (this != &rhs)
362 {
363 Ice::ObjectPrx::operator=(std::move(rhs));
364 }
365 return *this;
366 }
367
368 /// Adds a sequence of Ice identities to this set of constraints. Order is not preserved and duplicates are
369 /// implicitly removed.
370 /// @param additions The sequence of Ice identities to add.
371 /// @param context The request context.
372 void add(const ::Ice::IdentitySeq& additions, const Ice::Context& context = Ice::noExplicitContext) const;
373
374 /// Adds a sequence of Ice identities to this set of constraints. Order is not preserved and duplicates are
375 /// implicitly removed.
376 /// @param additions The sequence of Ice identities to add.
377 /// @param context The request context.
378 /// @return A future that becomes available when the invocation completes.
379 [[nodiscard]] std::future<void> addAsync(const ::Ice::IdentitySeq& additions, const Ice::Context& context = Ice::noExplicitContext) const;
380
381 /// Adds a sequence of Ice identities to this set of constraints. Order is not preserved and duplicates are
382 /// implicitly removed.
383 /// @param additions The sequence of Ice identities to add.
384 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
385 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
386 /// function.
387 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
388 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
389 /// function.
390 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
391 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
392 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
393 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
394 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
395 /// asynchronous case.
396 /// @param context The request context.
397 /// @return A function that can be called to cancel the invocation locally.
398 /// @remark When this proxy is a oneway or datagram proxy, the Ice runtime does not call the response
399 /// callback: a successful invocation completes with the sent callback. When this proxy is a batch
400 /// proxy, this function only adds the request to the batch: the Ice runtime calls none of the
401 /// callbacks, and the request is sent later, by a flush.
402 // NOLINTNEXTLINE(modernize-use-nodiscard)
403 std::function<void()> addAsync(const ::Ice::IdentitySeq& additions, std::function<void()> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
404
405 /// @private
406 void _iceI_add(const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&, const ::Ice::IdentitySeq&, const Ice::Context&) const;
407
408 /// Removes a sequence of identities from this set of constraints. No errors are returned if an entry is not
409 /// found.
410 /// @param deletions The sequence of Ice identities to remove.
411 /// @param context The request context.
412 void remove(const ::Ice::IdentitySeq& deletions, const Ice::Context& context = Ice::noExplicitContext) const;
413
414 /// Removes a sequence of identities from this set of constraints. No errors are returned if an entry is not
415 /// found.
416 /// @param deletions The sequence of Ice identities to remove.
417 /// @param context The request context.
418 /// @return A future that becomes available when the invocation completes.
419 [[nodiscard]] std::future<void> removeAsync(const ::Ice::IdentitySeq& deletions, const Ice::Context& context = Ice::noExplicitContext) const;
420
421 /// Removes a sequence of identities from this set of constraints. No errors are returned if an entry is not
422 /// found.
423 /// @param deletions The sequence of Ice identities to remove.
424 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
425 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
426 /// function.
427 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
428 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
429 /// function.
430 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
431 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
432 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
433 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
434 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
435 /// asynchronous case.
436 /// @param context The request context.
437 /// @return A function that can be called to cancel the invocation locally.
438 /// @remark When this proxy is a oneway or datagram proxy, the Ice runtime does not call the response
439 /// callback: a successful invocation completes with the sent callback. When this proxy is a batch
440 /// proxy, this function only adds the request to the batch: the Ice runtime calls none of the
441 /// callbacks, and the request is sent later, by a flush.
442 // NOLINTNEXTLINE(modernize-use-nodiscard)
443 std::function<void()> removeAsync(const ::Ice::IdentitySeq& deletions, std::function<void()> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
444
445 /// @private
446 void _iceI_remove(const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&, const ::Ice::IdentitySeq&, const Ice::Context&) const;
447
448 /// Gets a sequence of identities describing the constraints in this set.
449 /// @param context The request context.
450 /// @return The sequence of Ice identities for this set.
451 ::Ice::IdentitySeq get(const Ice::Context& context = Ice::noExplicitContext) const; // NOLINT(modernize-use-nodiscard)
452
453 /// Gets a sequence of identities describing the constraints in this set.
454 /// @param context The request context.
455 /// @return A future that becomes available when the invocation completes. This future holds:
456 /// - The sequence of Ice identities for this set.
457 [[nodiscard]] std::future<::Ice::IdentitySeq> getAsync(const Ice::Context& context = Ice::noExplicitContext) const;
458
459 /// Gets a sequence of identities describing the constraints in this set.
460 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
461 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
462 /// function. It accepts:
463 /// - The sequence of Ice identities for this set.
464 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
465 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
466 /// function.
467 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
468 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
469 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
470 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
471 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
472 /// asynchronous case.
473 /// @param context The request context.
474 /// @return A function that can be called to cancel the invocation locally.
475 // NOLINTNEXTLINE(modernize-use-nodiscard)
476 std::function<void()> getAsync(std::function<void(::Ice::IdentitySeq)> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
477
478 /// @private
479 void _iceI_get(const std::shared_ptr<IceInternal::OutgoingAsyncT<::Ice::IdentitySeq>>&, const Ice::Context&) const;
480
481 /// Gets the type ID of the associated Slice interface.
482 /// @return The string `"::Glacier2::IdentitySet"`.
483 static const char* ice_staticId() noexcept;
484
485 /// @private
486 static IdentitySetPrx _fromReference(IceInternal::ReferencePtr ref) { return IdentitySetPrx{std::move(ref)}; }
487
488 protected:
489 /// @private
490 IdentitySetPrx() = default;
491
492 /// @private
493 explicit IdentitySetPrx(IceInternal::ReferencePtr&& ref) : Ice::ObjectPrx{std::move(ref)}
494 {
495 }
496 };
497
498 /// Represents a router-provided object that allows an application-provided session manager to configure the
499 /// routing constraints for a session.
500 /// @remarks The Slice compiler generated this proxy class from Slice interface `::Glacier2::SessionControl`.
501 /// @see SessionManagerPrx
502 /// @headerfile Glacier2/Glacier2.h
503 class GLACIER2_API SessionControlPrx : public Ice::Proxy<SessionControlPrx, Ice::ObjectPrx>
504 {
505 public:
506 /// Constructs a proxy from a Communicator and a proxy string.
507 /// @param communicator The communicator of the new proxy.
508 /// @param proxyString The proxy string to parse.
509 SessionControlPrx(const Ice::CommunicatorPtr& communicator, std::string_view proxyString) : Ice::ObjectPrx{communicator, proxyString} {} // NOLINT(modernize-use-equals-default)
510
511 /// Copy constructor. Constructs with a copy of the contents of @p other.
512 /// @param other The proxy to copy from.
513 SessionControlPrx(const SessionControlPrx& other) noexcept : Ice::ObjectPrx{other} {} // NOLINT(modernize-use-equals-default)
514
515 /// Move constructor. Constructs a proxy with the contents of @p other using move semantics.
516 /// @param other The proxy to move from.
517 SessionControlPrx(SessionControlPrx&& other) noexcept : Ice::ObjectPrx{std::move(other)} {} // NOLINT(modernize-use-equals-default)
518
519 ~SessionControlPrx() override;
520
521 /// Copy assignment operator. Replaces the contents of this proxy with a copy of the contents of @p rhs.
522 /// @param rhs The proxy to copy from.
523 /// @return A reference to this proxy.
525 {
526 if (this != &rhs)
527 {
529 }
530 return *this;
531 }
532
533 /// Move assignment operator. Replaces the contents of this proxy with the contents of @p rhs using move semantics.
534 /// @param rhs The proxy to move from.
536 {
537 if (this != &rhs)
538 {
539 Ice::ObjectPrx::operator=(std::move(rhs));
540 }
541 return *this;
542 }
543
544 /// Gets a proxy to the object that manages the allowable categories for object identities for this session.
545 /// @param context The request context.
546 /// @return A proxy to a ::Glacier2::StringSetPrx object. This proxy is never null.
547 std::optional<StringSetPrx> categories(const Ice::Context& context = Ice::noExplicitContext) const; // NOLINT(modernize-use-nodiscard)
548
549 /// Gets a proxy to the object that manages the allowable categories for object identities for this session.
550 /// @param context The request context.
551 /// @return A future that becomes available when the invocation completes. This future holds:
552 /// - A proxy to a ::Glacier2::StringSetPrx object. This proxy is never null.
553 [[nodiscard]] std::future<std::optional<StringSetPrx>> categoriesAsync(const Ice::Context& context = Ice::noExplicitContext) const;
554
555 /// Gets a proxy to the object that manages the allowable categories for object identities for this session.
556 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
557 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
558 /// function. It accepts:
559 /// - A proxy to a ::Glacier2::StringSetPrx object. This proxy is never null.
560 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
561 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
562 /// function.
563 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
564 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
565 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
566 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
567 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
568 /// asynchronous case.
569 /// @param context The request context.
570 /// @return A function that can be called to cancel the invocation locally.
571 // NOLINTNEXTLINE(modernize-use-nodiscard)
572 std::function<void()> categoriesAsync(std::function<void(std::optional<::Glacier2::StringSetPrx>)> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
573
574 /// @private
575 void _iceI_categories(const std::shared_ptr<IceInternal::OutgoingAsyncT<std::optional<StringSetPrx>>>&, const Ice::Context&) const;
576
577 /// Gets a proxy to the object that manages the allowable adapter identities for objects for this session.
578 /// @param context The request context.
579 /// @return A proxy to a ::Glacier2::StringSetPrx object. This proxy is never null.
580 std::optional<StringSetPrx> adapterIds(const Ice::Context& context = Ice::noExplicitContext) const; // NOLINT(modernize-use-nodiscard)
581
582 /// Gets a proxy to the object that manages the allowable adapter identities for objects for this session.
583 /// @param context The request context.
584 /// @return A future that becomes available when the invocation completes. This future holds:
585 /// - A proxy to a ::Glacier2::StringSetPrx object. This proxy is never null.
586 [[nodiscard]] std::future<std::optional<StringSetPrx>> adapterIdsAsync(const Ice::Context& context = Ice::noExplicitContext) const;
587
588 /// Gets a proxy to the object that manages the allowable adapter identities for objects for this session.
589 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
590 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
591 /// function. It accepts:
592 /// - A proxy to a ::Glacier2::StringSetPrx object. This proxy is never null.
593 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
594 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
595 /// function.
596 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
597 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
598 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
599 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
600 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
601 /// asynchronous case.
602 /// @param context The request context.
603 /// @return A function that can be called to cancel the invocation locally.
604 // NOLINTNEXTLINE(modernize-use-nodiscard)
605 std::function<void()> adapterIdsAsync(std::function<void(std::optional<::Glacier2::StringSetPrx>)> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
606
607 /// @private
608 void _iceI_adapterIds(const std::shared_ptr<IceInternal::OutgoingAsyncT<std::optional<StringSetPrx>>>&, const Ice::Context&) const;
609
610 /// Gets a proxy to the object that manages the allowable object identities for this session.
611 /// @param context The request context.
612 /// @return A proxy to an ::Glacier2::IdentitySetPrx object. This proxy is never null.
613 std::optional<IdentitySetPrx> identities(const Ice::Context& context = Ice::noExplicitContext) const; // NOLINT(modernize-use-nodiscard)
614
615 /// Gets a proxy to the object that manages the allowable object identities for this session.
616 /// @param context The request context.
617 /// @return A future that becomes available when the invocation completes. This future holds:
618 /// - A proxy to an ::Glacier2::IdentitySetPrx object. This proxy is never null.
619 [[nodiscard]] std::future<std::optional<IdentitySetPrx>> identitiesAsync(const Ice::Context& context = Ice::noExplicitContext) const;
620
621 /// Gets a proxy to the object that manages the allowable object identities for this session.
622 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
623 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
624 /// function. It accepts:
625 /// - A proxy to an ::Glacier2::IdentitySetPrx object. This proxy is never null.
626 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
627 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
628 /// function.
629 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
630 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
631 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
632 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
633 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
634 /// asynchronous case.
635 /// @param context The request context.
636 /// @return A function that can be called to cancel the invocation locally.
637 // NOLINTNEXTLINE(modernize-use-nodiscard)
638 std::function<void()> identitiesAsync(std::function<void(std::optional<::Glacier2::IdentitySetPrx>)> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
639
640 /// @private
641 void _iceI_identities(const std::shared_ptr<IceInternal::OutgoingAsyncT<std::optional<IdentitySetPrx>>>&, const Ice::Context&) const;
642
643 /// Gets the session timeout.
644 /// @param context The request context.
645 /// @return The timeout.
646 std::int32_t getSessionTimeout(const Ice::Context& context = Ice::noExplicitContext) const; // NOLINT(modernize-use-nodiscard)
647
648 /// Gets the session timeout.
649 /// @param context The request context.
650 /// @return A future that becomes available when the invocation completes. This future holds:
651 /// - The timeout.
652 [[nodiscard]] std::future<std::int32_t> getSessionTimeoutAsync(const Ice::Context& context = Ice::noExplicitContext) const;
653
654 /// Gets the session timeout.
655 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
656 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
657 /// function. It accepts:
658 /// - The timeout.
659 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
660 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
661 /// function.
662 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
663 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
664 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
665 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
666 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
667 /// asynchronous case.
668 /// @param context The request context.
669 /// @return A function that can be called to cancel the invocation locally.
670 // NOLINTNEXTLINE(modernize-use-nodiscard)
671 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;
672
673 /// @private
674 void _iceI_getSessionTimeout(const std::shared_ptr<IceInternal::OutgoingAsyncT<std::int32_t>>&, const Ice::Context&) const;
675
676 /// Destroys the associated session.
677 /// @param context The request context.
678 void destroy(const Ice::Context& context = Ice::noExplicitContext) const;
679
680 /// Destroys the associated session.
681 /// @param context The request context.
682 /// @return A future that becomes available when the invocation completes.
683 [[nodiscard]] std::future<void> destroyAsync(const Ice::Context& context = Ice::noExplicitContext) const;
684
685 /// Destroys the associated session.
686 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
687 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
688 /// function.
689 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
690 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
691 /// function.
692 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
693 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
694 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
695 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
696 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
697 /// asynchronous case.
698 /// @param context The request context.
699 /// @return A function that can be called to cancel the invocation locally.
700 /// @remark When this proxy is a oneway or datagram proxy, the Ice runtime does not call the response
701 /// callback: a successful invocation completes with the sent callback. When this proxy is a batch
702 /// proxy, this function only adds the request to the batch: the Ice runtime calls none of the
703 /// callbacks, and the request is sent later, by a flush.
704 // NOLINTNEXTLINE(modernize-use-nodiscard)
705 std::function<void()> destroyAsync(std::function<void()> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
706
707 /// @private
708 void _iceI_destroy(const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&, const Ice::Context&) const;
709
710 /// Gets the type ID of the associated Slice interface.
711 /// @return The string `"::Glacier2::SessionControl"`.
712 static const char* ice_staticId() noexcept;
713
714 /// @private
715 static SessionControlPrx _fromReference(IceInternal::ReferencePtr ref) { return SessionControlPrx{std::move(ref)}; }
716
717 protected:
718 /// @private
719 SessionControlPrx() = default;
720
721 /// @private
722 explicit SessionControlPrx(IceInternal::ReferencePtr&& ref) : Ice::ObjectPrx{std::move(ref)}
723 {
724 }
725 };
726
727 /// Represents an application-provided factory for session objects. You can configure a Glacier2 router with your
728 /// own SessionManager implementation; this router will then return the sessions created by this session manager to
729 /// its clients.
730 /// @remarks The Slice compiler generated this proxy class from Slice interface `::Glacier2::SessionManager`.
731 /// @headerfile Glacier2/Glacier2.h
732 class GLACIER2_API SessionManagerPrx : public Ice::Proxy<SessionManagerPrx, Ice::ObjectPrx>
733 {
734 public:
735 /// Constructs a proxy from a Communicator and a proxy string.
736 /// @param communicator The communicator of the new proxy.
737 /// @param proxyString The proxy string to parse.
738 SessionManagerPrx(const Ice::CommunicatorPtr& communicator, std::string_view proxyString) : Ice::ObjectPrx{communicator, proxyString} {} // NOLINT(modernize-use-equals-default)
739
740 /// Copy constructor. Constructs with a copy of the contents of @p other.
741 /// @param other The proxy to copy from.
742 SessionManagerPrx(const SessionManagerPrx& other) noexcept : Ice::ObjectPrx{other} {} // NOLINT(modernize-use-equals-default)
743
744 /// Move constructor. Constructs a proxy with the contents of @p other using move semantics.
745 /// @param other The proxy to move from.
746 SessionManagerPrx(SessionManagerPrx&& other) noexcept : Ice::ObjectPrx{std::move(other)} {} // NOLINT(modernize-use-equals-default)
747
748 ~SessionManagerPrx() override;
749
750 /// Copy assignment operator. Replaces the contents of this proxy with a copy of the contents of @p rhs.
751 /// @param rhs The proxy to copy from.
752 /// @return A reference to this proxy.
754 {
755 if (this != &rhs)
756 {
758 }
759 return *this;
760 }
761
762 /// Move assignment operator. Replaces the contents of this proxy with the contents of @p rhs using move semantics.
763 /// @param rhs The proxy to move from.
765 {
766 if (this != &rhs)
767 {
768 Ice::ObjectPrx::operator=(std::move(rhs));
769 }
770 return *this;
771 }
772
773 /// Creates a new session object.
774 /// @param userId The user ID for the session.
775 /// @param control A proxy to the session control object. This proxy is null when `Glacier2.Server.Endpoints`
776 /// is not configured.
777 /// @param context The request context.
778 /// @return A proxy to the newly created session. This proxy is never null.
779 /// @throws Glacier2::CannotCreateSessionException Thrown when the session cannot be created.
780 std::optional<SessionPrx> create(std::string_view userId, const std::optional<SessionControlPrx>& control, const Ice::Context& context = Ice::noExplicitContext) const; // NOLINT(modernize-use-nodiscard)
781
782 /// Creates a new session object.
783 /// @param userId The user ID for the session.
784 /// @param control A proxy to the session control object. This proxy is null when `Glacier2.Server.Endpoints`
785 /// is not configured.
786 /// @param context The request context.
787 /// @return A future that becomes available when the invocation completes. This future holds:
788 /// - A proxy to the newly created session. This proxy is never null.
789 [[nodiscard]] std::future<std::optional<SessionPrx>> createAsync(std::string_view userId, const std::optional<SessionControlPrx>& control, const Ice::Context& context = Ice::noExplicitContext) const;
790
791 /// Creates a new session object.
792 /// @param userId The user ID for the session.
793 /// @param control A proxy to the session control object. This proxy is null when `Glacier2.Server.Endpoints`
794 /// is not configured.
795 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
796 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
797 /// function. It accepts:
798 /// - A proxy to the newly created session. This proxy is never null.
799 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
800 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
801 /// function.
802 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
803 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
804 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
805 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
806 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
807 /// asynchronous case.
808 /// @param context The request context.
809 /// @return A function that can be called to cancel the invocation locally.
810 // NOLINTNEXTLINE(modernize-use-nodiscard)
811 std::function<void()> createAsync(std::string_view userId, const std::optional<SessionControlPrx>& control, std::function<void(std::optional<::Glacier2::SessionPrx>)> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
812
813 /// @private
814 void _iceI_create(const std::shared_ptr<IceInternal::OutgoingAsyncT<std::optional<SessionPrx>>>&, std::string_view, const std::optional<SessionControlPrx>&, const Ice::Context&) const;
815
816 /// Gets the type ID of the associated Slice interface.
817 /// @return The string `"::Glacier2::SessionManager"`.
818 static const char* ice_staticId() noexcept;
819
820 /// @private
821 static SessionManagerPrx _fromReference(IceInternal::ReferencePtr ref) { return SessionManagerPrx{std::move(ref)}; }
822
823 protected:
824 /// @private
825 SessionManagerPrx() = default;
826
827 /// @private
828 explicit SessionManagerPrx(IceInternal::ReferencePtr&& ref) : Ice::ObjectPrx{std::move(ref)}
829 {
830 }
831 };
832
833 /// Represents an application-provided factory for session objects. You can configure a Glacier2 router with your
834 /// own SSLSessionManager implementation; this router will then return the sessions created by this session manager
835 /// to its clients.
836 /// @remarks The Slice compiler generated this proxy class from Slice interface `::Glacier2::SSLSessionManager`.
837 /// @headerfile Glacier2/Glacier2.h
838 class GLACIER2_API SSLSessionManagerPrx : public Ice::Proxy<SSLSessionManagerPrx, Ice::ObjectPrx>
839 {
840 public:
841 /// Constructs a proxy from a Communicator and a proxy string.
842 /// @param communicator The communicator of the new proxy.
843 /// @param proxyString The proxy string to parse.
844 SSLSessionManagerPrx(const Ice::CommunicatorPtr& communicator, std::string_view proxyString) : Ice::ObjectPrx{communicator, proxyString} {} // NOLINT(modernize-use-equals-default)
845
846 /// Copy constructor. Constructs with a copy of the contents of @p other.
847 /// @param other The proxy to copy from.
848 SSLSessionManagerPrx(const SSLSessionManagerPrx& other) noexcept : Ice::ObjectPrx{other} {} // NOLINT(modernize-use-equals-default)
849
850 /// Move constructor. Constructs a proxy with the contents of @p other using move semantics.
851 /// @param other The proxy to move from.
852 SSLSessionManagerPrx(SSLSessionManagerPrx&& other) noexcept : Ice::ObjectPrx{std::move(other)} {} // NOLINT(modernize-use-equals-default)
853
854 ~SSLSessionManagerPrx() override;
855
856 /// Copy assignment operator. Replaces the contents of this proxy with a copy of the contents of @p rhs.
857 /// @param rhs The proxy to copy from.
858 /// @return A reference to this proxy.
860 {
861 if (this != &rhs)
862 {
864 }
865 return *this;
866 }
867
868 /// Move assignment operator. Replaces the contents of this proxy with the contents of @p rhs using move semantics.
869 /// @param rhs The proxy to move from.
871 {
872 if (this != &rhs)
873 {
874 Ice::ObjectPrx::operator=(std::move(rhs));
875 }
876 return *this;
877 }
878
879 /// Creates a new session object.
880 /// @param info The SSL info.
881 /// @param control A proxy to the session control object. This proxy is null when `Glacier2.Server.Endpoints`
882 /// is not configured.
883 /// @param context The request context.
884 /// @return A proxy to the newly created session. This proxy is never null.
885 /// @throws Glacier2::CannotCreateSessionException Thrown when the session cannot be created.
886 std::optional<SessionPrx> create(const SSLInfo& info, const std::optional<SessionControlPrx>& control, const Ice::Context& context = Ice::noExplicitContext) const; // NOLINT(modernize-use-nodiscard)
887
888 /// Creates a new session object.
889 /// @param info The SSL info.
890 /// @param control A proxy to the session control object. This proxy is null when `Glacier2.Server.Endpoints`
891 /// is not configured.
892 /// @param context The request context.
893 /// @return A future that becomes available when the invocation completes. This future holds:
894 /// - A proxy to the newly created session. This proxy is never null.
895 [[nodiscard]] std::future<std::optional<SessionPrx>> createAsync(const SSLInfo& info, const std::optional<SessionControlPrx>& control, const Ice::Context& context = Ice::noExplicitContext) const;
896
897 /// Creates a new session object.
898 /// @param info The SSL info.
899 /// @param control A proxy to the session control object. This proxy is null when `Glacier2.Server.Endpoints`
900 /// is not configured.
901 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
902 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
903 /// function. It accepts:
904 /// - A proxy to the newly created session. This proxy is never null.
905 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
906 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
907 /// function.
908 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
909 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
910 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
911 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
912 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
913 /// asynchronous case.
914 /// @param context The request context.
915 /// @return A function that can be called to cancel the invocation locally.
916 // NOLINTNEXTLINE(modernize-use-nodiscard)
917 std::function<void()> createAsync(const SSLInfo& info, const std::optional<SessionControlPrx>& control, std::function<void(std::optional<::Glacier2::SessionPrx>)> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
918
919 /// @private
920 void _iceI_create(const std::shared_ptr<IceInternal::OutgoingAsyncT<std::optional<SessionPrx>>>&, const SSLInfo&, const std::optional<SessionControlPrx>&, const Ice::Context&) const;
921
922 /// Gets the type ID of the associated Slice interface.
923 /// @return The string `"::Glacier2::SSLSessionManager"`.
924 static const char* ice_staticId() noexcept;
925
926 /// @private
927 static SSLSessionManagerPrx _fromReference(IceInternal::ReferencePtr ref) { return SSLSessionManagerPrx{std::move(ref)}; }
928
929 protected:
930 /// @private
931 SSLSessionManagerPrx() = default;
932
933 /// @private
934 explicit SSLSessionManagerPrx(IceInternal::ReferencePtr&& ref) : Ice::ObjectPrx{std::move(ref)}
935 {
936 }
937 };
938}
939
940namespace Glacier2
941{
942 /// The exception that is thrown when an attempt to create a new session fails.
943 /// @remarks The Slice compiler generated this exception class from Slice exception `::Glacier2::CannotCreateSessionException`.
944 /// @headerfile Glacier2/Glacier2.h
946 {
947 public:
948 /// Default constructor.
949 CannotCreateSessionException() noexcept = default;
950
951 /// One-shot constructor to initialize all data members.
952 /// @param reason The reason why the session creation failed.
953 CannotCreateSessionException(std::string reason) noexcept :
954 reason(std::move(reason))
955 {
956 }
957
958 /// Copy constructor.
960
961 /// Creates a tuple with all the fields of this exception.
962 /// @return A tuple with all the fields of this exception.
963 [[nodiscard]] std::tuple<const std::string&> ice_tuple() const
964 {
965 return std::tie(reason);
966 }
967
968 void ice_printFields(std::ostream& os) const override;
969 /// Gets the type ID of the associated Slice exception.
970 /// @return The string `"::Glacier2::CannotCreateSessionException"`.
971 static const char* ice_staticId() noexcept;
972
973 [[nodiscard]] const char* ice_id() const noexcept override;
974
975 void ice_throw() const override;
976
977 /// The reason why the session creation failed.
978 std::string reason;
979
980 protected:
981 /// @private
982 void _writeImpl(Ice::OutputStream*) const override;
983
984 /// @private
985 void _readImpl(Ice::InputStream*) override;
986 };
987}
988
989namespace Glacier2
990{
991 /// Represents a session between a client application and the Glacier2 router. With Glacier2, the lifetime of a
992 /// session is tied to the Ice connection between the client and the router: the session is destroyed when the
993 /// connection is closed.
994 /// @remarks The Slice compiler generated this skeleton class from Slice interface `::Glacier2::Session`.
995 /// @see RouterPrx
996 /// @see SessionManagerPrx
997 /// @headerfile Glacier2/Glacier2.h
998 class GLACIER2_API Session : public virtual Ice::Object
999 {
1000 public:
1001 /// The associated proxy type.
1003
1004 /// Dispatches an incoming request to one of the member functions of this generated class, based on the operation name carried by the request.
1005 /// @param request The incoming request.
1006 /// @param sendResponse The callback to send the response.
1007 void dispatch(Ice::IncomingRequest& request, std::function<void(Ice::OutgoingResponse)> sendResponse) override;
1008
1009 [[nodiscard]] std::vector<std::string> ice_ids(const Ice::Current& current) const override;
1010
1011 [[nodiscard]] std::string ice_id(const Ice::Current& current) const override;
1012
1013 /// Destroys this session.
1014 /// @param current The Current object of the incoming request.
1015 virtual void destroy(const Ice::Current& current) = 0;
1016
1017 /// @private
1018 void _iceD_destroy(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
1019
1020 /// Gets the type ID of the associated Slice interface.
1021 /// @return The string `"::Glacier2::Session"`.
1022 static const char* ice_staticId() noexcept;
1023 };
1024
1025 /// A shared pointer to a Session.
1026 using SessionPtr = std::shared_ptr<Session>;
1027
1028 /// Manages a set of constraints on a SessionPrx.
1029 /// @remarks The Slice compiler generated this skeleton class from Slice interface `::Glacier2::StringSet`.
1030 /// @see SessionControlPrx
1031 /// @headerfile Glacier2/Glacier2.h
1032 class GLACIER2_API StringSet : public virtual Ice::Object
1033 {
1034 public:
1035 /// The associated proxy type.
1036 using ProxyType = StringSetPrx;
1037
1038 /// Dispatches an incoming request to one of the member functions of this generated class, based on the operation name carried by the request.
1039 /// @param request The incoming request.
1040 /// @param sendResponse The callback to send the response.
1041 void dispatch(Ice::IncomingRequest& request, std::function<void(Ice::OutgoingResponse)> sendResponse) override;
1042
1043 [[nodiscard]] std::vector<std::string> ice_ids(const Ice::Current& current) const override;
1044
1045 [[nodiscard]] std::string ice_id(const Ice::Current& current) const override;
1046
1047 /// Adds a sequence of strings to this set of constraints. Order is not preserved and duplicates are implicitly
1048 /// removed.
1049 /// @param additions The sequence of strings to add.
1050 /// @param current The Current object of the incoming request.
1051 virtual void add(::Ice::StringSeq additions, const Ice::Current& current) = 0;
1052
1053 /// @private
1054 void _iceD_add(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
1055
1056 /// Removes a sequence of strings from this set of constraints. No errors are returned if an entry is not found.
1057 /// @param deletions The sequence of strings to remove.
1058 /// @param current The Current object of the incoming request.
1059 virtual void remove(::Ice::StringSeq deletions, const Ice::Current& current) = 0;
1060
1061 /// @private
1062 void _iceD_remove(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
1063
1064 /// Gets a sequence of strings describing the constraints in this set.
1065 /// @param current The Current object of the incoming request.
1066 /// @return The sequence of strings for this set.
1067 virtual ::Ice::StringSeq get(const Ice::Current& current) = 0;
1068
1069 /// @private
1070 void _iceD_get(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
1071
1072 /// Gets the type ID of the associated Slice interface.
1073 /// @return The string `"::Glacier2::StringSet"`.
1074 static const char* ice_staticId() noexcept;
1075 };
1076
1077 /// A shared pointer to a StringSet.
1078 using StringSetPtr = std::shared_ptr<StringSet>;
1079
1080 /// Manages a set of object identity constraints on a SessionPrx.
1081 /// @remarks The Slice compiler generated this skeleton class from Slice interface `::Glacier2::IdentitySet`.
1082 /// @see SessionControlPrx
1083 /// @headerfile Glacier2/Glacier2.h
1084 class GLACIER2_API IdentitySet : public virtual Ice::Object
1085 {
1086 public:
1087 /// The associated proxy type.
1088 using ProxyType = IdentitySetPrx;
1089
1090 /// Dispatches an incoming request to one of the member functions of this generated class, based on the operation name carried by the request.
1091 /// @param request The incoming request.
1092 /// @param sendResponse The callback to send the response.
1093 void dispatch(Ice::IncomingRequest& request, std::function<void(Ice::OutgoingResponse)> sendResponse) override;
1094
1095 [[nodiscard]] std::vector<std::string> ice_ids(const Ice::Current& current) const override;
1096
1097 [[nodiscard]] std::string ice_id(const Ice::Current& current) const override;
1098
1099 /// Adds a sequence of Ice identities to this set of constraints. Order is not preserved and duplicates are
1100 /// implicitly removed.
1101 /// @param additions The sequence of Ice identities to add.
1102 /// @param current The Current object of the incoming request.
1103 virtual void add(::Ice::IdentitySeq additions, const Ice::Current& current) = 0;
1104
1105 /// @private
1106 void _iceD_add(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
1107
1108 /// Removes a sequence of identities from this set of constraints. No errors are returned if an entry is not
1109 /// found.
1110 /// @param deletions The sequence of Ice identities to remove.
1111 /// @param current The Current object of the incoming request.
1112 virtual void remove(::Ice::IdentitySeq deletions, const Ice::Current& current) = 0;
1113
1114 /// @private
1115 void _iceD_remove(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
1116
1117 /// Gets a sequence of identities describing the constraints in this set.
1118 /// @param current The Current object of the incoming request.
1119 /// @return The sequence of Ice identities for this set.
1120 virtual ::Ice::IdentitySeq get(const Ice::Current& current) = 0;
1121
1122 /// @private
1123 void _iceD_get(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
1124
1125 /// Gets the type ID of the associated Slice interface.
1126 /// @return The string `"::Glacier2::IdentitySet"`.
1127 static const char* ice_staticId() noexcept;
1128 };
1129
1130 /// A shared pointer to an IdentitySet.
1131 using IdentitySetPtr = std::shared_ptr<IdentitySet>;
1132
1133 /// Represents a router-provided object that allows an application-provided session manager to configure the
1134 /// routing constraints for a session.
1135 /// @remarks The Slice compiler generated this skeleton class from Slice interface `::Glacier2::SessionControl`.
1136 /// @see SessionManagerPrx
1137 /// @headerfile Glacier2/Glacier2.h
1138 class GLACIER2_API SessionControl : public virtual Ice::Object
1139 {
1140 public:
1141 /// The associated proxy type.
1142 using ProxyType = SessionControlPrx;
1143
1144 /// Dispatches an incoming request to one of the member functions of this generated class, based on the operation name carried by the request.
1145 /// @param request The incoming request.
1146 /// @param sendResponse The callback to send the response.
1147 void dispatch(Ice::IncomingRequest& request, std::function<void(Ice::OutgoingResponse)> sendResponse) override;
1148
1149 [[nodiscard]] std::vector<std::string> ice_ids(const Ice::Current& current) const override;
1150
1151 [[nodiscard]] std::string ice_id(const Ice::Current& current) const override;
1152
1153 /// Gets a proxy to the object that manages the allowable categories for object identities for this session.
1154 /// @param current The Current object of the incoming request.
1155 /// @return A proxy to a ::Glacier2::StringSetPrx object. This proxy is never null.
1156 virtual std::optional<StringSetPrx> categories(const Ice::Current& current) = 0;
1157
1158 /// @private
1159 void _iceD_categories(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
1160
1161 /// Gets a proxy to the object that manages the allowable adapter identities for objects for this session.
1162 /// @param current The Current object of the incoming request.
1163 /// @return A proxy to a ::Glacier2::StringSetPrx object. This proxy is never null.
1164 virtual std::optional<StringSetPrx> adapterIds(const Ice::Current& current) = 0;
1165
1166 /// @private
1167 void _iceD_adapterIds(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
1168
1169 /// Gets a proxy to the object that manages the allowable object identities for this session.
1170 /// @param current The Current object of the incoming request.
1171 /// @return A proxy to an ::Glacier2::IdentitySetPrx object. This proxy is never null.
1172 virtual std::optional<IdentitySetPrx> identities(const Ice::Current& current) = 0;
1173
1174 /// @private
1175 void _iceD_identities(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
1176
1177 /// Gets the session timeout.
1178 /// @param current The Current object of the incoming request.
1179 /// @return The timeout.
1180 virtual std::int32_t getSessionTimeout(const Ice::Current& current) = 0;
1181
1182 /// @private
1183 void _iceD_getSessionTimeout(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
1184
1185 /// Destroys the associated session.
1186 /// @param current The Current object of the incoming request.
1187 virtual void destroy(const Ice::Current& current) = 0;
1188
1189 /// @private
1190 void _iceD_destroy(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
1191
1192 /// Gets the type ID of the associated Slice interface.
1193 /// @return The string `"::Glacier2::SessionControl"`.
1194 static const char* ice_staticId() noexcept;
1195 };
1196
1197 /// A shared pointer to a SessionControl.
1198 using SessionControlPtr = std::shared_ptr<SessionControl>;
1199
1200 /// Represents an application-provided factory for session objects. You can configure a Glacier2 router with your
1201 /// own SessionManager implementation; this router will then return the sessions created by this session manager to
1202 /// its clients.
1203 /// @remarks The Slice compiler generated this skeleton class from Slice interface `::Glacier2::SessionManager`.
1204 /// @headerfile Glacier2/Glacier2.h
1205 class GLACIER2_API SessionManager : public virtual Ice::Object
1206 {
1207 public:
1208 /// The associated proxy type.
1210
1211 /// Dispatches an incoming request to one of the member functions of this generated class, based on the operation name carried by the request.
1212 /// @param request The incoming request.
1213 /// @param sendResponse The callback to send the response.
1214 void dispatch(Ice::IncomingRequest& request, std::function<void(Ice::OutgoingResponse)> sendResponse) override;
1215
1216 [[nodiscard]] std::vector<std::string> ice_ids(const Ice::Current& current) const override;
1217
1218 [[nodiscard]] std::string ice_id(const Ice::Current& current) const override;
1219
1220 /// Creates a new session object.
1221 /// @param userId The user ID for the session.
1222 /// @param control A proxy to the session control object. This proxy is null when `Glacier2.Server.Endpoints`
1223 /// is not configured.
1224 /// @param current The Current object of the incoming request.
1225 /// @return A proxy to the newly created session. This proxy is never null.
1226 /// @throws Glacier2::CannotCreateSessionException Thrown when the session cannot be created.
1227 virtual std::optional<SessionPrx> create(std::string userId, std::optional<SessionControlPrx> control, const Ice::Current& current) = 0;
1228
1229 /// @private
1230 void _iceD_create(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
1231
1232 /// Gets the type ID of the associated Slice interface.
1233 /// @return The string `"::Glacier2::SessionManager"`.
1234 static const char* ice_staticId() noexcept;
1235 };
1236
1237 /// A shared pointer to a SessionManager.
1238 using SessionManagerPtr = std::shared_ptr<SessionManager>;
1239
1240 /// Represents an application-provided factory for session objects. You can configure a Glacier2 router with your
1241 /// own SSLSessionManager implementation; this router will then return the sessions created by this session manager
1242 /// to its clients.
1243 /// @remarks The Slice compiler generated this skeleton class from Slice interface `::Glacier2::SSLSessionManager`.
1244 /// @headerfile Glacier2/Glacier2.h
1245 class GLACIER2_API SSLSessionManager : public virtual Ice::Object
1246 {
1247 public:
1248 /// The associated proxy type.
1250
1251 /// Dispatches an incoming request to one of the member functions of this generated class, based on the operation name carried by the request.
1252 /// @param request The incoming request.
1253 /// @param sendResponse The callback to send the response.
1254 void dispatch(Ice::IncomingRequest& request, std::function<void(Ice::OutgoingResponse)> sendResponse) override;
1255
1256 [[nodiscard]] std::vector<std::string> ice_ids(const Ice::Current& current) const override;
1257
1258 [[nodiscard]] std::string ice_id(const Ice::Current& current) const override;
1259
1260 /// Creates a new session object.
1261 /// @param info The SSL info.
1262 /// @param control A proxy to the session control object. This proxy is null when `Glacier2.Server.Endpoints`
1263 /// is not configured.
1264 /// @param current The Current object of the incoming request.
1265 /// @return A proxy to the newly created session. This proxy is never null.
1266 /// @throws Glacier2::CannotCreateSessionException Thrown when the session cannot be created.
1267 virtual std::optional<SessionPrx> create(SSLInfo info, std::optional<SessionControlPrx> control, const Ice::Current& current) = 0;
1268
1269 /// @private
1270 void _iceD_create(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
1271
1272 /// Gets the type ID of the associated Slice interface.
1273 /// @return The string `"::Glacier2::SSLSessionManager"`.
1274 static const char* ice_staticId() noexcept;
1275 };
1276
1277 /// A shared pointer to a SSLSessionManager.
1278 using SSLSessionManagerPtr = std::shared_ptr<SSLSessionManager>;
1279}
1280
1281namespace Glacier2
1282{
1283 /// Represents a session between a client application and the Glacier2 router. With Glacier2, the lifetime of a
1284 /// session is tied to the Ice connection between the client and the router: the session is destroyed when the
1285 /// connection is closed.
1286 /// @remarks The Slice compiler generated this skeleton class from Slice interface `::Glacier2::Session`.
1287 /// @see RouterPrx
1288 /// @see SessionManagerPrx
1289 /// @headerfile Glacier2/Glacier2.h
1290 class GLACIER2_API AsyncSession : public virtual Ice::Object
1291 {
1292 public:
1293 /// The associated proxy type.
1295
1296 /// Dispatches an incoming request to one of the member functions of this generated class, based on the operation name carried by the request.
1297 /// @param request The incoming request.
1298 /// @param sendResponse The callback to send the response.
1299 void dispatch(Ice::IncomingRequest& request, std::function<void(Ice::OutgoingResponse)> sendResponse) override;
1300
1301 [[nodiscard]] std::vector<std::string> ice_ids(const Ice::Current& current) const override;
1302
1303 [[nodiscard]] std::string ice_id(const Ice::Current& current) const override;
1304
1305 /// Destroys this session.
1306 /// @param response The response callback.
1307 /// @param exception The exception callback.
1308 /// @param current The Current object of the incoming request.
1309 virtual void destroyAsync(std::function<void()> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
1310
1311 /// @private
1312 void _iceD_destroy(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
1313
1314 /// Gets the type ID of the associated Slice interface.
1315 /// @return The string `"::Glacier2::Session"`.
1316 static const char* ice_staticId() noexcept;
1317 };
1318
1319 /// A shared pointer to an AsyncSession.
1320 using AsyncSessionPtr = std::shared_ptr<AsyncSession>;
1321
1322 /// Manages a set of constraints on a SessionPrx.
1323 /// @remarks The Slice compiler generated this skeleton class from Slice interface `::Glacier2::StringSet`.
1324 /// @see SessionControlPrx
1325 /// @headerfile Glacier2/Glacier2.h
1326 class GLACIER2_API AsyncStringSet : public virtual Ice::Object
1327 {
1328 public:
1329 /// The associated proxy type.
1331
1332 /// Dispatches an incoming request to one of the member functions of this generated class, based on the operation name carried by the request.
1333 /// @param request The incoming request.
1334 /// @param sendResponse The callback to send the response.
1335 void dispatch(Ice::IncomingRequest& request, std::function<void(Ice::OutgoingResponse)> sendResponse) override;
1336
1337 [[nodiscard]] std::vector<std::string> ice_ids(const Ice::Current& current) const override;
1338
1339 [[nodiscard]] std::string ice_id(const Ice::Current& current) const override;
1340
1341 /// Adds a sequence of strings to this set of constraints. Order is not preserved and duplicates are implicitly
1342 /// removed.
1343 /// @param additions The sequence of strings to add.
1344 /// @param response The response callback.
1345 /// @param exception The exception callback.
1346 /// @param current The Current object of the incoming request.
1347 virtual void addAsync(::Ice::StringSeq additions, std::function<void()> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
1348
1349 /// @private
1350 void _iceD_add(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
1351
1352 /// Removes a sequence of strings from this set of constraints. No errors are returned if an entry is not found.
1353 /// @param deletions The sequence of strings to remove.
1354 /// @param response The response callback.
1355 /// @param exception The exception callback.
1356 /// @param current The Current object of the incoming request.
1357 virtual void removeAsync(::Ice::StringSeq deletions, std::function<void()> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
1358
1359 /// @private
1360 void _iceD_remove(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
1361
1362 /// Gets a sequence of strings describing the constraints in this set.
1363 /// @param response The response callback. It accepts:
1364 /// - The sequence of strings for this set.
1365 /// @param exception The exception callback.
1366 /// @param current The Current object of the incoming request.
1367 virtual void getAsync(std::function<void(const ::Ice::StringSeq& returnValue)> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
1368
1369 /// @private
1370 void _iceD_get(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
1371
1372 /// Gets the type ID of the associated Slice interface.
1373 /// @return The string `"::Glacier2::StringSet"`.
1374 static const char* ice_staticId() noexcept;
1375 };
1376
1377 /// A shared pointer to an AsyncStringSet.
1378 using AsyncStringSetPtr = std::shared_ptr<AsyncStringSet>;
1379
1380 /// Manages a set of object identity constraints on a SessionPrx.
1381 /// @remarks The Slice compiler generated this skeleton class from Slice interface `::Glacier2::IdentitySet`.
1382 /// @see SessionControlPrx
1383 /// @headerfile Glacier2/Glacier2.h
1384 class GLACIER2_API AsyncIdentitySet : public virtual Ice::Object
1385 {
1386 public:
1387 /// The associated proxy type.
1389
1390 /// Dispatches an incoming request to one of the member functions of this generated class, based on the operation name carried by the request.
1391 /// @param request The incoming request.
1392 /// @param sendResponse The callback to send the response.
1393 void dispatch(Ice::IncomingRequest& request, std::function<void(Ice::OutgoingResponse)> sendResponse) override;
1394
1395 [[nodiscard]] std::vector<std::string> ice_ids(const Ice::Current& current) const override;
1396
1397 [[nodiscard]] std::string ice_id(const Ice::Current& current) const override;
1398
1399 /// Adds a sequence of Ice identities to this set of constraints. Order is not preserved and duplicates are
1400 /// implicitly removed.
1401 /// @param additions The sequence of Ice identities to add.
1402 /// @param response The response callback.
1403 /// @param exception The exception callback.
1404 /// @param current The Current object of the incoming request.
1405 virtual void addAsync(::Ice::IdentitySeq additions, std::function<void()> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
1406
1407 /// @private
1408 void _iceD_add(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
1409
1410 /// Removes a sequence of identities from this set of constraints. No errors are returned if an entry is not
1411 /// found.
1412 /// @param deletions The sequence of Ice identities to remove.
1413 /// @param response The response callback.
1414 /// @param exception The exception callback.
1415 /// @param current The Current object of the incoming request.
1416 virtual void removeAsync(::Ice::IdentitySeq deletions, std::function<void()> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
1417
1418 /// @private
1419 void _iceD_remove(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
1420
1421 /// Gets a sequence of identities describing the constraints in this set.
1422 /// @param response The response callback. It accepts:
1423 /// - The sequence of Ice identities for this set.
1424 /// @param exception The exception callback.
1425 /// @param current The Current object of the incoming request.
1426 virtual void getAsync(std::function<void(const ::Ice::IdentitySeq& returnValue)> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
1427
1428 /// @private
1429 void _iceD_get(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
1430
1431 /// Gets the type ID of the associated Slice interface.
1432 /// @return The string `"::Glacier2::IdentitySet"`.
1433 static const char* ice_staticId() noexcept;
1434 };
1435
1436 /// A shared pointer to an AsyncIdentitySet.
1437 using AsyncIdentitySetPtr = std::shared_ptr<AsyncIdentitySet>;
1438
1439 /// Represents a router-provided object that allows an application-provided session manager to configure the
1440 /// routing constraints for a session.
1441 /// @remarks The Slice compiler generated this skeleton class from Slice interface `::Glacier2::SessionControl`.
1442 /// @see SessionManagerPrx
1443 /// @headerfile Glacier2/Glacier2.h
1444 class GLACIER2_API AsyncSessionControl : public virtual Ice::Object
1445 {
1446 public:
1447 /// The associated proxy type.
1449
1450 /// Dispatches an incoming request to one of the member functions of this generated class, based on the operation name carried by the request.
1451 /// @param request The incoming request.
1452 /// @param sendResponse The callback to send the response.
1453 void dispatch(Ice::IncomingRequest& request, std::function<void(Ice::OutgoingResponse)> sendResponse) override;
1454
1455 [[nodiscard]] std::vector<std::string> ice_ids(const Ice::Current& current) const override;
1456
1457 [[nodiscard]] std::string ice_id(const Ice::Current& current) const override;
1458
1459 /// Gets a proxy to the object that manages the allowable categories for object identities for this session.
1460 /// @param response The response callback. It accepts:
1461 /// - A proxy to a ::Glacier2::StringSetPrx object. This proxy is never null.
1462 /// @param exception The exception callback.
1463 /// @param current The Current object of the incoming request.
1464 virtual void categoriesAsync(std::function<void(const std::optional<StringSetPrx>& returnValue)> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
1465
1466 /// @private
1467 void _iceD_categories(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
1468
1469 /// Gets a proxy to the object that manages the allowable adapter identities for objects for this session.
1470 /// @param response The response callback. It accepts:
1471 /// - A proxy to a ::Glacier2::StringSetPrx object. This proxy is never null.
1472 /// @param exception The exception callback.
1473 /// @param current The Current object of the incoming request.
1474 virtual void adapterIdsAsync(std::function<void(const std::optional<StringSetPrx>& returnValue)> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
1475
1476 /// @private
1477 void _iceD_adapterIds(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
1478
1479 /// Gets a proxy to the object that manages the allowable object identities for this session.
1480 /// @param response The response callback. It accepts:
1481 /// - A proxy to an ::Glacier2::IdentitySetPrx object. This proxy is never null.
1482 /// @param exception The exception callback.
1483 /// @param current The Current object of the incoming request.
1484 virtual void identitiesAsync(std::function<void(const std::optional<IdentitySetPrx>& returnValue)> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
1485
1486 /// @private
1487 void _iceD_identities(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
1488
1489 /// Gets the session timeout.
1490 /// @param response The response callback. It accepts:
1491 /// - The timeout.
1492 /// @param exception The exception callback.
1493 /// @param current The Current object of the incoming request.
1494 virtual void getSessionTimeoutAsync(std::function<void(std::int32_t returnValue)> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
1495
1496 /// @private
1497 void _iceD_getSessionTimeout(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
1498
1499 /// Destroys the associated session.
1500 /// @param response The response callback.
1501 /// @param exception The exception callback.
1502 /// @param current The Current object of the incoming request.
1503 virtual void destroyAsync(std::function<void()> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
1504
1505 /// @private
1506 void _iceD_destroy(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
1507
1508 /// Gets the type ID of the associated Slice interface.
1509 /// @return The string `"::Glacier2::SessionControl"`.
1510 static const char* ice_staticId() noexcept;
1511 };
1512
1513 /// A shared pointer to an AsyncSessionControl.
1515
1516 /// Represents an application-provided factory for session objects. You can configure a Glacier2 router with your
1517 /// own SessionManager implementation; this router will then return the sessions created by this session manager to
1518 /// its clients.
1519 /// @remarks The Slice compiler generated this skeleton class from Slice interface `::Glacier2::SessionManager`.
1520 /// @headerfile Glacier2/Glacier2.h
1521 class GLACIER2_API AsyncSessionManager : public virtual Ice::Object
1522 {
1523 public:
1524 /// The associated proxy type.
1526
1527 /// Dispatches an incoming request to one of the member functions of this generated class, based on the operation name carried by the request.
1528 /// @param request The incoming request.
1529 /// @param sendResponse The callback to send the response.
1530 void dispatch(Ice::IncomingRequest& request, std::function<void(Ice::OutgoingResponse)> sendResponse) override;
1531
1532 [[nodiscard]] std::vector<std::string> ice_ids(const Ice::Current& current) const override;
1533
1534 [[nodiscard]] std::string ice_id(const Ice::Current& current) const override;
1535
1536 /// Creates a new session object.
1537 /// @param userId The user ID for the session.
1538 /// @param control A proxy to the session control object. This proxy is null when `Glacier2.Server.Endpoints`
1539 /// is not configured.
1540 /// @param response The response callback. It accepts:
1541 /// - A proxy to the newly created session. This proxy is never null.
1542 /// @param exception The exception callback.
1543 /// @param current The Current object of the incoming request.
1544 /// @throws Glacier2::CannotCreateSessionException Thrown when the session cannot be created.
1545 virtual void createAsync(std::string userId, std::optional<SessionControlPrx> control, std::function<void(const std::optional<SessionPrx>& returnValue)> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
1546
1547 /// @private
1548 void _iceD_create(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
1549
1550 /// Gets the type ID of the associated Slice interface.
1551 /// @return The string `"::Glacier2::SessionManager"`.
1552 static const char* ice_staticId() noexcept;
1553 };
1554
1555 /// A shared pointer to an AsyncSessionManager.
1557
1558 /// Represents an application-provided factory for session objects. You can configure a Glacier2 router with your
1559 /// own SSLSessionManager implementation; this router will then return the sessions created by this session manager
1560 /// to its clients.
1561 /// @remarks The Slice compiler generated this skeleton class from Slice interface `::Glacier2::SSLSessionManager`.
1562 /// @headerfile Glacier2/Glacier2.h
1563 class GLACIER2_API AsyncSSLSessionManager : public virtual Ice::Object
1564 {
1565 public:
1566 /// The associated proxy type.
1568
1569 /// Dispatches an incoming request to one of the member functions of this generated class, based on the operation name carried by the request.
1570 /// @param request The incoming request.
1571 /// @param sendResponse The callback to send the response.
1572 void dispatch(Ice::IncomingRequest& request, std::function<void(Ice::OutgoingResponse)> sendResponse) override;
1573
1574 [[nodiscard]] std::vector<std::string> ice_ids(const Ice::Current& current) const override;
1575
1576 [[nodiscard]] std::string ice_id(const Ice::Current& current) const override;
1577
1578 /// Creates a new session object.
1579 /// @param info The SSL info.
1580 /// @param control A proxy to the session control object. This proxy is null when `Glacier2.Server.Endpoints`
1581 /// is not configured.
1582 /// @param response The response callback. It accepts:
1583 /// - A proxy to the newly created session. This proxy is never null.
1584 /// @param exception The exception callback.
1585 /// @param current The Current object of the incoming request.
1586 /// @throws Glacier2::CannotCreateSessionException Thrown when the session cannot be created.
1587 virtual void createAsync(SSLInfo info, std::optional<SessionControlPrx> control, std::function<void(const std::optional<SessionPrx>& returnValue)> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) = 0;
1588
1589 /// @private
1590 void _iceD_create(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>);
1591
1592 /// Gets the type ID of the associated Slice interface.
1593 /// @return The string `"::Glacier2::SSLSessionManager"`.
1594 static const char* ice_staticId() noexcept;
1595 };
1596
1597 /// A shared pointer to an AsyncSSLSessionManager.
1599}
1600
1601// NOLINTEND(modernize-concat-nested-namespaces)
1602
1603#include <Ice/PopDisableWarnings.h>
1604#endif
static const char * ice_staticId() noexcept
Gets the type ID of the associated Slice interface.
std::string ice_id(const Ice::Current &current) const override
Gets the type ID of the most-derived Slice interface supported by this object.
IdentitySetPrx ProxyType
The associated proxy type.
Definition Session.h:1388
std::vector< std::string > ice_ids(const Ice::Current &current) const override
Gets the Slice interfaces supported by this object as a list of Slice type IDs.
virtual void getAsync(std::function< void(const ::Ice::IdentitySeq &returnValue)> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current)=0
Gets a sequence of identities describing the constraints in this set.
void dispatch(Ice::IncomingRequest &request, std::function< void(Ice::OutgoingResponse)> sendResponse) override
Dispatches an incoming request to one of the member functions of this generated class,...
virtual void removeAsync(::Ice::IdentitySeq deletions, std::function< void()> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current)=0
Removes a sequence of identities from this set of constraints.
virtual void addAsync(::Ice::IdentitySeq additions, std::function< void()> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current)=0
Adds a sequence of Ice identities to this set of constraints.
Manages a set of object identity constraints on a SessionPrx.
Definition Session.h:1385
void dispatch(Ice::IncomingRequest &request, std::function< void(Ice::OutgoingResponse)> sendResponse) override
Dispatches an incoming request to one of the member functions of this generated class,...
static const char * ice_staticId() noexcept
Gets the type ID of the associated Slice interface.
virtual void createAsync(SSLInfo info, std::optional< SessionControlPrx > control, std::function< void(const std::optional< SessionPrx > &returnValue)> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current)=0
Creates a new session object.
SSLSessionManagerPrx ProxyType
The associated proxy type.
Definition Session.h:1567
std::vector< std::string > ice_ids(const Ice::Current &current) const override
Gets the Slice interfaces supported by this object as a list of Slice type IDs.
std::string ice_id(const Ice::Current &current) const override
Gets the type ID of the most-derived Slice interface supported by this object.
Represents an application-provided factory for session objects.
Definition Session.h:1564
static const char * ice_staticId() noexcept
Gets the type ID of the associated Slice interface.
virtual void destroyAsync(std::function< void()> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current)=0
Destroys the associated session.
virtual void adapterIdsAsync(std::function< void(const std::optional< StringSetPrx > &returnValue)> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current)=0
Gets a proxy to the object that manages the allowable adapter identities for objects for this session...
std::vector< std::string > ice_ids(const Ice::Current &current) const override
Gets the Slice interfaces supported by this object as a list of Slice type IDs.
virtual void identitiesAsync(std::function< void(const std::optional< IdentitySetPrx > &returnValue)> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current)=0
Gets a proxy to the object that manages the allowable object identities for this session.
SessionControlPrx ProxyType
The associated proxy type.
Definition Session.h:1448
virtual void categoriesAsync(std::function< void(const std::optional< StringSetPrx > &returnValue)> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current)=0
Gets a proxy to the object that manages the allowable categories for object identities for this sessi...
std::string ice_id(const Ice::Current &current) const override
Gets the type ID of the most-derived Slice interface supported by this object.
void dispatch(Ice::IncomingRequest &request, std::function< void(Ice::OutgoingResponse)> sendResponse) override
Dispatches an incoming request to one of the member functions of this generated class,...
virtual void getSessionTimeoutAsync(std::function< void(std::int32_t returnValue)> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current)=0
Gets the session timeout.
Represents a router-provided object that allows an application-provided session manager to configure ...
Definition Session.h:1445
SessionManagerPrx ProxyType
The associated proxy type.
Definition Session.h:1525
static const char * ice_staticId() noexcept
Gets the type ID of the associated Slice interface.
virtual void createAsync(std::string userId, std::optional< SessionControlPrx > control, std::function< void(const std::optional< SessionPrx > &returnValue)> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current)=0
Creates a new session object.
std::vector< std::string > ice_ids(const Ice::Current &current) const override
Gets the Slice interfaces supported by this object as a list of Slice type IDs.
void dispatch(Ice::IncomingRequest &request, std::function< void(Ice::OutgoingResponse)> sendResponse) override
Dispatches an incoming request to one of the member functions of this generated class,...
std::string ice_id(const Ice::Current &current) const override
Gets the type ID of the most-derived Slice interface supported by this object.
Represents an application-provided factory for session objects.
Definition Session.h:1522
std::string ice_id(const Ice::Current &current) const override
Gets the type ID of the most-derived Slice interface supported by this object.
void dispatch(Ice::IncomingRequest &request, std::function< void(Ice::OutgoingResponse)> sendResponse) override
Dispatches an incoming request to one of the member functions of this generated class,...
SessionPrx ProxyType
The associated proxy type.
Definition Session.h:1294
static const char * ice_staticId() noexcept
Gets the type ID of the associated Slice interface.
std::vector< std::string > ice_ids(const Ice::Current &current) const override
Gets the Slice interfaces supported by this object as a list of Slice type IDs.
virtual void destroyAsync(std::function< void()> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current)=0
Destroys this session.
Represents a session between a client application and the Glacier2 router.
Definition Session.h:1291
std::string ice_id(const Ice::Current &current) const override
Gets the type ID of the most-derived Slice interface supported by this object.
StringSetPrx ProxyType
The associated proxy type.
Definition Session.h:1330
static const char * ice_staticId() noexcept
Gets the type ID of the associated Slice interface.
virtual void removeAsync(::Ice::StringSeq deletions, std::function< void()> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current)=0
Removes a sequence of strings from this set of constraints.
virtual void getAsync(std::function< void(const ::Ice::StringSeq &returnValue)> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current)=0
Gets a sequence of strings describing the constraints in this set.
std::vector< std::string > ice_ids(const Ice::Current &current) const override
Gets the Slice interfaces supported by this object as a list of Slice type IDs.
void dispatch(Ice::IncomingRequest &request, std::function< void(Ice::OutgoingResponse)> sendResponse) override
Dispatches an incoming request to one of the member functions of this generated class,...
virtual void addAsync(::Ice::StringSeq additions, std::function< void()> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current)=0
Adds a sequence of strings to this set of constraints.
Manages a set of constraints on a SessionPrx.
Definition Session.h:1327
static const char * ice_staticId() noexcept
Gets the type ID of the associated Slice exception.
CannotCreateSessionException() noexcept=default
Default constructor.
std::string reason
The reason why the session creation failed.
Definition Session.h:978
void ice_throw() const override
Throws this exception.
std::tuple< const std::string & > ice_tuple() const
Creates a tuple with all the fields of this exception.
Definition Session.h:963
CannotCreateSessionException(const CannotCreateSessionException &) noexcept=default
Copy constructor.
const char * ice_id() const noexcept override
Returns the type ID of this exception.
void ice_printFields(std::ostream &os) const override
Outputs the name and value of each field of this instance, including inherited fields,...
std::function< void()> removeAsync(const ::Ice::IdentitySeq &deletions, std::function< void()> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Removes a sequence of identities from this set of constraints.
IdentitySetPrx(const Ice::CommunicatorPtr &communicator, std::string_view proxyString)
Constructs a proxy from a Communicator and a proxy string.
Definition Session.h:333
std::future<::Ice::IdentitySeq > getAsync(const Ice::Context &context=Ice::noExplicitContext) const
Gets a sequence of identities describing the constraints in this set.
void remove(const ::Ice::IdentitySeq &deletions, const Ice::Context &context=Ice::noExplicitContext) const
Removes a sequence of identities from this set of constraints.
std::function< void()> addAsync(const ::Ice::IdentitySeq &additions, std::function< void()> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Adds a sequence of Ice identities to this set of constraints.
IdentitySetPrx & operator=(const IdentitySetPrx &rhs) noexcept
Copy assignment operator.
Definition Session.h:348
std::function< void()> getAsync(std::function< void(::Ice::IdentitySeq)> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Gets a sequence of identities describing the constraints in this set.
std::future< void > addAsync(const ::Ice::IdentitySeq &additions, const Ice::Context &context=Ice::noExplicitContext) const
Adds a sequence of Ice identities to this set of constraints.
void add(const ::Ice::IdentitySeq &additions, const Ice::Context &context=Ice::noExplicitContext) const
Adds a sequence of Ice identities to this set of constraints.
IdentitySetPrx & operator=(IdentitySetPrx &&rhs) noexcept
Move assignment operator.
Definition Session.h:359
::Ice::IdentitySeq get(const Ice::Context &context=Ice::noExplicitContext) const
Gets a sequence of identities describing the constraints in this set.
std::future< void > removeAsync(const ::Ice::IdentitySeq &deletions, const Ice::Context &context=Ice::noExplicitContext) const
Removes a sequence of identities from this set of constraints.
IdentitySetPrx(IdentitySetPrx &&other) noexcept
Move constructor.
Definition Session.h:341
static const char * ice_staticId() noexcept
Gets the type ID of the associated Slice interface.
IdentitySetPrx(const IdentitySetPrx &other) noexcept
Copy constructor.
Definition Session.h:337
Manages a set of object identity constraints on a SessionPrx.
Definition Session.h:328
The Glacier2 specialization of the Ice::RouterPrx interface.
Definition Router.h:45
SSLSessionManagerPrx & operator=(SSLSessionManagerPrx &&rhs) noexcept
Move assignment operator.
Definition Session.h:870
SSLSessionManagerPrx(const SSLSessionManagerPrx &other) noexcept
Copy constructor.
Definition Session.h:848
std::function< void()> createAsync(const SSLInfo &info, const std::optional< SessionControlPrx > &control, std::function< void(std::optional<::Glacier2::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 new session object.
std::future< std::optional< SessionPrx > > createAsync(const SSLInfo &info, const std::optional< SessionControlPrx > &control, const Ice::Context &context=Ice::noExplicitContext) const
Creates a new session object.
SSLSessionManagerPrx(const Ice::CommunicatorPtr &communicator, std::string_view proxyString)
Constructs a proxy from a Communicator and a proxy string.
Definition Session.h:844
std::optional< SessionPrx > create(const SSLInfo &info, const std::optional< SessionControlPrx > &control, const Ice::Context &context=Ice::noExplicitContext) const
Creates a new session object.
SSLSessionManagerPrx & operator=(const SSLSessionManagerPrx &rhs) noexcept
Copy assignment operator.
Definition Session.h:859
SSLSessionManagerPrx(SSLSessionManagerPrx &&other) noexcept
Move constructor.
Definition Session.h:852
static const char * ice_staticId() noexcept
Gets the type ID of the associated Slice interface.
Represents an application-provided factory for session objects.
Definition Session.h:839
static const char * ice_staticId() noexcept
Gets the type ID of the associated Slice interface.
virtual std::optional< SessionPrx > create(SSLInfo info, std::optional< SessionControlPrx > control, const Ice::Current &current)=0
Creates a new session object.
std::vector< std::string > ice_ids(const Ice::Current &current) const override
Gets the Slice interfaces supported by this object as a list of Slice type IDs.
std::string ice_id(const Ice::Current &current) const override
Gets the type ID of the most-derived Slice interface supported by this object.
SSLSessionManagerPrx ProxyType
The associated proxy type.
Definition Session.h:1249
void dispatch(Ice::IncomingRequest &request, std::function< void(Ice::OutgoingResponse)> sendResponse) override
Dispatches an incoming request to one of the member functions of this generated class,...
Represents an application-provided factory for session objects.
Definition Session.h:1246
std::function< void()> identitiesAsync(std::function< void(std::optional<::Glacier2::IdentitySetPrx >)> 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 object that manages the allowable object identities for this session.
std::function< void()> destroyAsync(std::function< void()> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Destroys the associated session.
std::future< std::optional< StringSetPrx > > categoriesAsync(const Ice::Context &context=Ice::noExplicitContext) const
Gets a proxy to the object that manages the allowable categories for object identities for this sessi...
SessionControlPrx(SessionControlPrx &&other) noexcept
Move constructor.
Definition Session.h:517
std::future< std::optional< StringSetPrx > > adapterIdsAsync(const Ice::Context &context=Ice::noExplicitContext) const
Gets a proxy to the object that manages the allowable adapter identities for objects for this session...
std::future< std::int32_t > getSessionTimeoutAsync(const Ice::Context &context=Ice::noExplicitContext) const
Gets the session timeout.
SessionControlPrx & operator=(SessionControlPrx &&rhs) noexcept
Move assignment operator.
Definition Session.h:535
std::future< std::optional< IdentitySetPrx > > identitiesAsync(const Ice::Context &context=Ice::noExplicitContext) const
Gets a proxy to the object that manages the allowable object identities for this session.
std::optional< StringSetPrx > categories(const Ice::Context &context=Ice::noExplicitContext) const
Gets a proxy to the object that manages the allowable categories for object identities for this sessi...
std::int32_t getSessionTimeout(const Ice::Context &context=Ice::noExplicitContext) const
Gets the session timeout.
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::function< void()> categoriesAsync(std::function< void(std::optional<::Glacier2::StringSetPrx >)> 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 object that manages the allowable categories for object identities for this sessi...
std::optional< IdentitySetPrx > identities(const Ice::Context &context=Ice::noExplicitContext) const
Gets a proxy to the object that manages the allowable object identities for this session.
SessionControlPrx(const SessionControlPrx &other) noexcept
Copy constructor.
Definition Session.h:513
static const char * ice_staticId() noexcept
Gets the type ID of the associated Slice interface.
SessionControlPrx & operator=(const SessionControlPrx &rhs) noexcept
Copy assignment operator.
Definition Session.h:524
std::function< void()> adapterIdsAsync(std::function< void(std::optional<::Glacier2::StringSetPrx >)> 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 object that manages the allowable adapter identities for objects for this session...
SessionControlPrx(const Ice::CommunicatorPtr &communicator, std::string_view proxyString)
Constructs a proxy from a Communicator and a proxy string.
Definition Session.h:509
void destroy(const Ice::Context &context=Ice::noExplicitContext) const
Destroys the associated session.
std::optional< StringSetPrx > adapterIds(const Ice::Context &context=Ice::noExplicitContext) const
Gets a proxy to the object that manages the allowable adapter identities for objects for this session...
std::future< void > destroyAsync(const Ice::Context &context=Ice::noExplicitContext) const
Destroys the associated session.
Represents a router-provided object that allows an application-provided session manager to configure ...
Definition Session.h:504
std::future< std::optional< SessionPrx > > createAsync(std::string_view userId, const std::optional< SessionControlPrx > &control, const Ice::Context &context=Ice::noExplicitContext) const
Creates a new session object.
SessionManagerPrx & operator=(SessionManagerPrx &&rhs) noexcept
Move assignment operator.
Definition Session.h:764
std::optional< SessionPrx > create(std::string_view userId, const std::optional< SessionControlPrx > &control, const Ice::Context &context=Ice::noExplicitContext) const
Creates a new session object.
SessionManagerPrx & operator=(const SessionManagerPrx &rhs) noexcept
Copy assignment operator.
Definition Session.h:753
std::function< void()> createAsync(std::string_view userId, const std::optional< SessionControlPrx > &control, std::function< void(std::optional<::Glacier2::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 new session object.
SessionManagerPrx(const Ice::CommunicatorPtr &communicator, std::string_view proxyString)
Constructs a proxy from a Communicator and a proxy string.
Definition Session.h:738
SessionManagerPrx(SessionManagerPrx &&other) noexcept
Move constructor.
Definition Session.h:746
static const char * ice_staticId() noexcept
Gets the type ID of the associated Slice interface.
SessionManagerPrx(const SessionManagerPrx &other) noexcept
Copy constructor.
Definition Session.h:742
Represents an application-provided factory for session objects.
Definition Session.h:733
std::string ice_id(const Ice::Current &current) const override
Gets the type ID of the most-derived Slice interface supported by this object.
std::vector< std::string > ice_ids(const Ice::Current &current) const override
Gets the Slice interfaces supported by this object as a list of Slice type IDs.
void dispatch(Ice::IncomingRequest &request, std::function< void(Ice::OutgoingResponse)> sendResponse) override
Dispatches an incoming request to one of the member functions of this generated class,...
static const char * ice_staticId() noexcept
Gets the type ID of the associated Slice interface.
virtual std::optional< SessionPrx > create(std::string userId, std::optional< SessionControlPrx > control, const Ice::Current &current)=0
Creates a new session object.
SessionManagerPrx ProxyType
The associated proxy type.
Definition Session.h:1209
Represents an application-provided factory for session objects.
Definition Session.h:1206
SessionPrx & operator=(const SessionPrx &rhs) noexcept
Copy assignment operator.
Definition Session.h:80
static const char * ice_staticId() noexcept
Gets the type ID of the associated Slice interface.
void destroy(const Ice::Context &context=Ice::noExplicitContext) const
Destroys this session.
SessionPrx(SessionPrx &&other) noexcept
Move constructor.
Definition Session.h:73
std::future< void > destroyAsync(const Ice::Context &context=Ice::noExplicitContext) const
Destroys this session.
std::function< void()> destroyAsync(std::function< void()> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Destroys this session.
SessionPrx(const SessionPrx &other) noexcept
Copy constructor.
Definition Session.h:69
SessionPrx(const Ice::CommunicatorPtr &communicator, std::string_view proxyString)
Constructs a proxy from a Communicator and a proxy string.
Definition Session.h:65
SessionPrx & operator=(SessionPrx &&rhs) noexcept
Move assignment operator.
Definition Session.h:91
Represents a session between a client application and the Glacier2 router.
Definition Session.h:60
static const char * ice_staticId() noexcept
Gets the type ID of the associated Slice interface.
virtual void destroy(const Ice::Current &current)=0
Destroys this session.
std::vector< std::string > ice_ids(const Ice::Current &current) const override
Gets the Slice interfaces supported by this object as a list of Slice type IDs.
SessionPrx ProxyType
The associated proxy type.
Definition Session.h:1002
void dispatch(Ice::IncomingRequest &request, std::function< void(Ice::OutgoingResponse)> sendResponse) override
Dispatches an incoming request to one of the member functions of this generated class,...
std::string ice_id(const Ice::Current &current) const override
Gets the type ID of the most-derived Slice interface supported by this object.
Represents a session between a client application and the Glacier2 router.
Definition Session.h:999
StringSetPrx & operator=(const StringSetPrx &rhs) noexcept
Copy assignment operator.
Definition Session.h:176
static const char * ice_staticId() noexcept
Gets the type ID of the associated Slice interface.
StringSetPrx(const Ice::CommunicatorPtr &communicator, std::string_view proxyString)
Constructs a proxy from a Communicator and a proxy string.
Definition Session.h:161
StringSetPrx & operator=(StringSetPrx &&rhs) noexcept
Move assignment operator.
Definition Session.h:187
std::function< void()> getAsync(std::function< void(::Ice::StringSeq)> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Gets a sequence of strings describing the constraints in this set.
std::future< void > addAsync(const ::Ice::StringSeq &additions, const Ice::Context &context=Ice::noExplicitContext) const
Adds a sequence of strings to this set of constraints.
void remove(const ::Ice::StringSeq &deletions, const Ice::Context &context=Ice::noExplicitContext) const
Removes a sequence of strings from this set of constraints.
StringSetPrx(const StringSetPrx &other) noexcept
Copy constructor.
Definition Session.h:165
void add(const ::Ice::StringSeq &additions, const Ice::Context &context=Ice::noExplicitContext) const
Adds a sequence of strings to this set of constraints.
StringSetPrx(StringSetPrx &&other) noexcept
Move constructor.
Definition Session.h:169
std::future<::Ice::StringSeq > getAsync(const Ice::Context &context=Ice::noExplicitContext) const
Gets a sequence of strings describing the constraints in this set.
std::future< void > removeAsync(const ::Ice::StringSeq &deletions, const Ice::Context &context=Ice::noExplicitContext) const
Removes a sequence of strings from this set of constraints.
::Ice::StringSeq get(const Ice::Context &context=Ice::noExplicitContext) const
Gets a sequence of strings describing the constraints in this set.
std::function< void()> addAsync(const ::Ice::StringSeq &additions, std::function< void()> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Adds a sequence of strings to this set of constraints.
std::function< void()> removeAsync(const ::Ice::StringSeq &deletions, std::function< void()> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Removes a sequence of strings from this set of constraints.
Manages a set of constraints on a SessionPrx.
Definition Session.h:156
Represents a request received by a connection.
ObjectPrx & operator=(const ObjectPrx &rhs) noexcept=default
Copy assignment operator.
The base class for all Ice proxies.
Definition Proxy.h:265
Object() noexcept=default
Default constructor.
The base class for servants.
Definition Object.h:21
Represents the response to an incoming request.
Provides typed proxy functions.
Definition Proxy.h:48
Abstract base class for all exceptions defined in Slice.
std::shared_ptr< AsyncSessionControl > AsyncSessionControlPtr
A shared pointer to an AsyncSessionControl.
Definition Session.h:1514
std::shared_ptr< AsyncSessionManager > AsyncSessionManagerPtr
A shared pointer to an AsyncSessionManager.
Definition Session.h:1556
std::shared_ptr< SessionControl > SessionControlPtr
A shared pointer to a SessionControl.
Definition Session.h:1198
std::shared_ptr< StringSet > StringSetPtr
A shared pointer to a StringSet.
Definition Session.h:1078
std::shared_ptr< AsyncIdentitySet > AsyncIdentitySetPtr
A shared pointer to an AsyncIdentitySet.
Definition Session.h:1437
std::shared_ptr< SessionManager > SessionManagerPtr
A shared pointer to a SessionManager.
Definition Session.h:1238
std::shared_ptr< AsyncSession > AsyncSessionPtr
A shared pointer to an AsyncSession.
Definition Session.h:1320
std::shared_ptr< SSLSessionManager > SSLSessionManagerPtr
A shared pointer to a SSLSessionManager.
Definition Session.h:1278
std::shared_ptr< AsyncSSLSessionManager > AsyncSSLSessionManagerPtr
A shared pointer to an AsyncSSLSessionManager.
Definition Session.h:1598
std::shared_ptr< Session > SessionPtr
A shared pointer to a Session.
Definition Session.h:1026
std::shared_ptr< IdentitySet > IdentitySetPtr
A shared pointer to an IdentitySet.
Definition Session.h:1131
std::shared_ptr< AsyncStringSet > AsyncStringSetPtr
A shared pointer to an AsyncStringSet.
Definition Session.h:1378
Communicate through firewalls and across NATs.
std::vector< Identity > IdentitySeq
A sequence of identities.
Definition Identity.h:31
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::string > StringSeq
A sequence of strings.
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:60
Represents information gathered from an incoming SSL connection and used for authentication and autho...
Definition SSLInfo.h:45
Provides information about an incoming request being dispatched.
Definition Current.h:18