File indexing completed on 2025-03-09 04:54:12

0001 /*
0002   SPDX-FileCopyrightText: 2009 Constantin Berzan <exit3219@gmail.com>
0003 
0004   SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006 
0007 #pragma once
0008 
0009 #include "messagecore_export.h"
0010 
0011 #include "MessageCore/AttachmentFromUrlBaseJob"
0012 
0013 namespace MessageCore
0014 {
0015 /**
0016  * @short A job to load an attachment from an url.
0017  *
0018  * @author Constantin Berzan <exit3219@gmail.com>
0019  */
0020 class MESSAGECORE_EXPORT AttachmentFromUrlJob : public AttachmentFromUrlBaseJob
0021 {
0022     Q_OBJECT
0023 
0024 public:
0025     /**
0026      * Creates a new job.
0027      *
0028      * @param url The url that will be loaded as attachment.
0029      * @param parent The parent object.
0030      */
0031     explicit AttachmentFromUrlJob(const QUrl &url = QUrl(), QObject *parent = nullptr);
0032 
0033     /**
0034      * Destroys the job.
0035      */
0036     ~AttachmentFromUrlJob() override;
0037 
0038 protected Q_SLOTS:
0039     void doStart() override;
0040 
0041 private:
0042     //@cond PRIVATE
0043     class AttachmentLoadJobPrivate;
0044     std::unique_ptr<AttachmentLoadJobPrivate> const d;
0045     //@endcond
0046 };
0047 }