16#include "application_flags.h"
17#include "acme/constant/gender.h"
18#include "acme/parallelization/_types.h"
19#include "acme/prototype/collection/map.h"
20#include "acme/prototype/prototype/factory.h"
21namespace accessibility
32 struct acme_system_layer_t
55 ::map_base < ::task_index, ::thread_storage > m_mapThreadStorage;
57 ::critical_section m_criticalsectionThreadStorage;
59 ::pointer < ::task_message_queue > m_ptaskmessagequeue;
61 ::platform::session_map m_sessionmap;
62 ::pointer < ::platform::session > m_psession;
63 bool m_bFinalizeIfNoSessionSetting;
64 bool m_bFinalizeIfNoSession;
65 bool m_bBranchMainThread;
66 bool m_bSystemLoadedFromALibrary;
67 ::pointer < ::mathematics::mathematics > m_pmathematics;
70 ::pointer<ProfileLogger> m_pprofilelogger;
71 bool m_bOperatingAmbientFactory;
72 bool m_bGraphicsFactory;
73 bool m_bWindowingFactory;
74 class ::time m_timeProcedureTimerMinimumResolution;
76 ::pointer < manual_reset_happening > m_pmanualresethappeningSystemTaskFinished;
79 ::i32_sz * m_pintstringLanguageResourceMap;
80 ::i32 m_iMatterFromHttpCache;
82 const_char_pointer m_pszMain;
84 bool m_bAcmeSystemDarkMode;
85 class ::time m_timeDarkMode;
86 ::color::color m_colorBackground;
88 ::pointer < ::innate_ui::innate_ui > m_pinnateui;
90 ::pointer < ::micro::user > m_pmicrouser;
91 ::pointer < ::acme::windowing::windowing > m_pacmewindowing;
92 ::factory::factory_pointer m_pfactoryAcmeWindowing;
98 ::file::path m_pathCacheDirectory;
100 class ::time m_timeAfterApplicationFirstRequest;
103 enum_trace_level m_etracelevelMinimum;
104 ::pointer < ::platform::system_factory > m_psystemfactory;
107 ::pointer < ::platform::subsystem > m_psubsystem;
113 ::pointer<::accessibility::accessibility> m_paccessibility;
118 hinstance m_hinstanceMain =
nullptr;
123 ::pointer<::exception_translator> m_pexceptiontranslator;
126 ::pointer<::factory::factory> m_pfactoryFolder;
131 ::pointer<::apex::system> m_psystemParent;
133 ::pointer < ::prototype::prototype > m_pprototype;
139 pointer< ::map_particle < string_map_base < ::pointer<::regular_expression::context >> >> m_pmapRegularExpressionContext;
150 ::pointer < ::datetime::datetime > m_pdatetime;
152 ::pointer<::particle> m_pmutexUiDestroyed;
154 ::pointer <::nano::nano > m_pnano;
157 ::pointer <::crypto::crypto > m_pcrypto;
159 string m_strOsUserTheme;
161 class ::time m_timeFileListingCache;
165 bool m_bAttemptedToInitializeMatter;
167 ::string_map_base < ::pointer < ::component > > m_mapComponent;
168 ::pointer<::internet::internet> m_pinternet;
169 ::pointer<::url::url_context> m_purlcontext;
171 ::pointer<class ::base64> m_pbase64;
173 ::pointer<class ::xml::xml> m_pxml;
175 ::pointer<class ::platform::node> m_pnode;
176 ::pointer<geometry::geometry> m_pgeometry;
179 ::pointer<::text::table> m_ptexttable;
183 class ::time m_timeMainStart;
185 bool m_bIsReadyForUserInteraction;
188 ::pointer<class ::directory_system> m_pdirectorysystem;
189 ::pointer<class ::file_system> m_pfilesystem;
190 ::pointer<class ::path_system> m_ppathsystem;
196 ::pointer < ::mutex > m_pmutexMatter;
202 ::pointer < ::factory::factory_item_interface > m_pfactoryitemCompressZlib;
203 ::pointer < ::factory::factory_item_interface > m_pfactoryitemUncompressZlib;
204 ::pointer < ::compress > m_pcompressZlibCrc32;
210 class CLASS_DECL_ACME acme_system_layer
215 virtual ::particle * matter_mutex();
217 virtual class ::time * file_listing_cache_time();
221 virtual ::task_message_queue * task_message_queue();
223 virtual ::thread_storage * thread_storage(const ::task_index & taskindex);
224 virtual ::thread_storage * _thread_storage_unlocked(const ::task_index & taskindex);
230 virtual void process_machine_event_data(machine_event_data * pdata);
234 virtual void do_operating_ambient_factory();
236 virtual void do_graphics_factory();
238 virtual void do_windowing_factory();
241 void initialize_layer();
243 virtual enum_trace_level get_trace_level();
246 virtual void defer_initialize_matter();
259 virtual ::mathematics::mathematics * mathematics();
261 virtual ::image::imaging * imaging();
267 virtual ::networking::networking * networking();
269 virtual ::platform::node * node();
271 virtual class ::base64 * base64();
273 virtual ::xml::xml * xml();
275 virtual ::file_system * file_system();
277 virtual ::directory_system * directory_system();
279 virtual ::path_system * path_system();
281 virtual ::platform::system_factory * system_factory();
283 virtual ::xml::xml * _xml();
285 virtual geometry::geometry * geometry();
287 virtual ::datetime::datetime * datetime();
289 virtual ::text::table * texttable();
291 virtual ::internet::internet * internet();
292 virtual ::url::url_context * url();
294 virtual::particle * ui_destroyed_synchronization();
296 virtual ::nano::nano * nano();
298 virtual ::micro::user * micro_user();
299 virtual ::acme::windowing::windowing * acme_windowing();
300 virtual ::windowing::windowing * windowing();
302 virtual ::platform::subsystem * MainSubsystem();
304 virtual ::platform::ProfileLogger &ProfileLogger();
306 virtual ::component * component(const ::scoped_string & scopedstrComponent);
307 virtual ::string component_path(const ::scoped_string & scopedstrComponent);
309 virtual void defer_innate_ui();
311 virtual ::innate_ui::innate_ui * innate_ui();
315 virtual class ::manager_room * manager_room();
317 virtual ::crypto::crypto * crypto();
321 virtual::prototype::prototype * prototype();
323 virtual ::draw2d::draw2d * draw2d();
324 virtual ::write_text::write_text * write_text();
325 virtual ::accessibility::accessibility * accessibility();
330 virtual string get_system_platform();
331 virtual string get_system_configuration();
337 virtual void defer_audio();
339 virtual bool has_audio();
341 virtual void init1();
343 virtual void init2();
347 virtual void TermSystem();
350 virtual void erase_from_any_hook(::matter * pmatter);
353 virtual void create_os_node(::platform::application * papplication);
355 virtual string os_get_user_theme();
385 virtual ::u32 crc32(::u32 uCrc, const ::block & block);
389 virtual void create_session(::collection::index iEdge = 0);
391 virtual ::pointer<::platform::session>on_create_session(::collection::index iEdge);
393 virtual ::platform::session * session(::collection::index iEdge = 0);
396 virtual void add_session(::collection::index iEdge, ::platform::session * psession);
397 virtual void on_add_session(::platform::session * psession);
398 virtual void erase_session(::collection::index iEdge);
404 void process_exit_status(::particle * pparticle, const ::e_status & estatus);
407 virtual ::platform::application * get_main_app();
410 virtual ::factory::factory * folder_factory();
416 virtual void system_construct(::platform::application * pacmeapplicationStartup);
418#ifdef WINDOWS_DESKTOP
420 void system_construct(hinstance hinstanceThis, hinstance hPrevInstance, char_pointer pCmdLine, ::i32 nCmdShow);
422#elif defined(UNIVERSAL_WINDOWS)
424 void system_construct(const ::string_array_base & stra);
432 virtual void speak(const ::scoped_string & scopedstr, const ::scoped_string & scopedstrLang =
"en-us", enum_gender egender = e_gender_none);
435 virtual ::factory::factory * node_factory();
438 virtual void inline_init();
439 virtual void inline_term();
442 virtual void process_init();
448 virtual void init_system();
450 virtual void term_system();
453 virtual void on_start_system();
467 virtual void canonical_system_main();
469 virtual void system_main();
475 virtual void on_branch_system_from_main_thread_startup(::task_handler * ptaskhandler);
481 virtual ::pointer<::platform::application> new_app(const ::scoped_string & scopedstrAppId);
487 virtual void on_end();
490 virtual void report_system_instance();
495 virtual class ::time get_update_poll_time(const ::atom & atom);
498 virtual ::acme::library * on_get_library(const ::scoped_string & scopedstrLibrary);
506 virtual void open_internet_link_in_browser(const ::scoped_string & strUrl, const ::scoped_string & scopedstrBrowser, const ::scoped_string & scopedstrProfile = {}, const ::scoped_string & scopedstrTarget = {});
507 virtual void open_internet_link(const ::scoped_string & scopedstrUrl, const ::scoped_string & scopedstrProfile = {}, const ::scoped_string & scopedstrTarget = {});
525 virtual string __get_text(const ::scoped_string & scopedstr);
609 ::task_group * task_group(::enum_priority epriority = ::e_priority_none);
611 ::task_tool * task_tool(::enum_task_tool etool);
615 static inline ::atom atom(const ::std::type_info & info);
616 static inline ::atom atom(const ::scoped_string & scopedstr);
617 static inline ::atom atom(const ::string & str);
618 static inline ::atom atom(::i64 i);
620 inline ::atom atom(const ::payload & payload);
621 inline ::atom atom(
const property & prop);
623 virtual void check_exit();
625 virtual ::regular_expression_pointer create_regular_expression(const ::scoped_string & scopedstrStyle, const ::scoped_string & scopedstr);
627 virtual ::pointer<::regular_expression::context> get_regular_expression_context(const ::scoped_string & scopedstrStyle);
629 virtual ::regular_expression_pointer compile_pcre(const ::scoped_string & scopedstr);
630 virtual ::pointer<::regular_expression::context> get_pcre_context();
633 virtual void get_public_internet_domain_extension_list(string_array_base & stra);
634 virtual ::string fetch_public_internet_domain_extension_list_text();
636 virtual ::lresult system_id_topic(::i32 iId, ::i64 llWparam, ::i64 llLparam);
652 virtual void node_will_finish_launching();
654 virtual void node_did_finish_launching();
656 virtual void on_open_untitled_file();
658 virtual void on_open_file(const ::scoped_string & scopedstrFile);
687 ::pointer < ::compress> _new_compress(const ::scoped_string & scopedstrImplementation);
688 ::pointer < ::uncompress> _new_uncompress(const ::scoped_string & scopedstrImplementation);
690 ::pointer < ::compress> new_zlib_compress();
691 ::pointer < ::uncompress> new_zlib_uncompress();
693 virtual void _compress(const ::payload & payloadTarget, const ::payload & payloadSource, const ::scoped_string & scopedstrImplementation);
694 virtual void _uncompress(const ::payload & payloadTarget, const ::payload & payloadSource, const ::scoped_string & scopedstrImplementation, transfer_progress_function transferprogressfunction = {});
696 virtual void zlib_compress(const ::payload & payloadTarget, const ::payload & payloadSource);
697 virtual void zlib_uncompress(const ::payload & payloadTarget, const ::payload & payloadSource, transfer_progress_function transferprogressfunction = {});
699 virtual bool fast_is_decompressable_folder(const ::file::path & path);
709 virtual string get_latest_deployment_number(const ::scoped_string & scopedstrBranch);
736 virtual ::string implementation_name(const ::scoped_string & scopedstrComponent, const ::scoped_string & scopedstrImplementation);
737 virtual ::string library_name(const ::scoped_string & scopedstrComponent, const ::scoped_string & scopedstrImplementation);
743 virtual ::file::path local_get_matter_cache_path();
744 virtual ::file::path local_get_matter_cache_path(const ::scoped_string & scopedstrMatter);
745 virtual ::file::path local_get_matter_path();
746 virtual ::file::path local_get_matter_path(const ::scoped_string & scopedstrMatter);
748 virtual void install_progress_add_up(::i32 iAddUp = 1);
751 virtual ::string get_application_server_name();
754 virtual ::color::color background_color()
const;
756 virtual ::f64 luminance()
const;
758 virtual void set_background_color(const ::color::color & color);
761 virtual bool dark_mode()
const;
762 virtual class ::time dark_mode_time()
const;
763 virtual void set_dark_mode_time(
const class ::time & time);
764 virtual void on_application_dark_mode_change();
770 virtual void set_dark_mode(
bool bDark);
772 virtual ::color::color get_simple_ui_color(const ::e_element & eelement, const ::user::e_state & estate = ::user::e_state_none);
774 virtual ::color::color get_default_color(::color::color color);
782 virtual bool defer_component_factory(const ::scoped_string & scopedstrComponent);
783 virtual bool _defer_component_factory(const ::scoped_string & scopedstrComponent);
Definition accessibility.h:12