LeechCraft 0.6.70-17609-g3dde4097dd
Modular cross-platform feature rich live environment.
Loading...
Searching...
No Matches
iwebfilestorage.h
Go to the documentation of this file.
1/**********************************************************************
2 * LeechCraft - modular cross-platform feature rich internet client.
3 * Copyright (C) 2006-2014 Georg Rudoy
4 *
5 * Distributed under the Boost Software License, Version 1.0.
6 * (See accompanying file LICENSE or copy at https://www.boost.org/LICENSE_1_0.txt)
7 **********************************************************************/
8
9#pragma once
10
11#include <QStringList>
12#include <QtPlugin>
13
14class QUrl;
15
31class Q_DECL_EXPORT IWebFileStorage
32{
33public:
34 virtual ~IWebFileStorage () {}
35
40 virtual QStringList GetServiceVariants () const = 0;
41
60 virtual void UploadFile (const QString& filename,
61 const QString& service = QString ()) = 0;
62protected:
80 virtual void fileUploaded (const QString& filename, const QUrl& fileUrl) = 0;
81};
82
83Q_DECLARE_INTERFACE (IWebFileStorage, "org.Deviant.LeechCraft.IWebFileStorage/1.0")
Interface for plugins supporting storing files on the web.
virtual ~IWebFileStorage()
virtual void fileUploaded(const QString &filename, const QUrl &fileUrl)=0
Emitted when the given filename finishes uploading.
virtual QStringList GetServiceVariants() const =0
Returns the list of services supported by this plugin.
virtual void UploadFile(const QString &filename, const QString &service=QString())=0
Uploads the given filename to the given service.