diff options
Diffstat (limited to 'SwifTools/Application/WindowsApplicationPathProvider.h')
-rw-r--r-- | SwifTools/Application/WindowsApplicationPathProvider.h | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/SwifTools/Application/WindowsApplicationPathProvider.h b/SwifTools/Application/WindowsApplicationPathProvider.h new file mode 100644 index 0000000..b3341e3 --- /dev/null +++ b/SwifTools/Application/WindowsApplicationPathProvider.h @@ -0,0 +1,38 @@ +/* + * Copyright (c) 2010 Remko Tronçon + * Licensed under the GNU General Public License v3. + * See Documentation/Licenses/GPLv3.txt for more information. + */ + +#pragma once + +#include "SwifTools/Application/ApplicationPathProvider.h" + +namespace Swift { + class WindowsApplicationPathProvider : public ApplicationPathProvider { + public: + WindowsApplicationPathProvider(const String& name); + + boost::filesystem::path getDataDir() const { + char* appDirRaw = getenv("APPDATA"); + boost::filesystem::path result(boost::filesystem::path(appDirRaw) / getApplicationName().getUTF8String()); + boost::filesystem::create_directory(result); + return result; + } + + boost::filesystem::path getHomeDir() const { + //FIXME: This should be My Documents + + char* homeDirRaw = getenv("USERPROFILE"); + return boost::filesystem::path(homeDirRaw); + } + + virtual boost::filesystem::path getExecutableDir() const; + virtual std::vector<boost::filesystem::path> getResourceDirs() const { + return resourceDirs; + } + + private: + std::vector<boost::filesystem::path> resourceDirs; + }; +} |