S3 bucket listing support and network code refactors.
* Adds support for listing all objects in an S3 bucket. * Renames a bunch of network related classes (Download->Action) * Net actions now have static constructors
This commit is contained in:
42
logic/net/S3ListBucket.h
Normal file
42
logic/net/S3ListBucket.h
Normal file
@ -0,0 +1,42 @@
|
||||
#pragma once
|
||||
#include "NetAction.h"
|
||||
|
||||
struct S3Object
|
||||
{
|
||||
QString Key;
|
||||
QString ETag;
|
||||
qlonglong size;
|
||||
};
|
||||
|
||||
typedef std::shared_ptr<class S3ListBucket> S3ListBucketPtr;
|
||||
class S3ListBucket : public NetAction
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
S3ListBucket(QUrl url);
|
||||
static S3ListBucketPtr make(QUrl url)
|
||||
{
|
||||
return S3ListBucketPtr(new S3ListBucket(url));
|
||||
}
|
||||
|
||||
public:
|
||||
QList<S3Object> objects;
|
||||
|
||||
public
|
||||
slots:
|
||||
virtual void start() override;
|
||||
|
||||
protected
|
||||
slots:
|
||||
virtual void downloadProgress(qint64 bytesReceived, qint64 bytesTotal) override;
|
||||
virtual void downloadError(QNetworkReply::NetworkError error) override;
|
||||
virtual void downloadFinished() override;
|
||||
virtual void downloadReadyRead() override;
|
||||
|
||||
private:
|
||||
void processValidReply();
|
||||
|
||||
private:
|
||||
qint64 bytesSoFar = 0;
|
||||
QString current_marker;
|
||||
};
|
Reference in New Issue
Block a user