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 EXTENSIONS_BROWSER_API_CAST_CHANNEL_LOGGER_UTIL_H_ 6 #define EXTENSIONS_BROWSER_API_CAST_CHANNEL_LOGGER_UTIL_H_ 7 8 #include "extensions/common/api/cast_channel.h" 9 #include "extensions/common/api/cast_channel/logging.pb.h" 10 11 namespace extensions { 12 namespace core_api { 13 namespace cast_channel { 14 // Converts an IDL "ChannelError" to a proto enum "ErrorState". 15 proto::ErrorState ErrorStateToProto(ChannelError state); 16 17 // Converts an IDL "ReadyState" to a proto enum "ReadyState". 18 proto::ReadyState ReadyStateToProto(ReadyState state); 19 20 // Holds the most recent errors encountered by a CastSocket. 21 struct LastErrors { 22 public: 23 LastErrors(); 24 ~LastErrors(); 25 26 // The most recent event that occurred at the time of the error. 27 proto::EventType event_type; 28 29 // The most recent ChallengeReplyErrorType logged for the socket. 30 proto::ChallengeReplyErrorType challenge_reply_error_type; 31 32 // The most recent net_return_value logged for the socket. 33 int net_return_value; 34 35 // The most recent NSS error logged for the socket. 36 int nss_error_code; 37 }; 38 39 } // namespace cast_channel 40 } // namespace api 41 } // namespace extensions 42 43 #endif // EXTENSIONS_BROWSER_API_CAST_CHANNEL_LOGGER_UTIL_H_ 44