My Project
paramtranslator.hh
Go to the documentation of this file.
1/* -*- mia-c++ -*-
2 *
3 * This file is part of MIA - a toolbox for medical image analysis
4 * Copyright (c) Leipzig, Madrid 1999-2017 Gert Wollny
5 *
6 * MIA 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 MIA; if not, see <http://www.gnu.org/licenses/>.
18 *
19 */
20
21#ifndef mia_core_paramtranslator_hh
22#define mia_core_paramtranslator_hh
23
24#include <map>
25#include <set>
26#include <string>
27#include <ostream>
28
29#include <mia/core/defines.hh>
30#include <mia/core/optparam.hh>
31
33
35{
36public:
37 CParamTranslator(const char *name);
38
40
48 void add_parameter(const std::string& name, CParameter *param);
49
57 void set_parameters(const CParsedOptions& options);
58
64
65 void get_short_help(std::ostream& os) const;
66
67 void get_help(std::ostream& os) const;
68
69 void get_help_xml(CXMLElement& root) const;
70
71 virtual void do_get_help_xml(CXMLElement& root) const;
72
74 const char *get_name() const;
75
77 const std::string get_descr() const;
78protected:
80
81private:
82 virtual const std::string do_get_descr() const = 0;
83
84 CParamList m_parameters;
85
86 // plugin name
87 const char *m_name;
88
89};
90
92
93#endif
A class to hold a list of named parameters.
Definition optparam.hh:43
CParamTranslator(const char *name)
void add_parameter(const std::string &name, CParameter *param)
const std::string get_descr() const
CParamList & get_parameters()
void set_parameters(const CParsedOptions &options)
const char * get_name() const
void check_parameters()
virtual void do_get_help_xml(CXMLElement &root) const
virtual ~CParamTranslator()
void get_short_help(std::ostream &os) const
void get_help(std::ostream &os) const
void get_help_xml(CXMLElement &root) const
The base class for parameters used in complex options.
Definition parameter.hh:49
This class implements a facade for the xml Element.
#define NS_MIA_BEGIN
conveniance define to start the mia namespace
Definition defines.hh:33
#define EXPORT_CORE
Macro to manage Visual C++ style dllimport/dllexport.
Definition defines.hh:101
#define NS_MIA_END
conveniance define to end the mia namespace
Definition defines.hh:36
std::map< std::string, std::string > CParsedOptions