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_
14 namespace enhanced_bookmarks
{
16 class EnhancedBookmarkModelObserver
{
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
) {}
46 virtual ~EnhancedBookmarkModelObserver() {}
49 } // namespace enhanced_bookmarks
51 #endif // COMPONENTS_ENHANCED_BOOKMARKS_ENHANCED_BOOKMARK_MODEL_OBSERVER_H_