summaryrefslogtreecommitdiff
path: root/core/opie-login/loginapplication.h
Side-by-side diff
Diffstat (limited to 'core/opie-login/loginapplication.h') (more/less context) (ignore whitespace changes)
-rw-r--r--core/opie-login/loginapplication.h40
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