Poco

class Environment

File Information

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

typedef UInt8 NodeId[6];

Ethernet address.

Member Functions

arch static

static Poco::Int32 arch();

Return the underlying cpu architecture that runs this operating system as defined in Foundation/Platform (POCO_ARCH)

get static

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

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

static bool has(
    const std::string & name
);

Returns true if and only if an environment variable with the given name is defined.

isUnix static

static bool isUnix();

Return true if the operating system belongs to the Linux family

isWindows static

static bool isWindows();

Return true if the operating system belongs to the Windows family

libraryVersion static

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

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

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

static std::string nodeName();

Returns the node (or host) name.

os static

static Poco::Int32 os();

Return the operating system as defined in the include Foundation/Platform.h (POCO_OS)

osArchitecture static

static std::string osArchitecture();

Returns the operating system architecture.

osDisplayName static

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

static std::string osName();

Returns the operating system name.

osVersion static

static std::string osVersion();

Returns the operating system version.

processorCount static

static unsigned processorCount();

Returns the number of processors installed in the system.

If the number of processors cannot be determined, returns 1.

set static

static void set(
    const std::string & name,
    const std::string & value
);

Sets the environment variable with the given name to the given value.