// 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 environment { public: ~environment(); const char *getValue(const char *variable) const; // Returns the value of "variable". 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. 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. #ifdef RUDIMENTS_HAS_THREADS static void setMutex(pthread_mutex_t *mutex); // 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. #endif #include <rudiments/private/environment.h> }; #ifdef RUDIMENTS_NAMESPACE } #endif #endif