Upstream version 11.39.266.0
[platform/framework/web/crosswalk.git] / src / extensions / browser / api / usb_private / usb_private_api.h
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_