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