Plasma Engine  2.0
Loading...
Searching...
No Matches
EnvironmentVariableUtils_Posix.h
1#include <Foundation/FoundationInternal.h>
2PL_FOUNDATION_INTERNAL_HEADER
3
4#include <Foundation/System/EnvironmentVariableUtils.h>
5#include <stdlib.h>
6
7plString plEnvironmentVariableUtils::GetValueStringImpl(plStringView sName, plStringView sDefault)
8{
10 const char* value = getenv(sName.GetData(tmp));
11 return value != nullptr ? value : sDefault;
12}
13
14plResult plEnvironmentVariableUtils::SetValueStringImpl(plStringView sName, plStringView sValue)
15{
16 plStringBuilder tmp, tmp2;
17 if (setenv(sName.GetData(tmp), sValue.GetData(tmp2), 1) == 0)
18 return PL_SUCCESS;
19 else
20 return PL_FAILURE;
21}
22
23bool plEnvironmentVariableUtils::IsVariableSetImpl(plStringView sName)
24{
26 return getenv(sName.GetData(tmp)) != nullptr;
27}
28
29plResult plEnvironmentVariableUtils::UnsetVariableImpl(plStringView sName)
30{
32 if (unsetenv(sName.GetData(tmp)) == 0)
33 return PL_SUCCESS;
34 else
35 return PL_FAILURE;
36}
plStringBuilder is a class that is meant for creating and modifying strings.
Definition StringBuilder.h:35
plStringView represent a read-only sub-string of a larger string, as it can store a dedicated string ...
Definition StringView.h:34
const char * GetData(plStringBuilder &ref_sTempStorage) const
Returns the data as a zero-terminated string.
Definition StringView.cpp:15
Default enum for returning failure or success, instead of using a bool.
Definition Types.h:54