Antares Simulator
Power System Simulator
scBuilderDataInterface.h
1 /*
2 ** Copyright 2007-2025, RTE (https://www.rte-france.com)
3 ** See AUTHORS.txt
4 ** SPDX-License-Identifier: MPL-2.0
5 ** This file is part of Antares-Simulator,
6 ** Adequacy and Performance assessment for interconnected energy networks.
7 **
8 ** Antares_Simulator is free software: you can redistribute it and/or modify
9 ** it under the terms of the Mozilla Public Licence 2.0 as published by
10 ** the Mozilla Foundation, either version 2 of the License, or
11 ** (at your option) any later version.
12 **
13 ** Antares_Simulator is distributed in the hope that it will be useful,
14 ** but WITHOUT ANY WARRANTY; without even the implied warranty of
15 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 ** Mozilla Public Licence 2.0 for more details.
17 **
18 ** You should have received a copy of the Mozilla Public Licence 2.0
19 ** along with Antares_Simulator. If not, see <https://opensource.org/license/mpl-2-0/>.
20 */
21 #ifndef __LIBS_STUDY_SCENARIO_BUILDER_DATA_INTERFACE_H__
22 #define __LIBS_STUDY_SCENARIO_BUILDER_DATA_INTERFACE_H__
23 
24 #include <yuni/yuni.h>
25 #include <yuni/core/noncopyable.h>
26 
27 #include "antares/study/study.h"
28 
29 using namespace Yuni;
30 
31 namespace Antares::Data::ScenarioBuilder
32 {
37 {
38 public:
39  virtual ~dataInterface() = default;
40 
42 
43 
46  virtual bool reset(const Study& study) = 0;
47 
48 #ifdef BUILD_UI
52  virtual void saveToINIFile(const Study& study, Yuni::IO::File::Stream& file) const = 0;
53 #endif
54 
55  [[nodiscard]] virtual uint width() const = 0;
56 
57  [[nodiscard]] virtual uint height() const = 0;
58 
64  virtual bool apply(Study& study) = 0;
65 
66 }; // class dataInterface
67 
68 } // namespace Antares::Data::ScenarioBuilder
69 
70 #endif // __LIBS_STUDY_SCENARIO_BUILDER_DATA_INTERFACE_H__
Interface for scenario builder data (time series, hydro levels, ...)
Definition: scBuilderDataInterface.h:37
virtual bool apply(Study &study)=0
Apply the changes to the study corresponding data (time series, hydro levels, ...)
virtual bool reset(const Study &study)=0
Reset data from the study.
Definition: study.h:57