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; +	}; +}  | 
 Swift