Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(336)

Unified Diff: extensions/common/permissions/usb_device_permission_data.h

Issue 2418353002: Allow interfaceClass USB device permissions (Closed)
Patch Set: . Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: extensions/common/permissions/usb_device_permission_data.h
diff --git a/extensions/common/permissions/usb_device_permission_data.h b/extensions/common/permissions/usb_device_permission_data.h
index a3e812991626c5c1c56cc28e663faf45b9fdcb89..83f0e72f8c173b955fd1ec1eb3e9ef2574a5f8f1 100644
--- a/extensions/common/permissions/usb_device_permission_data.h
+++ b/extensions/common/permissions/usb_device_permission_data.h
@@ -4,8 +4,6 @@
#ifndef EXTENSIONS_COMMON_PERMISSIONS_USB_DEVICE_PERMISSION_DATA_H_
#define EXTENSIONS_COMMON_PERMISSIONS_USB_DEVICE_PERMISSION_DATA_H_
-#include <stdint.h>
-
#include <memory>
#include <string>
@@ -17,6 +15,10 @@ class Value;
} // namespace base
+namespace device {
+class UsbDevice;
+}
+
namespace extensions {
// A pattern that can be used to match a USB device permission.
@@ -24,21 +26,22 @@ namespace extensions {
// productId are decimal strings representing uint16_t values.
class UsbDevicePermissionData {
public:
- enum SpecialInterfaces {
+ enum SpecialValues {
// A special interface id for stating permissions for an entire USB device,
// no specific interface. This value must match value of Rule::ANY_INTERFACE
// from ChromeOS permission_broker project.
- ANY_INTERFACE = -1,
+ SPECIAL_VALUE_ANY = -1,
// A special interface id for |Check| to indicate that interface field is
// not to be checked. Not used in manifest file.
- UNSPECIFIED_INTERFACE = -2
+ SPECIAL_VALUE_UNSPECIFIED = -2
};
UsbDevicePermissionData();
- UsbDevicePermissionData(uint16_t vendor_id,
- uint16_t product_id,
- int interface_id);
+ UsbDevicePermissionData(int vendor_id,
+ int product_id,
+ int interface_id,
+ int interface_class);
// Check if |param| (which must be a UsbDevicePermissionData::CheckParam)
// matches the vendor and product IDs associated with |this|.
@@ -53,18 +56,23 @@ class UsbDevicePermissionData {
bool operator<(const UsbDevicePermissionData& rhs) const;
bool operator==(const UsbDevicePermissionData& rhs) const;
- const uint16_t& vendor_id() const { return vendor_id_; }
- const uint16_t& product_id() const { return product_id_; }
+ const int& vendor_id() const { return vendor_id_; }
+ const int& product_id() const { return product_id_; }
+ const int& interface_class() const { return interface_class_; }
// These accessors are provided for IPC_STRUCT_TRAITS_MEMBER. Please
// think twice before using them for anything else.
- uint16_t& vendor_id() { return vendor_id_; }
- uint16_t& product_id() { return product_id_; }
+ int& vendor_id() { return vendor_id_; }
+ int& product_id() { return product_id_; }
+ int& interface_class() { return interface_class_; }
private:
- uint16_t vendor_id_;
- uint16_t product_id_;
- int interface_id_;
+ int vendor_id_{SPECIAL_VALUE_ANY};
+ int product_id_{SPECIAL_VALUE_ANY};
+ // Not useful anymore. Kept around not to trigger permission change warnings
+ // for existing apps.
+ int interface_id_{SPECIAL_VALUE_ANY};
+ int interface_class_{SPECIAL_VALUE_ANY};
};
} // namespace extensions
« no previous file with comments | « extensions/common/permissions/usb_device_permission.cc ('k') | extensions/common/permissions/usb_device_permission_data.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698