#ifndef PRODUCTION_SUSHID_SAFEPOWER_AGENT_DAEMON_CONTEXT_H_
#define PRODUCTION_SUSHID_SAFEPOWER_AGENT_DAEMON_CONTEXT_H_

#include <cstdint>

#include "persistent_storage.h"
#include "scheduler_interface.h"
#include "absl/base/nullability.h"
#include "absl/time/clock.h"
#include "absl/time/time.h"

namespace safepower_agent {

class DaemonContext {
 public:
  DaemonContext();
  virtual ~DaemonContext();

  static DaemonContext& Get();

  virtual absl::Time now() const { return absl::Now(); }

  virtual uint64_t epoch_ms() = 0;
  virtual SchedulerInterface& scheduler() = 0;
  virtual PersistentStorageManager& persistent_storage_manager() = 0;

 private:
  static absl::Nullable<DaemonContext*> instance_;
};
}  // namespace safepower_agent

#endif  // PRODUCTION_SUSHID_SAFEPOWER_AGENT_DAEMON_CONTEXT_H_
