From f50347164c541163b1086bebdc23eafba82790ee Mon Sep 17 00:00:00 2001 From: "r.kuznetsov" Date: Fri, 16 Mar 2018 19:03:58 +0300 Subject: Added cloud restoring --- map/bookmark_manager.hpp | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'map/bookmark_manager.hpp') diff --git a/map/bookmark_manager.hpp b/map/bookmark_manager.hpp index e2dd565ce3..2bb00245bc 100644 --- a/map/bookmark_manager.hpp +++ b/map/bookmark_manager.hpp @@ -128,7 +128,6 @@ public: }; explicit BookmarkManager(Callbacks && callbacks); - ~BookmarkManager(); void SetDrapeEngine(ref_ptr engine); @@ -244,6 +243,12 @@ public: using ConversionHandler = platform::SafeCallback; void ConvertAllKmlFiles(ConversionHandler && handler) const; + // These handlers are always called from UI-thread. + void SetCloudHandlers(Cloud::SynchronizationStartedHandler && onSynchronizationStarted, + Cloud::SynchronizationFinishedHandler && onSynchronizationFinished, + Cloud::RestoreRequestedHandler && onRestoreRequested, + Cloud::RestoredFilesPreparedHandler && onRestoredFilesPrepared); + /// These functions are public for unit tests only. You shouldn't call them from client code. void SaveToKML(df::MarkGroupID groupId, std::ostream & s); void CreateCategories(KMLDataCollection && dataCollection, bool autoSave = true); @@ -397,6 +402,12 @@ private: void SaveToKML(BookmarkCategory * group, std::ostream & s); + void OnSynchronizationStarted(Cloud::SynchronizationType type); + void OnSynchronizationFinished(Cloud::SynchronizationType type, Cloud::SynchronizationResult result, + std::string const & errorStr); + void OnRestoreRequested(Cloud::RestoringRequestResult result, uint64_t backupTimestampInMs); + void OnRestoredFilesPrepared(); + ThreadChecker m_threadChecker; Callbacks m_callbacks; @@ -438,6 +449,10 @@ private: std::list m_bookmarkLoadingQueue; Cloud m_bookmarkCloud; + Cloud::SynchronizationStartedHandler m_onSynchronizationStarted; + Cloud::SynchronizationFinishedHandler m_onSynchronizationFinished; + Cloud::RestoreRequestedHandler m_onRestoreRequested; + Cloud::RestoredFilesPreparedHandler m_onRestoredFilesPrepared; DISALLOW_COPY_AND_MOVE(BookmarkManager); }; -- cgit v1.2.3