MySQL 8.0.40
Source Code Documentation
filesystem-posix.cc File Reference
#include "mysql/harness/filesystem.h"
#include <cassert>
#include <cerrno>
#include <climits>
#include <cstring>
#include <fstream>
#include <sstream>
#include <stdexcept>
#include <system_error>
#include <dirent.h>
#include <fcntl.h>
#include <fnmatch.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <unistd.h>
#include "mysql/harness/access_rights.h"
#include "mysql/harness/stdx/expected.h"

Classes

class  mysql_harness::Directory::DirectoryIterator::State
 
struct  mysql_harness::Directory::DirectoryIterator::State::free_dealloc
 

Namespaces

namespace  anonymous_namespace{filesystem-posix.cc}
 
namespace  mysql_harness
 

Functions

const std::string anonymous_namespace{filesystem-posix.cc}::dirsep ("/")
 
const std::string anonymous_namespace{filesystem-posix.cc}::extsep (".")
 
HARNESS_EXPORT stdx::expected< void, std::error_code > mysql_harness::delete_dir (const std::string &dir) noexcept
 Removes a directory. More...
 
HARNESS_EXPORT stdx::expected< void, std::error_code > mysql_harness::delete_file (const std::string &path) noexcept
 Removes a file. More...
 
HARNESS_EXPORT std::string mysql_harness::get_tmp_dir (const std::string &name="router")
 Creates a temporary directory with partially-random name and returns its path. More...
 
int mysql_harness::mkdir_wrapper (const std::string &dir, perm_mode mode)
 
void HARNESS_EXPORT mysql_harness::make_file_public (const std::string &file_name)
 Changes file access permissions to be fully accessible by all users. More...
 
void HARNESS_EXPORT mysql_harness::make_file_private (const std::string &file_name, const bool read_only_for_local_service=true)
 Changes file access permissions to be accessible only by a limited set of users. More...
 
void HARNESS_EXPORT mysql_harness::make_file_readonly (const std::string &file_name)
 Changes file access permissions to be read only. More...