00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037 #include "Poco/Environment.h"
00038 #include <cstdlib>
00039 #include <cstdio>
00040
00041
00042 #if defined(POCO_OS_FAMILY_VMS)
00043 #include "Environment_VMS.cpp"
00044 #elif defined(POCO_OS_FAMILY_UNIX)
00045 #include "Environment_UNIX.cpp"
00046 #elif defined(POCO_OS_FAMILY_WINDOWS) && defined(POCO_WIN32_UTF8)
00047 #include "Environment_WIN32U.cpp"
00048 #elif defined(POCO_OS_FAMILY_WINDOWS)
00049 #include "Environment_WIN32.cpp"
00050 #endif
00051
00052
00053 namespace Poco {
00054
00055
00056 std::string Environment::get(const std::string& name)
00057 {
00058 return EnvironmentImpl::getImpl(name);
00059 }
00060
00061
00062 std::string Environment::get(const std::string& name, const std::string& defaultValue)
00063 {
00064 if (has(name))
00065 return get(name);
00066 else
00067 return defaultValue;
00068 }
00069
00070
00071 bool Environment::has(const std::string& name)
00072 {
00073 return EnvironmentImpl::hasImpl(name);
00074 }
00075
00076
00077 void Environment::set(const std::string& name, const std::string& value)
00078 {
00079 EnvironmentImpl::setImpl(name, value);
00080 }
00081
00082
00083 std::string Environment::osName()
00084 {
00085 return EnvironmentImpl::osNameImpl();
00086 }
00087
00088
00089 std::string Environment::osVersion()
00090 {
00091 return EnvironmentImpl::osVersionImpl();
00092 }
00093
00094
00095 std::string Environment::osArchitecture()
00096 {
00097 return EnvironmentImpl::osArchitectureImpl();
00098 }
00099
00100
00101 std::string Environment::nodeName()
00102 {
00103 return EnvironmentImpl::nodeNameImpl();
00104 }
00105
00106
00107 std::string Environment::nodeId()
00108 {
00109 NodeId id;
00110 nodeId(id);
00111 char result[18];
00112 std::sprintf(result, "%02x:%02x:%02x:%02x:%02x:%02x",
00113 id[0],
00114 id[1],
00115 id[2],
00116 id[3],
00117 id[4],
00118 id[5]);
00119 return std::string(result);
00120 }
00121
00122
00123 void Environment::nodeId(NodeId& id)
00124 {
00125 return EnvironmentImpl::nodeIdImpl(id);
00126 }
00127
00128
00129 }