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