Editing the documentation for consistency
[accounts-sso:vitalyrepins-signon.git] / lib / SignOn / authserviceimpl.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 #ifndef AUTHSERVICEIMPL_H
24 #define AUTHSERVICEIMPL_H
25
26 #include <QObject>
27 #include <QByteArray>
28 #include <QList>
29 #include <QMap>
30 #include <QString>
31 #include <QStringList>
32 #include <QVariant>
33 #include <QDBusInterface>
34 #include <QQueue>
35
36 #include "authservice.h"
37
38 namespace SignOn {
39
40     class IdentityInfo;
41
42     /*!
43      * @class AuthServiceImpl
44      * AuthService class implementation
45      * @sa AuthService
46      */
47     class AuthServiceImpl : public QObject
48     {
49         Q_OBJECT
50         Q_DISABLE_COPY(AuthServiceImpl)
51
52         friend class Identity;
53         friend class AuthService;
54
55     public:
56         AuthServiceImpl(AuthService *parent);
57         virtual ~AuthServiceImpl();
58
59         void queryMethods();
60         void queryMechanisms(const QString &method);
61         void queryIdentities(const AuthService::IdentityFilter &filter);
62         void clear();
63
64     public Q_SLOTS:
65         void errorReply(const QDBusError &err);
66         void queryMechanismsReply(const QStringList &mechs);
67         void queryIdentitiesReply(const QList<QVariant> &msg);
68         void queryMethodsReply(const QStringList &methods);
69         void clearReply();
70
71     private:
72         bool callWithTimeout(const QString &operation,
73                              const char *replySlot,
74                              const QList<QVariant> &args = QList<QVariant>());
75
76     private:
77         AuthService *m_parent;
78         QDBusInterface *m_DBusInterface;
79         QQueue<QString> m_methodsForWhichMechsWereQueried;
80     };
81
82 } // namespace SignOn
83
84 #endif /* AUTHSERVICEIMPL_H */