blob: 676c8b0ad32eec2a93e40170c0fb38d0df9b2d81 [file] [log] [blame]
// Copyright (c) 2012 The Chromium OS 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 PERMISSION_BROKER_DENY_USB_DEVICE_CLASS_RULE_H_
#define PERMISSION_BROKER_DENY_USB_DEVICE_CLASS_RULE_H_
#include <string>
#include "permission_broker/usb_subsystem_udev_rule.h"
namespace permission_broker {
class DenyUsbDeviceClassRule : public UsbSubsystemUdevRule {
public:
explicit DenyUsbDeviceClassRule(const uint8_t device_class);
DenyUsbDeviceClassRule(const DenyUsbDeviceClassRule&) = delete;
DenyUsbDeviceClassRule& operator=(const DenyUsbDeviceClassRule&) = delete;
~DenyUsbDeviceClassRule() override = default;
Result ProcessUsbDevice(struct udev_device* device) override;
private:
const std::string device_class_;
};
} // namespace permission_broker
#endif // PERMISSION_BROKER_DENY_USB_DEVICE_CLASS_RULE_H_