Ice 3.7 C++11 API Reference
Loading...
Searching...
No Matches
PermissionsVerifier.h
Go to the documentation of this file.
1//
2// Copyright (c) ZeroC, Inc. All rights reserved.
3//
4//
5// Ice version 3.7.11
6//
7// <auto-generated>
8//
9// Generated from file `PermissionsVerifier.ice'
10//
11// Warning: do not edit this file.
12//
13// </auto-generated>
14//
15
16#ifndef __Glacier2_PermissionsVerifier_h__
17#define __Glacier2_PermissionsVerifier_h__
18
20#include <Ice/ProxyF.h>
21#include <Ice/ObjectF.h>
22#include <Ice/ValueF.h>
23#include <Ice/Exception.h>
24#include <Ice/LocalObject.h>
25#include <Ice/StreamHelpers.h>
26#include <Ice/Comparable.h>
27#include <Ice/Proxy.h>
28#include <Ice/Object.h>
29#include <Ice/GCObject.h>
30#include <Ice/Value.h>
31#include <Ice/Incoming.h>
33#include <IceUtil/ScopedArray.h>
34#include <Ice/Optional.h>
36#include <Ice/SlicedDataF.h>
37#include <Glacier2/SSLInfo.h>
39#include <Glacier2/Config.h>
40
41#ifndef ICE_IGNORE_VERSION
42# if ICE_INT_VERSION / 100 != 307
43# error Ice version mismatch!
44# endif
45# if ICE_INT_VERSION % 100 >= 50
46# error Beta header file detected
47# endif
48# if ICE_INT_VERSION % 100 < 11
49# error Ice patch level mismatch!
50# endif
51#endif
52
53#ifndef GLACIER2_API
54# if defined(ICE_STATIC_LIBS)
55# define GLACIER2_API /**/
56# elif defined(GLACIER2_API_EXPORTS)
57# define GLACIER2_API ICE_DECLSPEC_EXPORT
58# else
59# define GLACIER2_API ICE_DECLSPEC_IMPORT
60# endif
61#endif
62
63#ifdef ICE_CPP11_MAPPING // C++11 mapping
64
74
75namespace Glacier2
76{
77
83class ICE_CLASS(GLACIER2_API) PermissionDeniedException : public ::Ice::UserExceptionHelper<PermissionDeniedException, ::Ice::UserException>
84{
85public:
86
88
90
92
97 PermissionDeniedException(const ::std::string& reason) :
99 {
100 }
101
106 std::tuple<const ::std::string&> ice_tuple() const
107 {
108 return std::tie(reason);
109 }
110
115 ICE_MEMBER(GLACIER2_API) static const ::std::string& ice_staticId();
116
120 ::std::string reason;
121
128 ICE_MEMBER(GLACIER2_API) virtual ::std::shared_ptr<::Ice::SlicedData> ice_getSlicedData() const override;
129
131 ICE_MEMBER(GLACIER2_API) virtual void _write(::Ice::OutputStream*) const override;
132 ICE_MEMBER(GLACIER2_API) virtual void _read(::Ice::InputStream*) override;
133
134 ::std::shared_ptr<::Ice::SlicedData> _slicedData;
136};
137
139static PermissionDeniedException _iceS_PermissionDeniedException_init;
141
142}
143
144namespace Glacier2
145{
146
154{
155public:
156
158
165 virtual bool ice_isA(::std::string id, const ::Ice::Current& current) const override;
166
172 virtual ::std::vector<::std::string> ice_ids(const ::Ice::Current& current) const override;
173
179 virtual ::std::string ice_id(const ::Ice::Current& current) const override;
180
185 static const ::std::string& ice_staticId();
186
191 {
195 ::std::string reason;
196 };
197
209 virtual bool checkPermissions(::std::string userId, ::std::string password, ::std::string& reason, const ::Ice::Current& current) const = 0;
211 bool _iceD_checkPermissions(::IceInternal::Incoming&, const ::Ice::Current&) const;
213
215 virtual bool _iceDispatch(::IceInternal::Incoming&, const ::Ice::Current&) override;
217};
218
226{
227public:
228
230
237 virtual bool ice_isA(::std::string id, const ::Ice::Current& current) const override;
238
244 virtual ::std::vector<::std::string> ice_ids(const ::Ice::Current& current) const override;
245
251 virtual ::std::string ice_id(const ::Ice::Current& current) const override;
252
257 static const ::std::string& ice_staticId();
258
263 {
267 ::std::string reason;
268 };
269
281 virtual bool authorize(SSLInfo info, ::std::string& reason, const ::Ice::Current& current) const = 0;
283 bool _iceD_authorize(::IceInternal::Incoming&, const ::Ice::Current&) const;
285
287 virtual bool _iceDispatch(::IceInternal::Incoming&, const ::Ice::Current&) override;
289};
290
291}
292
293namespace Glacier2
294{
295
302class ICE_CLASS(GLACIER2_API) PermissionsVerifierPrx : public virtual ::Ice::Proxy<PermissionsVerifierPrx, ::Ice::ObjectPrx>
303{
304public:
305
317 bool checkPermissions(const ::std::string& userId, const ::std::string& password, ::std::string& reason, const ::Ice::Context& context = ::Ice::noExplicitContext)
318 {
319 auto _result = _makePromiseOutgoing<PermissionsVerifier::CheckPermissionsResult>(true, this, &PermissionsVerifierPrx::_iceI_checkPermissions, userId, password, context).get();
320 reason = ::std::move(_result.reason);
321 return _result.returnValue;
322 }
323
331 template<template<typename> class P = ::std::promise>
332 auto checkPermissionsAsync(const ::std::string& userId, const ::std::string& password, const ::Ice::Context& context = ::Ice::noExplicitContext)
333 -> decltype(::std::declval<P<PermissionsVerifier::CheckPermissionsResult>>().get_future())
334 {
335 return _makePromiseOutgoing<PermissionsVerifier::CheckPermissionsResult, P>(false, this, &PermissionsVerifierPrx::_iceI_checkPermissions, userId, password, context);
336 }
337
348 ::std::function<void()>
349 checkPermissionsAsync(const ::std::string& userId, const ::std::string& password,
350 ::std::function<void(bool, ::std::string)> response,
351 ::std::function<void(::std::exception_ptr)> ex = nullptr,
352 ::std::function<void(bool)> sent = nullptr,
353 const ::Ice::Context& context = ::Ice::noExplicitContext)
354 {
355 auto _responseCb = [response](PermissionsVerifier::CheckPermissionsResult&& _result)
356 {
357 response(_result.returnValue, ::std::move(_result.reason));
358 };
359 return _makeLambdaOutgoing<PermissionsVerifier::CheckPermissionsResult>(std::move(_responseCb), std::move(ex), std::move(sent), this, &Glacier2::PermissionsVerifierPrx::_iceI_checkPermissions, userId, password, context);
360 }
361
363 ICE_MEMBER(GLACIER2_API) void _iceI_checkPermissions(const ::std::shared_ptr<::IceInternal::OutgoingAsyncT<PermissionsVerifier::CheckPermissionsResult>>&, const ::std::string&, const ::std::string&, const ::Ice::Context&);
365
370 ICE_MEMBER(GLACIER2_API) static const ::std::string& ice_staticId();
371
372protected:
373
375 PermissionsVerifierPrx() = default;
376 friend ::std::shared_ptr<PermissionsVerifierPrx> IceInternal::createProxy<PermissionsVerifierPrx>();
377
378 ICE_MEMBER(GLACIER2_API) virtual ::std::shared_ptr<::Ice::ObjectPrx> _newInstance() const override;
380};
381
388class ICE_CLASS(GLACIER2_API) SSLPermissionsVerifierPrx : public virtual ::Ice::Proxy<SSLPermissionsVerifierPrx, ::Ice::ObjectPrx>
389{
390public:
391
403 bool authorize(const SSLInfo& info, ::std::string& reason, const ::Ice::Context& context = ::Ice::noExplicitContext)
404 {
405 auto _result = _makePromiseOutgoing<SSLPermissionsVerifier::AuthorizeResult>(true, this, &SSLPermissionsVerifierPrx::_iceI_authorize, info, context).get();
406 reason = ::std::move(_result.reason);
407 return _result.returnValue;
408 }
409
417 template<template<typename> class P = ::std::promise>
418 auto authorizeAsync(const SSLInfo& info, const ::Ice::Context& context = ::Ice::noExplicitContext)
419 -> decltype(::std::declval<P<SSLPermissionsVerifier::AuthorizeResult>>().get_future())
420 {
421 return _makePromiseOutgoing<SSLPermissionsVerifier::AuthorizeResult, P>(false, this, &SSLPermissionsVerifierPrx::_iceI_authorize, info, context);
422 }
423
434 ::std::function<void()>
436 ::std::function<void(bool, ::std::string)> response,
437 ::std::function<void(::std::exception_ptr)> ex = nullptr,
438 ::std::function<void(bool)> sent = nullptr,
439 const ::Ice::Context& context = ::Ice::noExplicitContext)
440 {
441 auto _responseCb = [response](SSLPermissionsVerifier::AuthorizeResult&& _result)
442 {
443 response(_result.returnValue, ::std::move(_result.reason));
444 };
445 return _makeLambdaOutgoing<SSLPermissionsVerifier::AuthorizeResult>(std::move(_responseCb), std::move(ex), std::move(sent), this, &Glacier2::SSLPermissionsVerifierPrx::_iceI_authorize, info, context);
446 }
447
449 ICE_MEMBER(GLACIER2_API) void _iceI_authorize(const ::std::shared_ptr<::IceInternal::OutgoingAsyncT<SSLPermissionsVerifier::AuthorizeResult>>&, const SSLInfo&, const ::Ice::Context&);
451
456 ICE_MEMBER(GLACIER2_API) static const ::std::string& ice_staticId();
457
458protected:
459
461 SSLPermissionsVerifierPrx() = default;
462 friend ::std::shared_ptr<SSLPermissionsVerifierPrx> IceInternal::createProxy<SSLPermissionsVerifierPrx>();
463
464 ICE_MEMBER(GLACIER2_API) virtual ::std::shared_ptr<::Ice::ObjectPrx> _newInstance() const override;
466};
467
468}
469
471namespace Ice
472{
473
474template<typename S>
475struct StreamReader<::Glacier2::PermissionDeniedException, S>
476{
477 static void read(S* istr, ::Glacier2::PermissionDeniedException& v)
478 {
479 istr->readAll(v.reason);
480 }
481};
482
483}
485
487namespace Glacier2
488{
489
490using PermissionsVerifierPtr = ::std::shared_ptr<PermissionsVerifier>;
491using PermissionsVerifierPrxPtr = ::std::shared_ptr<PermissionsVerifierPrx>;
492
493using SSLPermissionsVerifierPtr = ::std::shared_ptr<SSLPermissionsVerifier>;
494using SSLPermissionsVerifierPrxPtr = ::std::shared_ptr<SSLPermissionsVerifierPrx>;
495
496}
498
499#else // C++98 mapping
500
501namespace IceProxy
502{
503
504namespace Glacier2
505{
506
507class PermissionsVerifier;
509GLACIER2_API void _readProxy(::Ice::InputStream*, ::IceInternal::ProxyHandle< PermissionsVerifier>&);
510GLACIER2_API ::IceProxy::Ice::Object* upCast(PermissionsVerifier*);
512
513class SSLPermissionsVerifier;
515GLACIER2_API void _readProxy(::Ice::InputStream*, ::IceInternal::ProxyHandle< SSLPermissionsVerifier>&);
516GLACIER2_API ::IceProxy::Ice::Object* upCast(SSLPermissionsVerifier*);
518
519}
520
521}
522
523namespace Glacier2
524{
525
526class PermissionsVerifier;
528GLACIER2_API ::Ice::Object* upCast(PermissionsVerifier*);
530typedef ::IceInternal::Handle< PermissionsVerifier> PermissionsVerifierPtr;
531typedef ::IceInternal::ProxyHandle< ::IceProxy::Glacier2::PermissionsVerifier> PermissionsVerifierPrx;
532typedef PermissionsVerifierPrx PermissionsVerifierPrxPtr;
534GLACIER2_API void _icePatchObjectPtr(PermissionsVerifierPtr&, const ::Ice::ObjectPtr&);
536
537class SSLPermissionsVerifier;
539GLACIER2_API ::Ice::Object* upCast(SSLPermissionsVerifier*);
541typedef ::IceInternal::Handle< SSLPermissionsVerifier> SSLPermissionsVerifierPtr;
542typedef ::IceInternal::ProxyHandle< ::IceProxy::Glacier2::SSLPermissionsVerifier> SSLPermissionsVerifierPrx;
543typedef SSLPermissionsVerifierPrx SSLPermissionsVerifierPrxPtr;
545GLACIER2_API void _icePatchObjectPtr(SSLPermissionsVerifierPtr&, const ::Ice::ObjectPtr&);
547
548}
549
550namespace Glacier2
551{
552
558class GLACIER2_API PermissionDeniedException : public ::Ice::UserException
559{
560public:
561
562 PermissionDeniedException() {}
567 explicit PermissionDeniedException(const ::std::string& reason);
568
569#ifdef ICE_CPP11_COMPILER
570 PermissionDeniedException(const PermissionDeniedException&) = default;
571 virtual ~PermissionDeniedException();
572#else
573 virtual ~PermissionDeniedException() throw();
574#endif
575
580 virtual ::std::string ice_id() const;
585 virtual PermissionDeniedException* ice_clone() const;
589 virtual void ice_throw() const;
590
594 ::std::string reason;
595
602 virtual ::Ice::SlicedDataPtr ice_getSlicedData() const;
603
605 virtual void _write(::Ice::OutputStream*) const;
606 virtual void _read(::Ice::InputStream*);
607 using ::Ice::UserException::_write;
608 using ::Ice::UserException::_read;
610
611protected:
612
614 virtual void _writeImpl(::Ice::OutputStream*) const;
615 virtual void _readImpl(::Ice::InputStream*);
617
619 ::Ice::SlicedDataPtr _slicedData;
621};
622
624static PermissionDeniedException _iceS_PermissionDeniedException_init;
626
627}
628
629namespace Glacier2
630{
631
637class Callback_PermissionsVerifier_checkPermissions_Base : public virtual ::IceInternal::CallbackBase { };
638typedef ::IceUtil::Handle< Callback_PermissionsVerifier_checkPermissions_Base> Callback_PermissionsVerifier_checkPermissionsPtr;
639
645class Callback_SSLPermissionsVerifier_authorize_Base : public virtual ::IceInternal::CallbackBase { };
646typedef ::IceUtil::Handle< Callback_SSLPermissionsVerifier_authorize_Base> Callback_SSLPermissionsVerifier_authorizePtr;
647
648}
649
650namespace IceProxy
651{
652
653namespace Glacier2
654{
655
656class ICE_CLASS(GLACIER2_API) PermissionsVerifier : public virtual ::Ice::Proxy<PermissionsVerifier, ::IceProxy::Ice::Object>
657{
658public:
659
671 ICE_MEMBER(GLACIER2_API) bool checkPermissions(const ::std::string& userId, const ::std::string& password, ::std::string& reason, const ::Ice::Context& context = ::Ice::noExplicitContext)
672 {
673 return end_checkPermissions(reason, _iceI_begin_checkPermissions(userId, password, context, ::IceInternal::dummyCallback, 0, true));
674 }
675
683 ::Ice::AsyncResultPtr begin_checkPermissions(const ::std::string& userId, const ::std::string& password, const ::Ice::Context& context = ::Ice::noExplicitContext)
684 {
685 return _iceI_begin_checkPermissions(userId, password, context, ::IceInternal::dummyCallback, 0);
686 }
687
696 ::Ice::AsyncResultPtr begin_checkPermissions(const ::std::string& userId, const ::std::string& password, const ::Ice::CallbackPtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
697 {
698 return _iceI_begin_checkPermissions(userId, password, ::Ice::noExplicitContext, cb, cookie);
699 }
700
710 ::Ice::AsyncResultPtr begin_checkPermissions(const ::std::string& userId, const ::std::string& password, const ::Ice::Context& context, const ::Ice::CallbackPtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
711 {
712 return _iceI_begin_checkPermissions(userId, password, context, cb, cookie);
713 }
714
723 ::Ice::AsyncResultPtr begin_checkPermissions(const ::std::string& userId, const ::std::string& password, const ::Glacier2::Callback_PermissionsVerifier_checkPermissionsPtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
724 {
725 return _iceI_begin_checkPermissions(userId, password, ::Ice::noExplicitContext, cb, cookie);
726 }
727
737 ::Ice::AsyncResultPtr begin_checkPermissions(const ::std::string& userId, const ::std::string& password, const ::Ice::Context& context, const ::Glacier2::Callback_PermissionsVerifier_checkPermissionsPtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
738 {
739 return _iceI_begin_checkPermissions(userId, password, context, cb, cookie);
740 }
741
751 ICE_MEMBER(GLACIER2_API) bool end_checkPermissions(::std::string& reason, const ::Ice::AsyncResultPtr& result);
753
754 ICE_MEMBER(GLACIER2_API) void _iceI_end_checkPermissions(::std::string& iceP_reason, bool& ret, const ::Ice::AsyncResultPtr&);
756
757private:
758
759 ICE_MEMBER(GLACIER2_API) ::Ice::AsyncResultPtr _iceI_begin_checkPermissions(const ::std::string&, const ::std::string&, const ::Ice::Context&, const ::IceInternal::CallbackBasePtr&, const ::Ice::LocalObjectPtr& cookie = 0, bool sync = false);
760
761public:
762
767 ICE_MEMBER(GLACIER2_API) static const ::std::string& ice_staticId();
768
769protected:
771
772 ICE_MEMBER(GLACIER2_API) virtual ::IceProxy::Ice::Object* _newInstance() const;
774};
775
776class ICE_CLASS(GLACIER2_API) SSLPermissionsVerifier : public virtual ::Ice::Proxy<SSLPermissionsVerifier, ::IceProxy::Ice::Object>
777{
778public:
779
791 ICE_MEMBER(GLACIER2_API) bool authorize(const ::Glacier2::SSLInfo& info, ::std::string& reason, const ::Ice::Context& context = ::Ice::noExplicitContext)
792 {
793 return end_authorize(reason, _iceI_begin_authorize(info, context, ::IceInternal::dummyCallback, 0, true));
794 }
795
803 ::Ice::AsyncResultPtr begin_authorize(const ::Glacier2::SSLInfo& info, const ::Ice::Context& context = ::Ice::noExplicitContext)
804 {
805 return _iceI_begin_authorize(info, context, ::IceInternal::dummyCallback, 0);
806 }
807
816 ::Ice::AsyncResultPtr begin_authorize(const ::Glacier2::SSLInfo& info, const ::Ice::CallbackPtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
817 {
818 return _iceI_begin_authorize(info, ::Ice::noExplicitContext, cb, cookie);
819 }
820
830 ::Ice::AsyncResultPtr begin_authorize(const ::Glacier2::SSLInfo& info, const ::Ice::Context& context, const ::Ice::CallbackPtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
831 {
832 return _iceI_begin_authorize(info, context, cb, cookie);
833 }
834
843 ::Ice::AsyncResultPtr begin_authorize(const ::Glacier2::SSLInfo& info, const ::Glacier2::Callback_SSLPermissionsVerifier_authorizePtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
844 {
845 return _iceI_begin_authorize(info, ::Ice::noExplicitContext, cb, cookie);
846 }
847
857 ::Ice::AsyncResultPtr begin_authorize(const ::Glacier2::SSLInfo& info, const ::Ice::Context& context, const ::Glacier2::Callback_SSLPermissionsVerifier_authorizePtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
858 {
859 return _iceI_begin_authorize(info, context, cb, cookie);
860 }
861
871 ICE_MEMBER(GLACIER2_API) bool end_authorize(::std::string& reason, const ::Ice::AsyncResultPtr& result);
873
874 ICE_MEMBER(GLACIER2_API) void _iceI_end_authorize(::std::string& iceP_reason, bool& ret, const ::Ice::AsyncResultPtr&);
876
877private:
878
879 ICE_MEMBER(GLACIER2_API) ::Ice::AsyncResultPtr _iceI_begin_authorize(const ::Glacier2::SSLInfo&, const ::Ice::Context&, const ::IceInternal::CallbackBasePtr&, const ::Ice::LocalObjectPtr& cookie = 0, bool sync = false);
880
881public:
882
887 ICE_MEMBER(GLACIER2_API) static const ::std::string& ice_staticId();
888
889protected:
891
892 ICE_MEMBER(GLACIER2_API) virtual ::IceProxy::Ice::Object* _newInstance() const;
894};
895
896}
897
898}
899
900namespace Glacier2
901{
902
909class GLACIER2_API PermissionsVerifier : public virtual ::Ice::Object
910{
911public:
912
913 typedef PermissionsVerifierPrx ProxyType;
914 typedef PermissionsVerifierPtr PointerType;
915
916 virtual ~PermissionsVerifier();
917
918#ifdef ICE_CPP11_COMPILER
919 PermissionsVerifier() = default;
920 PermissionsVerifier(const PermissionsVerifier&) = default;
921 PermissionsVerifier& operator=(const PermissionsVerifier&) = default;
922#endif
923
930 virtual bool ice_isA(const ::std::string& id, const ::Ice::Current& current = ::Ice::emptyCurrent) const;
931
937 virtual ::std::vector< ::std::string> ice_ids(const ::Ice::Current& current = ::Ice::emptyCurrent) const;
938
944 virtual const ::std::string& ice_id(const ::Ice::Current& current = ::Ice::emptyCurrent) const;
945
950 static const ::std::string& ice_staticId();
951
963 virtual bool checkPermissions(const ::std::string& userId, const ::std::string& password, ::std::string& reason, const ::Ice::Current& current = ::Ice::emptyCurrent) const = 0;
965 bool _iceD_checkPermissions(::IceInternal::Incoming&, const ::Ice::Current&) const;
967
969 virtual bool _iceDispatch(::IceInternal::Incoming&, const ::Ice::Current&);
971
972protected:
973
975 virtual void _iceWriteImpl(::Ice::OutputStream*) const;
976 virtual void _iceReadImpl(::Ice::InputStream*);
978};
979
981inline bool operator==(const PermissionsVerifier& lhs, const PermissionsVerifier& rhs)
982{
983 return static_cast<const ::Ice::Object&>(lhs) == static_cast<const ::Ice::Object&>(rhs);
984}
985
986inline bool operator<(const PermissionsVerifier& lhs, const PermissionsVerifier& rhs)
987{
988 return static_cast<const ::Ice::Object&>(lhs) < static_cast<const ::Ice::Object&>(rhs);
989}
991
998class GLACIER2_API SSLPermissionsVerifier : public virtual ::Ice::Object
999{
1000public:
1001
1002 typedef SSLPermissionsVerifierPrx ProxyType;
1003 typedef SSLPermissionsVerifierPtr PointerType;
1004
1005 virtual ~SSLPermissionsVerifier();
1006
1007#ifdef ICE_CPP11_COMPILER
1008 SSLPermissionsVerifier() = default;
1009 SSLPermissionsVerifier(const SSLPermissionsVerifier&) = default;
1010 SSLPermissionsVerifier& operator=(const SSLPermissionsVerifier&) = default;
1011#endif
1012
1019 virtual bool ice_isA(const ::std::string& id, const ::Ice::Current& current = ::Ice::emptyCurrent) const;
1020
1026 virtual ::std::vector< ::std::string> ice_ids(const ::Ice::Current& current = ::Ice::emptyCurrent) const;
1027
1033 virtual const ::std::string& ice_id(const ::Ice::Current& current = ::Ice::emptyCurrent) const;
1034
1039 static const ::std::string& ice_staticId();
1040
1052 virtual bool authorize(const SSLInfo& info, ::std::string& reason, const ::Ice::Current& current = ::Ice::emptyCurrent) const = 0;
1054 bool _iceD_authorize(::IceInternal::Incoming&, const ::Ice::Current&) const;
1056
1058 virtual bool _iceDispatch(::IceInternal::Incoming&, const ::Ice::Current&);
1060
1061protected:
1062
1064 virtual void _iceWriteImpl(::Ice::OutputStream*) const;
1065 virtual void _iceReadImpl(::Ice::InputStream*);
1067};
1068
1070inline bool operator==(const SSLPermissionsVerifier& lhs, const SSLPermissionsVerifier& rhs)
1071{
1072 return static_cast<const ::Ice::Object&>(lhs) == static_cast<const ::Ice::Object&>(rhs);
1073}
1074
1075inline bool operator<(const SSLPermissionsVerifier& lhs, const SSLPermissionsVerifier& rhs)
1076{
1077 return static_cast<const ::Ice::Object&>(lhs) < static_cast<const ::Ice::Object&>(rhs);
1078}
1080
1081}
1082
1084namespace Ice
1085{
1086
1087template<>
1088struct StreamableTraits< ::Glacier2::PermissionDeniedException>
1089{
1090 static const StreamHelperCategory helper = StreamHelperCategoryUserException;
1091};
1092
1093template<typename S>
1094struct StreamWriter< ::Glacier2::PermissionDeniedException, S>
1095{
1096 static void write(S* ostr, const ::Glacier2::PermissionDeniedException& v)
1097 {
1098 ostr->write(v.reason);
1099 }
1100};
1101
1102template<typename S>
1103struct StreamReader< ::Glacier2::PermissionDeniedException, S>
1104{
1105 static void read(S* istr, ::Glacier2::PermissionDeniedException& v)
1106 {
1107 istr->read(v.reason);
1108 }
1109};
1110
1111}
1113
1114namespace Glacier2
1115{
1116
1122template<class T>
1123class CallbackNC_PermissionsVerifier_checkPermissions : public Callback_PermissionsVerifier_checkPermissions_Base, public ::IceInternal::TwowayCallbackNC<T>
1124{
1125public:
1126
1127 typedef IceUtil::Handle<T> TPtr;
1128
1129 typedef void (T::*Exception)(const ::Ice::Exception&);
1130 typedef void (T::*Sent)(bool);
1131 typedef void (T::*Response)(bool, const ::std::string&);
1132
1133 CallbackNC_PermissionsVerifier_checkPermissions(const TPtr& obj, Response cb, Exception excb, Sent sentcb)
1134 : ::IceInternal::TwowayCallbackNC<T>(obj, cb != 0, excb, sentcb), _response(cb)
1135 {
1136 }
1137
1139 virtual void completed(const ::Ice::AsyncResultPtr& result) const
1140 {
1141 PermissionsVerifierPrx proxy = PermissionsVerifierPrx::uncheckedCast(result->getProxy());
1142 ::std::string iceP_reason;
1143 bool ret;
1144 try
1145 {
1146 ret = proxy->end_checkPermissions(iceP_reason, result);
1147 }
1148 catch(const ::Ice::Exception& ex)
1149 {
1150 ::IceInternal::CallbackNC<T>::exception(result, ex);
1151 return;
1152 }
1153 if(_response)
1154 {
1155 (::IceInternal::CallbackNC<T>::_callback.get()->*_response)(ret, iceP_reason);
1156 }
1157 }
1159
1160private:
1161
1162 Response _response;
1163};
1164
1173template<class T> Callback_PermissionsVerifier_checkPermissionsPtr
1174newCallback_PermissionsVerifier_checkPermissions(const IceUtil::Handle<T>& instance, void (T::*cb)(bool, const ::std::string&), void (T::*excb)(const ::Ice::Exception&), void (T::*sentcb)(bool) = 0)
1175{
1176 return new CallbackNC_PermissionsVerifier_checkPermissions<T>(instance, cb, excb, sentcb);
1177}
1178
1187template<class T> Callback_PermissionsVerifier_checkPermissionsPtr
1188newCallback_PermissionsVerifier_checkPermissions(T* instance, void (T::*cb)(bool, const ::std::string&), void (T::*excb)(const ::Ice::Exception&), void (T::*sentcb)(bool) = 0)
1189{
1190 return new CallbackNC_PermissionsVerifier_checkPermissions<T>(instance, cb, excb, sentcb);
1191}
1192
1198template<class T, typename CT>
1199class Callback_PermissionsVerifier_checkPermissions : public Callback_PermissionsVerifier_checkPermissions_Base, public ::IceInternal::TwowayCallback<T, CT>
1200{
1201public:
1202
1203 typedef IceUtil::Handle<T> TPtr;
1204
1205 typedef void (T::*Exception)(const ::Ice::Exception& , const CT&);
1206 typedef void (T::*Sent)(bool , const CT&);
1207 typedef void (T::*Response)(bool, const ::std::string&, const CT&);
1208
1209 Callback_PermissionsVerifier_checkPermissions(const TPtr& obj, Response cb, Exception excb, Sent sentcb)
1210 : ::IceInternal::TwowayCallback<T, CT>(obj, cb != 0, excb, sentcb), _response(cb)
1211 {
1212 }
1213
1215 virtual void completed(const ::Ice::AsyncResultPtr& result) const
1216 {
1217 PermissionsVerifierPrx proxy = PermissionsVerifierPrx::uncheckedCast(result->getProxy());
1218 ::std::string iceP_reason;
1219 bool ret;
1220 try
1221 {
1222 ret = proxy->end_checkPermissions(iceP_reason, result);
1223 }
1224 catch(const ::Ice::Exception& ex)
1225 {
1226 ::IceInternal::Callback<T, CT>::exception(result, ex);
1227 return;
1228 }
1229 if(_response)
1230 {
1231 (::IceInternal::Callback<T, CT>::_callback.get()->*_response)(ret, iceP_reason, CT::dynamicCast(result->getCookie()));
1232 }
1233 }
1235
1236private:
1237
1238 Response _response;
1239};
1240
1250template<class T, typename CT> Callback_PermissionsVerifier_checkPermissionsPtr
1251newCallback_PermissionsVerifier_checkPermissions(const IceUtil::Handle<T>& instance, void (T::*cb)(bool, const ::std::string&, const CT&), void (T::*excb)(const ::Ice::Exception&, const CT&), void (T::*sentcb)(bool, const CT&) = 0)
1252{
1253 return new Callback_PermissionsVerifier_checkPermissions<T, CT>(instance, cb, excb, sentcb);
1254}
1255
1265template<class T, typename CT> Callback_PermissionsVerifier_checkPermissionsPtr
1266newCallback_PermissionsVerifier_checkPermissions(T* instance, void (T::*cb)(bool, const ::std::string&, const CT&), void (T::*excb)(const ::Ice::Exception&, const CT&), void (T::*sentcb)(bool, const CT&) = 0)
1267{
1268 return new Callback_PermissionsVerifier_checkPermissions<T, CT>(instance, cb, excb, sentcb);
1269}
1270
1276template<class T>
1277class CallbackNC_SSLPermissionsVerifier_authorize : public Callback_SSLPermissionsVerifier_authorize_Base, public ::IceInternal::TwowayCallbackNC<T>
1278{
1279public:
1280
1281 typedef IceUtil::Handle<T> TPtr;
1282
1283 typedef void (T::*Exception)(const ::Ice::Exception&);
1284 typedef void (T::*Sent)(bool);
1285 typedef void (T::*Response)(bool, const ::std::string&);
1286
1287 CallbackNC_SSLPermissionsVerifier_authorize(const TPtr& obj, Response cb, Exception excb, Sent sentcb)
1288 : ::IceInternal::TwowayCallbackNC<T>(obj, cb != 0, excb, sentcb), _response(cb)
1289 {
1290 }
1291
1293 virtual void completed(const ::Ice::AsyncResultPtr& result) const
1294 {
1295 SSLPermissionsVerifierPrx proxy = SSLPermissionsVerifierPrx::uncheckedCast(result->getProxy());
1296 ::std::string iceP_reason;
1297 bool ret;
1298 try
1299 {
1300 ret = proxy->end_authorize(iceP_reason, result);
1301 }
1302 catch(const ::Ice::Exception& ex)
1303 {
1304 ::IceInternal::CallbackNC<T>::exception(result, ex);
1305 return;
1306 }
1307 if(_response)
1308 {
1309 (::IceInternal::CallbackNC<T>::_callback.get()->*_response)(ret, iceP_reason);
1310 }
1311 }
1313
1314private:
1315
1316 Response _response;
1317};
1318
1327template<class T> Callback_SSLPermissionsVerifier_authorizePtr
1328newCallback_SSLPermissionsVerifier_authorize(const IceUtil::Handle<T>& instance, void (T::*cb)(bool, const ::std::string&), void (T::*excb)(const ::Ice::Exception&), void (T::*sentcb)(bool) = 0)
1329{
1330 return new CallbackNC_SSLPermissionsVerifier_authorize<T>(instance, cb, excb, sentcb);
1331}
1332
1341template<class T> Callback_SSLPermissionsVerifier_authorizePtr
1342newCallback_SSLPermissionsVerifier_authorize(T* instance, void (T::*cb)(bool, const ::std::string&), void (T::*excb)(const ::Ice::Exception&), void (T::*sentcb)(bool) = 0)
1343{
1344 return new CallbackNC_SSLPermissionsVerifier_authorize<T>(instance, cb, excb, sentcb);
1345}
1346
1352template<class T, typename CT>
1353class Callback_SSLPermissionsVerifier_authorize : public Callback_SSLPermissionsVerifier_authorize_Base, public ::IceInternal::TwowayCallback<T, CT>
1354{
1355public:
1356
1357 typedef IceUtil::Handle<T> TPtr;
1358
1359 typedef void (T::*Exception)(const ::Ice::Exception& , const CT&);
1360 typedef void (T::*Sent)(bool , const CT&);
1361 typedef void (T::*Response)(bool, const ::std::string&, const CT&);
1362
1363 Callback_SSLPermissionsVerifier_authorize(const TPtr& obj, Response cb, Exception excb, Sent sentcb)
1364 : ::IceInternal::TwowayCallback<T, CT>(obj, cb != 0, excb, sentcb), _response(cb)
1365 {
1366 }
1367
1369 virtual void completed(const ::Ice::AsyncResultPtr& result) const
1370 {
1371 SSLPermissionsVerifierPrx proxy = SSLPermissionsVerifierPrx::uncheckedCast(result->getProxy());
1372 ::std::string iceP_reason;
1373 bool ret;
1374 try
1375 {
1376 ret = proxy->end_authorize(iceP_reason, result);
1377 }
1378 catch(const ::Ice::Exception& ex)
1379 {
1380 ::IceInternal::Callback<T, CT>::exception(result, ex);
1381 return;
1382 }
1383 if(_response)
1384 {
1385 (::IceInternal::Callback<T, CT>::_callback.get()->*_response)(ret, iceP_reason, CT::dynamicCast(result->getCookie()));
1386 }
1387 }
1389
1390private:
1391
1392 Response _response;
1393};
1394
1404template<class T, typename CT> Callback_SSLPermissionsVerifier_authorizePtr
1405newCallback_SSLPermissionsVerifier_authorize(const IceUtil::Handle<T>& instance, void (T::*cb)(bool, const ::std::string&, const CT&), void (T::*excb)(const ::Ice::Exception&, const CT&), void (T::*sentcb)(bool, const CT&) = 0)
1406{
1407 return new Callback_SSLPermissionsVerifier_authorize<T, CT>(instance, cb, excb, sentcb);
1408}
1409
1419template<class T, typename CT> Callback_SSLPermissionsVerifier_authorizePtr
1420newCallback_SSLPermissionsVerifier_authorize(T* instance, void (T::*cb)(bool, const ::std::string&, const CT&), void (T::*excb)(const ::Ice::Exception&, const CT&), void (T::*sentcb)(bool, const CT&) = 0)
1421{
1422 return new Callback_SSLPermissionsVerifier_authorize<T, CT>(instance, cb, excb, sentcb);
1423}
1424
1425}
1426
1427#endif
1428
1430#endif
#define ICE_MEMBER(API)
Definition Config.h:177
#define GLACIER2_API
Definition PermissionsVerifierF.h:50
This exception is raised if a client is denied the ability to create a session with the router.
Definition PermissionsVerifier.h:84
static const ::std::string & ice_staticId()
Obtains the Slice type ID of this exception.
PermissionDeniedException(const PermissionDeniedException &)=default
::std::string reason
The reason why permission was denied.
Definition PermissionsVerifier.h:120
PermissionDeniedException(const ::std::string &reason)
One-shot constructor to initialize all data members.
Definition PermissionsVerifier.h:97
virtual ::std::shared_ptr<::Ice::SlicedData > ice_getSlicedData() const override
Obtains the SlicedData object created when an unknown exception type was marshaled in the sliced form...
std::tuple< const ::std::string & > ice_tuple() const
Obtains a tuple containing all of the exception's data members.
Definition PermissionsVerifier.h:106
The Glacier2 permissions verifier.
Definition PermissionsVerifier.h:303
bool checkPermissions(const ::std::string &userId, const ::std::string &password, ::std::string &reason, const ::Ice::Context &context=::Ice::noExplicitContext)
Check whether a user has permission to access the router.
Definition PermissionsVerifier.h:317
::std::function< void()> checkPermissionsAsync(const ::std::string &userId, const ::std::string &password, ::std::function< void(bool, ::std::string)> response, ::std::function< void(::std::exception_ptr)> ex=nullptr, ::std::function< void(bool)> sent=nullptr, const ::Ice::Context &context=::Ice::noExplicitContext)
Check whether a user has permission to access the router.
Definition PermissionsVerifier.h:349
auto checkPermissionsAsync(const ::std::string &userId, const ::std::string &password, const ::Ice::Context &context=::Ice::noExplicitContext) -> decltype(::std::declval< P< PermissionsVerifier::CheckPermissionsResult > >().get_future())
Check whether a user has permission to access the router.
Definition PermissionsVerifier.h:332
static const ::std::string & ice_staticId()
Obtains the Slice type ID of this interface.
The Glacier2 permissions verifier.
Definition PermissionsVerifier.h:154
virtual bool checkPermissions(::std::string userId, ::std::string password, ::std::string &reason, const ::Ice::Current &current) const =0
Check whether a user has permission to access the router.
virtual::std::string ice_id(const ::Ice::Current &current) const override
Obtains a Slice type ID representing the most-derived interface supported by this object.
static const ::std::string & ice_staticId()
Obtains the Slice type ID corresponding to this class.
PermissionsVerifierPrx ProxyType
Definition PermissionsVerifier.h:157
virtual bool ice_isA(::std::string id, const ::Ice::Current &current) const override
Determines whether this object supports an interface with the given Slice type ID.
virtual ::std::vector<::std::string > ice_ids(const ::Ice::Current &current) const override
Obtains a list of the Slice type IDs representing the interfaces supported by this object.
The SSL Glacier2 permissions verifier.
Definition PermissionsVerifier.h:389
static const ::std::string & ice_staticId()
Obtains the Slice type ID of this interface.
auto authorizeAsync(const SSLInfo &info, const ::Ice::Context &context=::Ice::noExplicitContext) -> decltype(::std::declval< P< SSLPermissionsVerifier::AuthorizeResult > >().get_future())
Check whether a user has permission to access the router.
Definition PermissionsVerifier.h:418
::std::function< void()> authorizeAsync(const SSLInfo &info, ::std::function< void(bool, ::std::string)> response, ::std::function< void(::std::exception_ptr)> ex=nullptr, ::std::function< void(bool)> sent=nullptr, const ::Ice::Context &context=::Ice::noExplicitContext)
Check whether a user has permission to access the router.
Definition PermissionsVerifier.h:435
bool authorize(const SSLInfo &info, ::std::string &reason, const ::Ice::Context &context=::Ice::noExplicitContext)
Check whether a user has permission to access the router.
Definition PermissionsVerifier.h:403
The SSL Glacier2 permissions verifier.
Definition PermissionsVerifier.h:226
virtual ::std::vector<::std::string > ice_ids(const ::Ice::Current &current) const override
Obtains a list of the Slice type IDs representing the interfaces supported by this object.
virtual::std::string ice_id(const ::Ice::Current &current) const override
Obtains a Slice type ID representing the most-derived interface supported by this object.
SSLPermissionsVerifierPrx ProxyType
Definition PermissionsVerifier.h:229
static const ::std::string & ice_staticId()
Obtains the Slice type ID corresponding to this class.
virtual bool authorize(SSLInfo info, ::std::string &reason, const ::Ice::Current &current) const =0
Check whether a user has permission to access the router.
virtual bool ice_isA(::std::string id, const ::Ice::Current &current) const override
Determines whether this object supports an interface with the given Slice type ID.
Interface for input streams used to extract Slice types from a sequence of bytes.
Definition InputStream.h:50
The base class for servants.
Definition Object.h:91
Interface for output streams used to create a sequence of bytes from Slice types.
Definition OutputStream.h:28
Helper template that supplies proxy factory functions.
Definition Proxy.h:1204
Helper template for the implementation of Ice::UserException.
Definition ExceptionHelpers.h:39
Definition PermissionsVerifier.h:66
Definition BuiltinSequences.h:56
const Context noExplicitContext
Marker value used to indicate that no explicit context was passed to a proxy invocation.
::std::map<::std::string, ::std::string > Context
A request context.
Definition Current.h:68
const Current emptyCurrent
A default-initialized Current instance.
IceInternal::Handle< LocalObject > LocalObjectPtr
Definition LocalObjectF.h:17
bool operator<(const C &lhs, const C &rhs)
Relational operator for generated structs and classes.
Definition Comparable.h:136
bool operator==(const C &lhs, const C &rhs)
Relational operator for generated structs and classes.
Definition Comparable.h:184
Encapsulates the results of a call to checkPermissions.
Definition PermissionsVerifier.h:191
::std::string reason
The reason why access was denied.
Definition PermissionsVerifier.h:195
bool returnValue
True if access is granted, or false otherwise.
Definition PermissionsVerifier.h:193
Information taken from an SSL connection used for permissions verification.
Definition SSLInfo.h:67
Encapsulates the results of a call to authorize.
Definition PermissionsVerifier.h:263
::std::string reason
The reason why access was denied.
Definition PermissionsVerifier.h:267
bool returnValue
True if access is granted, or false otherwise.
Definition PermissionsVerifier.h:265