35 lines
1.1 KiB
C++
35 lines
1.1 KiB
C++
// Copyright 2017 The Chromium Authors
|
|
// 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_
|