Elements 6.1.2
A C++ base framework for the Euclid Software.
|
This file is intended to iron out all the differences between systems (currently Linux and MacOSX) More...
#include <climits>
#include <memory>
#include <string>
#include <typeinfo>
#include <vector>
#include "ElementsKernel/Export.h"
#include "ElementsKernel/Unused.h"
Go to the source code of this file.
Namespaces | |
namespace | Elements |
namespace | Elements::System |
Macros | |
#define | HOST_NAME_MAX 255 |
Typedefs | |
using | Elements::System::ImageHandle = void * |
Definition of an image handle. | |
using | Elements::System::ProcessHandle = void * |
Definition of the process handle. | |
using | Elements::System::EntryPoint = unsigned long(*)(const unsigned long iid, void **ppvObject) |
Definition of the "generic" DLL entry point function. | |
using | Elements::System::Creator = void *(*)() |
Definition of the "generic" DLL entry point function. | |
Functions | |
ELEMENTS_API unsigned long | Elements::System::loadDynamicLib (const std::string &name, ImageHandle *handle) |
Load dynamic link library. | |
ELEMENTS_API unsigned long | Elements::System::unloadDynamicLib (ImageHandle handle) |
unload dynamic link library | |
ELEMENTS_API unsigned long | Elements::System::getProcedureByName (ImageHandle handle, const std::string &name, EntryPoint *pFunction) |
Get a specific function defined in the DLL. | |
ELEMENTS_API unsigned long | Elements::System::getProcedureByName (ImageHandle handle, const std::string &name, Creator *pFunction) |
Get a specific function defined in the DLL. | |
ELEMENTS_API unsigned long | Elements::System::getLastError () |
Get last system known error. | |
ELEMENTS_API const std::string | Elements::System::getLastErrorString () |
Get last system error as string. | |
ELEMENTS_API const std::string | Elements::System::getErrorString (unsigned long error) |
Retrieve error code as string for a given error. | |
ELEMENTS_API const std::string | Elements::System::typeinfoName (const std::type_info &) |
Get platform independent information about the class type. | |
ELEMENTS_API const std::string | Elements::System::typeinfoName (const char *) |
ELEMENTS_API const std::string & | Elements::System::hostName () |
Host name. | |
ELEMENTS_API const std::string & | Elements::System::osName () |
OS name. | |
ELEMENTS_API const std::string & | Elements::System::osVersion () |
OS version. | |
ELEMENTS_API const std::string & | Elements::System::machineType () |
Machine type. | |
ELEMENTS_API std::string | Elements::System::getEnv (const std::string &var) |
get a particular environment variable | |
ELEMENTS_API bool | Elements::System::getEnv (const string &var, string &value) |
get a particular env var, storing the value in the passed string (if set) | |
ELEMENTS_API std::vector< std::string > | Elements::System::getEnv () |
get all environment variables | |
ELEMENTS_API int | Elements::System::setEnv (const string &name, const string &value, bool overwrite) |
set an environment variables. | |
ELEMENTS_API int | Elements::System::unSetEnv (const std::string &name) |
Simple wrap around unsetenv for strings. | |
ELEMENTS_API bool | Elements::System::isEnvSet (const std::string &var) |
Check if an environment variable is set or not. | |
ELEMENTS_API int | Elements::System::backTrace (ELEMENTS_UNUSED std::shared_ptr< void * > addresses, ELEMENTS_UNUSED const int depth) |
ELEMENTS_API const std::vector< std::string > | Elements::System::backTrace (const int depth, const int offset=0) |
ELEMENTS_API bool | Elements::System::getStackLevel (ELEMENTS_UNUSED void *addresses, ELEMENTS_UNUSED void *&addr, ELEMENTS_UNUSED std::string &fnc, ELEMENTS_UNUSED std::string &lib) |
Variables | |
const std::string | Elements::System::SHLIB_VAR_NAME {"LD_LIBRARY_PATH"} |
name of the shared dynamic library path | |
const std::string | Elements::System::LIB_PREFIX {"lib"} |
constant that represent the common prefix of the libraries | |
const std::string | Elements::System::LIB_EXTENSION {"so"} |
constant that represent the common extension of the libraries | |
const std::string | Elements::System::LIB_SUFFIX {"." + LIB_EXTENSION} |
constant that represents the standard suffix of the libraries: usually "."+LIB_EXTENSION | |
const std::string | Elements::System::SHLIB_SUFFIX {LIB_SUFFIX} |
alias for LIB_SUFFIX | |
const std::string | Elements::System::DEFAULT_INSTALL_PREFIX {"/usr"} |
constant for the canonical installation prefix (on Linux and MacOSX at least) | |
const int | Elements::System::STACK_OFFSET {2} |
This file is intended to iron out all the differences between systems (currently Linux and MacOSX)
This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 3.0 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
All the compilation system dependent parts (#if, #ifdef etc) should be located in this file. This should clear the need of these entities in all other C++ files.
Definition in file System.h.