OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef EXTENSIONS_COMMON_API_PRINTER_PROVIDER_USB_PRINTER_MANIFEST_DATA_H_ | 5 #ifndef EXTENSIONS_COMMON_API_PRINTER_PROVIDER_USB_PRINTER_MANIFEST_DATA_H_ |
6 #define EXTENSIONS_COMMON_API_PRINTER_PROVIDER_USB_PRINTER_MANIFEST_DATA_H_ | 6 #define EXTENSIONS_COMMON_API_PRINTER_PROVIDER_USB_PRINTER_MANIFEST_DATA_H_ |
7 | 7 |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "extensions/common/extension.h" | 10 #include "extensions/common/extension.h" |
11 | 11 |
12 namespace device { | 12 namespace device { |
13 class UsbDevice; | |
14 class UsbDeviceFilter; | 13 class UsbDeviceFilter; |
15 } | 14 } |
16 | 15 |
17 namespace extensions { | 16 namespace extensions { |
18 | 17 |
19 // The parsed form of the "usb_printers" manifest entry. | 18 // The parsed form of the "usb_printers" manifest entry. |
20 class UsbPrinterManifestData : public Extension::ManifestData { | 19 class UsbPrinterManifestData : public Extension::ManifestData { |
21 public: | 20 public: |
22 UsbPrinterManifestData(); | 21 UsbPrinterManifestData(); |
23 ~UsbPrinterManifestData() override; | 22 ~UsbPrinterManifestData() override; |
24 | 23 |
25 // Gets the UsbPrinterManifestData for |extension|, or NULL if none was | 24 // Gets the UsbPrinterManifestData for |extension|, or NULL if none was |
26 // specified. | 25 // specified. |
27 static const UsbPrinterManifestData* Get(const Extension* extension); | 26 static const UsbPrinterManifestData* Get(const Extension* extension); |
28 | 27 |
29 // Parses the data stored in |value|. Sets |error| and returns an empty | 28 // Parses the data stored in |value|. Sets |error| and returns an empty |
30 // scoped_ptr on failure. | 29 // scoped_ptr on failure. |
31 static scoped_ptr<UsbPrinterManifestData> FromValue(const base::Value& value, | 30 static scoped_ptr<UsbPrinterManifestData> FromValue(const base::Value& value, |
32 base::string16* error); | 31 base::string16* error); |
33 | 32 |
34 bool SupportsDevice(const scoped_refptr<device::UsbDevice>& device) const; | |
35 | |
36 const std::vector<device::UsbDeviceFilter>& filters() const { | 33 const std::vector<device::UsbDeviceFilter>& filters() const { |
37 return filters_; | 34 return filters_; |
38 } | 35 } |
39 | 36 |
40 private: | 37 private: |
41 std::vector<device::UsbDeviceFilter> filters_; | 38 std::vector<device::UsbDeviceFilter> filters_; |
42 }; | 39 }; |
43 | 40 |
44 } // namespace extensions | 41 } // namespace extensions |
45 | 42 |
46 #endif // EXTENSIONS_COMMON_API_PRINTER_PROVIDER_USB_PRINTER_MANIFEST_DATA_H_ | 43 #endif // EXTENSIONS_COMMON_API_PRINTER_PROVIDER_USB_PRINTER_MANIFEST_DATA_H_ |
OLD | NEW |