Files
BloomPatched/src/Services/PathService.cpp

22 lines
578 B
C++
Raw Normal View History

#include "PathService.hpp"
2021-10-02 17:39:27 +01:00
#include <unistd.h>
#include <array>
#include <filesystem>
#include <climits>
2021-10-02 17:39:27 +01:00
#include "src/Exceptions/Exception.hpp"
namespace Services
{
std::string PathService::applicationDirPath() {
auto pathCharArray = std::array<char, PATH_MAX>{};
2023-08-20 18:50:14 +01:00
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();
}
}