KiCad PCB EDA Suite
env_vars.h
Go to the documentation of this file.
1 /*
2  * This program source code file is part of KiCad, a free EDA CAD application.
3  *
4  * Copyright (C) 2018 KiCad Developers, see AUTHORS.txt for contributors.
5  *
6  * This program is free software: you can redistribute it and/or modify it
7  * 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  * This program is distributed in the hope that it will be useful, but
12  * WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14  * General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License along
17  * with this program. If not, see <http://www.gnu.org/licenses/>.
18  */
19 
25 #ifndef ENV_VARS_H
26 #define ENV_VARS_H
27 
28 #include <wx/string.h>
29 
30 #include <vector>
31 
32 #include <core/optional.h>
33 
34 using ENV_VAR_LIST = std::vector<wxString>;
35 
43 bool IsEnvVarImmutable( const wxString& aEnvVar );
44 
49 
60 wxString LookUpEnvVarHelp( const wxString& aEnvVar );
61 
68 template <typename VAL_TYPE>
69 OPT<VAL_TYPE> GetEnvVar( const wxString& aEnvVarName );
70 
77 template<>
78 OPT<wxString> GetEnvVar( const wxString& aEnvVarName );
79 
87 template <>
88 OPT<double> GetEnvVar( const wxString& aEnvVarName );
89 
90 
91 #endif /* ENV_VARS_H */
OPT< VAL_TYPE > GetEnvVar(const wxString &aEnvVarName)
Get an environment variable as a specific type, if set correctly.
Definition: env_vars.cpp:111
std::vector< wxString > ENV_VAR_LIST
Definition: env_vars.h:34
const ENV_VAR_LIST & GetPredefinedEnvVars()
Get the list of pre-defined environment variables.
Definition: env_vars.cpp:61
boost::optional< T > OPT
Definition: optional.h:7
bool IsEnvVarImmutable(const wxString &aEnvVar)
Determine if an environment variable is "predefined", i.e.
Definition: env_vars.cpp:49
wxString LookUpEnvVarHelp(const wxString &aEnvVar)
Look up long-form help text for a given environment variable.
Definition: env_vars.cpp:99