diff options
Diffstat (limited to 'SwifTools/Application/WindowsApplicationPathProvider.cpp')
-rw-r--r-- | SwifTools/Application/WindowsApplicationPathProvider.cpp | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/SwifTools/Application/WindowsApplicationPathProvider.cpp b/SwifTools/Application/WindowsApplicationPathProvider.cpp index 8514fa7..2c61208 100644 --- a/SwifTools/Application/WindowsApplicationPathProvider.cpp +++ b/SwifTools/Application/WindowsApplicationPathProvider.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2010 Remko Tronçon + * Copyright (c) 2010-2013 Remko Tronçon * Licensed under the GNU General Public License v3. * See Documentation/Licenses/GPLv3.txt for more information. */ @@ -7,6 +7,8 @@ #include <SwifTools/Application/WindowsApplicationPathProvider.h> #include <windows.h> +#include <cassert> +#include <Swiften/Base/String.h> namespace Swift { @@ -15,4 +17,21 @@ WindowsApplicationPathProvider::WindowsApplicationPathProvider(const std::string resourceDirs.push_back(getExecutableDir() / "../resources"); // Development } +boost::filesystem::path WindowsApplicationPathProvider::getDataDir() const { + wchar_t* appDirRaw = _wgetenv(L"APPDATA"); + assert(appDirRaw); + boost::filesystem::path result( + boost::filesystem::path(appDirRaw) / getApplicationName()); + boost::filesystem::create_directory(result); + return result; +} + +boost::filesystem::path WindowsApplicationPathProvider::getHomeDir() const { + //FIXME: This should be My Documents + wchar_t* homeDirRaw = _wgetenv(L"USERPROFILE"); + assert(homeDirRaw); + return boost::filesystem::path(homeDirRaw); +} + + } |