libzypp 17.37.17
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.
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.