69 lines
2.5 KiB
C++
69 lines
2.5 KiB
C++
/***
|
|
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 AuOptional<const AuString &> GetSystemDomain();
|
|
|
|
/**
|
|
* @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 AuOptional<const AuString &> GetProfileDomain();
|
|
|
|
|
|
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/<mac bundle>`
|
|
* `\\some uwp path`
|
|
* ...on platforms with read-only application specific data directories
|
|
* @param path
|
|
* @return
|
|
*/
|
|
AUKN_SYM AuOptional<const AuString &> GetPackagePath();
|
|
|
|
/**
|
|
* @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 AuOptional<const AuString &> GetAppData();
|
|
|
|
/**
|
|
* @brief Pulls the users home directory, untouched
|
|
*/
|
|
AUKN_SYM AuOptional<const AuString &> GetUserHome();
|
|
|
|
/**
|
|
* @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 AuOptional<const AuString &> GetWritableAppdata();
|
|
|
|
/**
|
|
* @brief Global application data that requires special permissions to access, usually configured by a system account during installation
|
|
*/
|
|
AUKN_SYM AuOptional<const AuString &> GetRootAppdata();
|
|
|
|
/**
|
|
* @brief Get user installable application directory
|
|
*/
|
|
AUKN_SYM AuOptional<const AuString &> GetUserProgramsFolder();
|
|
|
|
AUKN_SYM AuOptional<AuString> NewTempFile();
|
|
|
|
AUKN_SYM AuOptional<AuString> NewTempDirectory();
|
|
} |