App: refactor to use unique_ptr

Also address other reviewer comments.
This commit is contained in:
Chris Hennes
2025-08-26 19:09:33 -05:00
committed by Chris Hennes
parent c1805413e0
commit fa98beb221
5 changed files with 104 additions and 28 deletions

View File

@@ -186,7 +186,7 @@ Base::ConsoleObserverStd *Application::_pConsoleObserverStd = nullptr;
Base::ConsoleObserverFile *Application::_pConsoleObserverFile = nullptr;
AppExport std::map<std::string, std::string> Application::mConfig;
std::shared_ptr<ApplicationDirectories> Application::_appDirs;
std::unique_ptr<ApplicationDirectories> Application::_appDirs;
//**************************************************************************
@@ -1142,7 +1142,7 @@ bool Application::isDevelopmentVersion()
return suffix == "dev";
}
std::shared_ptr<ApplicationDirectories> Application::directories() {
const std::unique_ptr<ApplicationDirectories>& Application::directories() {
return _appDirs;
}
@@ -1153,10 +1153,7 @@ std::string Application::getTempPath()
std::string Application::getTempFileName(const char* FileName)
{
if (FileName) {
return Base::FileInfo::pathToString(_appDirs->getTempFileName(FileName));
}
return Base::FileInfo::pathToString(_appDirs->getTempFileName(std::string()));
return Base::FileInfo::pathToString(_appDirs->getTempFileName(FileName ? FileName : std::string()));
}
std::string Application::getUserCachePath()
@@ -2573,7 +2570,7 @@ void Application::initConfig(int argc, char ** argv)
}
// extract home paths
_appDirs = std::make_shared<ApplicationDirectories>(mConfig);
_appDirs = std::make_unique<ApplicationDirectories>(mConfig);
if (vm.contains("safe-mode")) {
SafeMode::StartSafeMode();