| Index: ios/chrome/browser/reading_list/reading_list_store_delegate.h
|
| diff --git a/ios/chrome/browser/reading_list/reading_list_store_delegate.h b/ios/chrome/browser/reading_list/reading_list_store_delegate.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..99170341338f216eec0777676b2fecdc5b44031a
|
| --- /dev/null
|
| +++ b/ios/chrome/browser/reading_list/reading_list_store_delegate.h
|
| @@ -0,0 +1,34 @@
|
| +// Copyright 2016 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +#ifndef IOS_CHROME_BROWSER_READING_LIST_READING_LIST_STORE_DELEGATE_H_
|
| +#define IOS_CHROME_BROWSER_READING_LIST_READING_LIST_STORE_DELEGATE_H_
|
| +
|
| +class ReadingListEntry;
|
| +
|
| +// The delegate to handle callbacks from the ReadingListStore.
|
| +class ReadingListStoreDelegate {
|
| + public:
|
| + // These three mathods handle callbacks from a ReadingListStore.
|
| + virtual void StoreLoaded(std::unique_ptr<ReadingListEntries> unread,
|
| + std::unique_ptr<ReadingListEntries> read) = 0;
|
| + // Handle sync events.
|
| + // Called to add a new entry to the model.
|
| + // |entry| must not already exist in the model.
|
| + virtual void SyncAddEntry(std::unique_ptr<ReadingListEntry> entry,
|
| + bool read) = 0;
|
| +
|
| + // Called to merge a sync entry with a local entry in the model.
|
| + // A local entry with the same URL must exist in the local store and have an
|
| + // older UpdateTime.
|
| + // Return a pointer to the merged entry.
|
| + virtual ReadingListEntry* SyncMergeEntry(
|
| + std::unique_ptr<ReadingListEntry> entry,
|
| + bool read) = 0;
|
| +
|
| + // Called to remove an entry to the model.
|
| + virtual void SyncRemoveEntry(const GURL& url) = 0;
|
| +};
|
| +
|
| +#endif // IOS_CHROME_BROWSER_READING_LIST_READING_LIST_STORE_DELEGATE_H_
|
|
|