From bc0901f6a2c91763fb4154a77b2b40ff2d1ba21b Mon Sep 17 00:00:00 2001 From: "Scott E. Graves" Date: Fri, 23 Aug 2024 14:25:14 -0500 Subject: [PATCH] refactor --- .cspell/words.txt | 1 + .../include/drives/fuse/fuse_base.hpp | 14 +- .../src/drives/fuse/fuse_base.cpp | 194 +++++++++--------- 3 files changed, 106 insertions(+), 103 deletions(-) diff --git a/.cspell/words.txt b/.cspell/words.txt index 829613b9..a26805ad 100644 --- a/.cspell/words.txt +++ b/.cspell/words.txt @@ -90,6 +90,7 @@ endforeach endfunction eventlib expect_streq +fallocate_impl fext fgetattr flac_version diff --git a/repertory/librepertory/include/drives/fuse/fuse_base.hpp b/repertory/librepertory/include/drives/fuse/fuse_base.hpp index b9a885c5..401e5160 100644 --- a/repertory/librepertory/include/drives/fuse/fuse_base.hpp +++ b/repertory/librepertory/include/drives/fuse/fuse_base.hpp @@ -64,15 +64,15 @@ private: struct fuse_operations fuse_ops_ {}; private: - [[nodiscard]] auto execute_callback( - std::string_view function_name, const char *from, const char *to, - const std::function - &cb, - bool disable_logging = false) -> int; + [[nodiscard]] auto + execute_callback(std::string_view function_name, const char *from, + const char *to, + const std::function &cb, + bool disable_logging = false) -> int; [[nodiscard]] auto execute_callback(std::string_view function_name, const char *path, - const std::function &cb, + const std::function &cb, bool disable_logging = false) -> int; static void execute_void_callback(std::string_view function_name, @@ -83,7 +83,7 @@ private: const std::function &cb) -> void *; void raise_fuse_event(std::string_view function_name, - const std::string &api_path, int ret, + std::string_view api_path, int ret, bool disable_logging); private: diff --git a/repertory/librepertory/src/drives/fuse/fuse_base.cpp b/repertory/librepertory/src/drives/fuse/fuse_base.cpp index 97ddbcf2..94c9a364 100644 --- a/repertory/librepertory/src/drives/fuse/fuse_base.cpp +++ b/repertory/librepertory/src/drives/fuse/fuse_base.cpp @@ -106,8 +106,8 @@ auto fuse_base::access_(const char *path, int mask) -> int { }; return instance().instance().execute_callback( - function_name, path, [&](const std::string &api_path) -> api_error { - return instance().access_impl(api_path, mask); + function_name, path, [&](std::string api_path) -> api_error { + return instance().access_impl(std::move(api_path), mask); }); } @@ -118,8 +118,8 @@ auto fuse_base::chflags_(const char *path, uint32_t flags) -> int { }; return instance().instance().execute_callback( - function_name, path, [&](const std::string &api_path) -> api_error { - return instance().chflags_impl(api_path, flags); + function_name, path, [&](std::string api_path) -> api_error { + return instance().chflags_impl(std::move(api_path), flags); }); } #endif // __APPLE__ @@ -132,8 +132,8 @@ auto fuse_base::chmod_(const char *path, mode_t mode, }; return instance().execute_callback( - function_name, path, [&](const std::string &api_path) -> api_error { - return instance().chmod_impl(api_path, mode, fi); + function_name, path, [&](std::string api_path) -> api_error { + return instance().chmod_impl(std::move(api_path) mode, fi); }); } #else @@ -143,8 +143,8 @@ auto fuse_base::chmod_(const char *path, mode_t mode) -> int { }; return instance().execute_callback( - function_name, path, [&](const std::string &api_path) -> api_error { - return instance().chmod_impl(api_path, mode); + function_name, path, [&](std::string api_path) -> api_error { + return instance().chmod_impl(std::move(api_path), mode); }); } #endif @@ -157,8 +157,8 @@ auto fuse_base::chown_(const char *path, uid_t uid, gid_t gid, }; return instance().execute_callback( - function_name, path, [&](const std::string &api_path) -> api_error { - return instance().chown_impl(api_path, uid, gid, fi); + function_name, path, [&](std::string api_path) -> api_error { + return instance().chown_impl(std::move(api_path), uid, gid, fi); }); } #else @@ -168,8 +168,8 @@ auto fuse_base::chown_(const char *path, uid_t uid, gid_t gid) -> int { }; return instance().execute_callback( - function_name, path, [&](const std::string &api_path) -> api_error { - return instance().chown_impl(api_path, uid, gid); + function_name, path, [&](std::string api_path) -> api_error { + return instance().chown_impl(std::move(api_path), uid, gid); }); } #endif @@ -181,8 +181,8 @@ auto fuse_base::create_(const char *path, mode_t mode, }; return instance().execute_callback( - function_name, path, [&](const std::string &api_path) -> api_error { - return instance().create_impl(api_path, mode, fi); + function_name, path, [&](std::string api_path) -> api_error { + return instance().create_impl(std::move(api_path), mode, fi); }); } @@ -237,7 +237,7 @@ auto fuse_base::execute_callback( auto fuse_base::execute_callback( std::string_view function_name, const char *path, - const std::function &cb, + const std::function &cb, bool disable_logging) -> int { const auto api_path = utils::path::create_api_path(path ? path : ""); const auto res = utils::from_api_error(cb(api_path)); @@ -269,8 +269,9 @@ auto fuse_base::fallocate_(const char *path, int mode, off_t offset, }; return instance().execute_callback( - function_name, path, [&](const std::string &api_path) -> api_error { - return instance().fallocate_impl(api_path, mode, offset, length, fi); + function_name, path, [&](std::string api_path) -> api_error { + return instance().fallocate_impl(std::move(api_path), mode, offset, + length, fi); }); } @@ -282,8 +283,8 @@ auto fuse_base::fgetattr_(const char *path, struct stat *st, }; return instance().execute_callback( - function_name, path, [&](const std::string &api_path) -> api_error { - return instance().fgetattr_impl(api_path, st, fi); + function_name, path, [&](std::string api_path) -> api_error { + return instance().fgetattr_impl(std::move(api_path), st, fi); }); } #endif @@ -296,8 +297,8 @@ auto fuse_base::fsetattr_x_(const char *path, struct setattr_x *attr, }; return instance().execute_callback( - function_name, path, [&](const std::string &api_path) -> api_error { - return instance().fsetattr_x_impl(api_path, attr, fi); + function_name, path, [&](std::string api_path) -> api_error { + return instance().fsetattr_x_impl(std::move(api_path), attr, fi); }); } #endif // __APPLE__ @@ -309,8 +310,8 @@ auto fuse_base::fsync_(const char *path, int datasync, }; return instance().execute_callback( - function_name, path, [&](const std::string &api_path) -> api_error { - return instance().fsync_impl(api_path, datasync, fi); + function_name, path, [&](std::string api_path) -> api_error { + return instance().fsync_impl(std::move(api_path), datasync, fi); }); } @@ -322,8 +323,8 @@ auto fuse_base::ftruncate_(const char *path, off_t size, }; return instance().execute_callback( - function_name, path, [&](const std::string &api_path) -> api_error { - return instance().ftruncate_impl(api_path, size, fi); + function_name, path, [&](std::string api_path) -> api_error { + return instance().ftruncate_impl(std::move(api_path), size, fi); }); } #endif @@ -336,8 +337,8 @@ auto fuse_base::getattr_(const char *path, struct stat *st, }; return instance().execute_callback( - function_name, path, [&](const std::string &api_path) -> api_error { - return instance().getattr_impl(api_path, st, fi); + function_name, path, [&](std::string api_path) -> api_error { + return instance().getattr_impl(std::move(api_path), st, fi); }); } #else @@ -347,8 +348,8 @@ auto fuse_base::getattr_(const char *path, struct stat *st) -> int { }; return instance().execute_callback( - function_name, path, [&](const std::string &api_path) -> api_error { - return instance().getattr_impl(api_path, st); + function_name, path, [&](std::string api_path) -> api_error { + return instance().getattr_impl(std::move(api_path), st); }); } #endif @@ -361,8 +362,8 @@ auto fuse_base::getxtimes_(const char *path, struct timespec *bkuptime, }; return instance().execute_callback( - function_name, path, [&](const std::string &api_path) -> api_error { - return instance().getxtimes_impl(api_path, bkuptime, crtime); + function_name, path, [&](std::string api_path) -> api_error { + return instance().getxtimes_impl(std::move(api_path), bkuptime, crtime); }); } #endif // __APPLE__ @@ -427,8 +428,8 @@ auto fuse_base::mkdir_(const char *path, mode_t mode) -> int { }; return instance().execute_callback( - function_name, path, [&](const std::string &api_path) -> api_error { - return instance().mkdir_impl(api_path, mode); + function_name, path, [&](std::string api_path) -> api_error { + return instance().mkdir_impl(std::move(api_path), mode); }); } @@ -486,8 +487,8 @@ auto fuse_base::open_(const char *path, struct fuse_file_info *fi) -> int { }; return instance().execute_callback( - function_name, path, [&](const std::string &api_path) -> api_error { - return instance().open_impl(api_path, fi); + function_name, path, [&](std::string api_path) -> api_error { + return instance().open_impl(std::move(api_path), fi); }); } @@ -497,8 +498,8 @@ auto fuse_base::opendir_(const char *path, struct fuse_file_info *fi) -> int { }; return instance().execute_callback( - function_name, path, [&](const std::string &api_path) -> api_error { - return instance().opendir_impl(api_path, fi); + function_name, path, [&](std::string api_path) -> api_error { + return instance().opendir_impl(std::move(api_path), fi); }); } @@ -511,9 +512,9 @@ auto fuse_base::read_(const char *path, char *buffer, size_t read_size, std::size_t bytes_read{}; const auto res = instance().execute_callback( function_name, path, - [&](const std::string &api_path) -> api_error { - return instance().read_impl(api_path, buffer, read_size, read_offset, - fi, bytes_read); + [&](std::string api_path) -> api_error { + return instance().read_impl(std::move(api_path), buffer, read_size, + read_offset, fi, bytes_read); }, true); return (res == 0) ? static_cast(bytes_read) : res; @@ -529,9 +530,9 @@ auto fuse_base::readdir_(const char *path, void *buf, }; return instance().execute_callback( - function_name, path, [&](const std::string &api_path) -> api_error { - return instance().readdir_impl(api_path, buf, fuse_fill_dir, offset, fi, - flags); + function_name, path, [&](std::string api_path) -> api_error { + return instance().readdir_impl(std::move(api_path), buf, fuse_fill_dir, + offset, fi, flags); }); } #else @@ -543,9 +544,9 @@ auto fuse_base::readdir_(const char *path, void *buf, }; return instance().execute_callback( - function_name, path, [&](const std::string &api_path) -> api_error { - return instance().readdir_impl(api_path, buf, fuse_fill_dir, offset, - fi); + function_name, path, [&](std::string api_path) -> api_error { + return instance().readdir_impl(std::move(api_path), buf, fuse_fill_dir, + offset, fi); }); } #endif @@ -556,8 +557,8 @@ auto fuse_base::release_(const char *path, struct fuse_file_info *fi) -> int { }; return instance().execute_callback( - function_name, path, [&](const std::string &api_path) -> api_error { - return instance().release_impl(api_path, fi); + function_name, path, [&](std::string api_path) -> api_error { + return instance().release_impl(std::move(api_path), fi); }); } @@ -568,8 +569,8 @@ auto fuse_base::releasedir_(const char *path, }; return instance().execute_callback( - function_name, path, [&](const std::string &api_path) -> api_error { - return instance().releasedir_impl(api_path, fi); + function_name, path, [&](std::string api_path) -> api_error { + return instance().releasedir_impl(std::move(api_path), fi); }); } @@ -608,8 +609,8 @@ auto fuse_base::rmdir_(const char *path) -> int { }; return instance().execute_callback( - function_name, path, [&](const std::string &api_path) -> api_error { - return instance().rmdir_impl(api_path); + function_name, path, [&](std::string api_path) -> api_error { + return instance().rmdir_impl(std::move(api_path)); }); } @@ -623,9 +624,9 @@ auto fuse_base::getxattr_(const char *path, const char *name, char *value, int attribute_size = 0; const auto res = instance().execute_callback( - function_name, path, [&](const std::string &api_path) -> api_error { - return instance().getxattr_impl(api_path, name, value, size, position, - attribute_size); + function_name, path, [&](std::string api_path) -> api_error { + return instance().getxattr_impl(std::move(api_path), name, value, size, + position, attribute_size); }); return res == 0 ? attribute_size : res; @@ -639,8 +640,8 @@ auto fuse_base::getxattr_(const char *path, const char *name, char *value, int attribute_size = 0; const auto res = instance().execute_callback( - function_name, path, [&](const std::string &api_path) -> api_error { - return instance().getxattr_impl(api_path, name, value, size, + function_name, path, [&](std::string api_path) -> api_error { + return instance().getxattr_impl(std::move(api_path), name, value, size, attribute_size); }); @@ -657,9 +658,9 @@ auto fuse_base::listxattr_(const char *path, char *buffer, size_t size) -> int { bool return_size = false; const auto res = instance().execute_callback( - function_name, path, [&](const std::string &api_path) -> api_error { - return instance().listxattr_impl(api_path, buffer, size, required_size, - return_size); + function_name, path, [&](std::string api_path) -> api_error { + return instance().listxattr_impl(std::move(api_path), buffer, size, + required_size, return_size); }); return return_size ? required_size : res; @@ -752,7 +753,7 @@ auto fuse_base::parse_args(std::vector &args) -> int { } void fuse_base::raise_fuse_event(std::string_view function_name, - const std::string &api_path, int ret, + std::string_view api_path, int ret, bool disable_logging) { if ((ret >= 0) && disable_logging) { return; @@ -766,7 +767,7 @@ void fuse_base::raise_fuse_event(std::string_view function_name, (config_.get_event_level() >= event_level::trace)) { std::string func{function_name}; event_system::instance().raise( - utils::string::right_trim(func, '_'), api_path, ret); + utils::string::right_trim(func, '_'), std::string{api_path}, ret); } } @@ -776,8 +777,8 @@ auto fuse_base::removexattr_(const char *path, const char *name) -> int { }; return instance().execute_callback( - function_name, path, [&](const std::string &api_path) -> api_error { - return instance().removexattr_impl(api_path, name); + function_name, path, [&](std::string api_path) -> api_error { + return instance().removexattr_impl(std::move(api_path), name); }); } @@ -789,9 +790,9 @@ auto fuse_base::setxattr_(const char *path, const char *name, const char *value, }; const auto res = instance().execute_callback( - function_name, path, [&](const std::string &api_path) -> api_error { - return instance().setxattr_impl(api_path, name, value, size, flags, - position); + function_name, path, [&](std::string api_path) -> api_error { + return instance().setxattr_impl(std::move(api_path), name, value, size, + flags, position); }); if (res != 0) { errno = std::abs(res); @@ -807,8 +808,9 @@ auto fuse_base::setxattr_(const char *path, const char *name, const char *value, }; const auto res = instance().execute_callback( - function_name, path, [&](const std::string &api_path) -> api_error { - return instance().setxattr_impl(api_path, name, value, size, flags); + function_name, path, [&](std::string api_path) -> api_error { + return instance().setxattr_impl(std::move(api_path), name, value, size, + flags); }); if (res != 0) { errno = std::abs(res); @@ -832,8 +834,8 @@ auto fuse_base::setattr_x_(const char *path, struct setattr_x *attr) -> int { }; return instance().execute_callback( - function_name, path, [&](const std::string &api_path) -> api_error { - return instance().setattr_x_impl(api_path, attr); + function_name, path, [&](std::string api_path) -> api_error { + return instance().setattr_x_impl(std::move(api_path), attr); }); } @@ -844,8 +846,8 @@ auto fuse_base::setbkuptime_(const char *path, }; return instance().execute_callback( - function_name, path, [&](const std::string &api_path) -> api_error { - return instance().setbkuptime_impl(api_path, bkuptime); + function_name, path, [&](std::string api_path) -> api_error { + return instance().setbkuptime_impl(std::move(api_path), bkuptime); }); } @@ -856,8 +858,8 @@ auto fuse_base::setchgtime_(const char *path, }; return instance().execute_callback( - function_name, path, [&](const std::string &api_path) -> api_error { - return instance().setchgtime_impl(api_path, chgtime); + function_name, path, [&](std::string api_path) -> api_error { + return instance().setchgtime_impl(std::move(api_path), chgtime); }); } @@ -868,8 +870,8 @@ auto fuse_base::setcrtime_(const char *path, }; return instance().execute_callback( - function_name, path, [&](const std::string &api_path) -> api_error { - return instance().setcrtime_impl(api_path, crtime); + function_name, path, [&](std::string api_path) -> api_error { + return instance().setcrtime_impl(std::move(api_path), crtime); }); } @@ -879,8 +881,8 @@ auto fuse_base::setvolname_(const char *volname) -> int { }; return instance().execute_callback( - function_name, volname, [&](const std::string &api_path) -> api_error { - return instance().setvolname_impl(volname); + function_name, volname, [&](std::string api_path) -> api_error { + return instance().setvolname_impl(std::move(volname)); }); } @@ -890,8 +892,8 @@ auto fuse_base::statfs_x_(const char *path, struct statfs *stbuf) -> int { }; return instance().execute_callback( - function_name, path, [&](const std::string &api_path) -> api_error { - return instance().statfs_x_impl(api_path, stbuf); + function_name, path, [&](std::string api_path) -> api_error { + return instance().statfs_x_impl(std::move(api_path), stbuf); }); } #else // __APPLE__ @@ -901,8 +903,8 @@ auto fuse_base::statfs_(const char *path, struct statvfs *stbuf) -> int { }; return instance().execute_callback( - function_name, path, [&](const std::string &api_path) -> api_error { - return instance().statfs_impl(api_path, stbuf); + function_name, path, [&](std::string api_path) -> api_error { + return instance().statfs_impl(std::move(api_path), stbuf); }); } #endif // __APPLE__ @@ -915,8 +917,8 @@ auto fuse_base::truncate_(const char *path, off_t size, }; return instance().execute_callback( - function_name, path, [&](const std::string &api_path) -> api_error { - return instance().truncate_impl(api_path, size, fi); + function_name, path, [&](std::string api_path) -> api_error { + return instance().truncate_impl(std::move(api_path), size, fi); }); } #else @@ -926,8 +928,8 @@ auto fuse_base::truncate_(const char *path, off_t size) -> int { }; return instance().execute_callback( - function_name, path, [&](const std::string &api_path) -> api_error { - return instance().truncate_impl(api_path, size); + function_name, path, [&](std::string api_path) -> api_error { + return instance().truncate_impl(std::move(api_path), size); }); } #endif @@ -938,8 +940,8 @@ auto fuse_base::unlink_(const char *path) -> int { }; return instance().execute_callback( - function_name, path, [&](const std::string &api_path) -> api_error { - return instance().unlink_impl(api_path); + function_name, path, [&](std::string api_path) -> api_error { + return instance().unlink_impl(std::move(api_path)); }); } @@ -965,8 +967,8 @@ auto fuse_base::utimens_(const char *path, const struct timespec tv[2], }; return instance().execute_callback( - function_name, path, [&](const std::string &api_path) -> api_error { - return instance().utimens_impl(api_path, tv, fi); + function_name, path, [&](std::string api_path) -> api_error { + return instance().utimens_impl(std::move(api_path), tv, fi); }); } #else @@ -976,8 +978,8 @@ auto fuse_base::utimens_(const char *path, const struct timespec tv[2]) -> int { }; return instance().execute_callback( - function_name, path, [&](const std::string &api_path) -> api_error { - return instance().utimens_impl(api_path, tv); + function_name, path, [&](std::string api_path) -> api_error { + return instance().utimens_impl(std::move(api_path), tv); }); } #endif @@ -992,9 +994,9 @@ auto fuse_base::write_(const char *path, const char *buffer, size_t write_size, const auto res = instance().execute_callback( function_name, path, - [&](const std::string &api_path) -> api_error { - return instance().write_impl(api_path, buffer, write_size, write_offset, - fi, bytes_written); + [&](std::string api_path) -> api_error { + return instance().write_impl(std::move(api_path), buffer, write_size, + write_offset, fi, bytes_written); }, true); return (res == 0) ? static_cast(bytes_written) : res;