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