fixing unit tests
[accounts-sso:signon.git] / src / plugins / password / passwordplugin.h
1 /*
2  * This file is part of signon
3  *
4  * Copyright (C) 2009-2010 Nokia Corporation.
5  *
6  * Contact: Alberto Mardegan <alberto.mardegan@nokia.com>
7  *
8  * This library is free software; you can redistribute it and/or
9  * modify it under the terms of the GNU Lesser General Public License
10  * version 2.1 as published by the Free Software Foundation.
11  *
12  * This library is distributed in the hope that it will be useful, but
13  * WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15  * Lesser General Public License for more details.
16  *
17  * You should have received a copy of the GNU Lesser General Public
18  * License along with this library; if not, write to the Free Software
19  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
20  * 02110-1301 USA
21  */
22 #ifndef PASSWORDPLUGIN_H_
23 #define PASSWORDPLUGIN_H_
24
25 #include <QtCore>
26
27 #include "SignOn/sessiondata.h"
28 #include "SignOn/uisessiondata.h"
29 #include "SignOn/authpluginif.h"
30
31 class PasswordPluginTest;
32 namespace PasswordPluginNS {
33
34 /*!
35  * @class PasswordPlugin
36  * @brief Password plugin for Sign-On.
37  * Sign-On plugin that returns plain text password.
38  * If password is not given in parameters, user is requested to input password.
39  */
40 class PasswordPlugin : public AuthPluginInterface
41 {
42     Q_OBJECT
43     Q_INTERFACES(AuthPluginInterface)
44     friend class ::PasswordPluginTest;
45
46 public:
47     PasswordPlugin(QObject *parent = 0);
48     virtual ~PasswordPlugin();
49
50 public Q_SLOTS:
51     QString type() const;
52     QStringList mechanisms() const;
53     void cancel();
54     void process(const SignOn::SessionData &inData, const QString &mechanism = 0);
55     void userActionFinished(const SignOn::UiSessionData &data);
56 //    void refresh(const SignOn::UiSessionData &data);
57
58 private:
59     void replyError(const SignOn::Error &err);
60     void replyResult(const SignOn::SessionData &data);
61
62     void setupForUnitTests();
63 };
64
65 } //namespace PasswordPluginNS
66
67 #endif /* PASSWORDPLUGIN_H_ */