Add named referencies implementation
[accounts-sso:vitalyrepins-signon.git] / src / signond / signonidentityadaptor.h
1 /*
2  * This file is part of signon
3  *
4  * Copyright (C) 2009-2010 Nokia Corporation.
5  *
6  * Contact: Aurel Popirtac <ext-aurel.popirtac@nokia.com>
7  * Contact: Alberto Mardegan <alberto.mardegan@nokia.com>
8  *
9  * This library is free software; you can redistribute it and/or
10  * modify it under the terms of the GNU Lesser General Public License
11  * version 2.1 as published by the Free Software Foundation.
12  *
13  * This library is distributed in the hope that it will be useful, but
14  * WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16  * Lesser General Public License for more details.
17  *
18  * You should have received a copy of the GNU Lesser General Public
19  * License along with this library; if not, write to the Free Software
20  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
21  * 02110-1301 USA
22  */
23
24 #ifndef SIGNONIDENTITYADAPTOR_H
25 #define SIGNONIDENTITYADAPTOR_H
26
27 #include <QDBusAbstractAdaptor>
28 #include <QDBusContext>
29
30 #include "signond-common.h"
31 #include "signonidentity.h"
32
33 namespace SignonDaemonNS {
34
35     class SignonIdentityAdaptor : public QDBusAbstractAdaptor
36     {
37         Q_OBJECT
38         Q_CLASSINFO("D-Bus Interface", "com.nokia.SingleSignOn.Identity")
39
40     public:
41         SignonIdentityAdaptor(SignonIdentity *parent);
42         virtual ~SignonIdentityAdaptor();
43
44         inline const QDBusContext &parentDBusContext() const
45             { return *static_cast<QDBusContext *>(m_parent); }
46
47     public Q_SLOTS:
48         quint32 requestCredentialsUpdate(const QString &message);
49         QList<QVariant> queryInfo();
50         quint32 addReference(const QString &reference);
51         quint32 removeReference(const QString &reference);
52
53         bool verifyUser(const QString &message);
54         bool verifySecret(const QString &secret);
55         void remove();
56         bool signOut();
57
58         quint32 storeCredentials(const quint32 id,
59                                  const QString &userName,
60                                  const QString &secret,
61                                  const bool storeSecret,
62                                  const QMap<QString, QVariant> &methods,
63                                  const QString &caption,
64                                  const QStringList &realms,
65                                  const QStringList &accessControlList,
66                                  const int type);
67     Q_SIGNALS:
68         void unregistered();
69         void infoUpdated(int);
70
71     private:
72         void securityErrorReply(const char *failedMethodName);
73
74     private:
75         SignonIdentity *m_parent;
76     };
77
78 } //namespace SignonDaemonNS
79
80 #endif // SIGNONIDENTITYADAPTOR_H