1116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// Copyright 2014 The Chromium Authors. All rights reserved.
2116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// Use of this source code is governed by a BSD-style license that can be
3116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// found in the LICENSE file.
4116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
5116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#ifndef CHROME_BROWSER_EXTENSIONS_API_NETWORKING_PRIVATE_NETWORKING_PRIVATE_CHROMEOS_H_
6116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#define CHROME_BROWSER_EXTENSIONS_API_NETWORKING_PRIVATE_NETWORKING_PRIVATE_CHROMEOS_H_
7116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
8116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#include "chrome/browser/extensions/api/networking_private/networking_private_delegate.h"
9116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#include "components/keyed_service/core/keyed_service.h"
10116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
11116680a4aac90f2aa7413d9095a592090648e557Ben Murdochnamespace context {
12116680a4aac90f2aa7413d9095a592090648e557Ben Murdochclass BrowserContext;
13116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch}
14116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
15116680a4aac90f2aa7413d9095a592090648e557Ben Murdochnamespace extensions {
16116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
17116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// Chrome OS NetworkingPrivateDelegate implementation.
18116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
19116680a4aac90f2aa7413d9095a592090648e557Ben Murdochclass NetworkingPrivateChromeOS : public KeyedService,
20116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch                                  public NetworkingPrivateDelegate {
21116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch public:
22116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  explicit NetworkingPrivateChromeOS(content::BrowserContext* browser_context);
23116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
24116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  // NetworkingPrivateApi
25116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  virtual void GetProperties(const std::string& guid,
26116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch                             const DictionaryCallback& success_callback,
27116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch                             const FailureCallback& failure_callback) OVERRIDE;
28116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  virtual void GetManagedProperties(
29116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch      const std::string& guid,
30116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch      const DictionaryCallback& success_callback,
31116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch      const FailureCallback& failure_callback) OVERRIDE;
32116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  virtual void GetState(const std::string& guid,
33116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch                        const DictionaryCallback& success_callback,
34116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch                        const FailureCallback& failure_callback) OVERRIDE;
35116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  virtual void SetProperties(const std::string& guid,
36116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch                             scoped_ptr<base::DictionaryValue> properties,
37116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch                             const VoidCallback& success_callback,
38116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch                             const FailureCallback& failure_callback) OVERRIDE;
39116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  virtual void CreateNetwork(bool shared,
40116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch                             scoped_ptr<base::DictionaryValue> properties,
41116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch                             const StringCallback& success_callback,
42116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch                             const FailureCallback& failure_callback) OVERRIDE;
43116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  virtual void GetNetworks(const std::string& network_type,
44116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch                           bool configured_only,
45116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch                           bool visible_only,
46116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch                           int limit,
47116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch                           const NetworkListCallback& success_callback,
48116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch                           const FailureCallback& failure_callback) OVERRIDE;
49116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  virtual void StartConnect(const std::string& guid,
50116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch                            const VoidCallback& success_callback,
51116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch                            const FailureCallback& failure_callback) OVERRIDE;
52116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  virtual void StartDisconnect(
53116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch      const std::string& guid,
54116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch      const VoidCallback& success_callback,
55116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch      const FailureCallback& failure_callback) OVERRIDE;
56116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  virtual void VerifyDestination(
57116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch      const VerificationProperties& verification_properties,
58116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch      const BoolCallback& success_callback,
59116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch      const FailureCallback& failure_callback) OVERRIDE;
60116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  virtual void VerifyAndEncryptCredentials(
61116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch      const std::string& guid,
62116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch      const VerificationProperties& verification_properties,
63116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch      const StringCallback& success_callback,
64116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch      const FailureCallback& failure_callback) OVERRIDE;
65116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  virtual void VerifyAndEncryptData(
66116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch      const VerificationProperties& verification_properties,
67116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch      const std::string& data,
68116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch      const StringCallback& success_callback,
69116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch      const FailureCallback& failure_callback) OVERRIDE;
70116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  virtual void SetWifiTDLSEnabledState(
71116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch      const std::string& ip_or_mac_address,
72116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch      bool enabled,
73116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch      const StringCallback& success_callback,
74116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch      const FailureCallback& failure_callback) OVERRIDE;
75116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  virtual void GetWifiTDLSStatus(
76116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch      const std::string& ip_or_mac_address,
77116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch      const StringCallback& success_callback,
78116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch      const FailureCallback& failure_callback) OVERRIDE;
79116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  virtual void GetCaptivePortalStatus(
80116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch      const std::string& guid,
81116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch      const StringCallback& success_callback,
82116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch      const FailureCallback& failure_callback) OVERRIDE;
83116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  virtual scoped_ptr<base::ListValue> GetEnabledNetworkTypes() OVERRIDE;
84116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  virtual bool EnableNetworkType(const std::string& type) OVERRIDE;
85116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  virtual bool DisableNetworkType(const std::string& type) OVERRIDE;
86116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  virtual bool RequestScan() OVERRIDE;
87116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
88116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch private:
89116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  virtual ~NetworkingPrivateChromeOS();
90116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
91116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  content::BrowserContext* browser_context_;
92116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
93116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch  DISALLOW_COPY_AND_ASSIGN(NetworkingPrivateChromeOS);
94116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch};
95116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
96116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch}  // namespace extensions
97116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
98116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#endif  // CHROME_BROWSER_EXTENSIONS_API_NETWORKING_PRIVATE_NETWORKING_PRIVATE_CHROMEOS_H_
99