1 // Copyright 2017 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.
5 #include "components/cast_channel/cast_channel_enum.h"
7 #include "base/logging.h"
9 namespace cast_channel {
11 #define CAST_CHANNEL_TYPE_TO_STRING(enum) \
15 std::string ReadyStateToString(ReadyState ready_state) {
16 switch (ready_state) {
17 CAST_CHANNEL_TYPE_TO_STRING(ReadyState::NONE);
18 CAST_CHANNEL_TYPE_TO_STRING(ReadyState::CONNECTING);
19 CAST_CHANNEL_TYPE_TO_STRING(ReadyState::OPEN);
20 CAST_CHANNEL_TYPE_TO_STRING(ReadyState::CLOSING);
21 CAST_CHANNEL_TYPE_TO_STRING(ReadyState::CLOSED);
23 NOTREACHED() << "Unknown ready_state " << ReadyStateToString(ready_state);
24 return "Unknown ready_state";
27 std::string ChannelErrorToString(ChannelError channel_error) {
28 switch (channel_error) {
29 CAST_CHANNEL_TYPE_TO_STRING(ChannelError::NONE);
30 CAST_CHANNEL_TYPE_TO_STRING(ChannelError::CHANNEL_NOT_OPEN);
31 CAST_CHANNEL_TYPE_TO_STRING(ChannelError::AUTHENTICATION_ERROR);
32 CAST_CHANNEL_TYPE_TO_STRING(ChannelError::CONNECT_ERROR);
33 CAST_CHANNEL_TYPE_TO_STRING(ChannelError::CAST_SOCKET_ERROR);
34 CAST_CHANNEL_TYPE_TO_STRING(ChannelError::TRANSPORT_ERROR);
35 CAST_CHANNEL_TYPE_TO_STRING(ChannelError::INVALID_MESSAGE);
36 CAST_CHANNEL_TYPE_TO_STRING(ChannelError::INVALID_CHANNEL_ID);
37 CAST_CHANNEL_TYPE_TO_STRING(ChannelError::CONNECT_TIMEOUT);
38 CAST_CHANNEL_TYPE_TO_STRING(ChannelError::PING_TIMEOUT);
39 CAST_CHANNEL_TYPE_TO_STRING(ChannelError::UNKNOWN);
41 NOTREACHED() << "Unknown channel_error "
42 << ChannelErrorToString(channel_error);
43 return "Unknown channel_error";
46 } // namespace cast_channel