2
* This file is part of TelepathyQt
4
* @copyright Copyright (C) 2012 Collabora Ltd. <http://www.collabora.co.uk/>
5
* @copyright Copyright (C) 2012 Nokia Corporation
8
* This library is free software; you can redistribute it and/or
9
* modify it under the terms of the GNU Lesser General Public
10
* License as published by the Free Software Foundation; either
11
* version 2.1 of the License, or (at your option) any later version.
13
* This library is distributed in the hope that it will be useful,
14
* but 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.
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 02110-1301 USA
23
#ifndef _TelepathyQt_server_authentication_channel_h_HEADER_GUARD_
24
#define _TelepathyQt_server_authentication_channel_h_HEADER_GUARD_
26
#ifndef IN_TP_QT_HEADER
27
#error IN_TP_QT_HEADER
30
#include <TelepathyQt/Channel>
35
class TP_QT_EXPORT ServerAuthenticationChannel : public Channel
38
Q_DISABLE_COPY(ServerAuthenticationChannel)
41
static const Feature FeatureCore;
43
static ServerAuthenticationChannelPtr create(const ConnectionPtr &connection,
44
const QString &objectPath, const QVariantMap &immutableProperties);
46
virtual ~ServerAuthenticationChannel();
48
CaptchaAuthenticationPtr captchaAuthentication() const;
50
// TODO: Add something for SASL here as well
52
bool hasCaptchaInterface() const;
53
// TODO: Enable when SASL high-level support is in
54
// bool hasSaslInterface() const;
57
ServerAuthenticationChannel(const ConnectionPtr &connection, const QString &objectPath,
58
const QVariantMap &immutableProperties,
59
const Feature &coreFeature = ServerAuthenticationChannel::FeatureCore);
62
TP_QT_NO_EXPORT void gotCaptchaAuthenticationProperties(Tp::PendingOperation *op);
63
TP_QT_NO_EXPORT void gotServerAuthenticationProperties(Tp::PendingOperation *op);
67
friend struct Private;