00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef __UTIL_H__
00022 #define __UTIL_H__
00023
00024 #include <string>
00025 #include <list>
00026 #include "compressed.h"
00027 #include "utilException.h"
00028 #include <boost/filesystem/operations.hpp>
00029 #include <boost/filesystem/exception.hpp>
00030
00031 namespace Spm
00032 {
00033 namespace Util
00034 {
00038 std::string getUserName ();
00039
00043 boost::filesystem::path getUserHome ();
00044
00049 boost::filesystem::path getUserHome (const std::string & user)
00050 throw (UnknownUserException);
00051
00055 boost::filesystem::path getSpmUserDir ();
00056
00061 boost::filesystem::path getSpmUserDir (const std::string & user);
00062
00066 bool isRoot ();
00067
00073 Compressed * getCompressed (const boost::filesystem::path & file);
00074
00079 void checkSpmDir (const boost::filesystem::path & dir);
00080
00086 bool haveEnoughRight (const boost::filesystem::path & dir);
00087
00093 std::string intToStr (unsigned long nb);
00094
00100 inline bool checkPath(const boost::filesystem::path & path)
00101 {
00102 try
00103 {
00104 return boost::filesystem::exists(path);
00105 }
00106 catch (boost::filesystem::filesystem_error & fse)
00107 {
00108 return false;
00109 }
00110 }
00111 }
00112 }
00113 #endif