diff options
| author | Remko Tronçon <git@el-tramo.be> | 2010-08-20 20:02:51 (GMT) | 
|---|---|---|
| committer | Remko Tronçon <git@el-tramo.be> | 2010-08-20 20:02:51 (GMT) | 
| commit | 7d40d96d71678af014877369a1f431e72dd69b5d (patch) | |
| tree | eeb3fa95211c61f9e46572693df82aa1529da55d /Swiften/Application/UnixApplicationPathProvider.h | |
| parent | b620cf7471f80361522dd2232c54068bce4a42be (diff) | |
| download | swift-7d40d96d71678af014877369a1f431e72dd69b5d.zip swift-7d40d96d71678af014877369a1f431e72dd69b5d.tar.bz2 | |
Comply to FreeDesktop.org standard for storing data files.
Resolves: #526
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