16#ifndef __Glacier2_PermissionsVerifier_h__
17#define __Glacier2_PermissionsVerifier_h__
41#ifndef ICE_IGNORE_VERSION
42# if ICE_INT_VERSION / 100 != 307
43# error Ice version mismatch!
45# if ICE_INT_VERSION % 100 >= 50
46# error Beta header file detected
48# if ICE_INT_VERSION % 100 < 11
49# error Ice patch level mismatch!
54# if defined(ICE_STATIC_LIBS)
56# elif defined(GLACIER2_API_EXPORTS)
57# define GLACIER2_API ICE_DECLSPEC_EXPORT
59# define GLACIER2_API ICE_DECLSPEC_IMPORT
63#ifdef ICE_CPP11_MAPPING
134 ::std::shared_ptr<::Ice::SlicedData> _slicedData;
165 virtual bool ice_isA(::std::string
id, const ::Ice::Current& current)
const override;
172 virtual ::std::vector<::std::string>
ice_ids(const ::Ice::Current& current)
const override;
179 virtual ::std::string
ice_id(const ::Ice::Current& current)
const override;
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;
215 virtual bool _iceDispatch(::IceInternal::Incoming&, const ::Ice::Current&)
override;
237 virtual bool ice_isA(::std::string
id, const ::Ice::Current& current)
const override;
244 virtual ::std::vector<::std::string>
ice_ids(const ::Ice::Current& current)
const override;
251 virtual ::std::string
ice_id(const ::Ice::Current& current)
const override;
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;
287 virtual bool _iceDispatch(::IceInternal::Incoming&, const ::Ice::Current&)
override;
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;
331 template<
template<
typename>
class P = ::std::promise>
333 ->
decltype(::std::declval<P<PermissionsVerifier::CheckPermissionsResult>>().get_future())
335 return _makePromiseOutgoing<PermissionsVerifier::CheckPermissionsResult, P>(
false,
this, &PermissionsVerifierPrx::_iceI_checkPermissions, userId, password, context);
348 ::std::function<void()>
350 ::std::function<
void(
bool, ::std::string)> response,
351 ::std::function<
void(::std::exception_ptr)> ex =
nullptr,
352 ::std::function<
void(
bool)> sent =
nullptr,
357 response(_result.returnValue, ::std::move(_result.reason));
359 return _makeLambdaOutgoing<PermissionsVerifier::CheckPermissionsResult>(std::move(_responseCb), std::move(ex), std::move(sent),
this, &Glacier2::PermissionsVerifierPrx::_iceI_checkPermissions, userId, password, context);
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&);
376 friend ::std::shared_ptr<PermissionsVerifierPrx> IceInternal::createProxy<PermissionsVerifierPrx>();
405 auto _result = _makePromiseOutgoing<SSLPermissionsVerifier::AuthorizeResult>(
true,
this, &SSLPermissionsVerifierPrx::_iceI_authorize, info, context).get();
406 reason = ::std::move(_result.reason);
407 return _result.returnValue;
417 template<
template<
typename>
class P = ::std::promise>
419 ->
decltype(::std::declval<P<SSLPermissionsVerifier::AuthorizeResult>>().get_future())
421 return _makePromiseOutgoing<SSLPermissionsVerifier::AuthorizeResult, P>(
false,
this, &SSLPermissionsVerifierPrx::_iceI_authorize, info, context);
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,
443 response(_result.returnValue, ::std::move(_result.reason));
445 return _makeLambdaOutgoing<SSLPermissionsVerifier::AuthorizeResult>(std::move(_responseCb), std::move(ex), std::move(sent),
this, &Glacier2::SSLPermissionsVerifierPrx::_iceI_authorize, info, context);
449 ICE_MEMBER(
GLACIER2_API)
void _iceI_authorize(const ::std::shared_ptr<::IceInternal::OutgoingAsyncT<SSLPermissionsVerifier::AuthorizeResult>>&,
const SSLInfo&, const ::Ice::Context&);
462 friend ::std::shared_ptr<SSLPermissionsVerifierPrx> IceInternal::createProxy<SSLPermissionsVerifierPrx>();
490using PermissionsVerifierPtr = ::std::shared_ptr<PermissionsVerifier>;
491using PermissionsVerifierPrxPtr = ::std::shared_ptr<PermissionsVerifierPrx>;
493using SSLPermissionsVerifierPtr = ::std::shared_ptr<SSLPermissionsVerifier>;
494using SSLPermissionsVerifierPrxPtr = ::std::shared_ptr<SSLPermissionsVerifierPrx>;
507class PermissionsVerifier;
509GLACIER2_API void _readProxy(::Ice::InputStream*, ::IceInternal::ProxyHandle< PermissionsVerifier>&);
510GLACIER2_API ::IceProxy::Ice::Object* upCast(PermissionsVerifier*);
513class SSLPermissionsVerifier;
515GLACIER2_API void _readProxy(::Ice::InputStream*, ::IceInternal::ProxyHandle< SSLPermissionsVerifier>&);
516GLACIER2_API ::IceProxy::Ice::Object* upCast(SSLPermissionsVerifier*);
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&);
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&);
558class GLACIER2_API PermissionDeniedException :
public ::Ice::UserException
562 PermissionDeniedException() {}
567 explicit PermissionDeniedException(const ::std::string& reason);
569#ifdef ICE_CPP11_COMPILER
570 PermissionDeniedException(
const PermissionDeniedException&) =
default;
571 virtual ~PermissionDeniedException();
573 virtual ~PermissionDeniedException() throw();
580 virtual ::std::string ice_id()
const;
585 virtual PermissionDeniedException* ice_clone()
const;
589 virtual void ice_throw()
const;
594 ::std::string reason;
602 virtual ::Ice::SlicedDataPtr ice_getSlicedData()
const;
605 virtual void _write(::Ice::OutputStream*)
const;
606 virtual void _read(::Ice::InputStream*);
607 using ::Ice::UserException::_write;
608 using ::Ice::UserException::_read;
614 virtual void _writeImpl(::Ice::OutputStream*)
const;
615 virtual void _readImpl(::Ice::InputStream*);
619 ::Ice::SlicedDataPtr _slicedData;
624static PermissionDeniedException _iceS_PermissionDeniedException_init;
637class Callback_PermissionsVerifier_checkPermissions_Base :
public virtual ::IceInternal::CallbackBase { };
638typedef ::IceUtil::Handle< Callback_PermissionsVerifier_checkPermissions_Base> Callback_PermissionsVerifier_checkPermissionsPtr;
645class Callback_SSLPermissionsVerifier_authorize_Base :
public virtual ::IceInternal::CallbackBase { };
646typedef ::IceUtil::Handle< Callback_SSLPermissionsVerifier_authorize_Base> Callback_SSLPermissionsVerifier_authorizePtr;
656class ICE_CLASS(GLACIER2_API) PermissionsVerifier :
public virtual ::Ice::Proxy<PermissionsVerifier, ::IceProxy::Ice::Object>
673 return end_checkPermissions(reason, _iceI_begin_checkPermissions(userId, password, context, ::IceInternal::dummyCallback, 0,
true));
683 ::Ice::AsyncResultPtr begin_checkPermissions(const ::std::string& userId, const ::std::string& password, const ::Ice::Context& context =
::Ice::noExplicitContext)
685 return _iceI_begin_checkPermissions(userId, password, context, ::IceInternal::dummyCallback, 0);
696 ::Ice::AsyncResultPtr begin_checkPermissions(const ::std::string& userId, const ::std::string& password, const ::Ice::CallbackPtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
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)
712 return _iceI_begin_checkPermissions(userId, password, context, cb, cookie);
723 ::Ice::AsyncResultPtr begin_checkPermissions(const ::std::string& userId, const ::std::string& password, const ::Glacier2::Callback_PermissionsVerifier_checkPermissionsPtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
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)
739 return _iceI_begin_checkPermissions(userId, password, context, cb, cookie);
751 ICE_MEMBER(
GLACIER2_API)
bool end_checkPermissions(::std::string& reason, const ::Ice::AsyncResultPtr& result);
754 ICE_MEMBER(
GLACIER2_API)
void _iceI_end_checkPermissions(::std::string& iceP_reason,
bool& ret, const ::Ice::AsyncResultPtr&);
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);
776class ICE_CLASS(GLACIER2_API) SSLPermissionsVerifier :
public virtual ::Ice::Proxy<SSLPermissionsVerifier, ::IceProxy::Ice::Object>
793 return end_authorize(reason, _iceI_begin_authorize(info, context, ::IceInternal::dummyCallback, 0,
true));
803 ::Ice::AsyncResultPtr begin_authorize(const ::Glacier2::SSLInfo& info, const ::Ice::Context& context =
::Ice::noExplicitContext)
805 return _iceI_begin_authorize(info, context, ::IceInternal::dummyCallback, 0);
816 ::Ice::AsyncResultPtr begin_authorize(const ::Glacier2::SSLInfo& info, const ::Ice::CallbackPtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
830 ::Ice::AsyncResultPtr begin_authorize(const ::Glacier2::SSLInfo& info, const ::Ice::Context& context, const ::Ice::CallbackPtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
832 return _iceI_begin_authorize(info, context, cb, cookie);
843 ::Ice::AsyncResultPtr begin_authorize(const ::Glacier2::SSLInfo& info, const ::Glacier2::Callback_SSLPermissionsVerifier_authorizePtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
857 ::Ice::AsyncResultPtr begin_authorize(const ::Glacier2::SSLInfo& info, const ::Ice::Context& context, const ::Glacier2::Callback_SSLPermissionsVerifier_authorizePtr& cb, const ::Ice::LocalObjectPtr& cookie = 0)
859 return _iceI_begin_authorize(info, context, cb, cookie);
874 ICE_MEMBER(
GLACIER2_API)
void _iceI_end_authorize(::std::string& iceP_reason,
bool& ret, const ::Ice::AsyncResultPtr&);
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);
909class GLACIER2_API PermissionsVerifier :
public virtual ::Ice::Object
913 typedef PermissionsVerifierPrx ProxyType;
914 typedef PermissionsVerifierPtr PointerType;
916 virtual ~PermissionsVerifier();
918#ifdef ICE_CPP11_COMPILER
919 PermissionsVerifier() =
default;
920 PermissionsVerifier(
const PermissionsVerifier&) =
default;
921 PermissionsVerifier& operator=(
const PermissionsVerifier&) =
default;
930 virtual bool ice_isA(const ::std::string&
id, const ::Ice::Current& current =
::Ice::emptyCurrent)
const;
937 virtual ::std::vector< ::std::string> ice_ids(const ::Ice::Current& current =
::Ice::emptyCurrent)
const;
944 virtual const ::std::string& ice_id(const ::Ice::Current& current =
::Ice::emptyCurrent)
const;
950 static const ::std::string& ice_staticId();
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;
969 virtual bool _iceDispatch(::IceInternal::Incoming&, const ::Ice::Current&);
975 virtual void _iceWriteImpl(::Ice::OutputStream*)
const;
976 virtual void _iceReadImpl(::Ice::InputStream*);
981inline bool operator==(
const PermissionsVerifier& lhs,
const PermissionsVerifier& rhs)
983 return static_cast<const ::Ice::Object&
>(lhs) ==
static_cast<const ::Ice::Object&
>(rhs);
986inline bool operator<(
const PermissionsVerifier& lhs,
const PermissionsVerifier& rhs)
988 return static_cast<const ::Ice::Object&
>(lhs) <
static_cast<const ::Ice::Object&
>(rhs);
998class GLACIER2_API SSLPermissionsVerifier :
public virtual ::Ice::Object
1002 typedef SSLPermissionsVerifierPrx ProxyType;
1003 typedef SSLPermissionsVerifierPtr PointerType;
1005 virtual ~SSLPermissionsVerifier();
1007#ifdef ICE_CPP11_COMPILER
1008 SSLPermissionsVerifier() =
default;
1009 SSLPermissionsVerifier(
const SSLPermissionsVerifier&) =
default;
1010 SSLPermissionsVerifier& operator=(
const SSLPermissionsVerifier&) =
default;
1019 virtual bool ice_isA(const ::std::string&
id, const ::Ice::Current& current =
::Ice::emptyCurrent)
const;
1026 virtual ::std::vector< ::std::string> ice_ids(const ::Ice::Current& current =
::Ice::emptyCurrent)
const;
1033 virtual const ::std::string& ice_id(const ::Ice::Current& current =
::Ice::emptyCurrent)
const;
1039 static const ::std::string& ice_staticId();
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;
1058 virtual bool _iceDispatch(::IceInternal::Incoming&, const ::Ice::Current&);
1064 virtual void _iceWriteImpl(::Ice::OutputStream*)
const;
1065 virtual void _iceReadImpl(::Ice::InputStream*);
1070inline bool operator==(
const SSLPermissionsVerifier& lhs,
const SSLPermissionsVerifier& rhs)
1072 return static_cast<const ::Ice::Object&
>(lhs) ==
static_cast<const ::Ice::Object&
>(rhs);
1075inline bool operator<(
const SSLPermissionsVerifier& lhs,
const SSLPermissionsVerifier& rhs)
1077 return static_cast<const ::Ice::Object&
>(lhs) <
static_cast<const ::Ice::Object&
>(rhs);
1088struct StreamableTraits< ::Glacier2::PermissionDeniedException>
1090 static const StreamHelperCategory helper = StreamHelperCategoryUserException;
1094struct StreamWriter< ::Glacier2::PermissionDeniedException, S>
1096 static void write(S* ostr, const ::Glacier2::PermissionDeniedException& v)
1098 ostr->write(v.reason);
1103struct StreamReader< ::Glacier2::PermissionDeniedException, S>
1105 static void read(S* istr, ::Glacier2::PermissionDeniedException& v)
1123class CallbackNC_PermissionsVerifier_checkPermissions :
public Callback_PermissionsVerifier_checkPermissions_Base,
public ::IceInternal::TwowayCallbackNC<T>
1127 typedef IceUtil::Handle<T> TPtr;
1129 typedef void (T::*Exception)(const ::Ice::Exception&);
1130 typedef void (T::*Sent)(bool);
1131 typedef void (T::*Response)(bool, const ::std::string&);
1133 CallbackNC_PermissionsVerifier_checkPermissions(
const TPtr& obj, Response cb, Exception excb, Sent sentcb)
1134 : ::IceInternal::TwowayCallbackNC<T>(obj, cb != 0, excb, sentcb), _response(cb)
1139 virtual void completed(const ::Ice::AsyncResultPtr& result)
const
1141 PermissionsVerifierPrx proxy = PermissionsVerifierPrx::uncheckedCast(result->getProxy());
1142 ::std::string iceP_reason;
1146 ret = proxy->end_checkPermissions(iceP_reason, result);
1148 catch(const ::Ice::Exception& ex)
1150 ::IceInternal::CallbackNC<T>::exception(result, ex);
1155 (::IceInternal::CallbackNC<T>::_callback.get()->*_response)(ret, iceP_reason);
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)
1176 return new CallbackNC_PermissionsVerifier_checkPermissions<T>(instance, cb, excb, sentcb);
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)
1190 return new CallbackNC_PermissionsVerifier_checkPermissions<T>(instance, cb, excb, sentcb);
1198template<
class T,
typename CT>
1199class Callback_PermissionsVerifier_checkPermissions :
public Callback_PermissionsVerifier_checkPermissions_Base,
public ::IceInternal::TwowayCallback<T, CT>
1203 typedef IceUtil::Handle<T> TPtr;
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&);
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)
1215 virtual void completed(const ::Ice::AsyncResultPtr& result)
const
1217 PermissionsVerifierPrx proxy = PermissionsVerifierPrx::uncheckedCast(result->getProxy());
1218 ::std::string iceP_reason;
1222 ret = proxy->end_checkPermissions(iceP_reason, result);
1224 catch(const ::Ice::Exception& ex)
1226 ::IceInternal::Callback<T, CT>::exception(result, ex);
1231 (::IceInternal::Callback<T, CT>::_callback.get()->*_response)(ret, iceP_reason, CT::dynamicCast(result->getCookie()));
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)
1253 return new Callback_PermissionsVerifier_checkPermissions<T, CT>(instance, cb, excb, sentcb);
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)
1268 return new Callback_PermissionsVerifier_checkPermissions<T, CT>(instance, cb, excb, sentcb);
1277class CallbackNC_SSLPermissionsVerifier_authorize :
public Callback_SSLPermissionsVerifier_authorize_Base,
public ::IceInternal::TwowayCallbackNC<T>
1281 typedef IceUtil::Handle<T> TPtr;
1283 typedef void (T::*Exception)(const ::Ice::Exception&);
1284 typedef void (T::*Sent)(bool);
1285 typedef void (T::*Response)(bool, const ::std::string&);
1287 CallbackNC_SSLPermissionsVerifier_authorize(
const TPtr& obj, Response cb, Exception excb, Sent sentcb)
1288 : ::IceInternal::TwowayCallbackNC<T>(obj, cb != 0, excb, sentcb), _response(cb)
1293 virtual void completed(const ::Ice::AsyncResultPtr& result)
const
1295 SSLPermissionsVerifierPrx proxy = SSLPermissionsVerifierPrx::uncheckedCast(result->getProxy());
1296 ::std::string iceP_reason;
1300 ret = proxy->end_authorize(iceP_reason, result);
1302 catch(const ::Ice::Exception& ex)
1304 ::IceInternal::CallbackNC<T>::exception(result, ex);
1309 (::IceInternal::CallbackNC<T>::_callback.get()->*_response)(ret, iceP_reason);
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)
1330 return new CallbackNC_SSLPermissionsVerifier_authorize<T>(instance, cb, excb, sentcb);
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)
1344 return new CallbackNC_SSLPermissionsVerifier_authorize<T>(instance, cb, excb, sentcb);
1352template<
class T,
typename CT>
1353class Callback_SSLPermissionsVerifier_authorize :
public Callback_SSLPermissionsVerifier_authorize_Base,
public ::IceInternal::TwowayCallback<T, CT>
1357 typedef IceUtil::Handle<T> TPtr;
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&);
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)
1369 virtual void completed(const ::Ice::AsyncResultPtr& result)
const
1371 SSLPermissionsVerifierPrx proxy = SSLPermissionsVerifierPrx::uncheckedCast(result->getProxy());
1372 ::std::string iceP_reason;
1376 ret = proxy->end_authorize(iceP_reason, result);
1378 catch(const ::Ice::Exception& ex)
1380 ::IceInternal::Callback<T, CT>::exception(result, ex);
1385 (::IceInternal::Callback<T, CT>::_callback.get()->*_response)(ret, iceP_reason, CT::dynamicCast(result->getCookie()));
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)
1407 return new Callback_SSLPermissionsVerifier_authorize<T, CT>(instance, cb, excb, sentcb);
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)
1422 return new Callback_SSLPermissionsVerifier_authorize<T, CT>(instance, cb, excb, sentcb);
#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
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...
virtual ~PermissionDeniedException()
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 ¤t) const =0
Check whether a user has permission to access the router.
virtual::std::string ice_id(const ::Ice::Current ¤t) 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 ¤t) 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 ¤t) 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 ¤t) 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 ¤t) 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 ¤t) const =0
Check whether a user has permission to access the router.
virtual bool ice_isA(::std::string id, const ::Ice::Current ¤t) const override
Determines whether this object supports an interface with the given Slice type ID.
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