FileInfo::FileInfo(const std::string &dirpath, const std::string &my_filename) : filename_("") { static std::string SLASH("/"); if (!dirpath.empty()) { filename_ = dirpath; if (filename_.at(filename_.size() - 1) != '/') { filename_ += SLASH; } } filename_ += my_filename; readable_ = internal_access(filename_, R_OK); exists_ = readable_ || internal_access(filename_, F_OK); }
FileInfo::FileInfo(const char *my_filename) : filename_(std::string(my_filename)), exists_(false), readable_(false) { readable_ = internal_access(filename_, R_OK); exists_ = readable_ || internal_access(filename_, F_OK); }
//: Sets the filename void FileInfo::set_filename(const char *name) { filename_ = std::string(name); readable_ = internal_access(filename_, R_OK); exists_ = readable_ || internal_access(filename_, F_OK); }
//: Returns TRUE if the file is executable bool FileInfo::is_executable() const { return internal_access(filename_, X_OK); }
//: Returns TRUE if the file is writable bool FileInfo::is_writable() const { return internal_access(filename_, W_OK); }
FileInfo::FileInfo(const std::string &my_filename) : filename_(my_filename), exists_(false), readable_(false) { exists_ = internal_access(filename_, F_OK); readable_ = internal_access(filename_, R_OK); }
//: Sets the filename void FileInfo::set_filename(const std::string &name) { filename_ = name; exists_ = internal_access(filename_, F_OK); readable_ = internal_access(filename_, R_OK); }