• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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.
4 
5 #ifndef COMPONENTS_ENHANCED_BOOKMARKS_ENHANCED_BOOKMARK_MODEL_OBSERVER_H_
6 #define COMPONENTS_ENHANCED_BOOKMARKS_ENHANCED_BOOKMARK_MODEL_OBSERVER_H_
7 
8 #include <string>
9 
10 class BookmarkNode;
11 
12 namespace enhanced_bookmarks {
13 
14 class EnhancedBookmarkModelObserver {
15  public:
16   // Called when the model has finished loading.
17   virtual void EnhancedBookmarkModelLoaded() = 0;
18 
19   // Called from EnhancedBookmarkModel::ShutDown.
20   virtual void EnhancedBookmarkModelShuttingDown() = 0;
21 
22   // Called when a node is added to the model.
23   virtual void EnhancedBookmarkAdded(const BookmarkNode* node) = 0;
24 
25   // Called when a node is removed from the model.
26   virtual void EnhancedBookmarkRemoved(const BookmarkNode* node) = 0;
27 
28   // Called when all user editable nodes are removed from the model.
29   virtual void EnhancedBookmarkAllUserNodesRemoved() = 0;
30 
31   // Called when the remote id of a node changes. If |remote_id| is empty, the
32   // remote id has been cleared. This could happen if multiple nodes with the
33   // same remote id has been detected.
EnhancedBookmarkRemoteIdChanged(const BookmarkNode * node,const std::string & old_remote_id,const std::string & remote_id)34   virtual void EnhancedBookmarkRemoteIdChanged(const BookmarkNode* node,
35                                                const std::string& old_remote_id,
36                                                const std::string& remote_id) {};
37 
38  protected:
~EnhancedBookmarkModelObserver()39   virtual ~EnhancedBookmarkModelObserver() {}
40 };
41 
42 }  // namespace enhanced_bookmarks
43 #endif  // COMPONENTS_ENHANCED_BOOKMARKS_ENHANCED_BOOKMARK_MODEL_OBSERVER_H_
44