modernize: Remove custom Quassel-specific log macros
[quassel.git] / src / core / sqlauthenticator.cpp
1 /***************************************************************************
2  *   Copyright (C) 2005-2018 by the Quassel Project                        *
3  *   devel@quassel-irc.org                                                 *
4  *                                                                         *
5  *   This program is free software; you can redistribute it and/or modify  *
6  *   it under the terms of the GNU General Public License as published by  *
7  *   the Free Software Foundation; either version 2 of the License, or     *
8  *   (at your option) version 3.                                           *
9  *                                                                         *
10  *   This program is distributed in the hope that it will be useful,       *
11  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
12  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
13  *   GNU General Public License for more details.                          *
14  *                                                                         *
15  *   You should have received a copy of the GNU General Public License     *
16  *   along with this program; if not, write to the                         *
17  *   Free Software Foundation, Inc.,                                       *
18  *   51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.         *
19  ***************************************************************************/
20
21 #include "sqlauthenticator.h"
22
23 #include "core.h"
24 #include "network.h"
25 #include "quassel.h"
26
27 SqlAuthenticator::SqlAuthenticator(QObject* parent)
28     : Authenticator(parent)
29 {}
30
31 bool SqlAuthenticator::isAvailable() const
32 {
33     // FIXME: probably this should query the current storage (see the ::init routine too).
34     return true;
35 }
36
37 QString SqlAuthenticator::backendId() const
38 {
39     // We identify the backend to use for the monolithic core by this identifier.
40     // so only change this string if you _really_ have to and make sure the core
41     // setup for the mono client still works ;)
42     return QString("Database");
43 }
44
45 QString SqlAuthenticator::displayName() const
46 {
47     return tr("Database");
48 }
49
50 QString SqlAuthenticator::description() const
51 {
52     return tr("Do not authenticate against any remote service, but instead save a hashed and salted password "
53               "in the database selected in the next step.");
54 }
55
56 UserId SqlAuthenticator::validateUser(const QString& user, const QString& password)
57 {
58     return Core::validateUser(user, password);
59 }
60
61 bool SqlAuthenticator::setup(const QVariantMap& settings, const QProcessEnvironment& environment, bool loadFromEnvironment)
62 {
63     Q_UNUSED(settings)
64     Q_UNUSED(environment)
65     Q_UNUSED(loadFromEnvironment)
66     return true;
67 }
68
69 Authenticator::State SqlAuthenticator::init(const QVariantMap& settings, const QProcessEnvironment& environment, bool loadFromEnvironment)
70 {
71     Q_UNUSED(settings)
72     Q_UNUSED(environment)
73     Q_UNUSED(loadFromEnvironment)
74
75     // TODO: FIXME: this should check if the storage provider is ready, but I don't
76     // know if there's an exposed way to do that at the moment.
77
78     qInfo() << qPrintable(backendId()) << "authenticator is ready.";
79     return IsReady;
80 }