[Sync] Componentize UIModelWorker.
[chromium-blink-merge.git] / components / enhanced_bookmarks / enhanced_bookmark_model_observer.h
blob45714fb518aee4be57fe840f38e958bffb7f66be
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef COMPONENTS_ENHANCED_BOOKMARKS_ENHANCED_BOOKMARK_MODEL_OBSERVER_H_
6 #define COMPONENTS_ENHANCED_BOOKMARKS_ENHANCED_BOOKMARK_MODEL_OBSERVER_H_
8 #include <string>
10 namespace bookmarks {
11 class BookmarkNode;
14 namespace enhanced_bookmarks {
16 class EnhancedBookmarkModelObserver {
17 public:
18 // Called when the model has finished loading.
19 virtual void EnhancedBookmarkModelLoaded() = 0;
21 // Called from EnhancedBookmarkModel::ShutDown.
22 virtual void EnhancedBookmarkModelShuttingDown() = 0;
24 // Called when a node is added to the model.
25 virtual void EnhancedBookmarkAdded(const bookmarks::BookmarkNode* node) = 0;
27 // Called when a node is removed from the model.
28 virtual void EnhancedBookmarkRemoved(const bookmarks::BookmarkNode* node) = 0;
30 // Called when a node has changed.
31 virtual void EnhancedBookmarkNodeChanged(
32 const bookmarks::BookmarkNode* node) = 0;
34 // Called when all user editable nodes are removed from the model.
35 virtual void EnhancedBookmarkAllUserNodesRemoved() = 0;
37 // Called when the remote id of a node changes. If |remote_id| is empty, the
38 // remote id has been cleared. This could happen if multiple nodes with the
39 // same remote id has been detected.
40 virtual void EnhancedBookmarkRemoteIdChanged(
41 const bookmarks::BookmarkNode* node,
42 const std::string& old_remote_id,
43 const std::string& remote_id) {}
45 protected:
46 virtual ~EnhancedBookmarkModelObserver() {}
49 } // namespace enhanced_bookmarks
51 #endif // COMPONENTS_ENHANCED_BOOKMARKS_ENHANCED_BOOKMARK_MODEL_OBSERVER_H_