OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef CHROME_BROWSER_BOOKMARKS_BOOKMARK_NODE_DATA_H_ | 5 #ifndef CHROME_BROWSER_BOOKMARKS_BOOKMARK_NODE_DATA_H_ |
6 #define CHROME_BROWSER_BOOKMARKS_BOOKMARK_NODE_DATA_H_ | 6 #define CHROME_BROWSER_BOOKMARKS_BOOKMARK_NODE_DATA_H_ |
7 #pragma once | 7 #pragma once |
8 | 8 |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
11 #include "base/file_path.h" | 11 #include "base/file_path.h" |
12 #include "base/string16.h" | 12 #include "base/string16.h" |
13 #include "googleurl/src/gurl.h" | 13 #include "googleurl/src/gurl.h" |
14 | 14 |
15 #if defined(TOOLKIT_VIEWS) | 15 #if defined(TOOLKIT_VIEWS) |
16 #include "ui/base/dragdrop/os_exchange_data.h" | 16 #include "ui/base/dragdrop/os_exchange_data.h" |
17 #endif | 17 #endif |
18 | 18 |
19 class BookmarkNode; | 19 class BookmarkNode; |
20 class Pickle; | 20 class Pickle; |
| 21 class PickleIterator; |
21 class Profile; | 22 class Profile; |
22 | 23 |
23 // BookmarkNodeData is used to represent the following: | 24 // BookmarkNodeData is used to represent the following: |
24 // | 25 // |
25 // . A single URL. | 26 // . A single URL. |
26 // . A single node from the bookmark model. | 27 // . A single node from the bookmark model. |
27 // . A set of nodes from the bookmark model. | 28 // . A set of nodes from the bookmark model. |
28 // | 29 // |
29 // BookmarkNodeData is used by bookmark related views to represent a dragged | 30 // BookmarkNodeData is used by bookmark related views to represent a dragged |
30 // bookmark or bookmarks. | 31 // bookmark or bookmarks. |
(...skipping 26 matching lines...) Expand all Loading... |
57 // Children, only used for non-URL nodes. | 58 // Children, only used for non-URL nodes. |
58 std::vector<Element> children; | 59 std::vector<Element> children; |
59 | 60 |
60 int64 id() { return id_; } | 61 int64 id() { return id_; } |
61 | 62 |
62 private: | 63 private: |
63 friend struct BookmarkNodeData; | 64 friend struct BookmarkNodeData; |
64 | 65 |
65 // For reading/writing this Element. | 66 // For reading/writing this Element. |
66 void WriteToPickle(Pickle* pickle) const; | 67 void WriteToPickle(Pickle* pickle) const; |
67 bool ReadFromPickle(Pickle* pickle, void** iterator); | 68 bool ReadFromPickle(Pickle* pickle, PickleIterator* iterator); |
68 | 69 |
69 // ID of the node. | 70 // ID of the node. |
70 int64 id_; | 71 int64 id_; |
71 }; | 72 }; |
72 | 73 |
73 BookmarkNodeData(); | 74 BookmarkNodeData(); |
74 | 75 |
75 #if defined(TOOLKIT_VIEWS) | 76 #if defined(TOOLKIT_VIEWS) |
76 static ui::OSExchangeData::CustomFormat GetBookmarkCustomFormat(); | 77 static ui::OSExchangeData::CustomFormat GetBookmarkCustomFormat(); |
77 #endif | 78 #endif |
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
156 static const char* kClipboardFormatString; | 157 static const char* kClipboardFormatString; |
157 | 158 |
158 static bool ClipboardContainsBookmarks(); | 159 static bool ClipboardContainsBookmarks(); |
159 | 160 |
160 private: | 161 private: |
161 // Path of the profile we originated from. | 162 // Path of the profile we originated from. |
162 FilePath profile_path_; | 163 FilePath profile_path_; |
163 }; | 164 }; |
164 | 165 |
165 #endif // CHROME_BROWSER_BOOKMARKS_BOOKMARK_NODE_DATA_H_ | 166 #endif // CHROME_BROWSER_BOOKMARKS_BOOKMARK_NODE_DATA_H_ |
OLD | NEW |