Ice 3.7 C++11 API Reference
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.10
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>
32 #include <Ice/FactoryTableInit.h>
33 #include <IceUtil/ScopedArray.h>
34 #include <Ice/Optional.h>
35 #include <Ice/ExceptionHelpers.h>
36 #include <Ice/SlicedDataF.h>
37 #include <Glacier2/SSLInfo.h>
38 #include <IceUtil/UndefSysMacros.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 < 10
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 
65 namespace Glacier2
66 {
67 
72 
73 }
74 
75 namespace Glacier2
76 {
77 
83 class ICE_CLASS(GLACIER2_API) PermissionDeniedException : public ::Ice::UserExceptionHelper<PermissionDeniedException, ::Ice::UserException>
84 {
85 public:
86 
88 
90 
92 
97  PermissionDeniedException(const ::std::string& reason) :
98  reason(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 
139 static PermissionDeniedException _iceS_PermissionDeniedException_init;
141 
142 }
143 
144 namespace Glacier2
145 {
146 
154 {
155 public:
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 {
227 public:
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 
293 namespace Glacier2
294 {
295 
302 class ICE_CLASS(GLACIER2_API) PermissionsVerifierPrx : public virtual ::Ice::Proxy<PermissionsVerifierPrx, ::Ice::ObjectPrx>
303 {
304 public:
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,
354  {
355  auto _responseCb = [response](PermissionsVerifier::CheckPermissionsResult&& _result)
356  {
357  response(_result.returnValue, ::std::move(_result.reason));
358  };
359  return _makeLamdaOutgoing<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 
372 protected:
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 
388 class ICE_CLASS(GLACIER2_API) SSLPermissionsVerifierPrx : public virtual ::Ice::Proxy<SSLPermissionsVerifierPrx, ::Ice::ObjectPrx>
389 {
390 public:
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>
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()>
435  authorizeAsync(const SSLInfo& info,
436  ::std::function<void(bool, ::std::string)> response,
437  ::std::function<void(::std::exception_ptr)> ex = nullptr,
438  ::std::function<void(bool)> sent = nullptr,
440  {
441  auto _responseCb = [response](SSLPermissionsVerifier::AuthorizeResult&& _result)
442  {
443  response(_result.returnValue, ::std::move(_result.reason));
444  };
445  return _makeLamdaOutgoing<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 
458 protected:
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 
471 namespace Ice
472 {
473 
474 template<typename S>
475 struct 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 
487 namespace Glacier2
488 {
489 
490 using PermissionsVerifierPtr = ::std::shared_ptr<PermissionsVerifier>;
491 using PermissionsVerifierPrxPtr = ::std::shared_ptr<PermissionsVerifierPrx>;
492 
493 using SSLPermissionsVerifierPtr = ::std::shared_ptr<SSLPermissionsVerifier>;
494 using SSLPermissionsVerifierPrxPtr = ::std::shared_ptr<SSLPermissionsVerifierPrx>;
495 
496 }
498 
499 #else // C++98 mapping
500 
501 namespace IceProxy
502 {
503 
504 namespace Glacier2
505 {
506 
507 class PermissionsVerifier;
509 GLACIER2_API void _readProxy(::Ice::InputStream*, ::IceInternal::ProxyHandle< PermissionsVerifier>&);
510 GLACIER2_API ::IceProxy::Ice::Object* upCast(PermissionsVerifier*);
512 
513 class SSLPermissionsVerifier;
515 GLACIER2_API void _readProxy(::Ice::InputStream*, ::IceInternal::ProxyHandle< SSLPermissionsVerifier>&);
516 GLACIER2_API ::IceProxy::Ice::Object* upCast(SSLPermissionsVerifier*);
518 
519 }
520 
521 }
522 
523 namespace Glacier2
524 {
525 
526 class PermissionsVerifier;
528 GLACIER2_API ::Ice::Object* upCast(PermissionsVerifier*);
530 typedef ::IceInternal::Handle< PermissionsVerifier> PermissionsVerifierPtr;
531 typedef ::IceInternal::ProxyHandle< ::IceProxy::Glacier2::PermissionsVerifier> PermissionsVerifierPrx;
532 typedef PermissionsVerifierPrx PermissionsVerifierPrxPtr;
534 GLACIER2_API void _icePatchObjectPtr(PermissionsVerifierPtr&, const ::Ice::ObjectPtr&);
536 
537 class SSLPermissionsVerifier;
539 GLACIER2_API ::Ice::Object* upCast(SSLPermissionsVerifier*);
541 typedef ::IceInternal::Handle< SSLPermissionsVerifier> SSLPermissionsVerifierPtr;
542 typedef ::IceInternal::ProxyHandle< ::IceProxy::Glacier2::SSLPermissionsVerifier> SSLPermissionsVerifierPrx;
543 typedef SSLPermissionsVerifierPrx SSLPermissionsVerifierPrxPtr;
545 GLACIER2_API void _icePatchObjectPtr(SSLPermissionsVerifierPtr&, const ::Ice::ObjectPtr&);
547 
548 }
549 
550 namespace Glacier2
551 {
552 
558 class GLACIER2_API PermissionDeniedException : public ::Ice::UserException
559 {
560 public:
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 
611 protected:
612 
614  virtual void _writeImpl(::Ice::OutputStream*) const;
615  virtual void _readImpl(::Ice::InputStream*);
617 
619  ::Ice::SlicedDataPtr _slicedData;
621 };
622 
624 static PermissionDeniedException _iceS_PermissionDeniedException_init;
626 
627 }
628 
629 namespace Glacier2
630 {
631 
637 class Callback_PermissionsVerifier_checkPermissions_Base : public virtual ::IceInternal::CallbackBase { };
638 typedef ::IceUtil::Handle< Callback_PermissionsVerifier_checkPermissions_Base> Callback_PermissionsVerifier_checkPermissionsPtr;
639 
645 class Callback_SSLPermissionsVerifier_authorize_Base : public virtual ::IceInternal::CallbackBase { };
646 typedef ::IceUtil::Handle< Callback_SSLPermissionsVerifier_authorize_Base> Callback_SSLPermissionsVerifier_authorizePtr;
647 
648 }
649 
650 namespace IceProxy
651 {
652 
653 namespace Glacier2
654 {
655 
656 class ICE_CLASS(GLACIER2_API) PermissionsVerifier : public virtual ::Ice::Proxy<PermissionsVerifier, ::IceProxy::Ice::Object>
657 {
658 public:
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 
757 private:
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 
761 public:
762 
767  ICE_MEMBER(GLACIER2_API) static const ::std::string& ice_staticId();
768 
769 protected:
771 
772  ICE_MEMBER(GLACIER2_API) virtual ::IceProxy::Ice::Object* _newInstance() const;
774 };
775 
776 class ICE_CLASS(GLACIER2_API) SSLPermissionsVerifier : public virtual ::Ice::Proxy<SSLPermissionsVerifier, ::IceProxy::Ice::Object>
777 {
778 public:
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 
877 private:
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 
881 public:
882 
887  ICE_MEMBER(GLACIER2_API) static const ::std::string& ice_staticId();
888 
889 protected:
891 
892  ICE_MEMBER(GLACIER2_API) virtual ::IceProxy::Ice::Object* _newInstance() const;
894 };
895 
896 }
897 
898 }
899 
900 namespace Glacier2
901 {
902 
909 class GLACIER2_API PermissionsVerifier : public virtual ::Ice::Object
910 {
911 public:
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 
972 protected:
973 
975  virtual void _iceWriteImpl(::Ice::OutputStream*) const;
976  virtual void _iceReadImpl(::Ice::InputStream*);
978 };
979 
981 inline 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 
986 inline 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 
998 class GLACIER2_API SSLPermissionsVerifier : public virtual ::Ice::Object
999 {
1000 public:
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 
1061 protected:
1062 
1064  virtual void _iceWriteImpl(::Ice::OutputStream*) const;
1065  virtual void _iceReadImpl(::Ice::InputStream*);
1067 };
1068 
1070 inline 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 
1075 inline 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 
1084 namespace Ice
1085 {
1086 
1087 template<>
1088 struct StreamableTraits< ::Glacier2::PermissionDeniedException>
1089 {
1090  static const StreamHelperCategory helper = StreamHelperCategoryUserException;
1091 };
1092 
1093 template<typename S>
1094 struct StreamWriter< ::Glacier2::PermissionDeniedException, S>
1095 {
1096  static void write(S* ostr, const ::Glacier2::PermissionDeniedException& v)
1097  {
1098  ostr->write(v.reason);
1099  }
1100 };
1101 
1102 template<typename S>
1103 struct 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 
1114 namespace Glacier2
1115 {
1116 
1122 template<class T>
1123 class CallbackNC_PermissionsVerifier_checkPermissions : public Callback_PermissionsVerifier_checkPermissions_Base, public ::IceInternal::TwowayCallbackNC<T>
1124 {
1125 public:
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 
1160 private:
1161 
1162  Response _response;
1163 };
1164 
1173 template<class T> Callback_PermissionsVerifier_checkPermissionsPtr
1174 newCallback_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 
1187 template<class T> Callback_PermissionsVerifier_checkPermissionsPtr
1188 newCallback_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 
1198 template<class T, typename CT>
1199 class Callback_PermissionsVerifier_checkPermissions : public Callback_PermissionsVerifier_checkPermissions_Base, public ::IceInternal::TwowayCallback<T, CT>
1200 {
1201 public:
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 
1236 private:
1237 
1238  Response _response;
1239 };
1240 
1250 template<class T, typename CT> Callback_PermissionsVerifier_checkPermissionsPtr
1251 newCallback_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 
1265 template<class T, typename CT> Callback_PermissionsVerifier_checkPermissionsPtr
1266 newCallback_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 
1276 template<class T>
1277 class CallbackNC_SSLPermissionsVerifier_authorize : public Callback_SSLPermissionsVerifier_authorize_Base, public ::IceInternal::TwowayCallbackNC<T>
1278 {
1279 public:
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 
1314 private:
1315 
1316  Response _response;
1317 };
1318 
1327 template<class T> Callback_SSLPermissionsVerifier_authorizePtr
1328 newCallback_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 
1341 template<class T> Callback_SSLPermissionsVerifier_authorizePtr
1342 newCallback_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 
1352 template<class T, typename CT>
1353 class Callback_SSLPermissionsVerifier_authorize : public Callback_SSLPermissionsVerifier_authorize_Base, public ::IceInternal::TwowayCallback<T, CT>
1354 {
1355 public:
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 
1390 private:
1391 
1392  Response _response;
1393 };
1394 
1404 template<class T, typename CT> Callback_SSLPermissionsVerifier_authorizePtr
1405 newCallback_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 
1419 template<class T, typename CT> Callback_SSLPermissionsVerifier_authorizePtr
1420 newCallback_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
Glacier2::SSLPermissionsVerifier::AuthorizeResult
Encapsulates the results of a call to authorize.
Definition: PermissionsVerifier.h:263
GLACIER2_API
#define GLACIER2_API
Definition: PermissionsVerifierF.h:50
Ice::LocalObjectPtr
IceInternal::Handle< LocalObject > LocalObjectPtr
Definition: LocalObjectF.h:17
Optional.h
Ice::Context
::std::map<::std::string, ::std::string > Context
A request context.
Definition: Current.h:68
Ice::InputStream
Interface for input streams used to extract Slice types from a sequence of bytes.
Definition: InputStream.h:50
Ice::emptyCurrent
const Current emptyCurrent
A default-initialized Current instance.
Glacier2::SSLPermissionsVerifier::AuthorizeResult::reason
::std::string reason
The reason why access was denied.
Definition: PermissionsVerifier.h:267
StreamHelpers.h
Glacier2::SSLPermissionsVerifier
The SSL Glacier2 permissions verifier.
Definition: PermissionsVerifier.h:226
Ice::Object
The base class for servants.
Definition: Object.h:91
Glacier2::PermissionsVerifier::ice_id
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.
Glacier2::PermissionsVerifierPrx::ice_staticId
static const ::std::string & ice_staticId()
Obtains the Slice type ID of this interface.
Ice::operator==
bool operator==(const C &lhs, const C &rhs)
Relational operator for generated structs and classes.
Definition: Comparable.h:184
Ice::Exception
IceUtil::Exception Exception
Definition: Exception.h:20
Glacier2::PermissionsVerifier::ice_isA
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.
Glacier2::PermissionsVerifierPrx::checkPermissions
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
GCObject.h
Glacier2::PermissionsVerifier::CheckPermissionsResult::reason
::std::string reason
The reason why access was denied.
Definition: PermissionsVerifier.h:195
Glacier2::SSLInfo
Information taken from an SSL connection used for permissions verification.
Definition: SSLInfo.h:67
Glacier2::PermissionDeniedException::PermissionDeniedException
PermissionDeniedException(const ::std::string &reason)
One-shot constructor to initialize all data members.
Definition: PermissionsVerifier.h:97
Incoming.h
Glacier2::PermissionDeniedException::PermissionDeniedException
PermissionDeniedException(const PermissionDeniedException &)=default
Glacier2::PermissionDeniedException
This exception is raised if a client is denied the ability to create a session with the router.
Definition: PermissionsVerifier.h:84
Glacier2::SSLPermissionsVerifierPrx::authorize
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
Ice::UserExceptionHelper
Helper template for the implementation of Ice::UserException.
Definition: ExceptionHelpers.h:39
ICE_MEMBER
#define ICE_MEMBER(API)
Definition: Config.h:177
Glacier2::SSLPermissionsVerifier::ice_staticId
static const ::std::string & ice_staticId()
Obtains the Slice type ID corresponding to this class.
FactoryTableInit.h
Glacier2::PermissionDeniedException::reason
::std::string reason
The reason why permission was denied.
Definition: PermissionsVerifier.h:120
Glacier2
Definition: PermissionsVerifier.h:66
LocalObject.h
PushDisableWarnings.h
ProxyF.h
Glacier2::PermissionsVerifier
The Glacier2 permissions verifier.
Definition: PermissionsVerifier.h:154
Glacier2::PermissionDeniedException::ice_tuple
std::tuple< const ::std::string & > ice_tuple() const
Obtains a tuple containing all of the exception's data members.
Definition: PermissionsVerifier.h:106
Glacier2::PermissionsVerifier::ice_ids
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.
Ice::operator<
bool operator<(const C &lhs, const C &rhs)
Relational operator for generated structs and classes.
Definition: Comparable.h:136
Glacier2::PermissionsVerifierPrx::checkPermissionsAsync
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
SlicedDataF.h
Glacier2::SSLPermissionsVerifierPrx::authorizeAsync
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
Glacier2::PermissionsVerifier::CheckPermissionsResult
Encapsulates the results of a call to checkPermissions.
Definition: PermissionsVerifier.h:191
Glacier2::SSLPermissionsVerifier::AuthorizeResult::returnValue
bool returnValue
True if access is granted, or false otherwise.
Definition: PermissionsVerifier.h:265
Object.h
Glacier2::PermissionsVerifierPrx
The Glacier2 permissions verifier.
Definition: PermissionsVerifier.h:303
Proxy.h
UndefSysMacros.h
Ice::OutputStream
Interface for output streams used to create a sequence of bytes from Slice types.
Definition: OutputStream.h:28
Glacier2::SSLPermissionsVerifier::authorize
virtual bool authorize(SSLInfo info, ::std::string &reason, const ::Ice::Current &current) const =0
Check whether a user has permission to access the router.
Config.h
Glacier2::PermissionDeniedException::ice_getSlicedData
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...
Glacier2::SSLPermissionsVerifierPrx
The SSL Glacier2 permissions verifier.
Definition: PermissionsVerifier.h:389
ObjectF.h
Ice
Definition: BuiltinSequences.h:56
Glacier2::PermissionsVerifierPrx::checkPermissionsAsync
::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
Glacier2::SSLPermissionsVerifier::ice_id
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.
Glacier2::SSLPermissionsVerifierPrx::ice_staticId
static const ::std::string & ice_staticId()
Obtains the Slice type ID of this interface.
IceUtil::Handle
Definition: Handle.h:143
ExceptionHelpers.h
Glacier2::PermissionDeniedException::PermissionDeniedException
PermissionDeniedException()=default
Ice::uncheckedCast
::std::shared_ptr< P > uncheckedCast(const ::std::shared_ptr< T > &b)
Downcasts a proxy without confirming the target object's type via a remote invocation.
Definition: Proxy.h:1549
Glacier2::SSLPermissionsVerifier::ice_ids
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.
Comparable.h
Glacier2::PermissionsVerifier::CheckPermissionsResult::returnValue
bool returnValue
True if access is granted, or false otherwise.
Definition: PermissionsVerifier.h:193
ScopedArray.h
Ice::Proxy
Helper template that supplies proxy factory functions.
Definition: Proxy.h:1204
Glacier2::PermissionsVerifier::ice_staticId
static const ::std::string & ice_staticId()
Obtains the Slice type ID corresponding to this class.
Glacier2::PermissionDeniedException::~PermissionDeniedException
virtual ~PermissionDeniedException()
Exception.h
ValueF.h
SSLInfo.h
Glacier2::SSLPermissionsVerifier::ice_isA
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.
Glacier2::SSLPermissionsVerifierPrx::authorizeAsync
::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
Glacier2::PermissionDeniedException::ice_staticId
static const ::std::string & ice_staticId()
Obtains the Slice type ID of this exception.
Ice::noExplicitContext
const Context noExplicitContext
Marker value used to indicate that no explicit context was passed to a proxy invocation.
Value.h
Glacier2::PermissionsVerifier::checkPermissions
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.
Ice::UserException
Base class for all Ice user exceptions.
Definition: Exception.h:68
PopDisableWarnings.h