blob: 6a04a2bc2dd42db0487818fe92880c43b2368e78 [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";
51 }
52 NOTREACHED();
53 return NULL;
54}
55
56const char* UsbTransferStatusToString(UsbTransferStatus transfer_status) {
57 switch (transfer_status) {
58 case kUsbTransferStatusCompleted:
59 return "Completed";
60 case kUsbTransferStatusError:
61 return "Error";
62 case kUsbTransferStatusTimedOut:
63 return "TimedOut";
64 case kUsbTransferStatusCancelled:
65 return "Cancelled";
66 case kUsbTransferStatusStall:
67 return "Stall";
68 case kUsbTransferStatusNoDevice:
69 return "NoDevice";
70 case kUsbTransferStatusOverflow:
71 return "Overflow";
72 case kUsbTransferStatusUnknown:
73 return "Unknown";
74 }
75 NOTREACHED();
76 return NULL;
77}
78
79} // namespace mist
80
81ostream& operator<<(ostream& stream, mist::UsbDirection direction) {
82 stream << UsbDirectionToString(direction);
83 return stream;
84}
85
86ostream& operator<<(ostream& stream, mist::UsbSpeed speed) {
87 stream << UsbSpeedToString(speed);
88 return stream;
89}
90
91ostream& operator<<(ostream& stream, mist::UsbTransferType transfer_type) {
92 stream << UsbTransferTypeToString(transfer_type);
93 return stream;
94}
95
96ostream& operator<<(ostream& stream, mist::UsbTransferStatus transfer_status) {
97 stream << UsbTransferStatusToString(transfer_status);
98 return stream;
99}