diff options
Diffstat (limited to 'Swiften/Application/UnixApplicationPathProvider.h')
| -rw-r--r-- | Swiften/Application/UnixApplicationPathProvider.h | 46 | 
1 files changed, 4 insertions, 42 deletions
| diff --git a/Swiften/Application/UnixApplicationPathProvider.h b/Swiften/Application/UnixApplicationPathProvider.h index 5dd5aa5..c1bfd95 100644 --- a/Swiften/Application/UnixApplicationPathProvider.h +++ b/Swiften/Application/UnixApplicationPathProvider.h @@ -17,49 +17,11 @@  namespace Swift {  	class UnixApplicationPathProvider : public ApplicationPathProvider {  		public: -			UnixApplicationPathProvider(const String& name) : ApplicationPathProvider(name) { -				resourceDirs.push_back(getExecutableDir() / "../resources"); // Development -				char* xdgDataDirs = getenv("XDG_DATA_DIRS"); -				if (xdgDataDirs) { -					std::vector<String> dataDirs = String(xdgDataDirs).split(':'); -					if (!dataDirs.empty()) { -						foreach(const String& dir, dataDirs) { -							resourceDirs.push_back(boost::filesystem::path(dir.getUTF8String()) / "swift"); -						} -						return; -					} -				} -				resourceDirs.push_back("/usr/local/share/swift"); -				resourceDirs.push_back("/usr/share/swift"); -			} - -			virtual boost::filesystem::path getHomeDir() const { -				return boost::filesystem::path(getenv("HOME")); -			} +			UnixApplicationPathProvider(const String& name); -			boost::filesystem::path getDataDir() const { -				boost::filesystem::path result(getHomeDir() / ("." + getApplicationName().getLowerCase().getUTF8String())); -				try { -					boost::filesystem::create_directory(result); -				} -				catch (const boost::filesystem::filesystem_error& e) { -					std::cerr << "ERROR: " << e.what() << std::endl; -				} -				return result; -			} - -			virtual boost::filesystem::path getExecutableDir() const { -				ByteArray path; -				path.resize(4096); -				size_t size = readlink("/proc/self/exe", path.getData(), path.getSize()); -				if (size > 0) { -					path.resize(size); -					return boost::filesystem::path(path.toString().getUTF8Data()).parent_path(); -				} -				else { -					return boost::filesystem::path(); -				} -			} +			virtual boost::filesystem::path getHomeDir() const; +			boost::filesystem::path getDataDir() const; +			virtual boost::filesystem::path getExecutableDir() const;  			virtual std::vector<boost::filesystem::path> getResourceDirs() const {  				return resourceDirs; | 
 Swift
 Swift