Antares Simulator
Power System Simulator
Loading...
Searching...
No Matches
modelConverter.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
22#pragma once
23#include <stdexcept>
24
25#include "antares/io/inputs/yml-model/Library.h"
26
27namespace Antares
28{
29namespace Study::SystemModel
30{
31class Library;
32}
33
34namespace Inputs::YmlModel
35{
36class Library;
37}
38} // namespace Antares
39
40namespace Antares::Expressions::Nodes
41{
42class Node;
43}
44
45namespace Antares::IO::Inputs::ModelConverter
46{
47
48Study::SystemModel::Library convert(const YmlModel::Library& library);
49
50// EXCEPTIONS
51class UnknownTypeException: public std::runtime_error
52{
53public:
54 explicit UnknownTypeException(const std::string& type);
55};
56
57class PortWithThisIdAlreadyExists: public std::runtime_error
58{
59public:
60 explicit PortWithThisIdAlreadyExists(const std::string& id);
61};
62
63class PortTypeWithThisIdAlreadyExists: public std::runtime_error
64{
65public:
66 explicit PortTypeWithThisIdAlreadyExists(const std::string& id);
67};
68
69class ConstraintWithThisIdAlreadyExists: public std::runtime_error
70{
71public:
72 explicit ConstraintWithThisIdAlreadyExists(const std::string& id);
73};
74
75class PortTypeDoesntContainsFields: public std::runtime_error
76{
77public:
78 explicit PortTypeDoesntContainsFields(const std::string& id);
79};
80
81class PortTypeNotFound: public std::runtime_error
82{
83public:
84 explicit PortTypeNotFound(const std::string& portId, const std::string& portTypeId);
85};
86
87class PortNotFoundForDefinition: public std::runtime_error
88{
89public:
90 explicit PortNotFoundForDefinition(const std::string& portId);
91};
92
93class FieldNotFoundForDefinition: public std::runtime_error
94{
95public:
96 explicit FieldNotFoundForDefinition(const std::string& portId, const std::string& fieldId);
97};
98
99class PortInDefinition: public std::runtime_error
100{
101public:
102 explicit PortInDefinition(const std::string& portId, const std::string& portInDefId);
103};
104
105} // namespace Antares::IO::Inputs::ModelConverter