summaryrefslogtreecommitdiffstats
path: root/chrome/common/extensions/permissions/usb_device_permission.h
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/common/extensions/permissions/usb_device_permission.h')
-rw-r--r--chrome/common/extensions/permissions/usb_device_permission.h35
1 files changed, 35 insertions, 0 deletions
diff --git a/chrome/common/extensions/permissions/usb_device_permission.h b/chrome/common/extensions/permissions/usb_device_permission.h
new file mode 100644
index 0000000..77ea15d
--- /dev/null
+++ b/chrome/common/extensions/permissions/usb_device_permission.h
@@ -0,0 +1,35 @@
+// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef CHROME_COMMON_EXTENSIONS_PERMISSIONS_USB_DEVICE_PERMISSION_H_
+#define CHROME_COMMON_EXTENSIONS_PERMISSIONS_USB_DEVICE_PERMISSION_H_
+
+#include "base/basictypes.h"
+#include "chrome/common/extensions/permissions/api_permission.h"
+#include "chrome/common/extensions/permissions/set_disjunction_permission.h"
+#include "chrome/common/extensions/permissions/usb_device_permission_data.h"
+
+namespace extensions {
+
+class UsbDevicePermission
+ : public SetDisjunctionPermission<UsbDevicePermissionData,
+ UsbDevicePermission> {
+ public:
+ struct CheckParam : public APIPermission::CheckParam {
+ CheckParam(uint16 vendor_id, uint16 product_id)
+ : vendor_id(vendor_id), product_id(product_id) {}
+ const uint16 vendor_id;
+ const uint16 product_id;
+ };
+
+ explicit UsbDevicePermission(const APIPermissionInfo* info);
+ virtual ~UsbDevicePermission();
+
+ // APIPermission overrides
+ virtual PermissionMessages GetMessages() const OVERRIDE;
+};
+
+} // namespace extensions
+
+#endif // CHROME_COMMON_EXTENSIONS_PERMISSIONS_USB_DEVICE_PERMISSION_H_