Home | History | Annotate | Download | only in usb_private
      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 EXTENSIONS_BROWSER_API_USB_USB_PRIVATE_API_H_
      6 #define EXTENSIONS_BROWSER_API_USB_USB_PRIVATE_API_H_
      7 
      8 #include "extensions/browser/api/usb/usb_api.h"
      9 #include "extensions/common/api/usb_private.h"
     10 
     11 namespace extensions {
     12 
     13 class UsbPrivateGetDevicesFunction : public UsbAsyncApiFunction {
     14  public:
     15   DECLARE_EXTENSION_FUNCTION("usbPrivate.getDevices", USBPRIVATE_GETDEVICES)
     16 
     17   UsbPrivateGetDevicesFunction();
     18 
     19   virtual bool Prepare() OVERRIDE;
     20   virtual void AsyncWorkStart() OVERRIDE;
     21 
     22  protected:
     23   virtual ~UsbPrivateGetDevicesFunction();
     24 
     25  private:
     26   scoped_ptr<extensions::core_api::usb_private::GetDevices::Params> parameters_;
     27 };
     28 
     29 class UsbPrivateGetDeviceInfoFunction : public UsbAsyncApiFunction {
     30  public:
     31   DECLARE_EXTENSION_FUNCTION("usbPrivate.getDeviceInfo",
     32                              USBPRIVATE_GETDEVICEINFO)
     33 
     34   UsbPrivateGetDeviceInfoFunction();
     35 
     36   virtual bool Prepare() OVERRIDE;
     37   virtual void AsyncWorkStart() OVERRIDE;
     38 
     39  protected:
     40   virtual ~UsbPrivateGetDeviceInfoFunction();
     41 
     42  private:
     43   scoped_ptr<extensions::core_api::usb_private::GetDeviceInfo::Params>
     44       parameters_;
     45 };
     46 
     47 }  // namespace extensions
     48 
     49 #endif  // EXTENSIONS_BROWSER_API_USB_USB_API_H_
     50