#include "PathService.hpp" #include #include #include #include #include "src/Exceptions/Exception.hpp" namespace Services { std::string PathService::applicationDirPath() { auto pathCharArray = std::array{}; if (::readlink("/proc/self/exe", pathCharArray.data(), PATH_MAX) < 0) { throw Exceptions::Exception{"Failed to obtain application directory path."}; } return std::filesystem::path{std::string{pathCharArray.begin(), pathCharArray.end()}}.parent_path(); } }