// Copyright (c) 2003 David Muse // See the COPYING file for more information. #ifndef RUDIMENTS_ENVIRONMENT_H #define RUDIMENTS_ENVIRONMENT_H #include <rudiments/private/environmentincludes.h> // The environment class provides methods for accessing and manipulating // environment variables. #ifdef RUDIMENTS_NAMESPACE namespace rudiments { #endif class environmentprivate; class environment { public: static const char *getValue(const char *variable); // Returns the value of "variable". static bool setValue(const char *variable, const char *value); // Sets the value of "variable" to // "value", overwriting any value that // "variable" previously had. // Returns true on success and false on // failure. static bool remove(const char *variable); // Removes "variable" from the // environment. static const char * const *variables(); // Returns a NULL terminated list of all // environment variables. Each entry in the list is // of the form NAME=VALUE. static bool clear(); // Clears the environment of all name-value // pairs. After calling this, variables() // will return NULL. static void print(); // Prints the environment variable list to // stdout. static void setMutex(mutex *mtx); // Allows you to supply a mutex if the class needs it. // If your application is not multithreaded, then // there is no need to supply a mutex. }; #ifdef RUDIMENTS_NAMESPACE } #endif #endif