OLD | NEW |
1 // Copyright (c) 2012 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_EXTENSIONS_API_BOOKMARKS_BOOKMARKS_API_H_ | 5 #ifndef CHROME_BROWSER_EXTENSIONS_API_BOOKMARKS_BOOKMARKS_API_H_ |
6 #define CHROME_BROWSER_EXTENSIONS_API_BOOKMARKS_BOOKMARKS_API_H_ | 6 #define CHROME_BROWSER_EXTENSIONS_API_BOOKMARKS_BOOKMARKS_API_H_ |
7 | 7 |
8 #include <list> | 8 #include <list> |
9 #include <string> | 9 #include <string> |
10 #include <vector> | 10 #include <vector> |
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
107 static const bool kServiceIsNULLWhileTesting = true; | 107 static const bool kServiceIsNULLWhileTesting = true; |
108 | 108 |
109 // Created lazily upon OnListenerAdded. | 109 // Created lazily upon OnListenerAdded. |
110 scoped_ptr<BookmarkEventRouter> bookmark_event_router_; | 110 scoped_ptr<BookmarkEventRouter> bookmark_event_router_; |
111 }; | 111 }; |
112 | 112 |
113 class BookmarksFunction : public ChromeAsyncExtensionFunction, | 113 class BookmarksFunction : public ChromeAsyncExtensionFunction, |
114 public BaseBookmarkModelObserver { | 114 public BaseBookmarkModelObserver { |
115 public: | 115 public: |
116 // AsyncExtensionFunction: | 116 // AsyncExtensionFunction: |
117 virtual void Run() OVERRIDE; | 117 virtual bool RunImpl() OVERRIDE; |
118 | 118 |
119 protected: | 119 protected: |
120 virtual ~BookmarksFunction() {} | 120 virtual ~BookmarksFunction() {} |
121 | 121 |
| 122 // RunImpl semantic equivalent called when the bookmarks are ready. |
| 123 virtual bool RunOnReady() = 0; |
| 124 |
122 // Helper to get the bookmark id as int64 from the given string id. | 125 // Helper to get the bookmark id as int64 from the given string id. |
123 // Sets error_ to an error string if the given id string can't be parsed | 126 // Sets error_ to an error string if the given id string can't be parsed |
124 // as an int64. In case of error, doesn't change id and returns false. | 127 // as an int64. In case of error, doesn't change id and returns false. |
125 bool GetBookmarkIdAsInt64(const std::string& id_string, int64* id); | 128 bool GetBookmarkIdAsInt64(const std::string& id_string, int64* id); |
126 | 129 |
127 // Helper to get the bookmark node from a given string id. | 130 // Helper to get the bookmark node from a given string id. |
128 // If the given id can't be parsed or doesn't refer to a valid node, sets | 131 // If the given id can't be parsed or doesn't refer to a valid node, sets |
129 // error_ and returns NULL. | 132 // error_ and returns NULL. |
130 const BookmarkNode* GetBookmarkNodeFromId(const std::string& id_string); | 133 const BookmarkNode* GetBookmarkNodeFromId(const std::string& id_string); |
131 | 134 |
(...skipping 15 matching lines...) Expand all Loading... |
147 bool ids_reassigned) OVERRIDE; | 150 bool ids_reassigned) OVERRIDE; |
148 }; | 151 }; |
149 | 152 |
150 class BookmarksGetFunction : public BookmarksFunction { | 153 class BookmarksGetFunction : public BookmarksFunction { |
151 public: | 154 public: |
152 DECLARE_EXTENSION_FUNCTION("bookmarks.get", BOOKMARKS_GET) | 155 DECLARE_EXTENSION_FUNCTION("bookmarks.get", BOOKMARKS_GET) |
153 | 156 |
154 protected: | 157 protected: |
155 virtual ~BookmarksGetFunction() {} | 158 virtual ~BookmarksGetFunction() {} |
156 | 159 |
157 // ExtensionFunction: | 160 // BookmarksFunction: |
158 virtual bool RunImpl() OVERRIDE; | 161 virtual bool RunOnReady() OVERRIDE; |
159 }; | 162 }; |
160 | 163 |
161 class BookmarksGetChildrenFunction : public BookmarksFunction { | 164 class BookmarksGetChildrenFunction : public BookmarksFunction { |
162 public: | 165 public: |
163 DECLARE_EXTENSION_FUNCTION("bookmarks.getChildren", BOOKMARKS_GETCHILDREN) | 166 DECLARE_EXTENSION_FUNCTION("bookmarks.getChildren", BOOKMARKS_GETCHILDREN) |
164 | 167 |
165 protected: | 168 protected: |
166 virtual ~BookmarksGetChildrenFunction() {} | 169 virtual ~BookmarksGetChildrenFunction() {} |
167 | 170 |
168 // ExtensionFunction: | 171 // BookmarksFunction: |
169 virtual bool RunImpl() OVERRIDE; | 172 virtual bool RunOnReady() OVERRIDE; |
170 }; | 173 }; |
171 | 174 |
172 class BookmarksGetRecentFunction : public BookmarksFunction { | 175 class BookmarksGetRecentFunction : public BookmarksFunction { |
173 public: | 176 public: |
174 DECLARE_EXTENSION_FUNCTION("bookmarks.getRecent", BOOKMARKS_GETRECENT) | 177 DECLARE_EXTENSION_FUNCTION("bookmarks.getRecent", BOOKMARKS_GETRECENT) |
175 | 178 |
176 protected: | 179 protected: |
177 virtual ~BookmarksGetRecentFunction() {} | 180 virtual ~BookmarksGetRecentFunction() {} |
178 | 181 |
179 // ExtensionFunction: | 182 // BookmarksFunction: |
180 virtual bool RunImpl() OVERRIDE; | 183 virtual bool RunOnReady() OVERRIDE; |
181 }; | 184 }; |
182 | 185 |
183 class BookmarksGetTreeFunction : public BookmarksFunction { | 186 class BookmarksGetTreeFunction : public BookmarksFunction { |
184 public: | 187 public: |
185 DECLARE_EXTENSION_FUNCTION("bookmarks.getTree", BOOKMARKS_GETTREE) | 188 DECLARE_EXTENSION_FUNCTION("bookmarks.getTree", BOOKMARKS_GETTREE) |
186 | 189 |
187 protected: | 190 protected: |
188 virtual ~BookmarksGetTreeFunction() {} | 191 virtual ~BookmarksGetTreeFunction() {} |
189 | 192 |
190 // ExtensionFunction: | 193 // BookmarksFunction: |
191 virtual bool RunImpl() OVERRIDE; | 194 virtual bool RunOnReady() OVERRIDE; |
192 }; | 195 }; |
193 | 196 |
194 class BookmarksGetSubTreeFunction : public BookmarksFunction { | 197 class BookmarksGetSubTreeFunction : public BookmarksFunction { |
195 public: | 198 public: |
196 DECLARE_EXTENSION_FUNCTION("bookmarks.getSubTree", BOOKMARKS_GETSUBTREE) | 199 DECLARE_EXTENSION_FUNCTION("bookmarks.getSubTree", BOOKMARKS_GETSUBTREE) |
197 | 200 |
198 protected: | 201 protected: |
199 virtual ~BookmarksGetSubTreeFunction() {} | 202 virtual ~BookmarksGetSubTreeFunction() {} |
200 | 203 |
201 // ExtensionFunction: | 204 // BookmarksFunction: |
202 virtual bool RunImpl() OVERRIDE; | 205 virtual bool RunOnReady() OVERRIDE; |
203 }; | 206 }; |
204 | 207 |
205 class BookmarksSearchFunction : public BookmarksFunction { | 208 class BookmarksSearchFunction : public BookmarksFunction { |
206 public: | 209 public: |
207 DECLARE_EXTENSION_FUNCTION("bookmarks.search", BOOKMARKS_SEARCH) | 210 DECLARE_EXTENSION_FUNCTION("bookmarks.search", BOOKMARKS_SEARCH) |
208 | 211 |
209 protected: | 212 protected: |
210 virtual ~BookmarksSearchFunction() {} | 213 virtual ~BookmarksSearchFunction() {} |
211 | 214 |
212 // ExtensionFunction: | 215 // BookmarksFunction: |
213 virtual bool RunImpl() OVERRIDE; | 216 virtual bool RunOnReady() OVERRIDE; |
214 }; | 217 }; |
215 | 218 |
216 class BookmarksRemoveFunction : public BookmarksFunction { | 219 class BookmarksRemoveFunction : public BookmarksFunction { |
217 public: | 220 public: |
218 DECLARE_EXTENSION_FUNCTION("bookmarks.remove", BOOKMARKS_REMOVE) | 221 DECLARE_EXTENSION_FUNCTION("bookmarks.remove", BOOKMARKS_REMOVE) |
219 | 222 |
220 // Returns true on successful parse and sets invalid_id to true if conversion | 223 // Returns true on successful parse and sets invalid_id to true if conversion |
221 // from id string to int64 failed. | 224 // from id string to int64 failed. |
222 static bool ExtractIds(const base::ListValue* args, | 225 static bool ExtractIds(const base::ListValue* args, |
223 std::list<int64>* ids, | 226 std::list<int64>* ids, |
224 bool* invalid_id); | 227 bool* invalid_id); |
225 // ExtensionFunction: | 228 // BookmarksFunction: |
226 virtual void GetQuotaLimitHeuristics( | 229 virtual void GetQuotaLimitHeuristics( |
227 QuotaLimitHeuristics* heuristics) const OVERRIDE; | 230 QuotaLimitHeuristics* heuristics) const OVERRIDE; |
228 | 231 |
229 protected: | 232 protected: |
230 virtual ~BookmarksRemoveFunction() {} | 233 virtual ~BookmarksRemoveFunction() {} |
231 | 234 |
232 // ExtensionFunction: | 235 // BookmarksFunction: |
233 virtual bool RunImpl() OVERRIDE; | 236 virtual bool RunOnReady() OVERRIDE; |
234 }; | 237 }; |
235 | 238 |
236 class BookmarksRemoveTreeFunction : public BookmarksRemoveFunction { | 239 class BookmarksRemoveTreeFunction : public BookmarksRemoveFunction { |
237 public: | 240 public: |
238 DECLARE_EXTENSION_FUNCTION("bookmarks.removeTree", BOOKMARKS_REMOVETREE) | 241 DECLARE_EXTENSION_FUNCTION("bookmarks.removeTree", BOOKMARKS_REMOVETREE) |
239 | 242 |
240 protected: | 243 protected: |
241 virtual ~BookmarksRemoveTreeFunction() {} | 244 virtual ~BookmarksRemoveTreeFunction() {} |
242 }; | 245 }; |
243 | 246 |
244 class BookmarksCreateFunction : public BookmarksFunction { | 247 class BookmarksCreateFunction : public BookmarksFunction { |
245 public: | 248 public: |
246 DECLARE_EXTENSION_FUNCTION("bookmarks.create", BOOKMARKS_CREATE) | 249 DECLARE_EXTENSION_FUNCTION("bookmarks.create", BOOKMARKS_CREATE) |
247 | 250 |
248 // ExtensionFunction: | 251 // BookmarksFunction: |
249 virtual void GetQuotaLimitHeuristics( | 252 virtual void GetQuotaLimitHeuristics( |
250 QuotaLimitHeuristics* heuristics) const OVERRIDE; | 253 QuotaLimitHeuristics* heuristics) const OVERRIDE; |
251 | 254 |
252 protected: | 255 protected: |
253 virtual ~BookmarksCreateFunction() {} | 256 virtual ~BookmarksCreateFunction() {} |
254 | 257 |
255 // ExtensionFunction: | 258 // BookmarksFunction: |
256 virtual bool RunImpl() OVERRIDE; | 259 virtual bool RunOnReady() OVERRIDE; |
257 }; | 260 }; |
258 | 261 |
259 class BookmarksMoveFunction : public BookmarksFunction { | 262 class BookmarksMoveFunction : public BookmarksFunction { |
260 public: | 263 public: |
261 DECLARE_EXTENSION_FUNCTION("bookmarks.move", BOOKMARKS_MOVE) | 264 DECLARE_EXTENSION_FUNCTION("bookmarks.move", BOOKMARKS_MOVE) |
262 | 265 |
263 static bool ExtractIds(const base::ListValue* args, | 266 static bool ExtractIds(const base::ListValue* args, |
264 std::list<int64>* ids, | 267 std::list<int64>* ids, |
265 bool* invalid_id); | 268 bool* invalid_id); |
266 | 269 |
267 // ExtensionFunction: | 270 // BookmarksFunction: |
268 virtual void GetQuotaLimitHeuristics( | 271 virtual void GetQuotaLimitHeuristics( |
269 QuotaLimitHeuristics* heuristics) const OVERRIDE; | 272 QuotaLimitHeuristics* heuristics) const OVERRIDE; |
270 | 273 |
271 protected: | 274 protected: |
272 virtual ~BookmarksMoveFunction() {} | 275 virtual ~BookmarksMoveFunction() {} |
273 | 276 |
274 // ExtensionFunction: | 277 // BookmarksFunction: |
275 virtual bool RunImpl() OVERRIDE; | 278 virtual bool RunOnReady() OVERRIDE; |
276 }; | 279 }; |
277 | 280 |
278 class BookmarksUpdateFunction : public BookmarksFunction { | 281 class BookmarksUpdateFunction : public BookmarksFunction { |
279 public: | 282 public: |
280 DECLARE_EXTENSION_FUNCTION("bookmarks.update", BOOKMARKS_UPDATE) | 283 DECLARE_EXTENSION_FUNCTION("bookmarks.update", BOOKMARKS_UPDATE) |
281 | 284 |
282 static bool ExtractIds(const base::ListValue* args, | 285 static bool ExtractIds(const base::ListValue* args, |
283 std::list<int64>* ids, | 286 std::list<int64>* ids, |
284 bool* invalid_id); | 287 bool* invalid_id); |
285 | 288 |
286 // ExtensionFunction: | 289 // BookmarksFunction: |
287 virtual void GetQuotaLimitHeuristics( | 290 virtual void GetQuotaLimitHeuristics( |
288 QuotaLimitHeuristics* heuristics) const OVERRIDE; | 291 QuotaLimitHeuristics* heuristics) const OVERRIDE; |
289 | 292 |
290 protected: | 293 protected: |
291 virtual ~BookmarksUpdateFunction() {} | 294 virtual ~BookmarksUpdateFunction() {} |
292 | 295 |
293 // ExtensionFunction: | 296 // BookmarksFunction: |
294 virtual bool RunImpl() OVERRIDE; | 297 virtual bool RunOnReady() OVERRIDE; |
295 }; | 298 }; |
296 | 299 |
297 class BookmarksIOFunction : public BookmarksFunction, | 300 class BookmarksIOFunction : public BookmarksFunction, |
298 public ui::SelectFileDialog::Listener { | 301 public ui::SelectFileDialog::Listener { |
299 public: | 302 public: |
300 BookmarksIOFunction(); | 303 BookmarksIOFunction(); |
301 | 304 |
302 virtual void FileSelected(const base::FilePath& path, int index, void* params)
= 0; | 305 virtual void FileSelected(const base::FilePath& path, int index, void* params)
= 0; |
303 | 306 |
304 // ui::SelectFileDialog::Listener: | 307 // ui::SelectFileDialog::Listener: |
(...skipping 20 matching lines...) Expand all Loading... |
325 DECLARE_EXTENSION_FUNCTION("bookmarks.import", BOOKMARKS_IMPORT) | 328 DECLARE_EXTENSION_FUNCTION("bookmarks.import", BOOKMARKS_IMPORT) |
326 | 329 |
327 // BookmarkManagerIOFunction: | 330 // BookmarkManagerIOFunction: |
328 virtual void FileSelected(const base::FilePath& path, | 331 virtual void FileSelected(const base::FilePath& path, |
329 int index, | 332 int index, |
330 void* params) OVERRIDE; | 333 void* params) OVERRIDE; |
331 | 334 |
332 private: | 335 private: |
333 virtual ~BookmarksImportFunction() {} | 336 virtual ~BookmarksImportFunction() {} |
334 | 337 |
335 // ExtensionFunction: | 338 // BookmarksFunction: |
336 virtual bool RunImpl() OVERRIDE; | 339 virtual bool RunOnReady() OVERRIDE; |
337 }; | 340 }; |
338 | 341 |
339 class BookmarksExportFunction : public BookmarksIOFunction { | 342 class BookmarksExportFunction : public BookmarksIOFunction { |
340 public: | 343 public: |
341 DECLARE_EXTENSION_FUNCTION("bookmarks.export", BOOKMARKS_EXPORT) | 344 DECLARE_EXTENSION_FUNCTION("bookmarks.export", BOOKMARKS_EXPORT) |
342 | 345 |
343 // BookmarkManagerIOFunction: | 346 // BookmarkManagerIOFunction: |
344 virtual void FileSelected(const base::FilePath& path, | 347 virtual void FileSelected(const base::FilePath& path, |
345 int index, | 348 int index, |
346 void* params) OVERRIDE; | 349 void* params) OVERRIDE; |
347 | 350 |
348 private: | 351 private: |
349 virtual ~BookmarksExportFunction() {} | 352 virtual ~BookmarksExportFunction() {} |
350 | 353 |
351 // ExtensionFunction: | 354 // BookmarksFunction: |
352 virtual bool RunImpl() OVERRIDE; | 355 virtual bool RunOnReady() OVERRIDE; |
353 }; | 356 }; |
354 | 357 |
355 } // namespace extensions | 358 } // namespace extensions |
356 | 359 |
357 #endif // CHROME_BROWSER_EXTENSIONS_API_BOOKMARKS_BOOKMARKS_API_H_ | 360 #endif // CHROME_BROWSER_EXTENSIONS_API_BOOKMARKS_BOOKMARKS_API_H_ |
OLD | NEW |