summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'SwifTools/Application/WindowsApplicationPathProvider.cpp')
-rw-r--r--SwifTools/Application/WindowsApplicationPathProvider.cpp21
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);
+}
+
+
}