37class ProjectUploadOperation;
53 std::optional<CloudSyncError> Error {};
55 bool IsSyncing() const noexcept;
67 bool IsCloudProject()
const;
75 std::shared_ptr<ProjectUploadOperation> uploadOperation,
76 int64_t missingBlocksCount,
bool needsProjectUpload);
78 void OnUploadOperationCreated(
79 std::shared_ptr<ProjectUploadOperation> uploadOperation);
83 void OnSnapshotCreated(
101 bool IsSyncing()
const;
103 std::string GetCloudProjectId()
const;
104 std::string GetSnapshotId()
const;
108 std::weak_ptr<AudacityProject>
GetProject()
const;
110 int64_t GetSavesCount()
const;
118 bool IsBlockLocked(int64_t blockID)
const;
122 bool IsFirstSyncDialogShown()
const;
123 void SetFirstSyncDialogShown(
bool shown =
true);
129 void UpdateIdFromDatabase();
131 void UnsafeUpdateProgress();
134 void MarkProjectSynced(
bool success);
141 void OnProjectPathChanged();
159 std::atomic<bool> mUINotificationPending {
false };
Utility ClientData::Site to register hooks into a host class that attach client data.
The top-level handle to an Audacity project. It serves as a source of events that other objects can b...
A move-only handle representing a connection to a Publisher.
a class used to (de)serialize the project catalog
std::mutex mUploadQueueMutex
std::unique_ptr< CloudStatusChangedNotifier > mUIStateNotifier
void AbortLastUploadOperation()
std::unique_ptr< CloudStatusChangedNotifier > mAsyncStateNotifier
std::mutex mIdentifiersMutex
CloudStatusChangedMessage mLastStatus
AudacityProject & mProject
std::vector< std::shared_ptr< UploadQueueElement > > mUploadQueue
Observer::Subscription mProjectPathChangedSubscription
~ProjectCloudExtension() override
Utility ClientData::Site to register hooks into a host class that attach client data.
const AudacityProject & GetProject(const Track &track)
AudiocomTrace audiocomTrace