1 /***************************************************************************
2  *  Copyright 2014 Marcelo Y. Matuda                                       *
3  *  Copyright 1991, 1992, 1993, 1994, 1995, 1996, 2001, 2002               *
4  *    David R. Hill, Leonard Manzara, Craig Schock                         *
5  *                                                                         *
6  *  This program is free software: you can redistribute it and/or modify   *
7  *  it under the terms of the GNU General Public License as published by   *
8  *  the Free Software Foundation, either version 3 of the License, or      *
9  *  (at your option) any later version.                                    *
10  *                                                                         *
11  *  This program is distributed in the hope that it will be useful,        *
12  *  but WITHOUT ANY WARRANTY; without even the implied warranty of         *
13  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the          *
14  *  GNU General Public License for more details.                           *
15  *                                                                         *
16  *  You should have received a copy of the GNU General Public License      *
17  *  along with this program.  If not, see <http://www.gnu.org/licenses/>.  *
18  ***************************************************************************/
19 // 2014-12
20 // This file was created by Marcelo Y. Matuda, and code/information
21 // from Gnuspeech was added to it later.
22 
23 #ifndef TRM_CONTROL_MODEL_SYMBOL_H_
24 #define TRM_CONTROL_MODEL_SYMBOL_H_
25 
26 #include <memory>
27 #include <string>
28 
29 
30 
31 namespace GS {
32 namespace TRMControlModel {
33 
34 class Symbol {
35 public:
Symbol(const std::string & name,float minimum,float maximum,float defaultValue,const std::string & comment)36 	Symbol(const std::string& name, float minimum, float maximum, float defaultValue, const std::string& comment)
37 		: name_(name)
38 		, minimum_(minimum)
39 		, maximum_(maximum)
40 		, defaultValue_(defaultValue)
41 		, comment_(comment)
42 	{}
43 
name()44 	const std::string& name() const { return name_; }
setName(const std::string & name)45 	void setName(const std::string& name) { name_ = name; }
46 
minimum()47 	float minimum() const { return minimum_; }
setMinimum(float minimum)48 	void setMinimum(float minimum) { minimum_ = minimum; }
49 
maximum()50 	float maximum() const { return maximum_; }
setMaximum(float maximum)51 	void setMaximum(float maximum) { maximum_ = maximum; }
52 
defaultValue()53 	float defaultValue() const { return defaultValue_; }
setDefaultValue(float defaultValue)54 	void setDefaultValue(float defaultValue) { defaultValue_ = defaultValue; }
55 
comment()56 	const std::string& comment() const { return comment_; }
setComment(const std::string & comment)57 	void setComment(const std::string& comment) { comment_ = comment; }
58 private:
59 	std::string name_;
60 	float minimum_;
61 	float maximum_;
62 	float defaultValue_;
63 	std::string comment_;
64 };
65 
66 } /* namespace TRMControlModel */
67 } /* namespace GS */
68 
69 #endif /* TRM_CONTROL_MODEL_SYMBOL_H_ */
70