geopm  3.1.1.dev272+gdfb40a8d
GEOPM - Global Extensible Open Power Manager
Daemon.hpp
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2015 - 2024 Intel Corporation
3  * SPDX-License-Identifier: BSD-3-Clause
4  */
5 
6 #ifndef DAEMON_HPP_INCLUDE
7 #define DAEMON_HPP_INCLUDE
8 
9 #include <memory>
10 
11 #include "geopm_public.h"
12 
13 namespace geopm
14 {
17  class GEOPM_PUBLIC Daemon
18  {
19  public:
20  virtual ~Daemon() = default;
21 
30  virtual void update_endpoint_from_policystore(double timeout) = 0;
33  virtual void stop_wait_loop(void) = 0;
35  virtual void reset_wait_loop(void) = 0;
36 
42  static std::unique_ptr<Daemon> make_unique(const std::string &endpoint_name,
43  const std::string &db_path);
44 
45  };
46 }
47 
48 #endif
Definition: Daemon.hpp:18
virtual void stop_wait_loop(void)=0
Exits early from any ongoing wait loops in the Daemon, for example in a call to update_endpoint_from_...
virtual ~Daemon()=default
virtual void update_endpoint_from_policystore(double timeout)=0
Looks up a policy in the Daemon's PolicyStore given the attached Controller's agent and profile name,...
virtual void reset_wait_loop(void)=0
Resets the Daemon's endpoint to prepare for a future wait loop.
Definition: Accumulator.cpp:12