1// Copyright (c) 2011 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_UI_WEBUI_COOKIES_TREE_MODEL_UTIL_H_
6#define CHROME_BROWSER_UI_WEBUI_COOKIES_TREE_MODEL_UTIL_H_
7#pragma once
8
9#include <string>
10
11class CookieTreeNode;
12class DictionaryValue;
13class ListValue;
14
15namespace cookies_tree_model_util {
16
17// Returns tree node id. Currently use hex string of node pointer as id.
18std::string GetTreeNodeId(CookieTreeNode* node);
19
20// Populate given |dict| with cookie tree node properties.
21void GetCookieTreeNodeDictionary(const CookieTreeNode& node,
22                                 DictionaryValue* dict);
23
24// Append the children nodes of |parent| in specified range to |nodes| list.
25void GetChildNodeList(CookieTreeNode* parent, int start, int count,
26                      ListValue* nodes);
27
28// Gets tree node from |path| under |root|. Return NULL if |path| is not valid.
29CookieTreeNode* GetTreeNodeFromPath(CookieTreeNode* root,
30                                    const std::string& path);
31
32}  // namespace cookies_tree_model_util
33
34#endif  // CHROME_BROWSER_UI_WEBUI_COOKIES_TREE_MODEL_UTIL_H_
35