diff options
Diffstat (limited to 'src/common')
-rw-r--r-- | src/common/path.cc | 40 | ||||
-rw-r--r-- | src/common/path.h | 26 |
2 files changed, 66 insertions, 0 deletions
diff --git a/src/common/path.cc b/src/common/path.cc new file mode 100644 index 0000000..d9fc332 --- /dev/null +++ b/src/common/path.cc @@ -0,0 +1,40 @@ +/* + common/path.cc + This file is part of the Osirion project and is distributed under + the terms of the GNU General Public License version 2 +*/ + +// project headers +#include "path.h" +#include "console.h" + +#ifdef _WIN32 +#include <dlfcn.h> +#else +#include <sys/stat.h> +#endif + +namespace common { + +void Path::create(std::string path) +{ + std::string tmp(path); + if (tmp[tmp.size()-1] == '/') + tmp = tmp.substr(0, tmp.size() - 1); + +#ifdef _WIN32 + mkdir(tmp.c_str()); +#else + if (!mkdir(tmp.c_str(), 0777)) + conwarn << "Could not create directory " << tmp << std::endl; + else + condebug << "Path created " << tmp << std::endl; +#endif +} + +bool Path::exists(std::string path) +{ + return false; +} + +} diff --git a/src/common/path.h b/src/common/path.h new file mode 100644 index 0000000..43b07d2 --- /dev/null +++ b/src/common/path.h @@ -0,0 +1,26 @@ +/* + common/path.h + This file is part of the Osirion project and is distributed under + the terms of the GNU General Public License version 2 +*/ + +#ifndef __INCLUDED_PATH_H__ +#define __INCLUDED_PATH_H__ + +// C++ headers +#include <string> +#include <fstream> + +namespace common { + +/// a class to create directories +class Path +{ +public: + static bool exists(std::string path); + static void create(std::string path); +}; // class Path + +} // namespace common + +#endif // __INCLUDED_PATH_H__ |