• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright (c) 2012 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 CHROME_BROWSER_EXTENSIONS_API_BOOKMARKS_BOOKMARK_API_HELPERS_H_
6 #define CHROME_BROWSER_EXTENSIONS_API_BOOKMARKS_BOOKMARK_API_HELPERS_H_
7 
8 #include <string>
9 #include <vector>
10 
11 #include "base/basictypes.h"
12 #include "chrome/common/extensions/api/bookmarks.h"
13 
14 class BookmarkModel;
15 class BookmarkNode;
16 class ChromeBookmarkClient;
17 
18 // Helper functions.
19 namespace extensions {
20 namespace bookmark_api_helpers {
21 
22 // The returned value is owned by the caller.
23 api::bookmarks::BookmarkTreeNode* GetBookmarkTreeNode(
24     ChromeBookmarkClient* client,
25     const BookmarkNode* node,
26     bool recurse,
27     bool only_folders);
28 
29 // Add a JSON representation of |node| to the JSON |nodes|.
30 void AddNode(ChromeBookmarkClient* client,
31              const BookmarkNode* node,
32              std::vector<linked_ptr<api::bookmarks::BookmarkTreeNode> >* nodes,
33              bool recurse);
34 
35 void AddNodeFoldersOnly(ChromeBookmarkClient* client,
36                         const BookmarkNode* node,
37                         std::vector<linked_ptr<
38                             api::bookmarks::BookmarkTreeNode> >* nodes,
39                         bool recurse);
40 
41 bool RemoveNode(BookmarkModel* model,
42                 ChromeBookmarkClient* client,
43                 int64 id,
44                 bool recursive,
45                 std::string* error);
46 
47 // Get meta info from |node| and all it's children recursively.
48 void GetMetaInfo(const BookmarkNode& node,
49                  base::DictionaryValue* id_to_meta_info_map);
50 
51 }  // namespace bookmark_api_helpers
52 }  // namespace extensions
53 
54 #endif  // CHROME_BROWSER_EXTENSIONS_API_BOOKMARKS_BOOKMARK_API_HELPERS_H_
55