1c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// Copyright (c) 2010 The Chromium Authors. All rights reserved. 2c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// Use of this source code is governed by a BSD-style license that can be 3c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// found in the LICENSE file. 4c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 5c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#ifndef CHROME_BROWSER_EXTENSIONS_EXTENSION_BOOKMARK_HELPERS_H_ 6c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#define CHROME_BROWSER_EXTENSIONS_EXTENSION_BOOKMARK_HELPERS_H_ 73345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick#pragma once 8c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 93345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick#include <string> 103345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick 113345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick#include "base/basictypes.h" 123345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick 133345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrickclass BookmarkModel; 143345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrickclass BookmarkNode; 153345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrickclass DictionaryValue; 163345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrickclass ListValue; 17c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 18c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// Helper functions. 19c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdochnamespace extension_bookmark_helpers { 20c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 21c407dc5cd9bdc5668497f21b26b09d988ab439deBen MurdochDictionaryValue* GetNodeDictionary(const BookmarkNode* node, 22c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch bool recurse, 23c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch bool only_folders); 24c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 25c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// Add a JSON representation of |node| to the JSON |list|. 263345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrickvoid AddNode(const BookmarkNode* node, ListValue* list, bool recurse); 27c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 28c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdochvoid AddNodeFoldersOnly(const BookmarkNode* node, 29c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch ListValue* list, 30c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch bool recurse); 31c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 32c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdochbool RemoveNode(BookmarkModel* model, 33c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch int64 id, 34c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch bool recursive, 35c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch std::string* error); 36c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 373345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick} // namespace extension_bookmark_helpers 38c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 393345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick#endif // CHROME_BROWSER_EXTENSIONS_EXTENSION_BOOKMARK_HELPERS_H_ 40