#include "PathService.hpp" #include #include #include #include #include "src/Exceptions/Exception.hpp" namespace Bloom::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(); } }