diff options
author | Rémi Verschelde <rverschelde@gmail.com> | 2017-11-20 00:42:51 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-11-20 00:42:51 +0100 |
commit | ecf80fbbbadaa782cbe81a6562916331c6762970 (patch) | |
tree | 7a949f6a95f36303a2f2d193aeabd6486e13f4a1 /platform/haiku | |
parent | bc26a5bd3a51b11bab63112275e7045c63a0ffc4 (diff) | |
parent | 6e3f2f44af808e9f4255c2462e16beee844c0df7 (diff) |
Merge pull request #12988 from akien-mga/xdg-home-paths
Add support for XDG Base Directory spec
Diffstat (limited to 'platform/haiku')
-rw-r--r-- | platform/haiku/os_haiku.cpp | 33 | ||||
-rw-r--r-- | platform/haiku/os_haiku.h | 4 |
2 files changed, 37 insertions, 0 deletions
diff --git a/platform/haiku/os_haiku.cpp b/platform/haiku/os_haiku.cpp index 3af111faf3..ef5a065107 100644 --- a/platform/haiku/os_haiku.cpp +++ b/platform/haiku/os_haiku.cpp @@ -316,3 +316,36 @@ bool OS_Haiku::_check_internal_feature_support(const String &p_feature) { return p_feature == "pc" || p_feature == "s3tc"; } + +String OS_Haiku::get_config_path() const { + + if (has_environment("XDG_CONFIG_HOME")) { + return get_environment("XDG_CONFIG_HOME"); + } else if (has_environment("HOME")) { + return get_environment("HOME").plus_file(".config"); + } else { + return "."; + } +} + +String OS_Haiku::get_data_path() const { + + if (has_environment("XDG_DATA_HOME")) { + return get_environment("XDG_DATA_HOME"); + } else if (has_environment("HOME")) { + return get_environment("HOME").plus_file(".local/share"); + } else { + return get_config_path(); + } +} + +String OS_Haiku::get_cache_path() const { + + if (has_environment("XDG_CACHE_HOME")) { + return get_environment("XDG_CACHE_HOME"); + } else if (has_environment("HOME")) { + return get_environment("HOME").plus_file(".cache"); + } else { + return get_config_path(); + } +} diff --git a/platform/haiku/os_haiku.h b/platform/haiku/os_haiku.h index 86148f1fb4..4ee54fb48d 100644 --- a/platform/haiku/os_haiku.h +++ b/platform/haiku/os_haiku.h @@ -117,6 +117,10 @@ public: virtual int get_power_percent_left(); virtual bool _check_internal_feature_support(const String &p_feature); + + virtual String get_config_path() const; + virtual String get_data_path() const; + virtual String get_cache_path() const; }; #endif |