poco/Foundation/src/Environment.cpp
Kari Argillander 708a5d8307
RFC: Remove Windows CE support (#4342)
* Remove _WIN32_WCE macro

Poco now use C++17 and Windows CE does not support it and VS2017 does
also not support it so we can just remove Windows CE code. First remove
all macro usages from our own files.

* Remove WinCE support from build files

Poco now use C++17 and Windows CE does not support it and VS2017 does
also not support it so we can just remove Windows CE code. Remove all
references from build systems / scripts.

* Remove Windows CE related source and header files

Poco now use C++17 and Windows CE does not support it and VS2017 does
also not support it so we can just remove Windows CE code. First remove
all macro usages from our own files.

* Remove wcelibcex folder

Poco now use C++17 and Windows CE does not support it and VS2017 does
also not support it so we can just remove Windows CE code. First remove
all macro usages from our own files.

* Remove rest Windows CE mentions

There where some Windows CE mentions left. Remove those.

* Update Windows CE documentation

We should keep documentation some time so people can find reason for
remove.

---------

Co-authored-by: Kari Argillander <kari.argillander@fidelix.com>
2023-12-14 00:25:04 +01:00

162 lines
2.4 KiB
C++

//
// Environment.cpp
//
// Library: Foundation
// Package: Core
// Module: Environment
//
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#if defined(_MSC_VER) && !defined(_CRT_SECURE_NO_WARNINGS)
#define _CRT_SECURE_NO_WARNINGS
#endif
#include "Poco/Environment.h"
#include "Poco/Version.h"
#include <cstdlib>
#include <cstdio> // snprintf()
#if defined(POCO_VXWORKS)
#include "Environment_VX.cpp"
#elif defined(POCO_OS_FAMILY_UNIX)
#include "Environment_UNIX.cpp"
#elif defined(POCO_OS_FAMILY_WINDOWS)
#include "Environment_WIN32U.cpp"
#endif
namespace Poco {
std::string Environment::get(const std::string& name)
{
return EnvironmentImpl::getImpl(name);
}
std::string Environment::get(const std::string& name, const std::string& defaultValue)
{
if (has(name))
return get(name);
else
return defaultValue;
}
bool Environment::has(const std::string& name)
{
return EnvironmentImpl::hasImpl(name);
}
void Environment::set(const std::string& name, const std::string& value)
{
EnvironmentImpl::setImpl(name, value);
}
std::string Environment::osName()
{
return EnvironmentImpl::osNameImpl();
}
std::string Environment::osDisplayName()
{
return EnvironmentImpl::osDisplayNameImpl();
}
std::string Environment::osVersion()
{
return EnvironmentImpl::osVersionImpl();
}
std::string Environment::osArchitecture()
{
return EnvironmentImpl::osArchitectureImpl();
}
std::string Environment::nodeName()
{
return EnvironmentImpl::nodeNameImpl();
}
std::string Environment::nodeId()
{
NodeId id;
nodeId(id);
char result[18];
std::snprintf(result, sizeof(result), "%02x:%02x:%02x:%02x:%02x:%02x",
id[0],
id[1],
id[2],
id[3],
id[4],
id[5]);
return std::string(result);
}
void Environment::nodeId(NodeId& id)
{
return EnvironmentImpl::nodeIdImpl(id);
}
unsigned Environment::processorCount()
{
return EnvironmentImpl::processorCountImpl();
}
Poco::UInt32 Environment::libraryVersion()
{
return POCO_VERSION;
}
Poco::Int32 Environment::os()
{
return POCO_OS;
}
Poco::Int32 Environment::arch()
{
return POCO_ARCH;
}
bool Environment::isUnix()
{
#if defined(POCO_OS_FAMILY_UNIX)
return true;
#else
return false;
#endif
}
bool Environment::isWindows()
{
#if defined(POCO_OS_FAMILY_WINDOWS)
return true;
#else
return false;
#endif
}
} // namespace Poco