#include <iostream>
#ifdef WIN32
-#include <windows.h> /* GetModuleFileName */
-#include <io.h>
+ #include <windows.h> /* GetModuleFileName */
+ #include <io.h>
+
#endif /* WIN32 */
+#ifdef LINUX
+ #include <sys/types.h>
+ #include <sys/stat.h>
+ #include <errno.h>
+#endif
+
#ifdef __APPLE__ /* assume this is OSX */
#include <sys/param.h>
#include <mach-o/dyld.h> /* _NSGetExecutablePath : must add -framework
}
return name;
}
+
+ void System::createDirectory(const char* directorypath){
+ #ifdef WIN32
+ //TODO
+ CreateDirectory(directorypath);
+ #endif
+ #ifdef LINUX
+ //! include sys/types.h
+ //! include sys/stat.h
+ //! int mkdir(const char *path, mode_t mode);
+ //! read/write/search permissions for owner and group, and with read/search permissions for others S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH
+ int returnval = mkdir(directorypath, S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH);
+
+ if(returnval != 0){
+ if(errno == EEXIST){
+ std::cout<<"directory already exists "<<directorypath<<std::endl;
+ }else{
+ std::string error = "Directory could not be created ";
+ error.append(directorypath);
+ throw error.c_str();
+ }
+ }
+ #endif
+ #ifdef MACOSX
+ //TODO
+ #endif
+ }
} // namespace crea
Program: crea
Module: $RCSfile: creaSystem.h,v $
Language: C++
- Date: $Date: 2010/04/20 12:19:46 $
- Version: $Revision: 1.11 $
+ Date: $Date: 2010/06/11 05:06:46 $
+ Version: $Revision: 1.12 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
CREA_EXPORT static std::string GetDllAppPath(std::string &nomdll);
CREA_EXPORT static std::string GetDllAppPath(const char *nomdll);
CREA_EXPORT static std::string GetExecutablePath();
+ CREA_EXPORT static void createDirectory(const char* directorypath);
};
} // namespace crea