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

Side by Side Diff: components/usb_service/usb_interface.h

Issue 497363004: Merge components/usb_service into device/usb. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebased. Created 6 years, 3 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 unified diff | Download patch
« no previous file with comments | « components/usb_service/usb_error.cc ('k') | components/usb_service/usb_interface_impl.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #ifndef COMPONENTS_USB_SERVICE_USB_INTERFACE_H_
6 #define COMPONENTS_USB_SERVICE_USB_INTERFACE_H_
7
8 #include "base/memory/ref_counted.h"
9 #include "components/usb_service/usb_service_export.h"
10
11 namespace usb_service {
12
13 enum UsbTransferType {
14 USB_TRANSFER_CONTROL = 0,
15 USB_TRANSFER_ISOCHRONOUS,
16 USB_TRANSFER_BULK,
17 USB_TRANSFER_INTERRUPT,
18 };
19
20 enum UsbEndpointDirection {
21 USB_DIRECTION_INBOUND = 0,
22 USB_DIRECTION_OUTBOUND,
23 };
24
25 enum UsbSynchronizationType {
26 USB_SYNCHRONIZATION_NONE = 0,
27 USB_SYNCHRONIZATION_ASYNCHRONOUS,
28 USB_SYNCHRONIZATION_ADAPTIVE,
29 USB_SYNCHRONIZATION_SYNCHRONOUS,
30 };
31
32 enum UsbUsageType {
33 USB_USAGE_DATA = 0,
34 USB_USAGE_FEEDBACK,
35 USB_USAGE_EXPLICIT_FEEDBACK
36 };
37
38 class USB_SERVICE_EXPORT UsbEndpointDescriptor
39 : public base::RefCounted<const UsbEndpointDescriptor> {
40 public:
41 virtual int GetAddress() const = 0;
42 virtual UsbEndpointDirection GetDirection() const = 0;
43 virtual int GetMaximumPacketSize() const = 0;
44 virtual UsbSynchronizationType GetSynchronizationType() const = 0;
45 virtual UsbTransferType GetTransferType() const = 0;
46 virtual UsbUsageType GetUsageType() const = 0;
47 virtual int GetPollingInterval() const = 0;
48
49 protected:
50 friend class base::RefCounted<const UsbEndpointDescriptor>;
51
52 UsbEndpointDescriptor() {};
53 virtual ~UsbEndpointDescriptor() {};
54
55 DISALLOW_COPY_AND_ASSIGN(UsbEndpointDescriptor);
56 };
57
58 class USB_SERVICE_EXPORT UsbInterfaceAltSettingDescriptor
59 : public base::RefCounted<const UsbInterfaceAltSettingDescriptor> {
60 public:
61 virtual size_t GetNumEndpoints() const = 0;
62 virtual scoped_refptr<const UsbEndpointDescriptor> GetEndpoint(
63 size_t index) const = 0;
64
65 virtual int GetInterfaceNumber() const = 0;
66 virtual int GetAlternateSetting() const = 0;
67 virtual int GetInterfaceClass() const = 0;
68 virtual int GetInterfaceSubclass() const = 0;
69 virtual int GetInterfaceProtocol() const = 0;
70
71 protected:
72 friend class base::RefCounted<const UsbInterfaceAltSettingDescriptor>;
73
74 UsbInterfaceAltSettingDescriptor() {};
75 virtual ~UsbInterfaceAltSettingDescriptor() {};
76
77 DISALLOW_COPY_AND_ASSIGN(UsbInterfaceAltSettingDescriptor);
78 };
79
80 class USB_SERVICE_EXPORT UsbInterfaceDescriptor
81 : public base::RefCounted<const UsbInterfaceDescriptor> {
82 public:
83 virtual size_t GetNumAltSettings() const = 0;
84 virtual scoped_refptr<const UsbInterfaceAltSettingDescriptor> GetAltSetting(
85 size_t index) const = 0;
86
87 protected:
88 friend class base::RefCounted<const UsbInterfaceDescriptor>;
89
90 UsbInterfaceDescriptor() {};
91 virtual ~UsbInterfaceDescriptor() {};
92
93 DISALLOW_COPY_AND_ASSIGN(UsbInterfaceDescriptor);
94 };
95
96 class USB_SERVICE_EXPORT UsbConfigDescriptor
97 : public base::RefCounted<UsbConfigDescriptor> {
98 public:
99 virtual size_t GetNumInterfaces() const = 0;
100 virtual scoped_refptr<const UsbInterfaceDescriptor> GetInterface(
101 size_t index) const = 0;
102
103 protected:
104 friend class base::RefCounted<UsbConfigDescriptor>;
105
106 UsbConfigDescriptor() {};
107 virtual ~UsbConfigDescriptor() {};
108
109 DISALLOW_COPY_AND_ASSIGN(UsbConfigDescriptor);
110 };
111
112 } // namespace usb_service;
113
114 #endif // COMPONENTS_USB_SERVICE_USB_INTERFACE_H_
OLDNEW
« no previous file with comments | « components/usb_service/usb_error.cc ('k') | components/usb_service/usb_interface_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698