Antares Simulator
Power System Simulator
Loading...
Searching...
No Matches
create.h
1/*
2** Copyright 2007-2024, 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 __ANTARES_LIBS_STUDY_ACTION_HANDLER_ANTARES_AREA_CREATE_H__
22#define __ANTARES_LIBS_STUDY_ACTION_HANDLER_ANTARES_AREA_CREATE_H__
23
24#include <yuni/yuni.h>
25#include <action/action.h>
26
27namespace Antares
28{
29namespace Action
30{
31namespace AntaresStudy
32{
33namespace Area
34{
35class Create : public IAction
36{
37public:
42
43public:
44 static IAction* StandardActionsToCopyThermalCluster(const Data::AreaName& area,
45 const Data::ClusterName& name);
46
47public:
49
50
53 explicit Create(const AnyString& areaname);
57 Create(const AnyString& areaname, const AnyString& targetname);
58
60 virtual ~Create();
62
66 void createActionsForAStandardAreaCopy(Context& ctx, bool copyPosition = true);
67
68 virtual bool allowUpdate() const;
69
70protected:
71 virtual void prepareSkipWL(Context& ctx);
72 virtual bool prepareWL(Context& ctx);
73 virtual bool performWL(Context& ctx);
74
75private:
77 Data::AreaName pOriginalAreaName;
78 Data::AreaName pTargetAreaName;
79 Data::AreaName pFuturAreaName;
80
81}; // class IAction
82
83} // namespace Area
84} // namespace AntaresStudy
85} // namespace Action
86} // namespace Antares
87
88#include "create.hxx"
89
90#endif // __ANTARES_LIBS_STUDY_ACTION_HANDLER_ANTARES_AREA_CREATE_H__
Definition antares-study.h:28
IAction::Ptr Ptr
The most suitable smart ptr for the class.
Definition create.h:39
virtual bool prepareWL(Context &ctx)
Prepare the execution.
Definition create.cpp:73
IAction::ThreadingPolicy ThreadingPolicy
The threading policy.
Definition create.h:41
Create(const AnyString &areaname)
Default constructor.
Definition create.cpp:43
virtual bool performWL(Context &ctx)
Perform the action.
Definition create.cpp:193
void createActionsForAStandardAreaCopy(Context &ctx, bool copyPosition=true)
Create all standard actions for copy/pasting an area.
Definition create.cpp:227
virtual void prepareSkipWL(Context &ctx)
Prepare the execution (when the behavior says that the action should be skipped)
Definition create.cpp:58
virtual ~Create()
Destructor.
Definition create.cpp:54
Definition context.h:38
Definition action.h:38
AncestorType::Ptr Ptr
The most suitable smart ptr for the class.
Definition action.h:43
AncestorType::ThreadingPolicy ThreadingPolicy
The threading policy.
Definition action.h:45