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