MySQL 9.1.0
Source Code Documentation
|
#include "mysql/harness/filesystem.h"
#include <direct.h>
#include <shlwapi.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <windows.h>
#include <array>
#include <cassert>
#include <cerrno>
#include <cstring>
#include <fstream>
#include <memory>
#include <random>
#include <sstream>
#include <stdexcept>
#include <string>
#include <system_error>
#include "mysql/harness/access_rights.h"
#include "mysql/harness/stdx/expected.h"
Classes | |
class | mysql_harness::Directory::DirectoryIterator::State |
Namespaces | |
namespace | anonymous_namespace{filesystem-windows.cc} |
namespace | mysql_harness |
Functions | |
const std::string | anonymous_namespace{filesystem-windows.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) |
static stdx::expected< void, std::error_code > | mysql_harness::make_file_private_win32 (const std::string &filename, const bool read_only_for_local_service) |
Makes a file fully accessible by the current process user and (read only or read/write depending on the second argument) for LocalService account (which is the account under which the MySQL router runs as service). More... | |
static stdx::expected< void, std::error_code > | mysql_harness::set_everyone_group_access_rights (const std::string &file_name, DWORD mask) |
Sets file permissions for Everyone group. More... | |
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 | mysql_harness::make_file_readable_for_everyone (const std::string &file_name) |
void HARNESS_EXPORT | mysql_harness::make_file_readonly (const std::string &file_name) |
Changes file access permissions to be read only. More... | |