// Copyright 2021 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef BASE_POWER_MONITOR_TIMER_SAMPLING_EVENT_SOURCE_H_
#define BASE_POWER_MONITOR_TIMER_SAMPLING_EVENT_SOURCE_H_

#include "base/base_export.h"
#include "base/power_monitor/sampling_event_source.h"
#include "base/time/time.h"
#include "base/timer/timer.h"

namespace base {

// Generates a sampling event at regular time intervals.
class BASE_EXPORT TimerSamplingEventSource : public SamplingEventSource {
 public:
  // |interval| is the time interval between sampling events.
  explicit TimerSamplingEventSource(TimeDelta interval);

  ~TimerSamplingEventSource() override;

  // SamplingEventSource:
  bool Start(SamplingEventCallback callback) override;

 private:
  const TimeDelta interval_;
  RepeatingTimer timer_;
};

}  // namespace base

#endif  // BASE_POWER_MONITOR_TIMER_SAMPLING_EVENT_SOURCE_H_
