AuroraRuntime/Include/Aurora/Locale/Locale.hpp
Reece e5e36bd887 Large Commit
[*] Fix deadlock in the async subsystem (NoLockShutdown vs Shutdown in exception handler)
[+] Added ProccessMap NT variant
[+] Added ToolHelp image profiling
[*] Improved exception awareness
[*] Delegated SpawnThread to isolated TU, ready for reuse for RunAs and XNU Open - now with horrible evil alloc that could fail
[+] Added header for future api 'UtilRun'
[*] Improve NT core detection
[*] Changed small affinity bitmap to AuUInt64 instead of AuUInt32
[+] Added data structure to hold cpuids/affinity masks
[+] Implemented logger sinks
[+] Implemented logger glue logic
[*] Began migrating older loggers to sink-based default devices
[*] Minor refactors
[*] Improved internal exception discarding, not yet nothrow capable
[*] Minor create directory fix
2022-01-24 18:43:53 +00:00

38 lines
1.3 KiB
C++

/***
Copyright (C) 2021 J Reece Wilson (a/k/a "Reece"). All rights reserved.
File: Locale.hpp
Date: 2021-6-9
Author: Reece
***/
#pragma once
#include "ECodePage.hpp"
#include "Encoding/Encoding.hpp"
#include "LocaleStrings.hpp"
namespace Aurora::Locale
{
struct LocalizationInfo
{
LocalizationInfo(const AuString &language, const AuString &country, const AuString &codeset, const ECodePage codePage) : language(language), country(country), codeset(codeset), codepage(codePage) {}
const AuString &language; /// ISO 639
const AuString &country; /// ISO 3166
const AuString &codeset; ///
const ECodePage codepage; /// Potentially eSysUnk; noting that eSysUnk is valid and handlable by the internal backend
};
/*
Retrieves information about the current system <br>
This function will never fail <br>
This function will never release memory
*/
AUKN_SYM LocalizationInfo GetLocale();
#if defined(AURORA_PLATFORM_WIN32) || defined(I_REALLY_NEED_WIDECHAR_PUBAPI)
AUKN_SYM std::wstring ConvertFromUTF8(const AuString &in);
AUKN_SYM AuString ConvertFromWChar(const wchar_t *in, AuMach length);
AUKN_SYM AuString ConvertFromWChar(const wchar_t *in);
#endif
}