blob: 4a7f47c373a24754055a4edd4ec33b11fedce85b [file] [log] [blame]
Ben Chanb6ce1782013-05-27 01:00:02 -07001// Copyright (c) 2013 The Chromium OS 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#include "mist/usb_constants.h"
6
7#include <base/logging.h>
8
9using std::ostream;
10
11namespace mist {
12
13const char* UsbDirectionToString(UsbDirection direction) {
14 switch (direction) {
15 case kUsbDirectionIn:
16 return "In";
17 case kUsbDirectionOut:
18 return "Out";
19 }
20 NOTREACHED();
21 return NULL;
22}
23
24const char* UsbSpeedToString(UsbSpeed speed) {
25 switch (speed) {
26 case kUsbSpeedUnknown:
27 return "Unknown";
28 case kUsbSpeedLow:
29 return "Low";
30 case kUsbSpeedFull:
31 return "Full";
32 case kUsbSpeedHigh:
33 return "High";
34 case kUsbSpeedSuper:
35 return "Super";
36 }
37 NOTREACHED();
38 return NULL;
39}
40
41const char* UsbTransferTypeToString(UsbTransferType transfer_type) {
42 switch (transfer_type) {
43 case kUsbTransferTypeControl:
44 return "Control";
45 case kUsbTransferTypeIsochronous:
46 return "Isochronous";
47 case kUsbTransferTypeBulk:
48 return "Bulk";
49 case kUsbTransferTypeInterrupt:
50 return "Interrupt";
Ben Chande490152013-05-29 17:05:49 -070051 case kUsbTransferTypeUnknown:
52 return "Unknown";
Ben Chanb6ce1782013-05-27 01:00:02 -070053 }
54 NOTREACHED();
55 return NULL;
56}
57
58const char* UsbTransferStatusToString(UsbTransferStatus transfer_status) {
59 switch (transfer_status) {
60 case kUsbTransferStatusCompleted:
61 return "Completed";
62 case kUsbTransferStatusError:
63 return "Error";
64 case kUsbTransferStatusTimedOut:
65 return "TimedOut";
66 case kUsbTransferStatusCancelled:
67 return "Cancelled";
68 case kUsbTransferStatusStall:
69 return "Stall";
70 case kUsbTransferStatusNoDevice:
71 return "NoDevice";
72 case kUsbTransferStatusOverflow:
73 return "Overflow";
74 case kUsbTransferStatusUnknown:
75 return "Unknown";
76 }
77 NOTREACHED();
78 return NULL;
79}
80
81} // namespace mist
82
83ostream& operator<<(ostream& stream, mist::UsbDirection direction) {
84 stream << UsbDirectionToString(direction);
85 return stream;
86}
87
88ostream& operator<<(ostream& stream, mist::UsbSpeed speed) {
89 stream << UsbSpeedToString(speed);
90 return stream;
91}
92
93ostream& operator<<(ostream& stream, mist::UsbTransferType transfer_type) {
94 stream << UsbTransferTypeToString(transfer_type);
95 return stream;
96}
97
98ostream& operator<<(ostream& stream, mist::UsbTransferStatus transfer_status) {
99 stream << UsbTransferStatusToString(transfer_status);
100 return stream;
101}