blob: d2a19acb7815bb7f3b1b678657c9ff05b08a24b0 [file] [log] [blame]
// Copyright 2013 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CHROME_BROWSER_PROFILES_BOOKMARK_MODEL_LOADED_OBSERVER_H_
#define CHROME_BROWSER_PROFILES_BOOKMARK_MODEL_LOADED_OBSERVER_H_
#include "base/memory/raw_ptr.h"
#include "base/scoped_observation.h"
#include "components/bookmarks/browser/base_bookmark_model_observer.h"
class Profile;
namespace bookmarks {
class BookmarkModel;
} // namespace bookmarks
class BookmarkModelLoadedObserver
: public bookmarks::BaseBookmarkModelObserver {
public:
BookmarkModelLoadedObserver(Profile* profile,
bookmarks::BookmarkModel* model);
BookmarkModelLoadedObserver(const BookmarkModelLoadedObserver&) = delete;
~BookmarkModelLoadedObserver() override;
BookmarkModelLoadedObserver& operator=(const BookmarkModelLoadedObserver&) =
delete;
private:
void BookmarkModelChanged() override;
void BookmarkModelLoaded(bool ids_reassigned) override;
void BookmarkModelBeingDeleted() override;
const raw_ptr<Profile> profile_;
base::ScopedObservation<bookmarks::BookmarkModel,
bookmarks::BaseBookmarkModelObserver>
observation_{this};
};
#endif // CHROME_BROWSER_PROFILES_BOOKMARK_MODEL_LOADED_OBSERVER_H_