7#include <aws/core/Core_EXPORTS.h>
8#include <aws/s3-transfer/DownloadRequest.h>
9#include <aws/core/client/AWSError.h>
10#include <aws/s3/S3Errors.h>
11#include <aws/s3/model/GetObjectRequest.h>
18struct DownloadTransferState;
31 Aws::Vector<std::shared_ptr<DownloadProgressListener>> transferListeners);
44 const std::shared_ptr<DownloadTransferState>& state)
const = 0;
70 Aws::Vector<std::shared_ptr<DownloadProgressListener>> transferListeners);
74 const std::shared_ptr<DownloadTransferState>& state)
const override;
88 std::shared_ptr<DownloadDataReceiver> dataReceiver,
89 Aws::Vector<std::shared_ptr<DownloadProgressListener>> transferListeners);
92 const std::shared_ptr<DownloadTransferState>& state)
const override;
94 const std::shared_ptr<DownloadDataReceiver>&
GetDataReceiver()
const override {
return m_dataReceiver; }
97 std::shared_ptr<DownloadDataReceiver> m_dataReceiver;
DownloadRequestImpl & operator=(DownloadRequestImpl &&)=delete
Aws::Vector< std::shared_ptr< DownloadProgressListener > > m_transferListeners
DownloadRequestImpl(const DownloadRequestImpl &)=delete
virtual const Aws::String & GetTempFilePath() const
virtual const Aws::String & GetDestinationFilePath() const
virtual OptionalError Validate() const
DownloadRequestImpl & operator=(const DownloadRequestImpl &)=delete
Aws::S3::Model::GetObjectRequest m_s3Request
DownloadRequestImpl(DownloadRequestImpl &&)=delete
virtual OptionalError FinalizeOnSuccess(const std::shared_ptr< DownloadTransferState > &state) const =0
Aws::S3::Model::GetObjectRequest & MutableS3Request()
const Aws::S3::Model::GetObjectRequest & GetS3Request() const
virtual ~DownloadRequestImpl()=default
virtual OptionalError CleanupOnFailure(const std::shared_ptr< DownloadTransferState > &state) const =0
virtual const std::shared_ptr< DownloadDataReceiver > & GetDataReceiver() const
DownloadRequestImpl(Aws::String bucket, Aws::String key, Aws::Vector< std::shared_ptr< DownloadProgressListener > > transferListeners)
const Aws::Vector< std::shared_ptr< DownloadProgressListener > > & GetTransferListeners() const
FileDownloadImpl(Aws::String bucket, Aws::String key, Aws::String destinationFilePath, Aws::Vector< std::shared_ptr< DownloadProgressListener > > transferListeners)
const Aws::String & GetTempFilePath() const override
OptionalError CleanupOnFailure(const std::shared_ptr< DownloadTransferState > &state) const override
const Aws::String & GetDestinationFilePath() const override
OptionalError FinalizeOnSuccess(const std::shared_ptr< DownloadTransferState > &state) const override
OptionalError Validate() const override
StreamDownloadImpl(Aws::String bucket, Aws::String key, std::shared_ptr< DownloadDataReceiver > dataReceiver, Aws::Vector< std::shared_ptr< DownloadProgressListener > > transferListeners)
const std::shared_ptr< DownloadDataReceiver > & GetDataReceiver() const override
OptionalError CleanupOnFailure(const std::shared_ptr< DownloadTransferState > &state) const override
OptionalError FinalizeOnSuccess(const std::shared_ptr< DownloadTransferState > &state) const override
Aws::Crt::Optional< Aws::Client::AWSError< Aws::S3::S3Errors > > OptionalError
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector