File indexing completed on 2024-04-21 04:55:27

0001 /*
0002     This file is part of Choqok, the KDE micro-blogging client
0003 
0004     SPDX-FileCopyrightText: 2008-2009 Mehrdad Momeny <mehrdad.momeny@gmail.com>
0005 
0006     SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
0007 */
0008 
0009 #ifndef UPLOADER_H
0010 #define UPLOADER_H
0011 
0012 #include <QUrl>
0013 
0014 #include "plugin.h"
0015 
0016 namespace Choqok
0017 {
0018 
0019 /**
0020 @brief The base class for Medium uploader plugins.
0021 
0022 @author Mehrdad Momeny \<mehrdad.momeny@gmail.com\>
0023 */
0024 class CHOQOK_EXPORT Uploader : public Plugin
0025 {
0026     Q_OBJECT
0027 public:
0028     virtual ~Uploader();
0029 
0030     /*virtual void upload( const QString &localUrl, const QByteArray &mediumType,
0031                             const QString &optionalMessage = QString() );*/
0032     virtual void upload(const QUrl &localUrl, const QByteArray &medium, const QByteArray &mediumType) = 0;
0033 
0034 Q_SIGNALS:
0035     void mediumUploaded(const QUrl &localUrl, const QString &remoteUrl);
0036     void uploadingFailed(const QUrl &localUrl, const QString &errorMessage);
0037 
0038 protected:
0039     Uploader(const QString &componentName, QObject *parent);
0040 };
0041 
0042 }
0043 
0044 #endif // UPLOADER_H