Diffstat (limited to 'core/opie-login/loginapplication.h') (more/less context) (ignore whitespace changes)
-rw-r--r-- | core/opie-login/loginapplication.h | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/core/opie-login/loginapplication.h b/core/opie-login/loginapplication.h new file mode 100644 index 0000000..a709c5b --- a/dev/null +++ b/core/opie-login/loginapplication.h @@ -0,0 +1,40 @@ +#ifndef __OPIE_LOGINAPPLICATION_H__ +#define __OPIE_LOGINAPPLICATION_H__ + +#include <qstringlist.h> + +#include <qpe/qpeapplication.h> + +#ifdef USEPAM +struct pam_message; +struct pam_response; +#endif + +class LoginApplication : public QPEApplication { +public: + LoginApplication ( int &argc, char **argv ); + + static bool checkPassword ( const char *user, const char *password ); + + static const char *loginAs ( ); + static void setLoginAs ( const char *user ); + + static bool changeIdentity ( ); + static bool login ( ); + + static QStringList allUsers ( ); + + void quitToConsole ( ); + +private: + static const char *s_username; + +#ifdef USEPAM + static int pam_helper ( int num_msg, const struct pam_message **msg, struct pam_response **resp, void * ); + static const char *s_pam_password; +#endif +}; + +extern LoginApplication *lApp; + +#endif |