Update CeCILL license where it wasn't done
[scilab.git] / scilab / modules / slint / includes / config / cnes / StandardType.hxx
1 /*
2  *  Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3  *  Copyright (C) 2015 - Scilab Enterprises - Calixte DENIZET
4  *
5  *  This file must be used under the terms of the CeCILL.
6  *  This source file is licensed as described in the file COPYING, which
7  *  you should have received as part of this distribution.  The terms
8  *  are also available at
9  *  http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
10  *
11  */
12
13 #ifndef __SLINT_CNES_STANDARD_TYPE_HXX__
14 #define __SLINT_CNES_STANDARD_TYPE_HXX__
15
16 #include <string>
17 #include <vector>
18 #include <libxml/tree.h>
19
20 #include "StandardRuleType.hxx"
21
22 namespace slint
23 {
24
25 namespace CNES
26 {
27
28 class StandardType
29 {
30
31     const std::string reference;
32     const std::string type;
33     const std::string version;
34     const std::string date;
35
36     std::vector<StandardRuleType> rule;
37
38 public:
39
40     StandardType(const std::string & _reference, const std::string & _type, const std::string & _version, const std::string & _date) : reference(_reference), type(_type), version(_version), date(_date) { }
41
42     inline const std::string & getReference() const
43     {
44         return reference;
45     }
46     inline const std::string & getType() const
47     {
48         return type;
49     }
50     inline const std::string & getVersion() const
51     {
52         return version;
53     }
54     inline const std::string & getDate() const
55     {
56         return date;
57     }
58     inline const std::vector<StandardRuleType> & getRule() const
59     {
60         return rule;
61     }
62
63     inline void add(const StandardRuleType & rt)
64     {
65         rule.emplace_back(rt);
66     }
67
68     static StandardType createFromXmlNode(xmlNode * node);
69 };
70
71
72 } // namespace CNES
73
74 } // namespace slint
75
76 #endif // __SLINT_CNES_STANDARD_TYPE_HXX__