diff options
Diffstat (limited to 'transferengine-plugins/fediversetransferplugin/fediverseuploader.h')
| -rw-r--r-- | transferengine-plugins/fediversetransferplugin/fediverseuploader.h | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/transferengine-plugins/fediversetransferplugin/fediverseuploader.h b/transferengine-plugins/fediversetransferplugin/fediverseuploader.h new file mode 100644 index 0000000..2343145 --- /dev/null +++ b/transferengine-plugins/fediversetransferplugin/fediverseuploader.h @@ -0,0 +1,59 @@ +/* + * SPDX-FileCopyrightText: 2013 - 2026 Jolla Ltd. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#ifndef FEDIVERSEUPLOADER_H +#define FEDIVERSEUPLOADER_H + +#include <QtNetwork/QNetworkAccessManager> + +#include <mediatransferinterface.h> + +#include "fediverseshareservicestatus.h" + +class FediverseApi; + +class FediverseUploader : public MediaTransferInterface +{ + Q_OBJECT + +public: + FediverseUploader(QNetworkAccessManager *qnam, QObject *parent = 0); + ~FediverseUploader(); + + QString displayName() const; + QUrl serviceIcon() const; + bool cancelEnabled() const; + bool restartEnabled() const; + +public Q_SLOTS: + void start(); + void cancel(); + +private Q_SLOTS: + void startUploading(); + void transferFinished(); + void transferProgress(qreal progress); + void transferError(); + void transferCanceled(); + void credentialsExpired(); + +protected: + void setStatus(MediaTransferInterface::TransferStatus status); + +private: + void ensureApi(); + void postImage(); + void postStatus(); + + FediverseApi *m_api; + FediverseShareServiceStatus *m_fediverseShareServiceStatus; + QNetworkAccessManager *m_qnam; + FediverseShareServiceStatus::AccountDetails m_accountDetails; + bool m_useTmpFile; + QString m_filePath; +}; + +#endif // FEDIVERSEUPLOADER_H |
