Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(68)

Unified Diff: ios/chrome/browser/reading_list/reading_list_model_storage.h

Issue 2369303002: Reading List create protobuf store (Closed)
Patch Set: feedback Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: ios/chrome/browser/reading_list/reading_list_model_storage.h
diff --git a/ios/chrome/browser/reading_list/reading_list_model_storage.h b/ios/chrome/browser/reading_list/reading_list_model_storage.h
index 1a009874128c7dc7df1d51fc332f528e0eecd672..51bac20172e2d088822abb485b270545a3a59417 100644
--- a/ios/chrome/browser/reading_list/reading_list_model_storage.h
+++ b/ios/chrome/browser/reading_list/reading_list_model_storage.h
@@ -9,21 +9,36 @@
#include "ios/chrome/browser/reading_list/reading_list_entry.h"
-class ReadingListModel;
+class ReadingListModelImpl;
+
+namespace syncer {
+class SyncableService;
+}
// Interface for a persistence layer for reading list.
// All interface methods have to be called on main thread.
class ReadingListModelStorage {
public:
- virtual std::vector<ReadingListEntry> LoadPersistentReadList() = 0;
- virtual std::vector<ReadingListEntry> LoadPersistentUnreadList() = 0;
- virtual bool LoadPersistentHasUnseen() = 0;
-
- virtual void SavePersistentReadList(
- const std::vector<ReadingListEntry>& read) = 0;
- virtual void SavePersistentUnreadList(
- const std::vector<ReadingListEntry>& unread) = 0;
- virtual void SavePersistentHasUnseen(bool has_unseen) = 0;
+ // Sets the model the Storage is backing.
+ virtual void SetReadingListModel(ReadingListModelImpl* model) = 0;
+
+ // Asynchronously Loads the entries contained in the storage.
+ virtual void LoadPersistentLists() = 0;
+
+ // Starts a transation. All Save/Remove entry will be delayed until the
+ // transaction is commited.
+ // Multiple transaction can be started at the same time. Commit will happen
+ // when the last transaction is commited.
+ // Calls to BeginTransaction and CommitTransaction must be balanced.
+ virtual void BeginTransaction() = 0;
+ virtual void CommitTransaction() = 0;
+
+ // Saves or updates an entry. If the entry is not yet in the database, it is
+ // created.
+ virtual void SaveEntry(const ReadingListEntry& entry, bool read) = 0;
+
+ // Removed an entry from the storage.
+ virtual void RemoveEntry(const ReadingListEntry& entry) = 0;
};
#endif // IOS_CHROME_BROWSER_READING_LIST_READING_LIST_MODEL_STORAGE_H_

Powered by Google App Engine
This is Rietveld 408576698