class SystemConfiguration

Library: Util
Package: Configuration
Header: Poco/Util/SystemConfiguration.h


This class implements a Configuration interface to various system properties and environment variables.

The following properties are supported:

  • system.osName: the operating system name
  • system.osVersion: the operating system version
  • system.osArchitecture: the operating system architecture
  • system.nodeName: the node (or host) name
  • system.nodeId: system ID, based on the Ethernet address (format "xxxxxxxxxxxx") of the first Ethernet adapter found on the system.
  • system.currentDir: the current working directory
  • system.homeDir: the user's home directory
  • system.configHomeDir: the base directory relative to which user specific configuration files should be stored
  • system.cacheHomeDir: the base directory relative to which user specific non-essential data files should be stored
  • system.dataHomeDir: the base directory relative to which user specific data files should be stored
  • system.tempHomeDir: the base directory relative to which user-specific temporary files and other file objects should be placed
  • system.tempDir: the system's temporary directory
  • system.configDir: the system's configuration directory
  • system.dateTime: the current UTC date and time, formatted in ISO 8601 format.
  • system.pid: the current process ID.
  • system.env.<NAME>: the environment variable with the given <NAME>.

An attempt to set a system variable will result in an InvalidAccessException being thrown.

Enumerating environment variables is not supported. An attempt to call keys("system.env") will return an empty range.

Removing key is not supported. An attempt to remove a key results in a NotImplementedException being thrown.


Direct Base Classes: AbstractConfiguration

All Base Classes: Poco::RefCountedObject, AbstractConfiguration

Member Summary

Member Functions: enumerate, getRaw, removeRaw, setRaw

Inherited Functions: createView, duplicate, enableEvents, enumerate, eventsEnabled, expand, getBool, getDouble, getInt, getInt64, getRaw, getRawString, getString, getUInt, getUInt64, has, hasOption, hasProperty, keys, parseBool, parseInt, parseInt64, parseUInt, parseUInt64, referenceCount, release, remove, removeRaw, setBool, setDouble, setInt, setInt64, setRaw, setRawWithEvent, setString, setUInt, setUInt64




Creates the SystemConfiguration.


~SystemConfiguration protected virtual


Member Functions

enumerate protected virtual

void enumerate(
    const std::string & key,
    Keys & range
) const;

getRaw protected virtual

bool getRaw(
    const std::string & key,
    std::string & value
) const;

removeRaw protected virtual

void removeRaw(
    const std::string & key

setRaw protected virtual

void setRaw(
    const std::string & key,
    const std::string & value