geopm  3.1.1.dev272+gdfb40a8d
GEOPM - Global Extensible Open Power Manager
Control.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 CONTROL_HPP_INCLUDE
7 #define CONTROL_HPP_INCLUDE
8 
9 namespace geopm
10 {
15  class Control
16  {
17  public:
18  virtual ~Control() = default;
24  virtual void setup_batch(void) = 0;
27  virtual void adjust(double value) = 0;
30  virtual void write(double value) = 0;
33  virtual void save(void) = 0;
35  virtual void restore(void) = 0;
36  };
37 }
38 
39 #endif
Definition: Control.hpp:16
virtual void adjust(double value)=0
Store values to be written by the owner's write_batch step.
virtual ~Control()=default
virtual void setup_batch(void)=0
Prepare the control for being written through side effects by the owner's write_batch step....
virtual void write(double value)=0
Write the value of the control without affecting any pushed batch controls.
virtual void save(void)=0
Store the current setting of the control for use by a future call to restore().
virtual void restore(void)=0
Restore the setting stored by save().
Definition: Agg.cpp:20