49 virtual float GetProgress()
const;
62 bool CompletedSuccessfully()
const;
66 virtual bool WaitUntilDone()
const;
71 void SetLastFailure(
const char* failureString);
74 virtual bool IsReady()
const = 0;
77 inline virtual uint64_t
GetFileSize()
const {
return m_fileSize; }
79 uint64_t GetProgressAmount()
const;
86 const std::shared_ptr<Aws::S3::S3Client>& GetS3Client()
const;
91 virtual bool DoCancelAction() = 0;
93 virtual void SetDone();
95 void CompletionSuccess();
96 virtual void CompletionFailure(
const char* failureStr);
98 inline virtual void SetFileSize(uint64_t curSize) { m_fileSize = curSize; }
100 void ClearProgress();
101 void RegisterProgress(int64_t progressAmount);
105 void FireCompletionCallbacks();
115 std::shared_ptr<Aws::S3::S3Client> m_S3Client;
117 std::atomic<bool> m_isDone;
118 std::atomic<bool> m_completedSuccessfully;
120 std::mutex m_callbackMutex;
124 std::atomic<uint64_t> m_progress;
std::function< void() > S3FileCompletionCallback
virtual void SetFileSize(uint64_t curSize)
virtual uint64_t GetFileSize() const
std::list< T, Aws::Allocator< T > > List
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
JSON (JavaScript Object Notation).