1 // Copyright 2017 The Chromium Authors 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 "components/metrics/log_decoder.h" 6 7 #include "third_party/protobuf/src/google/protobuf/message_lite.h" 8 #include "third_party/zlib/google/compression_utils.h" 9 10 namespace metrics { 11 DecodeLogData(const std::string & compressed_log_data,std::string * log_data)12bool DecodeLogData(const std::string& compressed_log_data, 13 std::string* log_data) { 14 return compression::GzipUncompress(compressed_log_data, log_data); 15 } 16 DecodeLogDataToProto(const std::string & compressed_log_data,google::protobuf::MessageLite * proto)17bool DecodeLogDataToProto(const std::string& compressed_log_data, 18 google::protobuf::MessageLite* proto) { 19 std::string log_data; 20 if (!DecodeLogData(compressed_log_data, &log_data)) 21 return false; 22 23 return proto->ParseFromString(log_data); 24 } 25 26 } // namespace metrics 27