Update CeCILL license where it wasn't done
[scilab.git] / scilab / modules / slint / src / cpp / ToolConfiguration.cpp
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 #include <string>
14
15 #include "config/cnes/CNESException.hxx"
16 #include "config/cnes/ToolConfiguration.hxx"
17 #include "XMLtools.hxx"
18
19 namespace slint
20 {
21
22 namespace CNES
23 {
24
25 ToolConfiguration ToolConfiguration::createFromXml(const std::wstring & path)
26 {
27     xmlDoc * doc = slint::XMLtools::readXML(path);
28     xmlNode * root = xmlDocGetRootElement(doc);
29
30     std::string name((const char *)root->name);
31     if (name == "toolConfiguration")
32     {
33         ToolConfiguration toolConfiguration(ToolConfigurationType::createFromXmlNode(root));
34         xmlFreeDoc(doc);
35
36         return toolConfiguration;
37     }
38     else
39     {
40         xmlFreeDoc(doc);
41         throw CNESException(L"Invalid tool configuration file");
42     }
43 }
44
45 } // namespace CNES
46
47 } // namespace slint