|
|
@ -31,8 +31,6 @@ |
|
|
|
/* Define this for python-apt */ |
|
|
|
#define APT_HAS_GZIP 1 |
|
|
|
|
|
|
|
using std::string; |
|
|
|
|
|
|
|
class FileFd |
|
|
|
{ |
|
|
|
protected: |
|
|
@ -41,8 +39,8 @@ class FileFd |
|
|
|
enum LocalFlags {AutoClose = (1<<0),Fail = (1<<1),DelOnFail = (1<<2), |
|
|
|
HitEof = (1<<3), Replace = (1<<4) }; |
|
|
|
unsigned long Flags; |
|
|
|
string FileName; |
|
|
|
string TemporaryFileName; |
|
|
|
std::string FileName; |
|
|
|
std::string TemporaryFileName; |
|
|
|
gzFile gz; |
|
|
|
|
|
|
|
public: |
|
|
@ -79,7 +77,7 @@ class FileFd |
|
|
|
return T; |
|
|
|
} |
|
|
|
|
|
|
|
bool Open(string FileName,OpenMode Mode,unsigned long Perms = 0666); |
|
|
|
bool Open(std::string FileName,OpenMode Mode,unsigned long Perms = 0666); |
|
|
|
bool OpenDescriptor(int Fd, OpenMode Mode, bool AutoClose=false); |
|
|
|
bool Close(); |
|
|
|
bool Sync(); |
|
|
@ -93,9 +91,9 @@ class FileFd |
|
|
|
inline void EraseOnFailure() {Flags |= DelOnFail;}; |
|
|
|
inline void OpFail() {Flags |= Fail;}; |
|
|
|
inline bool Eof() {return (Flags & HitEof) == HitEof;}; |
|
|
|
inline string &Name() {return FileName;}; |
|
|
|
inline std::string &Name() {return FileName;}; |
|
|
|
|
|
|
|
FileFd(string FileName,OpenMode Mode,unsigned long Perms = 0666) : iFd(-1), |
|
|
|
FileFd(std::string FileName,OpenMode Mode,unsigned long Perms = 0666) : iFd(-1), |
|
|
|
Flags(0), gz(NULL) |
|
|
|
{ |
|
|
|
Open(FileName,Mode,Perms); |
|
|
@ -107,12 +105,12 @@ class FileFd |
|
|
|
|
|
|
|
bool RunScripts(const char *Cnf); |
|
|
|
bool CopyFile(FileFd &From,FileFd &To); |
|
|
|
int GetLock(string File,bool Errors = true); |
|
|
|
bool FileExists(string File); |
|
|
|
bool RealFileExists(string File); |
|
|
|
bool DirectoryExists(string const &Path) __attrib_const; |
|
|
|
bool CreateDirectory(string const &Parent, string const &Path); |
|
|
|
time_t GetModificationTime(string const &Path); |
|
|
|
int GetLock(std::string File,bool Errors = true); |
|
|
|
bool FileExists(std::string File); |
|
|
|
bool RealFileExists(std::string File); |
|
|
|
bool DirectoryExists(std::string const &Path) __attrib_const; |
|
|
|
bool CreateDirectory(std::string const &Parent, std::string const &Path); |
|
|
|
time_t GetModificationTime(std::string const &Path); |
|
|
|
|
|
|
|
/** \brief Ensure the existence of the given Path
|
|
|
|
* |
|
|
@ -120,13 +118,13 @@ time_t GetModificationTime(string const &Path); |
|
|
|
* /apt/ will be removed before CreateDirectory call. |
|
|
|
* \param Path which should exist after (successful) call |
|
|
|
*/ |
|
|
|
bool CreateAPTDirectoryIfNeeded(string const &Parent, string const &Path); |
|
|
|
bool CreateAPTDirectoryIfNeeded(std::string const &Parent, std::string const &Path); |
|
|
|
|
|
|
|
std::vector<string> GetListOfFilesInDir(string const &Dir, string const &Ext, |
|
|
|
std::vector<std::string> GetListOfFilesInDir(std::string const &Dir, std::string const &Ext, |
|
|
|
bool const &SortList, bool const &AllowNoExt=false); |
|
|
|
std::vector<string> GetListOfFilesInDir(string const &Dir, std::vector<string> const &Ext, |
|
|
|
std::vector<std::string> GetListOfFilesInDir(std::string const &Dir, std::vector<std::string> const &Ext, |
|
|
|
bool const &SortList); |
|
|
|
string SafeGetCWD(); |
|
|
|
std::string SafeGetCWD(); |
|
|
|
void SetCloseExec(int Fd,bool Close); |
|
|
|
void SetNonBlock(int Fd,bool Block); |
|
|
|
bool WaitFd(int Fd,bool write = false,unsigned long timeout = 0); |
|
|
@ -134,10 +132,10 @@ pid_t ExecFork(); |
|
|
|
bool ExecWait(pid_t Pid,const char *Name,bool Reap = false); |
|
|
|
|
|
|
|
// File string manipulators
|
|
|
|
string flNotDir(string File); |
|
|
|
string flNotFile(string File); |
|
|
|
string flNoLink(string File); |
|
|
|
string flExtension(string File); |
|
|
|
string flCombine(string Dir,string File); |
|
|
|
std::string flNotDir(std::string File); |
|
|
|
std::string flNotFile(std::string File); |
|
|
|
std::string flNoLink(std::string File); |
|
|
|
std::string flExtension(std::string File); |
|
|
|
std::string flCombine(std::string Dir,std::string File); |
|
|
|
|
|
|
|
#endif |
|
|
|