File indexing completed on 2025-03-09 04:54:38
0001 /* 0002 SPDX-FileCopyrightText: 2016-2024 Laurent Montel <montel@kde.org> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 0006 */ 0007 0008 #pragma once 0009 0010 #include "messageviewer_export.h" 0011 #include <QNetworkReply> 0012 #include <QObject> 0013 namespace MessageViewer 0014 { 0015 class ScamExpandUrlJobPrivate; 0016 /** 0017 * @brief The ScamExpandUrlJob class 0018 * @author Laurent Montel <montel@kde.org> 0019 */ 0020 class MESSAGEVIEWER_EXPORT ScamExpandUrlJob : public QObject 0021 { 0022 Q_OBJECT 0023 public: 0024 explicit ScamExpandUrlJob(QObject *parent = nullptr); 0025 ~ScamExpandUrlJob() override; 0026 0027 void expandedUrl(const QUrl &url); 0028 Q_SIGNALS: 0029 void urlExpanded(const QString &shortUrl, const QString &expandedUrl); 0030 void expandUrlError(QNetworkReply::NetworkError error); 0031 0032 private: 0033 MESSAGEVIEWER_NO_EXPORT void slotError(QNetworkReply::NetworkError error); 0034 MESSAGEVIEWER_NO_EXPORT void slotExpandFinished(QNetworkReply *reply); 0035 std::unique_ptr<ScamExpandUrlJobPrivate> const d; 0036 }; 0037 }