/*** Copyright (C) 2021 J Reece Wilson (a/k/a "Reece"). All rights reserved. File: Resources.hpp Date: 2021-6-10 Author: Reece ***/ #pragma once namespace Aurora::IO::FS { /** * @brief Provides an application specific storage path for sharing data amongst Aurora applications sharing the same branding info (defer to the init structure) */ AUKN_SYM bool GetSystemDomain(AuString &path); /** * @brief Provides an application specific storage path for user-local application data, isolated with respect to your Aurora application brand info (defer to the init structure) */ AUKN_SYM bool GetProfileDomain(AuString &path); AUKN_SYM bool GetSystemResourcePath(const AuString &fileName, AuString &path); /** * @brief Get package path * This could be a read-only path if relevant to the platform * This may be `/storage/emulated/0/Android/data/` (`Context#getExternalFilesDir(java.lang.String)`) * `/Applications/` * `\\some uwp path` * ...on platforms with read-only application specific data directories * @param path * @return */ AUKN_SYM bool GetPackagePath(AuString &path); /** * @brief Pulls the application directory as defined by the operating system standard file system hierarchy * Otherwise, XDG_CONFIG_CONFIG or %appdata%. * This directory might be sandboxed to the user or application by the operating system. */ AUKN_SYM bool GetAppData(AuString &path); /** * @brief Pulls the users home directory, untouched */ AUKN_SYM bool GetUserHome(AuString &path); /** * @brief Global application data that requires no special permissions to access. * This could be an SD-Card or user profile. * This could be the root of the user managable aplication directory. */ AUKN_SYM bool GetWritableAppdata(AuString &path); /** * @brief Global application data that requires special permissions to access, usually configured by a system account during installation */ AUKN_SYM bool GetRootAppdata(AuString &path); /** * @brief Get user installable application directory */ AUKN_SYM bool GetUserProgramsFolder(AuString &path); }