diff options
Diffstat (limited to 'Swiften/Application/UnixApplicationPathProvider.h')
| -rw-r--r-- | Swiften/Application/UnixApplicationPathProvider.h | 36 | 
1 files changed, 36 insertions, 0 deletions
| diff --git a/Swiften/Application/UnixApplicationPathProvider.h b/Swiften/Application/UnixApplicationPathProvider.h new file mode 100644 index 0000000..04387f7 --- /dev/null +++ b/Swiften/Application/UnixApplicationPathProvider.h @@ -0,0 +1,36 @@ +/* + * 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 "Swiften/Application/ApplicationPathProvider.h" + +#include <iostream> + +namespace Swift { +	class UnixApplicationPathProvider : public ApplicationPathProvider { +		public: +			UnixApplicationPathProvider(const String& name) : ApplicationPathProvider(name) { +			} + +			virtual boost::filesystem::path getHomeDir() const { +				return boost::filesystem::path(getenv("HOME")); +			} + +			boost::filesystem::path getSettingsDir() const { +				boost::filesystem::path result(getHomeDir() / ("." + getName().getLowerCase().getUTF8String())); +				try { +					boost::filesystem::create_directory(result); +				} +				catch (const boost::filesystem::filesystem_error& e) { +					std::cerr << "ERROR: " << e.what() << std::endl; +				} +				return result; +			} +	}; +} + +#endif | 
 Swift
 Swift