pocoproject/poco — pull request #561 by bschramke (2014-10-09 16:27:52+00:00)
Title: Support for XDG Base Directory Specification

Made some little changes, that makes it easy to stick to [XDG Base Directory Specification][xdg].

On Linux its not a good idea to save configuration files beside the application's executable, because of executables normally located in '/usr/bin'. Also it's no good idea to clutter the users home directory with application specific data.

New methods:
* __Poco::Path::configHome()__ => Unix('~/.config/'), VxWorks & Other(invokes homeImpl)
* __Poco::Path::dataHome()__ => Unix('~/.local/share/'), VxWorks & Other(invokes homeImpl)
* __Poco::Path::cacheHome()__ => Unix('~/.cache/'), VxWorks & Other(invokes tempImpl)
* __Poco::Path::tempHome()__ => Unix('~/.local/tmp/'), VxWorks & Other(invokes tempImpl)
* __Poco::Path::config()__ => Unix('/etc/'), Other(invokes currentImpl)

New configuration values:

* __system.configHomeDir__ => Path::configHome()
* __system.cacheHomeDir__ => Path::cacheHome()
* __system.dataHomeDir__ => Path::dataHome()
* __system.tempHomeDir__ => Path::tempHome()
* __system.configDir__ => Path::config()

* __application.configDir__ => Path::configHome() + application.baseName
* __application.cacheDir__ => Path::cacheHome() + application.baseName
* __application.dataDir__ => Path::dataHome() + application.baseName
* __application.tempDir__ => Path::tempHome() + application.baseName

[xdg]: http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html "XDG Base Directory Specification"