diff options
Diffstat (limited to 'chrome/browser/bookmarks/bookmark_model_factory.h')
| -rw-r--r-- | chrome/browser/bookmarks/bookmark_model_factory.h | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/chrome/browser/bookmarks/bookmark_model_factory.h b/chrome/browser/bookmarks/bookmark_model_factory.h new file mode 100644 index 0000000..7312788 --- /dev/null +++ b/chrome/browser/bookmarks/bookmark_model_factory.h @@ -0,0 +1,39 @@ +// 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_BOOKMARKS_BOOKMARK_MODEL_FACTORY_H_ +#define CHROME_BROWSER_BOOKMARKS_BOOKMARK_MODEL_FACTORY_H_ +#pragma once + +#include "base/memory/singleton.h" +#include "chrome/browser/profiles/profile_keyed_service_factory.h" + +class Profile; +class BookmarkModel; + +// Singleton that owns all BookmarkModel and associates them with +// Profiles. +class BookmarkModelFactory : public ProfileKeyedServiceFactory { + public: + static BookmarkModel* GetForProfile(Profile* profile); + + static BookmarkModel* GetForProfileIfExists(Profile* profile); + + static BookmarkModelFactory* GetInstance(); + + private: + friend struct DefaultSingletonTraits<BookmarkModelFactory>; + + BookmarkModelFactory(); + virtual ~BookmarkModelFactory(); + + // ProfileKeyedServiceFactory: + virtual ProfileKeyedService* BuildServiceInstanceFor( + Profile* profile) const OVERRIDE; + virtual void RegisterUserPrefs(PrefService* user_prefs) OVERRIDE; + virtual bool ServiceRedirectedInIncognito() OVERRIDE; + virtual bool ServiceIsNULLWhileTesting() OVERRIDE; +}; + +#endif // CHROME_BROWSER_BOOKMARKS_BOOKMARK_MODEL_FACTORY_H_ |
