#ifndef EXTENSIONS_COMMON_API_PRINTER_PROVIDER_USB_PRINTER_MANIFEST_DATA_H_
#define EXTENSIONS_COMMON_API_PRINTER_PROVIDER_USB_PRINTER_MANIFEST_DATA_H_
#include <memory>
#include <vector>
#include "base/gtest_prod_util.h"
#include "extensions/common/extension.h"
#include "services/device/public/mojom/usb_device.mojom.h"
#include "services/device/public/mojom/usb_enumeration_options.mojom.h"
namespace extensions {
class UsbPrinterManifestData : public Extension::ManifestData {
public:
UsbPrinterManifestData();
~UsbPrinterManifestData() override;
static const UsbPrinterManifestData* Get(const Extension* extension);
static std::unique_ptr<UsbPrinterManifestData> FromValue(
const base::Value& value,
std::u16string* error);
bool SupportsDevice(const device::mojom::UsbDeviceInfo& device) const;
private:
FRIEND_TEST_ALL_PREFIXES(UsbPrinterManifestTest, Filters);
std::vector<device::mojom::UsbDeviceFilterPtr> filters_;
};
}
#endif