16e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved. 26e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 36e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)// found in the LICENSE file. 46e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) 56e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)#ifndef EXTENSIONS_BROWSER_API_USB_USB_PRIVATE_API_H_ 66e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)#define EXTENSIONS_BROWSER_API_USB_USB_PRIVATE_API_H_ 76e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) 86e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)#include "extensions/browser/api/usb/usb_api.h" 96e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)#include "extensions/common/api/usb_private.h" 106e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) 116e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)namespace extensions { 126e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) 136e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)class UsbPrivateGetDevicesFunction : public UsbAsyncApiFunction { 146e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) public: 156e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) DECLARE_EXTENSION_FUNCTION("usbPrivate.getDevices", USBPRIVATE_GETDEVICES) 166e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) 176e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) UsbPrivateGetDevicesFunction(); 186e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) 196e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) virtual bool Prepare() OVERRIDE; 206e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) virtual void AsyncWorkStart() OVERRIDE; 216e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) 226e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) protected: 236e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) virtual ~UsbPrivateGetDevicesFunction(); 246e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) 256e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) private: 266e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) scoped_ptr<extensions::core_api::usb_private::GetDevices::Params> parameters_; 276e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)}; 286e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) 296e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)class UsbPrivateGetDeviceInfoFunction : public UsbAsyncApiFunction { 306e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) public: 316e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) DECLARE_EXTENSION_FUNCTION("usbPrivate.getDeviceInfo", 326e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) USBPRIVATE_GETDEVICEINFO) 336e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) 346e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) UsbPrivateGetDeviceInfoFunction(); 356e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) 366e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) virtual bool Prepare() OVERRIDE; 376e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) virtual void AsyncWorkStart() OVERRIDE; 386e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) 396e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) protected: 406e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) virtual ~UsbPrivateGetDeviceInfoFunction(); 416e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) 426e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) private: 436e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) scoped_ptr<extensions::core_api::usb_private::GetDeviceInfo::Params> 446e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) parameters_; 456e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)}; 466e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) 476e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)} // namespace extensions 486e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) 496e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)#endif // EXTENSIONS_BROWSER_API_USB_USB_API_H_ 50