Entropy Piano Tuner  1.1.3 (documentation not yet complete)
An open-source experimental software for piano tuning by entropy minimization
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
algorithminformationparser.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * Copyright 2015 Haye Hinrichsen, Christoph Wick
3  *
4  * This file is part of Entropy Piano Tuner.
5  *
6  * Entropy Piano Tuner is free software: you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by the
8  * Free Software Foundation, either version 3 of the License, or (at your
9  * option) any later version.
10  *
11  * Entropy Piano Tuner is distributed in the hope that it will be useful, but
12  * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
13  * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
14  * more details.
15  *
16  * You should have received a copy of the GNU General Public License along with
17  * Entropy Piano Tuner. If not, see http://www.gnu.org/licenses/.
18  *****************************************************************************/
19 
20 #ifndef ALGORITHMINFORMATIONPARSER_H
21 #define ALGORITHMINFORMATIONPARSER_H
22 
23 #include <string>
24 #include <memory>
25 
26 #include "thirdparty/tinyxml2/tinyxml2.h"
27 
28 #include "algorithminformation.h"
29 
31 {
32 public:
33  std::shared_ptr<const AlgorithmInformation> parse(const std::string &algorithmId) const;
34 
35 private:
36  std::string parseLanguageString(const tinyxml2::XMLElement *element) const;
37  AlgorithmParameter parseAlgorithmParameter(const tinyxml2::XMLElement *element) const;
38 };
39 
40 #endif // ALGORITHMINFORMATIONPARSER_H
std::string parseLanguageString(const tinyxml2::XMLElement *element) const
std::shared_ptr< const AlgorithmInformation > parse(const std::string &algorithmId) const
AlgorithmParameter parseAlgorithmParameter(const tinyxml2::XMLElement *element) const