Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef SBUILD_AUTH_PAM_CONV_H
00020 #define SBUILD_AUTH_PAM_CONV_H
00021
00022 #include <sbuild/sbuild-auth-pam-message.h>
00023 #include <sbuild/sbuild-error.h>
00024 #include <sbuild/sbuild-tr1types.h>
00025
00026 #include <vector>
00027
00028 #include <security/pam_appl.h>
00029
00030 namespace sbuild
00031 {
00032
00033 class auth_pam;
00034
00057 class auth_pam_conv
00058 {
00059 public:
00061 typedef std::vector<auth_pam_message> message_list;
00062 typedef std::tr1::shared_ptr<auth_pam> auth_ptr;
00063 typedef std::tr1::weak_ptr<auth_pam> weak_auth_ptr;
00064
00066 typedef std::tr1::shared_ptr<auth_pam_conv> ptr;
00067
00068 protected:
00070 auth_pam_conv ();
00071
00072 public:
00074 virtual ~auth_pam_conv ();
00075
00081 virtual auth_ptr
00082 get_auth () = 0;
00083
00089 virtual void
00090 set_auth (auth_ptr auth) = 0;
00091
00097 virtual time_t
00098 get_warning_timeout () = 0;
00099
00105 virtual void
00106 set_warning_timeout (time_t timeout) = 0;
00107
00114 virtual time_t
00115 get_fatal_timeout () = 0;
00116
00123 virtual void
00124 set_fatal_timeout (time_t timeout) = 0;
00125
00140 virtual void
00141 conversation (message_list& messages) = 0;
00142 };
00143
00144 }
00145
00146 #endif
00147
00148
00149
00150
00151
00152