All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
MarketInfos.hpp
Go to the documentation of this file.
1 /*
2 
3  This file is part of OpenFLUID software
4  Copyright(c) 2007, INRA - Montpellier SupAgro
5 
6 
7  == GNU General Public License Usage ==
8 
9  OpenFLUID is free software: you can redistribute it and/or modify
10  it under the terms of the GNU General Public License as published by
11  the Free Software Foundation, either version 3 of the License, or
12  (at your option) any later version.
13 
14  OpenFLUID is distributed in the hope that it will be useful,
15  but WITHOUT ANY WARRANTY; without even the implied warranty of
16  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17  GNU General Public License for more details.
18 
19  You should have received a copy of the GNU General Public License
20  along with OpenFLUID. If not, see <http://www.gnu.org/licenses/>.
21 
22 
23  == Other Usage ==
24 
25  Other Usage means a use of OpenFLUID that is inconsistent with the GPL
26  license, and requires a written agreement between You and INRA.
27  Licensees for Other Usage of OpenFLUID may use this file in accordance
28  with the terms contained in the written agreement between You and INRA.
29 
30 */
31 
32 
33 /**
34  \file MarketInfos.hpp
35  \brief Header of ...
36 
37  \author Jean-Christophe FABRE <fabrejc@supagro.inra.fr>
38  */
39 
40 
41 #ifndef __MARKETINFOS_HPP__
42 #define __MARKETINFOS_HPP__
43 
44 #include <openfluid/dllexport.hpp>
46 
47 
48 namespace openfluid { namespace market {
49 
50 // =====================================================================
51 // =====================================================================
52 
53 
55 {
56  public:
57 
58  std::string Name;
59 
60  std::string Description;
61 
62  std::string Contact;
63 
65  {
66  Name.clear();
67  Description.clear();
68  Contact.clear();
69  }
70 
72 
73 
74  void clear()
75  {
76  Name.clear();
77  Description.clear();
78  Contact.clear();
79  }
80 
81 
82 };
83 
84 
85 // =====================================================================
86 // =====================================================================
87 
88 
90 {
91  public:
92 
93  // Package type
94  enum PackageType { SIM, OBS, BUILD, DATA};
95 
96  typedef std::map<PackageType,std::list<openfluid::ware::WareID_t> > Dependencies_t;
97 
98  std::string URL;
99 
100  std::string License;
101 
102  // List of dependencies
104 
105  std::string BuildOptions;
106 
108  {
109  URL.clear();
110  License.clear();
111  Dependencies.clear();
112  BuildOptions.clear();
113  }
114 
116 
117 };
118 
119 
120 // =====================================================================
121 // =====================================================================
122 
123 
125 {
126  public:
127 
128  // Package format
129  enum SelectionType { NONE, BIN, SRC, FLUIDX};
130 
132 
133  // List of PackageInfo for each format
134  std::map<SelectionType,PackageInfo> AvailablePackages;
135 
136  // Selected format
138 
139  std::string Name;
140 
141  std::string Description;
142 
143  std::string Authors;
144 
145  std::string Version;
146 
147 
149  {
150  ID.clear();
151  Selected = NONE;
152  AvailablePackages.clear();
153  Name.clear();
154  Authors.clear();
155  Description.clear();
156  Version.clear();
157  }
158 
160  {
161  }
162 
163 };
164 
165 
166 // =====================================================================
167 // =====================================================================
168 
169 
170 typedef std::map<openfluid::ware::WareID_t,MetaPackageInfo> MetaPackagesCatalog_t;
171 
172 
173 } } // namespaces
174 
175 
176 #endif /* __MARKETINFOS_HPP__ */
PackageInfo()
Definition: MarketInfos.hpp:107
std::string Contact
Definition: MarketInfos.hpp:62
SelectionType
Definition: MarketInfos.hpp:129
Definition: MarketInfos.hpp:89
Definition: MarketInfos.hpp:54
std::map< PackageType, std::list< openfluid::ware::WareID_t > > Dependencies_t
Definition: MarketInfos.hpp:96
Definition: MarketInfos.hpp:94
~MarketInfo()
Definition: MarketInfos.hpp:71
std::map< SelectionType, PackageInfo > AvailablePackages
Definition: MarketInfos.hpp:134
std::string Description
Definition: MarketInfos.hpp:141
std::string URL
Definition: MarketInfos.hpp:98
std::string Description
Definition: MarketInfos.hpp:60
Definition: MarketInfos.hpp:129
void clear()
Definition: MarketInfos.hpp:74
std::map< openfluid::ware::WareID_t, MetaPackageInfo > MetaPackagesCatalog_t
Definition: MarketInfos.hpp:170
Dependencies_t Dependencies
Definition: MarketInfos.hpp:103
PackageType
Definition: MarketInfos.hpp:94
Definition: MarketInfos.hpp:124
std::string BuildOptions
Definition: MarketInfos.hpp:105
std::string Name
Definition: MarketInfos.hpp:58
std::string WareID_t
Definition: WareSignature.hpp:86
MetaPackageInfo()
Definition: MarketInfos.hpp:148
~PackageInfo()
Definition: MarketInfos.hpp:115
openfluid::ware::WareID_t ID
Definition: MarketInfos.hpp:131
MarketInfo()
Definition: MarketInfos.hpp:64
std::string Authors
Definition: MarketInfos.hpp:143
std::string License
Definition: MarketInfos.hpp:100
~MetaPackageInfo()
Definition: MarketInfos.hpp:159
SelectionType Selected
Definition: MarketInfos.hpp:137
std::string Name
Definition: MarketInfos.hpp:139
std::string Version
Definition: MarketInfos.hpp:145
#define DLLEXPORT
Definition: dllexport.hpp:51