blob: f6a7969642b00b28ecccd1bd03c72dcb3326e904 [file] [log] [blame]
// Copyright 2017 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef COMPONENTS_METRICS_LOG_DECODER_H_
#define COMPONENTS_METRICS_LOG_DECODER_H_
#include <string>
namespace google {
namespace protobuf {
class MessageLite;
} // namespace protobuf
} // namespace google
namespace metrics {
// Other modules can call this function instead of directly calling gzip. This
// prevents other modules from having to depend on zlib, or being aware of
// metrics' use of gzip compression, which is a metrics implementation detail.
// Returns true on success, false on failure.
bool DecodeLogData(const std::string& compressed_log_data,
std::string* log_data);
// Decodes |compressed_log_data| and populates |proto| with the decompressed log
// data. Returns true on success and false on failure.
bool DecodeLogDataToProto(const std::string& compressed_log_data,
google::protobuf::MessageLite* proto);
} // namespace metrics
#endif // COMPONENTS_METRICS_LOG_DECODER_H_