• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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_SYSTEM_NETWORK_SYSTEM_NETWORK_API_H_
6 #define CHROME_BROWSER_EXTENSIONS_API_SYSTEM_NETWORK_SYSTEM_NETWORK_API_H_
7 
8 #include "chrome/common/extensions/api/system_network.h"
9 #include "extensions/browser/extension_function.h"
10 #include "net/base/net_util.h"
11 
12 namespace extensions {
13 namespace api {
14 
15 class SystemNetworkGetNetworkInterfacesFunction
16     : public AsyncExtensionFunction {
17  public:
18   DECLARE_EXTENSION_FUNCTION("system.network.getNetworkInterfaces",
19                              SYSTEM_NETWORK_GETNETWORKINTERFACES)
20 
21   SystemNetworkGetNetworkInterfacesFunction();
22 
23  protected:
24   virtual ~SystemNetworkGetNetworkInterfacesFunction();
25 
26   // AsyncApiFunction:
27   virtual bool RunAsync() OVERRIDE;
28 
29  private:
30   void GetListOnFileThread();
31   void HandleGetListError();
32   void SendResponseOnUIThread(const net::NetworkInterfaceList& interface_list);
33 };
34 
35 }  // namespace api
36 }  // namespace extensions
37 
38 #endif  // CHROME_BROWSER_EXTENSIONS_API_SYSTEM_NETWORK_SYSTEM_NETWORK_API_H_
39