Library: Foundation
Package: Core
Header: Poco/Environment.h
Description
This class provides access to environment variables and some general system information.
Member Summary
Member Functions: arch, get, has, isUnix, isWindows, libraryVersion, nodeId, nodeName, os, osArchitecture, osDisplayName, osName, osVersion, processorCount, set
Types
NodeId
Ethernet address.
Member Functions
arch
static Poco::Int32 arch();
Return the underlying cpu architecture that runs this operating system as defined in Foundation/Platform (POCO_ARCH)
get
static std::string get(
const std::string & name
);
Returns the value of the environment variable with the given name. Throws a NotFoundException if the variable does not exist.
get
static std::string get(
const std::string & name,
const std::string & defaultValue
);
Returns the value of the environment variable with the given name. If the environment variable is undefined, returns defaultValue instead.
has
static bool has(
const std::string & name
);
Returns true if and only if an environment variable with the given name is defined.
isUnix
static bool isUnix();
Return true if the operating system belongs to the Linux family
isWindows
static bool isWindows();
Return true if the operating system belongs to the Windows family
libraryVersion
static Poco::UInt32 libraryVersion();
Returns the POCO C++ Libraries version as a hexadecimal number in format 0xAABBCCDD, where
- AA is the major version number,
- BB is the minor version number,
- CC is the revision number, and
- DD is the patch level number.
Some patch level ranges have special meanings:
- Dx mark development releases,
- Ax mark alpha releases, and
- Bx mark beta releases.
nodeId
static void nodeId(
NodeId & id
);
Returns the Ethernet address of the first Ethernet adapter found on the system.
Throws a SystemException if no Ethernet adapter is available.
nodeId
static std::string nodeId();
Returns the Ethernet address (format "xx:xx:xx:xx:xx:xx") of the first Ethernet adapter found on the system.
Throws a SystemException if no Ethernet adapter is available.
nodeName
static std::string nodeName();
Returns the node (or host) name.
os
static Poco::Int32 os();
Return the operating system as defined in the include Foundation/Platform.h (POCO_OS)
osArchitecture
static std::string osArchitecture();
Returns the operating system architecture.
osDisplayName
static std::string osDisplayName();
Returns the operating system name in a "user-friendly" way.
Currently this is only implemented for Windows. There it will return names like "Windows XP" or "Windows 7/Server 2008 SP2". On other platforms, returns the same as osName().
osName
static std::string osName();
Returns the operating system name.
osVersion
static std::string osVersion();
Returns the operating system version.
processorCount
static unsigned processorCount();
Returns the number of processors installed in the system.
If the number of processors cannot be determined, returns 1.
set
static void set(
const std::string & name,
const std::string & value
);
Sets the environment variable with the given name to the given value.