Class Poco::Util::SystemConfiguration
Author: Applied Informatics Software Engineering GmbH and Contributors
Date: 2009-11-24

# Poco::Util

# class SystemConfiguration

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

## Description

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.currentDir: the current working directory
- system.homeDir: the user's home directory
- system.tempDir: the system's temporary 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.

## Inheritance

Direct Base Classes: AbstractConfiguration

All Base Classes: Poco::RefCountedObject, AbstractConfiguration

## Member Summary

Member Functions: enumerate, getRaw, setRaw

Inherited Functions: createView, duplicate, enumerate, expand, getBool, getDouble, getInt, getRaw, getRawString, getString, hasOption, hasProperty, keys, parseBool, parseInt, referenceCount, release, setBool, setDouble, setInt, setRaw, setString

## Constructors

### SystemConfiguration

SystemConfiguration();

Creates the SystemConfiguration.

## Destructor

### ~SystemConfiguration

~SystemConfiguration();

## Member Functions

### enumerate

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

See also: Poco::Util::AbstractConfiguration::enumerate()

### getRaw

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

See also: Poco::Util::AbstractConfiguration::getRaw()

### setRaw

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

See also: Poco::Util::AbstractConfiguration::setRaw()