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_NETWORKING_PRIVATE_NETWORKING_PRIVATE_CHROMEOS_H_
6#define CHROME_BROWSER_EXTENSIONS_API_NETWORKING_PRIVATE_NETWORKING_PRIVATE_CHROMEOS_H_
7
8#include "chrome/browser/extensions/api/networking_private/networking_private_delegate.h"
9#include "components/keyed_service/core/keyed_service.h"
10
11namespace context {
12class BrowserContext;
13}
14
15namespace extensions {
16
17// Chrome OS NetworkingPrivateDelegate implementation.
18
19class NetworkingPrivateChromeOS : public KeyedService,
20                                  public NetworkingPrivateDelegate {
21 public:
22  explicit NetworkingPrivateChromeOS(content::BrowserContext* browser_context);
23
24  // NetworkingPrivateApi
25  virtual void GetProperties(const std::string& guid,
26                             const DictionaryCallback& success_callback,
27                             const FailureCallback& failure_callback) OVERRIDE;
28  virtual void GetManagedProperties(
29      const std::string& guid,
30      const DictionaryCallback& success_callback,
31      const FailureCallback& failure_callback) OVERRIDE;
32  virtual void GetState(const std::string& guid,
33                        const DictionaryCallback& success_callback,
34                        const FailureCallback& failure_callback) OVERRIDE;
35  virtual void SetProperties(const std::string& guid,
36                             scoped_ptr<base::DictionaryValue> properties,
37                             const VoidCallback& success_callback,
38                             const FailureCallback& failure_callback) OVERRIDE;
39  virtual void CreateNetwork(bool shared,
40                             scoped_ptr<base::DictionaryValue> properties,
41                             const StringCallback& success_callback,
42                             const FailureCallback& failure_callback) OVERRIDE;
43  virtual void GetNetworks(const std::string& network_type,
44                           bool configured_only,
45                           bool visible_only,
46                           int limit,
47                           const NetworkListCallback& success_callback,
48                           const FailureCallback& failure_callback) OVERRIDE;
49  virtual void StartConnect(const std::string& guid,
50                            const VoidCallback& success_callback,
51                            const FailureCallback& failure_callback) OVERRIDE;
52  virtual void StartDisconnect(
53      const std::string& guid,
54      const VoidCallback& success_callback,
55      const FailureCallback& failure_callback) OVERRIDE;
56  virtual void VerifyDestination(
57      const VerificationProperties& verification_properties,
58      const BoolCallback& success_callback,
59      const FailureCallback& failure_callback) OVERRIDE;
60  virtual void VerifyAndEncryptCredentials(
61      const std::string& guid,
62      const VerificationProperties& verification_properties,
63      const StringCallback& success_callback,
64      const FailureCallback& failure_callback) OVERRIDE;
65  virtual void VerifyAndEncryptData(
66      const VerificationProperties& verification_properties,
67      const std::string& data,
68      const StringCallback& success_callback,
69      const FailureCallback& failure_callback) OVERRIDE;
70  virtual void SetWifiTDLSEnabledState(
71      const std::string& ip_or_mac_address,
72      bool enabled,
73      const StringCallback& success_callback,
74      const FailureCallback& failure_callback) OVERRIDE;
75  virtual void GetWifiTDLSStatus(
76      const std::string& ip_or_mac_address,
77      const StringCallback& success_callback,
78      const FailureCallback& failure_callback) OVERRIDE;
79  virtual void GetCaptivePortalStatus(
80      const std::string& guid,
81      const StringCallback& success_callback,
82      const FailureCallback& failure_callback) OVERRIDE;
83  virtual scoped_ptr<base::ListValue> GetEnabledNetworkTypes() OVERRIDE;
84  virtual bool EnableNetworkType(const std::string& type) OVERRIDE;
85  virtual bool DisableNetworkType(const std::string& type) OVERRIDE;
86  virtual bool RequestScan() OVERRIDE;
87
88 private:
89  virtual ~NetworkingPrivateChromeOS();
90
91  content::BrowserContext* browser_context_;
92
93  DISALLOW_COPY_AND_ASSIGN(NetworkingPrivateChromeOS);
94};
95
96}  // namespace extensions
97
98#endif  // CHROME_BROWSER_EXTENSIONS_API_NETWORKING_PRIVATE_NETWORKING_PRIVATE_CHROMEOS_H_
99