acme
Foundational cross-platform layer of the ca2 framework
Loading...
Searching...
No Matches
system_acme.h
1//
2// Created by camilo on 2024-10-24 18:17 <3ThomasBorregaardSorensen!!
3//
4#pragma once
5
6
7
8// Offloading apex(TBS)::app_core from deep stack stuff into acme(CSTBS) ::system 2022-02-22 by camilo at 07:19 <3ThomasBorregaardSorensen!!
9#pragma once
10
11
12#include "platform.h"
13//#include "acme.h"
14#include "context.h"
15//#include "system_factory.h"
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
22{
23 class accessibility;
24} // namespace accessibility
25
26
27
28namespace platform
29{
30
31
32 struct acme_system_layer_t
33 {
34
35
36// ::platform::system
37
38 //static ::platform::system * s_p;
39
40 //::APPLICATION_FLAGS m_applicationflags;
41 //::platform::platform * m_pplatform;
42
43
44 //::aqua::system* m_paquasystem;
45 //::aura::system* m_paurasystem;
46 //::axis::system* m_paxissystem;
47 //::berg::system* m_pbasesystem;
48 //::bred::system* m_pbredsystem;
49 //::core::system* m_pcoresystem;
50
51 //task_map m_taskmap;
52 //task_id_map m_taskidmap;
53 //::map_base < ::task_index, ::task_index > m_mapTaskOn;
54
55 ::map_base < ::task_index, ::thread_storage > m_mapThreadStorage;
56
57 ::critical_section m_criticalsectionThreadStorage;
58
59 ::pointer < ::task_message_queue > m_ptaskmessagequeue;
60
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;
68 // FROM MAIN (Now APPLICATION_FLAGS : merged on other classes?)
69
70 ::pointer<ProfileLogger> m_pprofilelogger;
71 bool m_bOperatingAmbientFactory;
72 bool m_bGraphicsFactory;
73 bool m_bWindowingFactory;
74 class ::time m_timeProcedureTimerMinimumResolution;
75
76 ::pointer < manual_reset_happening > m_pmanualresethappeningSystemTaskFinished;
77 //::pointer < manual_reset_happening > m_pmanualresethappeningMainLoopEnd;
78
79 ::i32_sz * m_pintstringLanguageResourceMap;
80 ::i32 m_iMatterFromHttpCache;
81
82 const_char_pointer m_pszMain;
83
84 bool m_bAcmeSystemDarkMode;
85 class ::time m_timeDarkMode;
86 ::color::color m_colorBackground;
87 ::f64 m_dLuminance;
88 ::pointer < ::innate_ui::innate_ui > m_pinnateui;
89
90 ::pointer < ::micro::user > m_pmicrouser;
91 ::pointer < ::acme::windowing::windowing > m_pacmewindowing;
92 ::factory::factory_pointer m_pfactoryAcmeWindowing;
93
94 // END FROM MAIN (Now APPLICATION_FLAGS)
95
96 // FROM ::main (Now main2)
97
98 ::file::path m_pathCacheDirectory;
99 //class ::time m_timeStart;
100 class ::time m_timeAfterApplicationFirstRequest;
101
102 //::i32 m_iExitCode = 0;
103 enum_trace_level m_etracelevelMinimum;
104 ::pointer < ::platform::system_factory > m_psystemfactory;
105 // END FROM ::main (Now main2)
106
107 ::pointer < ::platform::subsystem > m_psubsystem;
108 //::pointer < ::subsystem::string_table > m_pstringtable;
109 //::pointer < ::subsystem::resource_loader > m_presourceloader;
110 //::pointer<::platform::application> application();
111 // ::pointer<::platform::application> application();
112
113 ::pointer<::accessibility::accessibility> m_paccessibility;
114
115 //::pointer<main_hold_base> m_pmainholdbase;
116 //::pointer<system_impl> * m_psystemimpl;
117#if defined(WINDOWS)
118 hinstance m_hinstanceMain = nullptr;
119#endif
120
121
122#if !defined(WINDOWS)
123 ::pointer<::exception_translator> m_pexceptiontranslator;
124
125#endif
126 ::pointer<::factory::factory> m_pfactoryFolder;
127
128 // bool m_bPostedInitialRequest;
129
130
131 ::pointer<::apex::system> m_psystemParent;
132
133 ::pointer < ::prototype::prototype > m_pprototype;
134 //::pointer < ::mutex > m_pmutexFactory;
135 //string_map_base < ::pointer<::factory::factory >> m_mapFactory;
136 //string_map_base < ::pointer<::factory::factory >> m_mapFactory;
137
138
139 pointer< ::map_particle < string_map_base < ::pointer<::regular_expression::context >> >> m_pmapRegularExpressionContext;
140
141#ifdef __APPLE__
142 void * m_pmmos;
143#endif
144
145 //::pointer < ::draw2d::draw2d > m_pdraw2d;
146
147
148
149
150 ::pointer < ::datetime::datetime > m_pdatetime;
151
152 ::pointer<::particle> m_pmutexUiDestroyed;
153
154 ::pointer <::nano::nano > m_pnano;
155
156
157 ::pointer <::crypto::crypto > m_pcrypto;
158
159 string m_strOsUserTheme;
160
161 class ::time m_timeFileListingCache;
162 //critical_section m_csEnumText;
163 //string_map_base < i64_map < string > > m_mapEnumToText;
164 //string_map_base < string_map_base < ::i64 > > m_mapTextToEnum;
165 bool m_bAttemptedToInitializeMatter;
166
167 ::string_map_base < ::pointer < ::component > > m_mapComponent;
168 ::pointer<::internet::internet> m_pinternet;
169 ::pointer<::url::url_context> m_purlcontext;
170
171 ::pointer<class ::base64> m_pbase64;
172
173 ::pointer<class ::xml::xml> m_pxml;
174
175 ::pointer<class ::platform::node> m_pnode;
176 ::pointer<geometry::geometry> m_pgeometry;
177
178
179 ::pointer<::text::table> m_ptexttable;
180
181
182 //enum_trace_level m_etracelevel;
183 class ::time m_timeMainStart;
184 //class ::time m_timeAfterApplicationFirstRequest;
185 bool m_bIsReadyForUserInteraction;
186
187
188 ::pointer<class ::directory_system> m_pdirectorysystem;
189 ::pointer<class ::file_system> m_pfilesystem;
190 ::pointer<class ::path_system> m_ppathsystem;
191
192 //::pointer<::directory_system> m_pdirectorysystem;
193 //::pointer<::file_system> m_pfilesystem;
194
195
196 ::pointer < ::mutex > m_pmutexMatter;
197
198 //::pointer < ::windowing::windowing_base > m_pwindowingbase;
199//#if defined(WITH_X11) || defined(WITH_XCB)
200 // ::particle_pointer m_pmutexXlib;
201//#endif
202 ::pointer < ::factory::factory_item_interface > m_pfactoryitemCompressZlib;
203 ::pointer < ::factory::factory_item_interface > m_pfactoryitemUncompressZlib;
204 ::pointer < ::compress > m_pcompressZlibCrc32;
205
206
207 };
208
209
210 class CLASS_DECL_ACME acme_system_layer
211 {
212 public:
213
214
215 virtual ::particle * matter_mutex();
216
217 virtual class ::time * file_listing_cache_time();
218
219 //void on_set_platform() override;
220
221 virtual ::task_message_queue * task_message_queue();
222
223 virtual ::thread_storage * thread_storage(const ::task_index & taskindex);
224 virtual ::thread_storage * _thread_storage_unlocked(const ::task_index & taskindex);
225
226
227 //void on_initialize_particle() override;
228
229
230 virtual void process_machine_event_data(machine_event_data * pdata);
231
232
233
234 virtual void do_operating_ambient_factory();
235
236 virtual void do_graphics_factory();
237
238 virtual void do_windowing_factory();
239
240
241 void initialize_layer();
242
243 virtual enum_trace_level get_trace_level();
244 //void os_construct();
245
246 virtual void defer_initialize_matter();
247//
248// #ifdef _DEBUG
249//
250//
251// ::i64 increment_reference_count() override;
252//
253//
254// ::i64 decrement_reference_count() override;
255//
256//
257// #endif
258
259 virtual ::mathematics::mathematics * mathematics();
260
261 virtual ::image::imaging * imaging();
262
263 // #if defined(WITH_X11) || defined(WITH_XCB)
264 // virtual ::particle * x11_synchronization();
265 // #endif
266
267 virtual ::networking::networking * networking();
268
269 virtual ::platform::node * node();
270
271 virtual class ::base64 * base64();
272
273 virtual ::xml::xml * xml();
274
275 virtual ::file_system * file_system();
276
277 virtual ::directory_system * directory_system();
278
279 virtual ::path_system * path_system();
280
281 virtual ::platform::system_factory * system_factory();
282
283 virtual ::xml::xml * _xml();
284
285 virtual geometry::geometry * geometry();
286
287 virtual ::datetime::datetime * datetime();
288
289 virtual ::text::table * texttable();
290
291 virtual ::internet::internet * internet();
292 virtual ::url::url_context * url();
293
294 virtual::particle * ui_destroyed_synchronization();
295
296 virtual ::nano::nano * nano();
297
298 virtual ::micro::user * micro_user();
299 virtual ::acme::windowing::windowing * acme_windowing();
300 virtual ::windowing::windowing * windowing();
301
302 virtual ::platform::subsystem * MainSubsystem();
303// virtual ::subsystem::resource_loader* resource_loader();
304 virtual ::platform::ProfileLogger &ProfileLogger();
305
306 virtual ::component * component(const ::scoped_string & scopedstrComponent);
307 virtual ::string component_path(const ::scoped_string & scopedstrComponent);
308
309 virtual void defer_innate_ui();
310
311 virtual ::innate_ui::innate_ui * innate_ui();
312
313 //virtual nano::nano * nano()
314
315 virtual class ::manager_room * manager_room();
316
317 virtual ::crypto::crypto * crypto();
318
319 //virtual ::acme::acme * acme() const ;
320
321 virtual::prototype::prototype * prototype();
322
323 virtual ::draw2d::draw2d * draw2d();
324 virtual ::write_text::write_text * write_text();
325 virtual ::accessibility::accessibility * accessibility();
326
327
328 //virtual ::windowing::windowing_base * windowing_base();
329
330 virtual string get_system_platform();
331 virtual string get_system_configuration();
332
333
334
335
336
337 virtual void defer_audio();
338
339 virtual bool has_audio();
340
341 virtual void init1();
342
343 virtual void init2();
344
345 //void set_current_handles() override;
346
347 virtual void TermSystem();
348
349
350 virtual void erase_from_any_hook(::matter * pmatter);
351
352
353 virtual void create_os_node(::platform::application * papplication);
354
355 virtual string os_get_user_theme();
356
357
358 // template < typename BASE_TYPE >
359 // ::pointer<BASE_TYPE> create(const ::scoped_string & scopedstrComponent, const ::scoped_string & scopedstrImplementation)
360 // {
361 //
362 // auto & pfactory = this->factory(strComponent, strImplementation);
363 //
364 // if (!pfactory)
365 // {
366 //
367 // throw ::exception(error_resource);
368 //
369 // }
370 //
371 // auto p = pfactory->__call__create< BASE_TYPE >(this);
372 //
373 // if (!p)
374 // {
375 //
376 // return p;
377 //
378 // }
379 //
380 // return p;
381 //
382 // }
383
384
385 virtual ::u32 crc32(::u32 uCrc, const ::block & block);
386
387 //virtual void prepare_application();
388
389 virtual void create_session(::collection::index iEdge = 0);
390
391 virtual ::pointer<::platform::session>on_create_session(::collection::index iEdge);
392
393 virtual ::platform::session * session(::collection::index iEdge = 0);
394
395
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);
399
400
401 //void on_request(::request * prequest) override;
402
403
404 void process_exit_status(::particle * pparticle, const ::e_status & estatus);
405
406
407 virtual ::platform::application * get_main_app();
408
409
410 virtual ::factory::factory * folder_factory();
411
412
413 //using main::system_construct;
414
415
416 virtual void system_construct(::platform::application * pacmeapplicationStartup);
417
418#ifdef WINDOWS_DESKTOP
419
420 void system_construct(hinstance hinstanceThis, hinstance hPrevInstance, char_pointer pCmdLine, ::i32 nCmdShow);
421
422#elif defined(UNIVERSAL_WINDOWS)
423
424 void system_construct(const ::string_array_base & stra);
425
426 //#else
427
428 //void system_construct(const ::scoped_string & scopedstrCommandLine, const ::e_display& edisplay = ::e_display_none);
429
430#endif
431
432 virtual void speak(const ::scoped_string & scopedstr, const ::scoped_string & scopedstrLang = "en-us", enum_gender egender = e_gender_none);
433
434
435 virtual ::factory::factory * node_factory();
436
437
438 virtual void inline_init();
439 virtual void inline_term();
440
441
442 virtual void process_init();
443
444
445 //virtual void call_init_system();
446
447
448 virtual void init_system();
449
450 virtual void term_system();
451
452
453 virtual void on_start_system();
454
455
456 //virtual ::request * application_start_file_open_request();
457
458
459 //virtual void defer_start_system();
460
461
462 //virtual void post_application_start();
463 //virtual void defer_post_application_start_file_open_request();
464 //virtual void post_application_started();
465
466
467 virtual void canonical_system_main();
468
469 virtual void system_main();
470
471
472 //void on_pre_run_task() override;
473
474
475 virtual void on_branch_system_from_main_thread_startup(::task_handler * ptaskhandler);
476
477
478 //void main() override;
479
480
481 virtual ::pointer<::platform::application> new_app(const ::scoped_string & scopedstrAppId);
482
483
484 virtual void end();
485
486
487 virtual void on_end();
488
489
490 virtual void report_system_instance();
491
492 //using ::manager::on_subject;
493 //virtual void on_subject(::topic * ptopic) override;
494
495 virtual class ::time get_update_poll_time(const ::atom & atom);
496
497
498 virtual ::acme::library * on_get_library(const ::scoped_string & scopedstrLibrary);
499
500
501
502
503 //virtual ::pointer<::acme::library> & library(const ::scoped_string & scopedstrComponent, const ::scoped_string & scopedstrImplementation);
504
505
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 = {});
508 //virtual void open_url(const ::scoped_string & scopedstrUrl, const ::scoped_string & scopedstrProfile, const ::scoped_string & scopedstrTarget);
509
510
511 //void __tracea(enum_trace_level elevel, const ::scoped_string & scopedstrFunction, const ::scoped_string & scopedstrFile, ::i32 iLine, const ::scoped_string & scopedstr) const override;
512
513
514 //virtual void main_user_async(const ::procedure & procedure, ::enum_priority epriority = e_priority_normal);
515
516 //virtual void main_user_sync(const ::procedure & procedure, const class time & time = one_minute(), enum_priority epriority = e_priority_normal);
517
518
519
520
521 //void init_task() override;
522 //void term_task() override;
523
524
525 virtual string __get_text(const ::scoped_string & scopedstr);
526
527#ifdef LINUX
528
530
531#endif
532
533
534 //pointer< ::extended::sequence < ::conversation > > message_box(::user::interaction * puserinteraction, const ::scoped_string & scopedstrMessage, const ::scoped_string & scopedstrTitle = nullptr, const ::user::e_message_box & emessagebox = ::user::e_message_box_ok) override;
535
536
537 //virtual void on_initialize_window_object();
538 //virtual void _on_initialize_window_object();
539
540//
541// template < typename ENUM >
542// inline void set_enum_text(ENUM e, const ::scoped_string & scopedstr)
543// {
544//
545// critical_section_lock synchronouslock(&m_csEnumText);
546//
547// m_mapEnumToText[::type<e>().name()][(::i64)e] = psz;
548//
549// m_mapTextToEnum[::type<e>().name()][psz] = (::i64)e;
550//
551// }
552
553//
554// template < typename ENUM >
555// inline string enum_text(ENUM e)
556// {
557//
558// critical_section_lock synchronouslock(&m_csEnumText);
559//
560// return m_mapEnumToText[::type<e>().name()][(::i64)e];
561//
562// }
563
564//
565// template < class ENUM >
566// inline ENUM text_enum(ENUM& e, const ::scoped_string & scopedstr, ENUM eDefault = (ENUM)0)
567// {
568//
569// critical_section_lock lock(&m_csEnumText);
570//
571// ::i64 iValue;
572//
573// if (m_mapTextToEnum[::type<e>().name()].find(scopedstr, iValue))
574// {
575//
576// e = (ENUM)iValue;
577//
578// }
579// else
580// {
581//
582// e = eDefault;
583//
584// }
585//
586// return e;
587//
588// }
589//
590//
591// template < class ENUM, ENUM edefault = 0>
592// inline base_enum < ENUM, edefault >& text_enum(base_enum < ENUM, edefault >& b, const ::scoped_string & scopedstr, ENUM eDefault = edefault)
593// {
594//
595// return b = text_enum(b.m_evalue, psz, eDefault);
596//
597// }
598
599//
600// template < class ENUM, ENUM edefault = 0>
601// inline string enum_text(const base_enum < ENUM, edefault >& b)
602// {
603//
604// return enum_text(b.m_evalue, (::i64)(ENUM)b);
605//
606// }
607
608
609 ::task_group * task_group(::enum_priority epriority = ::e_priority_none);
610
611 ::task_tool * task_tool(::enum_task_tool etool);
612
613
614
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);
619 //static inline ::atom_space & atom();
620 inline ::atom atom(const ::payload & payload);
621 inline ::atom atom(const property & prop);
622
623 virtual void check_exit();
624
625 virtual ::regular_expression_pointer create_regular_expression(const ::scoped_string & scopedstrStyle, const ::scoped_string & scopedstr);
626 //virtual ::pointer<::regular_expression::context> create_regular_expression_context(const ::scoped_string & scopedstrStyle, ::i32 iCount);
627 virtual ::pointer<::regular_expression::context> get_regular_expression_context(const ::scoped_string & scopedstrStyle);
628
629 virtual ::regular_expression_pointer compile_pcre(const ::scoped_string & scopedstr);
630 virtual ::pointer<::regular_expression::context> get_pcre_context();
631 //virtual ::i32 system::pcre_add_tokens(string_array_base& stra, const ::scoped_string & scopedstrTopic, const ::scoped_string & scopedstrRegexp, ::i32 nCount)
632
633 virtual void get_public_internet_domain_extension_list(string_array_base & stra);
634 virtual ::string fetch_public_internet_domain_extension_list_text();
635
636 virtual ::lresult system_id_topic(::i32 iId, ::i64 llWparam, ::i64 llLparam);
637
638 //void handle(::topic * ptopic, ::handler_context * phandlercontext) override;
639
640 //virtual void add_handler(::particle * pmatter);
641
642 // virtual void signal_add_handler(::matter * pmatter, const ::atom & atomSignal);
643 //
644 // virtual void add_signal_handler(const ::signal_handler & signalhandler, const ::atom & atomSignal);
645 //
646 // virtual void signal_erase_handler(::matter * pmatter);
647 //
648 // virtual void erase_signal_handler(::signal_handler::base * pbase);
649
650 //virtual void erase_signal_handlers(::particle * ppparticle);
651
652 virtual void node_will_finish_launching();
653
654 virtual void node_did_finish_launching();
655
656 virtual void on_open_untitled_file();
657
658 virtual void on_open_file(const ::scoped_string & scopedstrFile);
659
660 //template < typename BASE_TYPE >
661 //::pointer<BASE_TYPE> create(const ::scoped_string & scopedstrComponent, const ::scoped_string & scopedstrImplementation)
662 //{
663
664 // auto plibrary = ([a-z0-9_]+)_factory(scopedstrComponent, pszImplementation);
665
666 // if (!plibrary)
667 // {
668
669 // return error_not_found;
670
671 // }
672
673 // auto p = plibrary->create<BASE_TYPE>();
674
675 // if (!p)
676 // {
677
678 // return error_not_found;
679
680 // }
681
682 // return p;
683
684 //}
685
686
687 ::pointer < ::compress> _new_compress(const ::scoped_string & scopedstrImplementation);
688 ::pointer < ::uncompress> _new_uncompress(const ::scoped_string & scopedstrImplementation);
689
690 ::pointer < ::compress> new_zlib_compress();
691 ::pointer < ::uncompress> new_zlib_uncompress();
692
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 = {});
695
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 = {});
698
699 virtual bool fast_is_decompressable_folder(const ::file::path & path);
700
701 //virtual void windowing_send(const ::procedure & procedure);
702 //virtual void windowing_post(const ::procedure & procedure);
703
704
705 //bool _handle_call(::payload & payload, const ::scoped_string & scopedstrObject, const ::scoped_string & scopedstrMember, ::property_set & propertyset) override;
706
707
708
709 virtual string get_latest_deployment_number(const ::scoped_string & scopedstrBranch);
710
711
712 //void destroy() override;
713
714
715
716
717
718 //CLASS_DECL_ACME ::acme::library * lib(const ::scoped_string & scopedstr);
719
720
721
722 //::file::path library_file_name(const ::scoped_string & scopedstr);
723
724
725 //template < typename ENTRY >
726 //ENTRY* library_call(const ::scoped_string & scopedstrLibrary, const ::scoped_string & scopedstrEntry)
727 //{
728
729 // return lib(scopedstrLibrary)->get<decltype(&ENTRY)>(scopedstrEntry));
730
731 //}
732
733//#define LIBCALL(library, entry) (system()->lib(#library)->get<decltype(&entry)>(#entry))
734
735
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);
738
739
740 //class ::crypto::crypto * crypto();
741
742
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);
747
748 virtual void install_progress_add_up(::i32 iAddUp = 1);
749
750
751 virtual ::string get_application_server_name();
752
753
754 virtual ::color::color background_color() const;
755
756 virtual ::f64 luminance() const;
757
758 virtual void set_background_color(const ::color::color & color);
759
760
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();
765
766 // virtual ::i32 get_simple_ui_darkness();
767
768 // virtual void set_simple_ui_darkness(::i32 iWeatherDarkness);
769
770 virtual void set_dark_mode(bool bDark);
771
772 virtual ::color::color get_simple_ui_color(const ::e_element & eelement, const ::user::e_state & estate = ::user::e_state_none);
773
774 virtual ::color::color get_default_color(::color::color color);
775
776
777 // #if defined(WITH_X11)
778 // virtual void x11_sync(const ::procedure & procedure);
779 // virtual void x11_async(const ::procedure & procedure);
780 // #endif
781
782 virtual bool defer_component_factory(const ::scoped_string & scopedstrComponent);
783 virtual bool _defer_component_factory(const ::scoped_string & scopedstrComponent);
784
785 //::pointer < ::message_box_payload > & realize(::pointer < ::message_box_payload > & pmessagebox);
786
787 //::pointer < ::message_box_payload > message_box(const ::scoped_string & scopedstrMessage, const ::scoped_string & scopedstrTitle = nullptr, const ::user::e_message_box & emessagebox = ::user::e_message_box_ok, const ::scoped_string & scopedstrDetails = nullptr, ::nano::graphics::icon * picon = nullptr);
788
789 //::pointer < ::message_box_payload > exception_message_box(const ::exception & exception, const ::scoped_string & scopedstrMessage = nullptr, const ::scoped_string & scopedstrTitle = nullptr, const ::user::e_message_box & emessagebox = ::user::e_message_box_ok, const ::scoped_string & scopedstrDetails = nullptr, ::nano::graphics::icon * picon = nullptr);
790
791 //::pointer < ::message_box_payload > message_console(const ::scoped_string & scopedstrMessage = nullptr, const ::scoped_string & scopedstrTitle = nullptr, const ::user::e_message_box & emessagebox = ::user::e_message_box_ok, const ::scoped_string & scopedstrDetails = nullptr, ::nano::graphics::icon * picon = nullptr);
792
793 //::pointer < ::message_box_payload > exception_message_console(const ::exception & exception, const ::scoped_string & scopedstrMessage = nullptr, const ::scoped_string & scopedstrTitle = nullptr, const ::user::e_message_box & emessagebox = ::user::e_message_box_ok, const ::scoped_string & scopedstrDetails = nullptr, ::nano::graphics::icon * picon = nullptr);
794
795
796 };
797
798
799
800} // namespace platform
801
802
803
Definition accessibility.h:12
include "thread/AutoLock.h"
Definition _forward_declaration.h:877