Audacity 3.2.0
ProjectUploadOperation.h
Go to the documentation of this file.
1/* SPDX-License-Identifier: GPL-2.0-or-later */
2/*!********************************************************************
3
4 Audacity: A Digital Audio Editor
5
6 ProjectUploadOperation.h
7
8 Dmitry Vedenko
9
10**********************************************************************/
11
12#pragma once
13
14#include <cstdint>
15#include <memory>
16#include <vector>
17
19
20class TrackList;
21
23{
24enum class UploadMode
25{
26 Normal,
29};
30
32{
33 std::vector<uint8_t> ProjectSnapshot;
34 std::shared_ptr<TrackList> Tracks;
35};
36
38{
39public:
40 virtual ~ProjectUploadOperation() = default;
41
42 virtual void Start() = 0;
43 virtual void SetUploadData(const ProjectUploadData& data) = 0;
44 virtual bool IsCompleted() const = 0;
45}; // class AsynchronousOperation
46} // namespace audacity::cloud::audiocom::sync
A flat linked list of tracks supporting Add, Remove, Clear, and Contains, serialization of the list o...
Definition: Track.h:850
virtual void SetUploadData(const ProjectUploadData &data)=0