E-MailRelay

genvironment_win32.cpp
Go to the documentation of this file.
1//
2// Copyright (C) 2001-2024 Graeme Walker <graeme_walker@users.sourceforge.net>
3//
4// This program is free software: you can redistribute it and/or modify
5// it under the terms of the GNU General Public License as published by
6// the Free Software Foundation, either version 3 of the License, or
7// (at your option) any later version.
8//
9// This program is distributed in the hope that it will be useful,
10// but WITHOUT ANY WARRANTY; without even the implied warranty of
11// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12// GNU General Public License for more details.
13//
14// You should have received a copy of the GNU General Public License
15// along with this program. If not, see <http://www.gnu.org/licenses/>.
16// ===
17///
18/// \file genvironment_win32.cpp
19///
20
21#include "gdef.h"
22#include "gnowide.h"
23#include "genvironment.h"
24
25std::string G::Environment::get( const std::string & name , const std::string & default_ )
26{
27 return nowide::getenv( name , default_ ) ;
28}
29
30 G::Path G::Environment::getPath( const std::string & name , const G::Path & default_ )
31{
32 return G::Path( nowide::getenv( name , default_.str() ) ) ;
33}
34
35 G::Environment G::Environment::minimal( bool )
36{
37 return Environment( {} ) ;
38}
39
40 void G::Environment::put( const std::string & name , const std::string & value )
41{
42 nowide::putenv( name , value ) ;
43}
44
G::Environment
Holds a set of environment variables and also provides static methods to wrap getenv() and putenv().
Definition: genvironment.h:42
G::Environment::put
static void put(const std::string &name, const std::string &value)
Sets the environment variable value.
Definition: genvironment_unix.cpp:55
G::Environment::get
static std::string get(const std::string &name, const std::string &default_)
Returns the environment variable value or the given default.
Definition: genvironment_unix.cpp:35
G::Environment::getPath
static G::Path getPath(const std::string &name, const G::Path &={})
Returns the environment variable value as a G::Path object.
Definition: genvironment_unix.cpp:42
G::Environment::minimal
static Environment minimal(bool sbin=false)
Returns a minimal, safe set of environment variables.
Definition: genvironment_unix.cpp:63
G::Path
A Path object represents a file system path.
Definition: gpath.h:82
G::Path::str
std::string str() const
Returns the path string.
Definition: gpath.h:243
genvironment.h
gnowide.h
Contains inline functions that convert to and from UTF-8 strings in order to call wide-character "W()...