Ice 3.8
C++ API Reference
Loading...
Searching...
No Matches
PermissionsVerifier.h
1// Copyright (c) ZeroC, Inc.
2
3// slice2cpp version 3.8.3
4// <auto-generated>Generated from Slice file 'PermissionsVerifier.ice'.</auto-generated>
5// clang-format off
6
7#ifndef Glacier2_PermissionsVerifier_h_
8#define Glacier2_PermissionsVerifier_h_
9
11#include <Ice/Ice.h>
12#include "SSLInfo.h"
13#include <Glacier2/Config.h>
14
15#ifndef ICE_DISABLE_VERSION
16# if ICE_INT_VERSION / 100 != 308
17# error Ice version mismatch!
18# endif
19# if ICE_INT_VERSION % 100 >= 50
20# error Beta header file detected
21# endif
22# if ICE_INT_VERSION % 100 < 3
23# error Ice patch level mismatch!
24# endif
25#endif
26
27#ifndef GLACIER2_API
28# if defined(GLACIER2_API_EXPORTS)
29# define GLACIER2_API ICE_DECLSPEC_EXPORT
30# else
31# define GLACIER2_API ICE_DECLSPEC_IMPORT
32# endif
33#endif
34
35// NOLINTBEGIN(modernize-concat-nested-namespaces)
36
37namespace Glacier2
38{
40
42}
43
44namespace Glacier2
45{
46 /// Represents an object that checks user permissions. The Glacier2 router and other services use a
47 /// PermissionsVerifierPrx proxy when the user is authenticated using a user ID and password.
48 /// @remarks The Slice compiler generated this proxy class from Slice interface `::Glacier2::PermissionsVerifier`.
49 /// @headerfile Glacier2/Glacier2.h
50 class GLACIER2_API PermissionsVerifierPrx : public Ice::Proxy<PermissionsVerifierPrx, Ice::ObjectPrx>
51 {
52 public:
53 /// Constructs a proxy from a Communicator and a proxy string.
54 /// @param communicator The communicator of the new proxy.
55 /// @param proxyString The proxy string to parse.
56 PermissionsVerifierPrx(const Ice::CommunicatorPtr& communicator, std::string_view proxyString) : Ice::ObjectPrx{communicator, proxyString} {} // NOLINT(modernize-use-equals-default)
57
58 /// Copy constructor. Constructs with a copy of the contents of @p other.
59 /// @param other The proxy to copy from.
60 PermissionsVerifierPrx(const PermissionsVerifierPrx& other) noexcept : Ice::ObjectPrx{other} {} // NOLINT(modernize-use-equals-default)
61
62 /// Move constructor. Constructs a proxy with the contents of @p other using move semantics.
63 /// @param other The proxy to move from.
64 PermissionsVerifierPrx(PermissionsVerifierPrx&& other) noexcept : Ice::ObjectPrx{std::move(other)} {} // NOLINT(modernize-use-equals-default)
65
66 ~PermissionsVerifierPrx() override;
67
68 /// Copy assignment operator. Replaces the contents of this proxy with a copy of the contents of @p rhs.
69 /// @param rhs The proxy to copy from.
70 /// @return A reference to this proxy.
72 {
73 if (this != &rhs)
74 {
76 }
77 return *this;
78 }
79
80 /// Move assignment operator. Replaces the contents of this proxy with the contents of @p rhs using move semantics.
81 /// @param rhs The proxy to move from.
83 {
84 if (this != &rhs)
85 {
86 Ice::ObjectPrx::operator=(std::move(rhs));
87 }
88 return *this;
89 }
90
91 /// Checks if a user is authorized to establish a session.
92 /// @param userId The user ID.
93 /// @param password The user's password.
94 /// @param[out] reason The reason why access was denied.
95 /// @param context The request context.
96 /// @return `true` if access is granted, `false` otherwise.
97 /// @throws Glacier2::PermissionDeniedException Thrown when the user's access is denied. This exception can be thrown
98 /// instead of returning `false` with a reason set in the reason out parameter.
99 bool checkPermissions(std::string_view userId, std::string_view password, std::string& reason, const Ice::Context& context = Ice::noExplicitContext) const;
100
101 /// Checks if a user is authorized to establish a session.
102 /// @param userId The user ID.
103 /// @param password The user's password.
104 /// @param context The request context.
105 /// @return A future that becomes available when the invocation completes. This future holds:
106 /// - `returnValue` `true` if access is granted, `false` otherwise.
107 /// - `reason` The reason why access was denied.
108 [[nodiscard]] std::future<std::tuple<bool, std::string>> checkPermissionsAsync(std::string_view userId, std::string_view password, const Ice::Context& context = Ice::noExplicitContext) const;
109
110 /// Checks if a user is authorized to establish a session.
111 /// @param userId The user ID.
112 /// @param password The user's password.
113 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
114 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
115 /// function. It accepts:
116 /// - `returnValue` `true` if access is granted, `false` otherwise.
117 /// - `reason` The reason why access was denied.
118 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
119 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
120 /// function.
121 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
122 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
123 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
124 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
125 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
126 /// asynchronous case.
127 /// @param context The request context.
128 /// @return A function that can be called to cancel the invocation locally.
129 // NOLINTNEXTLINE(modernize-use-nodiscard)
130 std::function<void()> checkPermissionsAsync(std::string_view userId, std::string_view password, std::function<void(bool, std::string)> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
131
132 /// @private
133 void _iceI_checkPermissions(const std::shared_ptr<IceInternal::OutgoingAsyncT<std::tuple<bool, std::string>>>&, std::string_view, std::string_view, const Ice::Context&) const;
134
135 /// Gets the type ID of the associated Slice interface.
136 /// @return The string `"::Glacier2::PermissionsVerifier"`.
137 static const char* ice_staticId() noexcept;
138
139 /// @private
140 static PermissionsVerifierPrx _fromReference(IceInternal::ReferencePtr ref) { return PermissionsVerifierPrx{std::move(ref)}; }
141
142 protected:
143 /// @private
144 PermissionsVerifierPrx() = default;
145
146 /// @private
147 explicit PermissionsVerifierPrx(IceInternal::ReferencePtr&& ref) : Ice::ObjectPrx{std::move(ref)}
148 {
149 }
150 };
151
152 /// Represents an object that checks user permissions. The Glacier2 router and other services use an
153 /// SSLPermissionsVerifierPrx proxy when the user is authenticated through an SSL certificate.
154 /// @remarks The Slice compiler generated this proxy class from Slice interface `::Glacier2::SSLPermissionsVerifier`.
155 /// @headerfile Glacier2/Glacier2.h
156 class GLACIER2_API SSLPermissionsVerifierPrx : public Ice::Proxy<SSLPermissionsVerifierPrx, Ice::ObjectPrx>
157 {
158 public:
159 /// Constructs a proxy from a Communicator and a proxy string.
160 /// @param communicator The communicator of the new proxy.
161 /// @param proxyString The proxy string to parse.
162 SSLPermissionsVerifierPrx(const Ice::CommunicatorPtr& communicator, std::string_view proxyString) : Ice::ObjectPrx{communicator, proxyString} {} // NOLINT(modernize-use-equals-default)
163
164 /// Copy constructor. Constructs with a copy of the contents of @p other.
165 /// @param other The proxy to copy from.
166 SSLPermissionsVerifierPrx(const SSLPermissionsVerifierPrx& other) noexcept : Ice::ObjectPrx{other} {} // NOLINT(modernize-use-equals-default)
167
168 /// Move constructor. Constructs a proxy with the contents of @p other using move semantics.
169 /// @param other The proxy to move from.
170 SSLPermissionsVerifierPrx(SSLPermissionsVerifierPrx&& other) noexcept : Ice::ObjectPrx{std::move(other)} {} // NOLINT(modernize-use-equals-default)
171
172 ~SSLPermissionsVerifierPrx() override;
173
174 /// Copy assignment operator. Replaces the contents of this proxy with a copy of the contents of @p rhs.
175 /// @param rhs The proxy to copy from.
176 /// @return A reference to this proxy.
178 {
179 if (this != &rhs)
180 {
182 }
183 return *this;
184 }
185
186 /// Move assignment operator. Replaces the contents of this proxy with the contents of @p rhs using move semantics.
187 /// @param rhs The proxy to move from.
189 {
190 if (this != &rhs)
191 {
192 Ice::ObjectPrx::operator=(std::move(rhs));
193 }
194 return *this;
195 }
196
197 /// Checks if a user is authorized to establish a session.
198 /// @param info The SSL information.
199 /// @param[out] reason The reason why access was denied.
200 /// @param context The request context.
201 /// @return `true` if access is granted, `false` otherwise.
202 /// @throws Glacier2::PermissionDeniedException Thrown when the user's access is denied. This exception can be thrown
203 /// instead of returning `false` with a reason set in the reason out parameter.
204 bool authorize(const SSLInfo& info, std::string& reason, const Ice::Context& context = Ice::noExplicitContext) const;
205
206 /// Checks if a user is authorized to establish a session.
207 /// @param info The SSL information.
208 /// @param context The request context.
209 /// @return A future that becomes available when the invocation completes. This future holds:
210 /// - `returnValue` `true` if access is granted, `false` otherwise.
211 /// - `reason` The reason why access was denied.
212 [[nodiscard]] std::future<std::tuple<bool, std::string>> authorizeAsync(const SSLInfo& info, const Ice::Context& context = Ice::noExplicitContext) const;
213
214 /// Checks if a user is authorized to establish a session.
215 /// @param info The SSL information.
216 /// @param response The response callback. The Ice runtime calls this function from an Ice thread pool
217 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
218 /// function. It accepts:
219 /// - `returnValue` `true` if access is granted, `false` otherwise.
220 /// - `reason` The reason why access was denied.
221 /// @param exception The exception callback. The Ice runtime calls this function from an Ice thread pool
222 /// thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this
223 /// function.
224 /// @param sent The sent callback. The Ice runtime calls this function when the request is accepted by the
225 /// transport. When the request is accepted synchronously, the Ice runtime calls this function from the current
226 /// thread and passes `true` as argument. When the request is accepted asynchronously, the Ice runtime calls
227 /// this function from an Ice thread pool thread and passes `false` as argument. If you set
228 /// Ice::InitializationData::executor, the executor determines the thread that executes this function in the
229 /// asynchronous case.
230 /// @param context The request context.
231 /// @return A function that can be called to cancel the invocation locally.
232 // NOLINTNEXTLINE(modernize-use-nodiscard)
233 std::function<void()> authorizeAsync(const SSLInfo& info, std::function<void(bool, std::string)> response, std::function<void(std::exception_ptr)> exception = nullptr, std::function<void(bool)> sent = nullptr, const Ice::Context& context = Ice::noExplicitContext) const;
234
235 /// @private
236 void _iceI_authorize(const std::shared_ptr<IceInternal::OutgoingAsyncT<std::tuple<bool, std::string>>>&, const SSLInfo&, const Ice::Context&) const;
237
238 /// Gets the type ID of the associated Slice interface.
239 /// @return The string `"::Glacier2::SSLPermissionsVerifier"`.
240 static const char* ice_staticId() noexcept;
241
242 /// @private
243 static SSLPermissionsVerifierPrx _fromReference(IceInternal::ReferencePtr ref) { return SSLPermissionsVerifierPrx{std::move(ref)}; }
244
245 protected:
246 /// @private
247 SSLPermissionsVerifierPrx() = default;
248
249 /// @private
250 explicit SSLPermissionsVerifierPrx(IceInternal::ReferencePtr&& ref) : Ice::ObjectPrx{std::move(ref)}
251 {
252 }
253 };
254}
255
256namespace Glacier2
257{
258 /// The exception that is thrown when a client is not allowed to create a session.
259 /// @remarks The Slice compiler generated this exception class from Slice exception `::Glacier2::PermissionDeniedException`.
260 /// @headerfile Glacier2/Glacier2.h
262 {
263 public:
264 /// Default constructor.
265 PermissionDeniedException() noexcept = default;
266
267 /// One-shot constructor to initialize all data members.
268 /// @param reason The reason why permission was denied.
269 PermissionDeniedException(std::string reason) noexcept :
270 reason(std::move(reason))
271 {
272 }
273
274 /// Copy constructor.
276
277 /// Creates a tuple with all the fields of this exception.
278 /// @return A tuple with all the fields of this exception.
279 [[nodiscard]] std::tuple<const std::string&> ice_tuple() const
280 {
281 return std::tie(reason);
282 }
283
284 void ice_printFields(std::ostream& os) const override;
285 /// Gets the type ID of the associated Slice exception.
286 /// @return The string `"::Glacier2::PermissionDeniedException"`.
287 static const char* ice_staticId() noexcept;
288
289 [[nodiscard]] const char* ice_id() const noexcept override;
290
291 void ice_throw() const override;
292
293 /// The reason why permission was denied.
294 std::string reason;
295
296 protected:
297 /// @private
298 void _writeImpl(Ice::OutputStream*) const override;
299
300 /// @private
301 void _readImpl(Ice::InputStream*) override;
302 };
303}
304
305namespace Glacier2
306{
307 /// Represents an object that checks user permissions. The Glacier2 router and other services use a
308 /// PermissionsVerifierPrx proxy when the user is authenticated using a user ID and password.
309 /// @remarks The Slice compiler generated this skeleton class from Slice interface `::Glacier2::PermissionsVerifier`.
310 /// @headerfile Glacier2/Glacier2.h
311 class GLACIER2_API PermissionsVerifier : public virtual Ice::Object
312 {
313 public:
314 /// The associated proxy type.
316
317 /// Dispatches an incoming request to one of the member functions of this generated class, based on the operation name carried by the request.
318 /// @param request The incoming request.
319 /// @param sendResponse The callback to send the response.
320 void dispatch(Ice::IncomingRequest& request, std::function<void(Ice::OutgoingResponse)> sendResponse) override;
321
322 [[nodiscard]] std::vector<std::string> ice_ids(const Ice::Current& current) const override;
323
324 [[nodiscard]] std::string ice_id(const Ice::Current& current) const override;
325
326 /// Checks if a user is authorized to establish a session.
327 /// @param userId The user ID.
328 /// @param password The user's password.
329 /// @param[out] reason The reason why access was denied.
330 /// @param current The Current object of the incoming request.
331 /// @return `true` if access is granted, `false` otherwise.
332 /// @throws Glacier2::PermissionDeniedException Thrown when the user's access is denied. This exception can be thrown
333 /// instead of returning `false` with a reason set in the reason out parameter.
334 virtual bool checkPermissions(std::string userId, std::string password, std::string& reason, const Ice::Current& current) const = 0;
335
336 /// @private
337 void _iceD_checkPermissions(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
338
339 /// Gets the type ID of the associated Slice interface.
340 /// @return The string `"::Glacier2::PermissionsVerifier"`.
341 static const char* ice_staticId() noexcept;
342 };
343
344 /// A shared pointer to a PermissionsVerifier.
346
347 /// Represents an object that checks user permissions. The Glacier2 router and other services use an
348 /// SSLPermissionsVerifierPrx proxy when the user is authenticated through an SSL certificate.
349 /// @remarks The Slice compiler generated this skeleton class from Slice interface `::Glacier2::SSLPermissionsVerifier`.
350 /// @headerfile Glacier2/Glacier2.h
351 class GLACIER2_API SSLPermissionsVerifier : public virtual Ice::Object
352 {
353 public:
354 /// The associated proxy type.
356
357 /// Dispatches an incoming request to one of the member functions of this generated class, based on the operation name carried by the request.
358 /// @param request The incoming request.
359 /// @param sendResponse The callback to send the response.
360 void dispatch(Ice::IncomingRequest& request, std::function<void(Ice::OutgoingResponse)> sendResponse) override;
361
362 [[nodiscard]] std::vector<std::string> ice_ids(const Ice::Current& current) const override;
363
364 [[nodiscard]] std::string ice_id(const Ice::Current& current) const override;
365
366 /// Checks if a user is authorized to establish a session.
367 /// @param info The SSL information.
368 /// @param[out] reason The reason why access was denied.
369 /// @param current The Current object of the incoming request.
370 /// @return `true` if access is granted, `false` otherwise.
371 /// @throws Glacier2::PermissionDeniedException Thrown when the user's access is denied. This exception can be thrown
372 /// instead of returning `false` with a reason set in the reason out parameter.
373 virtual bool authorize(SSLInfo info, std::string& reason, const Ice::Current& current) const = 0;
374
375 /// @private
376 void _iceD_authorize(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
377
378 /// Gets the type ID of the associated Slice interface.
379 /// @return The string `"::Glacier2::SSLPermissionsVerifier"`.
380 static const char* ice_staticId() noexcept;
381 };
382
383 /// A shared pointer to a SSLPermissionsVerifier.
385}
386
387namespace Glacier2
388{
389 /// Represents an object that checks user permissions. The Glacier2 router and other services use a
390 /// PermissionsVerifierPrx proxy when the user is authenticated using a user ID and password.
391 /// @remarks The Slice compiler generated this skeleton class from Slice interface `::Glacier2::PermissionsVerifier`.
392 /// @headerfile Glacier2/Glacier2.h
393 class GLACIER2_API AsyncPermissionsVerifier : public virtual Ice::Object
394 {
395 public:
396 /// The associated proxy type.
398
399 /// Dispatches an incoming request to one of the member functions of this generated class, based on the operation name carried by the request.
400 /// @param request The incoming request.
401 /// @param sendResponse The callback to send the response.
402 void dispatch(Ice::IncomingRequest& request, std::function<void(Ice::OutgoingResponse)> sendResponse) override;
403
404 [[nodiscard]] std::vector<std::string> ice_ids(const Ice::Current& current) const override;
405
406 [[nodiscard]] std::string ice_id(const Ice::Current& current) const override;
407
408 /// Checks if a user is authorized to establish a session.
409 /// @param userId The user ID.
410 /// @param password The user's password.
411 /// @param response The response callback. It accepts:
412 /// - `returnValue` `true` if access is granted, `false` otherwise.
413 /// - `reason` The reason why access was denied.
414 /// @param exception The exception callback.
415 /// @param current The Current object of the incoming request.
416 /// @throws Glacier2::PermissionDeniedException Thrown when the user's access is denied. This exception can be thrown
417 /// instead of returning `false` with a reason set in the reason out parameter.
418 virtual void checkPermissionsAsync(std::string userId, std::string password, std::function<void(bool returnValue, std::string_view reason)> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) const = 0;
419
420 /// @private
421 void _iceD_checkPermissions(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
422
423 /// Gets the type ID of the associated Slice interface.
424 /// @return The string `"::Glacier2::PermissionsVerifier"`.
425 static const char* ice_staticId() noexcept;
426 };
427
428 /// A shared pointer to an AsyncPermissionsVerifier.
430
431 /// Represents an object that checks user permissions. The Glacier2 router and other services use an
432 /// SSLPermissionsVerifierPrx proxy when the user is authenticated through an SSL certificate.
433 /// @remarks The Slice compiler generated this skeleton class from Slice interface `::Glacier2::SSLPermissionsVerifier`.
434 /// @headerfile Glacier2/Glacier2.h
435 class GLACIER2_API AsyncSSLPermissionsVerifier : public virtual Ice::Object
436 {
437 public:
438 /// The associated proxy type.
440
441 /// Dispatches an incoming request to one of the member functions of this generated class, based on the operation name carried by the request.
442 /// @param request The incoming request.
443 /// @param sendResponse The callback to send the response.
444 void dispatch(Ice::IncomingRequest& request, std::function<void(Ice::OutgoingResponse)> sendResponse) override;
445
446 [[nodiscard]] std::vector<std::string> ice_ids(const Ice::Current& current) const override;
447
448 [[nodiscard]] std::string ice_id(const Ice::Current& current) const override;
449
450 /// Checks if a user is authorized to establish a session.
451 /// @param info The SSL information.
452 /// @param response The response callback. It accepts:
453 /// - `returnValue` `true` if access is granted, `false` otherwise.
454 /// - `reason` The reason why access was denied.
455 /// @param exception The exception callback.
456 /// @param current The Current object of the incoming request.
457 /// @throws Glacier2::PermissionDeniedException Thrown when the user's access is denied. This exception can be thrown
458 /// instead of returning `false` with a reason set in the reason out parameter.
459 virtual void authorizeAsync(SSLInfo info, std::function<void(bool returnValue, std::string_view reason)> response, std::function<void(std::exception_ptr)> exception, const Ice::Current& current) const = 0;
460
461 /// @private
462 void _iceD_authorize(Ice::IncomingRequest&, std::function<void(Ice::OutgoingResponse)>) const;
463
464 /// Gets the type ID of the associated Slice interface.
465 /// @return The string `"::Glacier2::SSLPermissionsVerifier"`.
466 static const char* ice_staticId() noexcept;
467 };
468
469 /// A shared pointer to an AsyncSSLPermissionsVerifier.
471}
472
473// NOLINTEND(modernize-concat-nested-namespaces)
474
475#include <Ice/PopDisableWarnings.h>
476#endif
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,...
PermissionsVerifierPrx ProxyType
The associated proxy type.
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.
static const char * ice_staticId() noexcept
Gets the type ID of the associated Slice interface.
virtual void checkPermissionsAsync(std::string userId, std::string password, std::function< void(bool returnValue, std::string_view reason)> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current) const =0
Checks if a user is authorized to establish a session.
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 object that checks user permissions.
virtual void authorizeAsync(SSLInfo info, std::function< void(bool returnValue, std::string_view reason)> response, std::function< void(std::exception_ptr)> exception, const Ice::Current &current) const =0
Checks if a user is authorized to establish a session.
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.
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,...
SSLPermissionsVerifierPrx ProxyType
The associated proxy type.
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 object that checks user permissions.
std::string reason
The reason why permission was denied.
const char * ice_id() const noexcept override
Returns the type ID of this exception.
std::tuple< const std::string & > ice_tuple() const
Creates a tuple with all the fields of this exception.
static const char * ice_staticId() noexcept
Gets the type ID of the associated Slice exception.
void ice_throw() const override
Throws this exception.
void ice_printFields(std::ostream &os) const override
Outputs the name and value of each field of this instance, including inherited fields,...
PermissionDeniedException(const PermissionDeniedException &) noexcept=default
Copy constructor.
PermissionDeniedException() noexcept=default
Default constructor.
PermissionsVerifierPrx(const Ice::CommunicatorPtr &communicator, std::string_view proxyString)
Constructs a proxy from a Communicator and a proxy string.
std::function< void()> checkPermissionsAsync(std::string_view userId, std::string_view password, std::function< void(bool, std::string)> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Checks if a user is authorized to establish a session.
PermissionsVerifierPrx & operator=(PermissionsVerifierPrx &&rhs) noexcept
Move assignment operator.
std::future< std::tuple< bool, std::string > > checkPermissionsAsync(std::string_view userId, std::string_view password, const Ice::Context &context=Ice::noExplicitContext) const
Checks if a user is authorized to establish a session.
PermissionsVerifierPrx & operator=(const PermissionsVerifierPrx &rhs) noexcept
Copy assignment operator.
static const char * ice_staticId() noexcept
Gets the type ID of the associated Slice interface.
PermissionsVerifierPrx(const PermissionsVerifierPrx &other) noexcept
Copy constructor.
PermissionsVerifierPrx(PermissionsVerifierPrx &&other) noexcept
Move constructor.
bool checkPermissions(std::string_view userId, std::string_view password, std::string &reason, const Ice::Context &context=Ice::noExplicitContext) const
Checks if a user is authorized to establish a session.
Represents an object that checks user permissions.
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::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.
PermissionsVerifierPrx ProxyType
The associated proxy type.
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.
virtual bool checkPermissions(std::string userId, std::string password, std::string &reason, const Ice::Current &current) const =0
Checks if a user is authorized to establish a session.
Represents an object that checks user permissions.
SSLPermissionsVerifierPrx & operator=(const SSLPermissionsVerifierPrx &rhs) noexcept
Copy assignment operator.
static const char * ice_staticId() noexcept
Gets the type ID of the associated Slice interface.
std::function< void()> authorizeAsync(const SSLInfo &info, std::function< void(bool, std::string)> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Checks if a user is authorized to establish a session.
bool authorize(const SSLInfo &info, std::string &reason, const Ice::Context &context=Ice::noExplicitContext) const
Checks if a user is authorized to establish a session.
SSLPermissionsVerifierPrx(const Ice::CommunicatorPtr &communicator, std::string_view proxyString)
Constructs a proxy from a Communicator and a proxy string.
std::future< std::tuple< bool, std::string > > authorizeAsync(const SSLInfo &info, const Ice::Context &context=Ice::noExplicitContext) const
Checks if a user is authorized to establish a session.
SSLPermissionsVerifierPrx(const SSLPermissionsVerifierPrx &other) noexcept
Copy constructor.
SSLPermissionsVerifierPrx & operator=(SSLPermissionsVerifierPrx &&rhs) noexcept
Move assignment operator.
SSLPermissionsVerifierPrx(SSLPermissionsVerifierPrx &&other) noexcept
Move constructor.
Represents an object that checks user permissions.
static const char * ice_staticId() noexcept
Gets the type ID of the associated Slice interface.
SSLPermissionsVerifierPrx ProxyType
The associated proxy type.
virtual bool authorize(SSLInfo info, std::string &reason, const Ice::Current &current) const =0
Checks if a user is authorized to establish a session.
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,...
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.
Represents an object that checks user permissions.
Represents a request received by a connection.
ObjectPrx & operator=(const ObjectPrx &rhs) noexcept=default
Copy assignment operator.
The base class for all Ice proxies.
Definition Proxy.h:265
Object() noexcept=default
Default constructor.
The base class for servants.
Definition Object.h:21
Represents the response to an incoming request.
Provides typed proxy functions.
Definition Proxy.h:48
Abstract base class for all exceptions defined in Slice.
std::shared_ptr< AsyncSSLPermissionsVerifier > AsyncSSLPermissionsVerifierPtr
A shared pointer to an AsyncSSLPermissionsVerifier.
std::shared_ptr< SSLPermissionsVerifier > SSLPermissionsVerifierPtr
A shared pointer to a SSLPermissionsVerifier.
std::shared_ptr< PermissionsVerifier > PermissionsVerifierPtr
A shared pointer to a PermissionsVerifier.
std::shared_ptr< AsyncPermissionsVerifier > AsyncPermissionsVerifierPtr
A shared pointer to an AsyncPermissionsVerifier.
Communicate through firewalls and across NATs.
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::map< std::string, std::string, std::less<> > Context
Represents additional information carried by an Ice request.
Definition Context.h:34
The Ice RPC framework.
Definition SampleEvent.h:66
Represents information gathered from an incoming SSL connection and used for authentication and autho...
Definition SSLInfo.h:51
Provides information about an incoming request being dispatched.
Definition Current.h:18