Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1217)

Unified Diff: chrome/browser/android/bookmark_model_observer_task.h

Issue 10912172: [Android] Upstream ChromeBrowserProvider, the Android port ContentProvider implementation. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/android/bookmark_model_observer_task.h
diff --git a/chrome/browser/android/bookmark_model_observer_task.h b/chrome/browser/android/bookmark_model_observer_task.h
new file mode 100644
index 0000000000000000000000000000000000000000..86da437918d05c8f59a9039d96b09844a0cb3ba7
--- /dev/null
+++ b/chrome/browser/android/bookmark_model_observer_task.h
@@ -0,0 +1,65 @@
+// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef CHROME_BROWSER_ANDROID_BOOKMARK_MODEL_OBSERVER_TASK_H_
+#define CHROME_BROWSER_ANDROID_BOOKMARK_MODEL_OBSERVER_TASK_H_
+
+#include "base/basictypes.h"
+#include "base/compiler_specific.h"
+#include "chrome/browser/bookmarks/bookmark_model_observer.h"
+
+// Base class for synchronous tasks that involve the bookmark model.
+// Ensures the model has been loaded before accessing it.
+// Must not be created from the UI thread.
+class BookmarkModelTask {
+ public:
+ explicit BookmarkModelTask(BookmarkModel* model);
+ BookmarkModel* model() const;
+
+ private:
+ BookmarkModel* model_;
+
+ DISALLOW_COPY_AND_ASSIGN(BookmarkModelTask);
+};
+
+// Base class for bookmark model tasks that observe for model updates.
+class BookmarkModelObserverTask : public BookmarkModelTask,
+ public BookmarkModelObserver {
+ public:
+ explicit BookmarkModelObserverTask(BookmarkModel* bookmark_model);
+ virtual ~BookmarkModelObserverTask();
+
+ // BookmarkModelObserver methods. Overriding pure virtuals to no-op.
+ // This allows subtasks to override only the methods they need.
+ virtual void Loaded(BookmarkModel* model, bool ids_reassigned) OVERRIDE;
Yaron 2012/09/10 19:30:04 Use chromium overridding style. // BookmarkModelO
Leandro Gracia Gil 2012/09/10 22:21:48 Done.
+
+ virtual void BookmarkNodeMoved(BookmarkModel* model,
+ const BookmarkNode* old_parent,
+ int old_index,
+ const BookmarkNode* new_parent,
+ int new_index) OVERRIDE;
+
+ virtual void BookmarkNodeAdded(BookmarkModel* model,
+ const BookmarkNode* parent,
+ int index) OVERRIDE;
+
+ virtual void BookmarkNodeRemoved(BookmarkModel* model,
+ const BookmarkNode* parent,
+ int old_index,
+ const BookmarkNode* node) OVERRIDE;
+
+ virtual void BookmarkNodeChanged(BookmarkModel* model,
+ const BookmarkNode* node) OVERRIDE;
+
+ virtual void BookmarkNodeFaviconChanged(BookmarkModel* model,
+ const BookmarkNode* node) OVERRIDE;
+
+ virtual void BookmarkNodeChildrenReordered(BookmarkModel* model,
+ const BookmarkNode* node) OVERRIDE;
+
+ private:
+ DISALLOW_COPY_AND_ASSIGN(BookmarkModelObserverTask);
+};
+
+#endif // CHROME_BROWSER_ANDROID_BOOKMARK_MODEL_OBSERVER_TASK_H_

Powered by Google App Engine
This is Rietveld 408576698