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