#ifndef CHROME_BROWSER_EXTENSIONS_API_BOOKMARKS_BOOKMARK_API_HELPERS_H_
#define CHROME_BROWSER_EXTENSIONS_API_BOOKMARKS_BOOKMARK_API_HELPERS_H_
#include <stdint.h>
#include <string>
#include <vector>
#include "chrome/common/extensions/api/bookmarks.h"
namespace bookmarks {
class BookmarkModel;
class BookmarkNode;
class ManagedBookmarkService;
}
namespace extensions {
namespace bookmark_api_helpers {
api::bookmarks::BookmarkTreeNode GetBookmarkTreeNode(
bookmarks::ManagedBookmarkService* managed,
const bookmarks::BookmarkNode* node,
bool recurse,
bool only_folders);
void PopulateBookmarkTreeNode(
bookmarks::ManagedBookmarkService* managed,
const bookmarks::BookmarkNode* node,
bool recurse,
bool only_folders,
api::bookmarks::BookmarkTreeNode* out_bookmark_tree_node);
void AddNode(bookmarks::ManagedBookmarkService* managed,
const bookmarks::BookmarkNode* node,
std::vector<api::bookmarks::BookmarkTreeNode>* nodes,
bool recurse);
void AddNodeFoldersOnly(bookmarks::ManagedBookmarkService* managed,
const bookmarks::BookmarkNode* node,
std::vector<api::bookmarks::BookmarkTreeNode>* nodes,
bool recurse);
bool RemoveNode(bookmarks::BookmarkModel* model,
bookmarks::ManagedBookmarkService* managed,
int64_t id,
bool recursive,
std::string* error);
void GetMetaInfo(const bookmarks::BookmarkNode& node,
base::Value::Dict& id_to_meta_info_map);
}
}
#endif