usb_private_api.h revision 6e8cce623b6e4fe0c9e4af605d675dd9d0338c38
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 11namespace extensions { 12 13class 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 29class 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