preferences_private_api.h revision 010d83a9304c5a91596085d917d248abff47903a
1// Copyright 2014 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef CHROME_BROWSER_EXTENSIONS_API_PREFERENCES_PRIVATE_PREFERENCES_PRIVATE_API_H_
6#define CHROME_BROWSER_EXTENSIONS_API_PREFERENCES_PRIVATE_PREFERENCES_PRIVATE_API_H_
7
8#include "base/basictypes.h"
9#include "chrome/browser/extensions/chrome_extension_function.h"
10#include "chrome/browser/sync/profile_sync_service_observer.h"
11#include "extensions/browser/extension_function.h"
12
13namespace extensions {
14
15class PreferencesPrivateGetSyncCategoriesWithoutPassphraseFunction
16    : public ChromeAsyncExtensionFunction, public ProfileSyncServiceObserver {
17 public:
18  DECLARE_EXTENSION_FUNCTION(
19      "preferencesPrivate.getSyncCategoriesWithoutPassphrase",
20      PREFERENCESPRIVATE_GETSYNCCATEGORIESWITHOUTPASSPHRASE)
21
22  PreferencesPrivateGetSyncCategoriesWithoutPassphraseFunction();
23
24 protected:
25  virtual ~PreferencesPrivateGetSyncCategoriesWithoutPassphraseFunction();
26
27 private:
28  // ProfileSyncServiceObserver:
29  virtual void OnStateChanged() OVERRIDE;
30
31  // ExtensionFunction:
32  virtual bool RunAsync() OVERRIDE;
33
34  DISALLOW_COPY_AND_ASSIGN(
35      PreferencesPrivateGetSyncCategoriesWithoutPassphraseFunction);
36};
37
38}  // namespace extensions
39
40#endif  // CHROME_BROWSER_EXTENSIONS_API_PREFERENCES_PRIVATE_PREFERENCES_PRIVATE_API_H_
41