// Copyright 2019 The Chromium OS 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 TIMBERSLIDE_FINGERPRINT_LOG_LISTENER_IMPL_H_
#define TIMBERSLIDE_FINGERPRINT_LOG_LISTENER_IMPL_H_

#include <memory>
#include <string>

#include <metrics/metrics_library.h>
#include "timberslide/log_listener.h"

namespace timberslide {

class FingerprintLogListenerImpl : public LogListener {
 public:
  ~FingerprintLogListenerImpl() override = default;
  void OnLogLine(const std::string& line) override;

  virtual bool SendFingerprintMCUReboot();
  virtual bool IsRebootLine(const std::string& line);

 private:
  bool have_seen_first_boot_ = false;

  std::unique_ptr<MetricsLibrary> metrics_lib_ =
      std::make_unique<MetricsLibrary>();
};

}  // namespace timberslide

#endif  // TIMBERSLIDE_FINGERPRINT_LOG_LISTENER_IMPL_H_
