56 std::variant<sync::PaginatedProjectsResponse, ResponseResult>;
93 GetProjectsFuture GetProjects(
95 std::string_view searchString);
98 [[nodiscard]] SyncFuture OpenFromCloud(
99 std::string projectId, std::string snapshotId, SyncMode mode,
102 [[nodiscard]] SyncFuture SyncProject(
106 static bool IsCloudProject(
const std::string& path);
114 static ProjectState GetProjectState(
const std::string& projectId);
116 GetHeadSnapshotIDFuture GetHeadSnapshotID(std::string_view projectId);
121 void CompleteSync(std::string path);
125 void SyncCloudSnapshot(
129 void UpdateDowloadProgress(
double downloadProgress);
132 ReportUploadStats(std::string_view projectId,
const TransferStats& stats);
140 std::atomic<double> mDownloadProgress { 0.0 };
141 std::atomic<bool> mProgressUpdateQueued {
false };
143 std::atomic<bool> mSyncInProcess {
false };
The top-level handle to an Audacity project. It serves as a source of events that other objects can b...
CloudSyncService & operator=(CloudSyncService &&)=delete
CloudSyncService & operator=(const CloudSyncService &)=delete
std::promise< sync::GetProjectsResult > GetProjectsPromise
std::future< sync::GetProjectsResult > GetProjectsFuture
std::promise< sync::ProjectSyncResult > SyncPromise
std::shared_ptr< sync::RemoteProjectSnapshot > mRemoteSnapshot
CloudSyncService(const CloudSyncService &)=delete
std::future< sync::GetHeadSnapshotIDResult > GetHeadSnapshotIDFuture
CloudSyncService(CloudSyncService &&)=delete
sync::ProgressCallback mProgressCallback
std::promise< sync::GetHeadSnapshotIDResult > GetHeadSnapshotIDPromise
CloudSyncService()=default
std::vector< std::shared_ptr< sync::LocalProjectSnapshot > > mLocalSnapshots
~CloudSyncService()=default
std::future< sync::ProjectSyncResult > SyncFuture
std::variant< std::string, ResponseResult > GetHeadSnapshotIDResult
std::variant< sync::PaginatedProjectsResponse, ResponseResult > GetProjectsResult
std::function< bool(double)> ProgressCallback
std::shared_ptr< CancellationContext > CancellationContextPtr