OLD | NEW |
(Empty) | |
| 1 // Copyright 2013 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_DELE
GATE_H_ |
| 6 #define CHROME_BROWSER_EXTENSIONS_API_NETWORKING_PRIVATE_NETWORKING_PRIVATE_DELE
GATE_H_ |
| 7 |
| 8 #include <string> |
| 9 |
| 10 #include "base/callback.h" |
| 11 #include "base/memory/scoped_ptr.h" |
| 12 #include "base/values.h" |
| 13 |
| 14 namespace content { |
| 15 class BrowserContext; |
| 16 } |
| 17 |
| 18 namespace extensions { |
| 19 |
| 20 namespace api { |
| 21 namespace networking_private { |
| 22 |
| 23 struct VerificationProperties; |
| 24 |
| 25 } // networking_private |
| 26 } // api |
| 27 |
| 28 // Base class for platform dependent networkingPrivate API implementations. |
| 29 // All inputs and results for this class use ONC values. See |
| 30 // networking_private.json for descriptions of the expected inputs and results. |
| 31 class NetworkingPrivateDelegate { |
| 32 public: |
| 33 typedef base::Callback<void(scoped_ptr<base::DictionaryValue>)> |
| 34 DictionaryCallback; |
| 35 typedef base::Callback<void()> VoidCallback; |
| 36 typedef base::Callback<void(bool)> BoolCallback; |
| 37 typedef base::Callback<void(const std::string&)> StringCallback; |
| 38 typedef base::Callback<void(scoped_ptr<base::ListValue>)> NetworkListCallback; |
| 39 typedef base::Callback<void(const std::string&)> FailureCallback; |
| 40 typedef api::networking_private::VerificationProperties |
| 41 VerificationProperties; |
| 42 |
| 43 static NetworkingPrivateDelegate* GetForBrowserContext( |
| 44 content::BrowserContext* browser_context); |
| 45 |
| 46 // Asynchronous methods |
| 47 virtual void GetProperties(const std::string& guid, |
| 48 const DictionaryCallback& success_callback, |
| 49 const FailureCallback& failure_callback) = 0; |
| 50 virtual void GetManagedProperties( |
| 51 const std::string& guid, |
| 52 const DictionaryCallback& success_callback, |
| 53 const FailureCallback& failure_callback) = 0; |
| 54 virtual void GetState(const std::string& guid, |
| 55 const DictionaryCallback& success_callback, |
| 56 const FailureCallback& failure_callback) = 0; |
| 57 virtual void SetProperties(const std::string& guid, |
| 58 scoped_ptr<base::DictionaryValue> properties, |
| 59 const VoidCallback& success_callback, |
| 60 const FailureCallback& failure_callback) = 0; |
| 61 virtual void CreateNetwork(bool shared, |
| 62 scoped_ptr<base::DictionaryValue> properties, |
| 63 const StringCallback& success_callback, |
| 64 const FailureCallback& failure_callback) = 0; |
| 65 virtual void GetNetworks(const std::string& network_type, |
| 66 bool configured_only, |
| 67 bool visible_only, |
| 68 int limit, |
| 69 const NetworkListCallback& success_callback, |
| 70 const FailureCallback& failure_callback) = 0; |
| 71 virtual void StartConnect(const std::string& guid, |
| 72 const VoidCallback& success_callback, |
| 73 const FailureCallback& failure_callback) = 0; |
| 74 virtual void StartDisconnect(const std::string& guid, |
| 75 const VoidCallback& success_callback, |
| 76 const FailureCallback& failure_callback) = 0; |
| 77 virtual void VerifyDestination( |
| 78 const VerificationProperties& verification_properties, |
| 79 const BoolCallback& success_callback, |
| 80 const FailureCallback& failure_callback) = 0; |
| 81 virtual void VerifyAndEncryptCredentials( |
| 82 const std::string& guid, |
| 83 const VerificationProperties& verification_properties, |
| 84 const StringCallback& success_callback, |
| 85 const FailureCallback& failure_callback) = 0; |
| 86 virtual void VerifyAndEncryptData( |
| 87 const VerificationProperties& verification_properties, |
| 88 const std::string& data, |
| 89 const StringCallback& success_callback, |
| 90 const FailureCallback& failure_callback) = 0; |
| 91 virtual void SetWifiTDLSEnabledState( |
| 92 const std::string& ip_or_mac_address, |
| 93 bool enabled, |
| 94 const StringCallback& success_callback, |
| 95 const FailureCallback& failure_callback) = 0; |
| 96 virtual void GetWifiTDLSStatus( |
| 97 const std::string& ip_or_mac_address, |
| 98 const StringCallback& success_callback, |
| 99 const FailureCallback& failure_callback) = 0; |
| 100 virtual void GetCaptivePortalStatus( |
| 101 const std::string& guid, |
| 102 const StringCallback& success_callback, |
| 103 const FailureCallback& failure_callback) = 0; |
| 104 |
| 105 // Synchronous methods |
| 106 |
| 107 // Returns a list of ONC type strings. |
| 108 virtual scoped_ptr<base::ListValue> GetEnabledNetworkTypes() = 0; |
| 109 |
| 110 // Returns true if the ONC network type |type| is enabled. |
| 111 virtual bool EnableNetworkType(const std::string& type) = 0; |
| 112 |
| 113 // Returns true if the ONC network type |type| is disabled. |
| 114 virtual bool DisableNetworkType(const std::string& type) = 0; |
| 115 |
| 116 // Returns true if a scan was requested. It may take many seconds for a scan |
| 117 // to complete. The scan may or may not trigger API events when complete. |
| 118 virtual bool RequestScan() = 0; |
| 119 |
| 120 protected: |
| 121 virtual ~NetworkingPrivateDelegate() {} |
| 122 }; |
| 123 |
| 124 } // namespace extensions |
| 125 |
| 126 #endif // CHROME_BROWSER_EXTENSIONS_API_NETWORKING_PRIVATE_NETWORKING_PRIVATE_D
ELEGATE_H_ |
OLD | NEW |