libzypp 17.38.3
PathInfo.cc File Reference
#include <utime.h>
#include <sys/statvfs.h>
#include <sys/sysmacros.h>
#include <iostream>
#include <fstream>
#include <iomanip>
#include <utility>
#include <zypp-core/fs/PathInfo.h>
#include <zypp-core/base/LogTools.h>
#include <zypp-core/base/String.h>
#include <zypp-core/base/IOStream.h>
#include <zypp-core/base/Errno.h>
#include <zypp-core/AutoDispose.h>
#include <zypp-core/ExternalProgram.h>
#include <zypp-core/Digest.h>
#include <zypp-core/fs/TmpPath.h>
Include dependency graph for PathInfo.cc:

Go to the source code of this file.

Namespaces

namespace  zypp
 Easy-to use interface to the ZYPP dependency resolver.
namespace  zypp::filesystem
 Types and functions for filesystem operations.

Macros

#define EMUMOUT(T)
#define logResult(...)

Functions

std::ostream & zypp::filesystem::operator<< (std::ostream &str, FileType obj)
std::ostream & zypp::filesystem::operator<< (std::ostream &str, const StatMode &obj)
std::ostream & zypp::filesystem::operator<< (std::ostream &str, const PathInfo &obj)
static int zypp::filesystem::recursive_rmdir_1 (const Pathname &dir, bool removeDir=true)
template<typename F>
int zypp::filesystem::dirForEachImpl (const Pathname &dir_r, F &&fnc_r)
Directory related functions.
bool zypp::filesystem::userMayWriteOrCreateDir (const Pathname &path_r)
 Returns whether path_r denotes an existing directory with write permission for the current user or an existing parent directory has write permission for the current user so the directory can be created by him.
int zypp::filesystem::mkdir (const Pathname &path, unsigned mode=0755) ZYPP_API
 Like '::mkdir'.
int zypp::filesystem::assert_dir (const Pathname &path, unsigned mode=0755) ZYPP_API
 Like 'mkdir -p'.
int zypp::filesystem::rmdir (const Pathname &path) ZYPP_API
 Like '::rmdir'.
int zypp::filesystem::recursive_rmdir (const Pathname &path) ZYPP_API
 Like 'rm -r DIR'.
int zypp::filesystem::clean_dir (const Pathname &path) ZYPP_API
 Like 'rm -r DIR/ *'.
int zypp::filesystem::copy_dir (const Pathname &srcpath, const Pathname &destpath) ZYPP_API
 Like 'cp -a srcpath destpath'.
int zypp::filesystem::copy_dir_content (const Pathname &srcpath, const Pathname &destpath) ZYPP_API
 Like 'cp -a srcpath/.
int zypp::filesystem::dirForEach (const Pathname &dir_r, const function< bool(const Pathname &, const char *const)> &fnc_r) ZYPP_API
 Invoke callback function fnc_r for each entry in directory dir_r.
int zypp::filesystem::dirForEachExt (const Pathname &dir_r, const function< bool(const Pathname &, const DirEntry &)> &fnc_r) ZYPP_API
 Simiar to.
int zypp::filesystem::readdir (std::list< std::string > &retlist, const Pathname &path, bool dots=true) ZYPP_API
 Return content of directory via retlist.
int zypp::filesystem::readdir (std::list< Pathname > &retlist, const Pathname &path, bool dots=true) ZYPP_API
 Return content of directory via retlist.
int zypp::filesystem::readdir (DirContent &retlist, const Pathname &path, bool dots=true, PathInfo::Mode statmode=PathInfo::STAT) ZYPP_API
 Return content of directory via retlist.
std::ostream & zypp::filesystem::operator<< (std::ostream &str, const DirContent &obj)
int zypp::filesystem::is_empty_dir (const Pathname &path) ZYPP_API
 Check if the specified directory is empty.
File related functions.
int zypp::filesystem::unlink (const Pathname &path) ZYPP_API
 Like '::unlink'.
int zypp::filesystem::rename (const Pathname &oldpath, const Pathname &newpath) ZYPP_API
 Like '::rename'.
int zypp::filesystem::exchange (const Pathname &lpath, const Pathname &rpath)
 Exchanges two files or directories.
int zypp::filesystem::copy (const Pathname &file, const Pathname &dest) ZYPP_API
 Like 'cp file dest'.
int zypp::filesystem::symlink (const Pathname &oldpath, const Pathname &newpath) ZYPP_API
 Like '::symlink'.
int zypp::filesystem::hardlink (const Pathname &oldpath, const Pathname &newpath) ZYPP_API
 Like '::link'.
int zypp::filesystem::hardlinkCopy (const Pathname &oldpath, const Pathname &newpath) ZYPP_API
 Create newpath as hardlink or copy of oldpath.
int zypp::filesystem::readlink (const Pathname &symlink_r, Pathname &target_r)
 Like '::readlink'.
Pathname zypp::filesystem::expandlink (const Pathname &path_r) ZYPP_API
 Recursively follows the symlink pointed to by path_r and returns the Pathname to the real file or directory pointed to by the link.
int zypp::filesystem::copy_file2dir (const Pathname &file, const Pathname &dest)
 Like 'cp file dest'.
int zypp::filesystem::assert_file (const Pathname &path, unsigned mode=0644) ZYPP_API
 Create an empty file if it does not yet exist.
int zypp::filesystem::assert_file_mode (const Pathname &path, unsigned mode=0644) ZYPP_API
 Like assert_file but enforce mode even if the file already exists.
int zypp::filesystem::touch (const Pathname &path) ZYPP_API
 Change file's modification and access times.
Digest computaion.
Todo
check cooperation with zypp::Digest
std::string zypp::filesystem::md5sum (const Pathname &file)
 Compute a files md5sum.
std::string zypp::filesystem::sha1sum (const Pathname &file)
 Compute a files sha1sum.
std::string zypp::filesystem::checksum (const Pathname &file, const std::string &algorithm)
 Compute a files checksum.
bool zypp::filesystem::is_checksum (const Pathname &file, const CheckSum &checksum)
 check files checksum
Misc.
int zypp::filesystem::erase (const Pathname &path)
 Erase whatever happens to be located at path (file or directory).
ZIP_TYPE zypp::filesystem::zipType (const Pathname &file)
ByteCount zypp::filesystem::df (const Pathname &path)
 Report free disk space on a mounted file system.
mode_t zypp::filesystem::getUmask ()
 Get the current umask (file mode creation mask).
Changing permissions.
int zypp::filesystem::chmod (const Pathname &path, mode_t mode)
 Like '::chmod'.
int zypp::filesystem::chmodApplyUmask (const Pathname &path, mode_t mode)
 Similar to '::chmod', but mode is modified by the process's umask in the usual way.
int zypp::filesystem::addmod (const Pathname &path, mode_t mode)
 Add the mode bits to the file given by path.
int zypp::filesystem::delmod (const Pathname &path, mode_t mode)
 Remove the mode bits from the file given by path.

Variables

template<class... T>
constexpr bool zypp::filesystem::always_false = false

Macro Definition Documentation

◆ EMUMOUT

#define EMUMOUT ( T)
Value:
case T: return str << #T; break
String related utilities and Regular expression matching.

◆ logResult

#define logResult ( ...)
Value:
doLogResult( __FUNCTION__, __LINE__, __VA_ARGS__ )

Definition at line 285 of file PathInfo.cc.