# Poco

# class Environment

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: get, has, nodeId, nodeName, osArchitecture, osName, osVersion, processorCount, set

## Types

### NodeId

typedef UInt8 NodeId[6];

Ethernet address.

## Member Functions

### 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.

### 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.

### osArchitecture

static std::string osArchitecture();

Returns the operating system architecture.

### 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.