diff options
Diffstat (limited to 'SwifTools/Application/ApplicationPathProvider.h')
| -rw-r--r-- | SwifTools/Application/ApplicationPathProvider.h | 36 | 
1 files changed, 36 insertions, 0 deletions
diff --git a/SwifTools/Application/ApplicationPathProvider.h b/SwifTools/Application/ApplicationPathProvider.h new file mode 100644 index 0000000..7bd2630 --- /dev/null +++ b/SwifTools/Application/ApplicationPathProvider.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 <boost/filesystem.hpp> +#include <vector> + +#include "Swiften/Base/String.h" + +namespace Swift { +	class ApplicationPathProvider { +		public: +			ApplicationPathProvider(const String& applicationName); +			virtual ~ApplicationPathProvider(); + +			boost::filesystem::path getAvatarDir() const; +			virtual boost::filesystem::path getHomeDir() const = 0; +			virtual boost::filesystem::path getDataDir() const = 0; +			virtual boost::filesystem::path getExecutableDir() const = 0; +			boost::filesystem::path getProfileDir(const String& profile) const; +			boost::filesystem::path getResourcePath(const String& resource) const; + +		protected: +			virtual std::vector<boost::filesystem::path> getResourceDirs() const = 0; +			const String& getApplicationName() const { +				return applicationName; +			} + +		private: +			String applicationName; +	}; +}  | 
 Swift