acme
Foundational cross-platform layer of the ca2 framework
Loading...
Searching...
No Matches
aaa_system_impl.h
1// Offloading apex(TBS)::app_core from deep stack stuff into acme(CSTBS) ::system 2022-02-22 by camilo at 07:19 <3ThomasBorregaardSorensen!!
2#pragma once
3
4
5#include "platform.h"
6//#include "acme.h"
7#include "context.h"
8#include "system.h"
9#include "application_flags.h"
10#include "acme/constant/gender.h"
11#include "acme/parallelization/_types.h"
12#include "acme/prototype/collection/map.h"
13#include "acme/prototype/prototype/factory.h"
14namespace acme
15{
16 class system_factory;
17
18}
19namespace innate_ui
20{
21
22
23 class innate_ui;
24
25
26} // namespace innate_ui
27namespace hardware
28{
29
30 class devices;
31
32} // namespace hardware
33
34namespace aura
35{
36
37 class estamira;
38
39} // namespace aura
40
41class manager_room;
42
43
44namespace acme
45{
46
47
48 class system_factory;
49
50
51 class CLASS_DECL_ACME system :
52 //virtual public ::object,
53 virtual public ::platform::system
54 //,
55 //virtual public ::task,
56 //virtual public ::plane_system
57 {
58 public:
59
60
61// //static ::platform::system * s_p;
62//
63// //::APPLICATION_FLAGS m_applicationflags;
64// //::platform::platform * m_pplatform;
65//
66//
67// //::aqua::system* m_paquasystem;
68// //::aura::system* m_paurasystem;
69// //::axis::system* m_paxissystem;
70// //::berg::system* m_pbasesystem;
71// //::bred::system* m_pbredsystem;
72// //::core::system* m_pcoresystem;
73//
74//
75// ::platform::session_map m_sessionmap;
76//
77//
78// bool m_bFinalizeIfNoSessionSetting;
79// bool m_bFinalizeIfNoSession;
80//
81// ::pointer < ::mathematics::mathematics > m_pmathematics;
82// // FROM MAIN (Now APPLICATION_FLAGS : merged on other classes?)
83//
84// bool m_bGraphicsAndWindowingSystemInitialized;
85//
86// ::i32_sz* m_pintstringLanguageResourceMap;
87// ::i32 m_iMatterFromHttpCache;
88//
89// const_char_pointer m_pszMain;
90//
91// bool m_bDarkMode;
92// ::color::color m_colorBackground;
93// ::f64 m_dLuminance;
94// ::pointer < ::innate_ui::innate_ui > m_pinnateui;
95//
96// ::pointer < ::micro::user > m_pmicrouser;
97// ::pointer < ::acme::windowing::windowing > m_pacmewindowing;
98// ::factory::factory_pointer m_pfactoryAcmeWindowing;
99//
100// // END FROM MAIN (Now APPLICATION_FLAGS)
101//
102// // FROM ::main (Now main2)
103//
104// ::file::path m_pathCacheDirectory;
105// class ::time m_timeStart;
106// class ::time m_timeAfterApplicationFirstRequest;
107//
108// ::i32 m_iExitCode = 0;
109// enum_trace_level m_etracelevelMinimum;
110// ::pointer < ::platform::system_factory > m_psystemfactory;
111// // END FROM ::main (Now main2)
112//
113//
114// //::pointer<::platform::application> application();
115// // ::pointer<::platform::application> application();
116//
117//
118// //::pointer<main_hold_base> m_pmainholdbase;
119// //::pointer<system_impl> * m_psystemimpl;
120// #if !defined(WINDOWS)
121// ::pointer<::exception_translator> m_pexceptiontranslator;
122// #endif
123// ::pointer<::factory::factory> m_pfactoryFolder;
124//
125// bool m_bPostedInitialRequest;
126//
127//
128// ::pointer<::apex::system> m_psystemParent;
129//
130// ::pointer < ::prototype::prototype > m_pprototype;
131// //::pointer < ::mutex > m_pmutexFactory;
132// //string_map < ::pointer<::factory::factory >> m_mapFactory;
133// //string_map < ::pointer<::factory::factory >> m_mapFactory;
134//
135//
136// pointer< string_map < ::pointer<::regular_expression::context >>> m_pmapRegularExpressionContext;
137//
138// #ifdef __APPLE__
139// void * m_pmmos;
140// #endif
141//
142// //::pointer < ::draw2d::draw2d > m_pdraw2d;
143// ::pointer < ::datetime::datetime > m_pdatetime;
144//
145// ::pointer<::particle> m_pmutexUiDestroyed;
146//
147// ::pointer <::nano::nano > m_pnano;
148//
149//
150// ::pointer <::crypto::crypto > m_pcrypto;
151//
152// string m_strOsUserTheme;
153//
154// class ::time m_timeFileListingCache;
155// //critical_section m_csEnumText;
156// //string_map < i64_map < string > > m_mapEnumToText;
157// //string_map < string_map < ::i64 > > m_mapTextToEnum;
158//
159//
160// ::pointer<::internet::internet> m_pinternet;
161// ::pointer<::url::url_context> m_purlcontext;
162//
163// ::pointer<class ::base64> m_pbase64;
164//
165// ::pointer<class ::xml::xml> m_pxml;
166//
167// ::pointer<class ::platform::node> m_pnode;
168// ::pointer<geometry::geometry> m_pgeometry;
169//
170//
171// ::pointer<::text::table> m_ptexttable;
172//
173//
174// //enum_trace_level m_etracelevel;
175// class ::time m_timeMainStart;
176// //class ::time m_timeAfterApplicationFirstRequest;
177// bool m_bIsReadyForUserInteraction;
178//
179//
180// ::pointer<class ::directory_system> m_pdirectorysystem;
181// ::pointer<class ::file_system> m_pfilesystem;
182// ::pointer<class ::path_system> m_ppathsystem;
183//
184// ::pointer<::directory_system> m_pdirectorysystem;
185// ::pointer<::file_system> m_pfilesystem;
186//
187//
188// ::pointer < ::mutex > m_pmutexMatter;
189//
190// ::pointer < ::mutex > m_pmutexHttpDownload;
191// string_array_base m_straHttpDownloading;
192// string_array_base m_straHttpExists;
193// //::pointer < ::windowing::windowing_base > m_pwindowingbase;
194// //#if defined(WITH_X11) || defined(WITH_XCB)
195// // ::particle_pointer m_pmutexXlib;
196// //#endif
197// ::pointer < ::factory::factory_item_interface > m_pfactoryitemCompressZlib;
198// ::pointer < ::factory::factory_item_interface > m_pfactoryitemUncompressZlib;
199// ::pointer < ::compress > m_pcompressZlibCrc32;
200
201
202 system();
203 ~system() override;
204
205
206
207 void on_set_platform() override;
208
209
210 void on_initialize_particle() override;
211
212
213 virtual void do_graphics_and_windowing_system_factory();
214
215
216 void initialize_system();
217
218 virtual enum_trace_level get_trace_level();
219 //void os_construct();
220
221 virtual void initialize_matter();
222
223#ifdef _DEBUG
224
225
226 ::i64 increment_reference_count() override;
227
228
229 ::i64 decrement_reference_count() override;
230
231
232#endif
233
234 virtual ::mathematics::mathematics * mathematics();
235
236 virtual ::image::imaging * imaging();
237
238// #if defined(WITH_X11) || defined(WITH_XCB)
239// virtual ::particle * x11_synchronization();
240// #endif
241
242 inline ::pointer<::platform::node> & node() { return m_pnode; }
243
244 inline class ::base64 * base64() { return m_pbase64; };
245
246 inline ::xml::xml * xml() { return m_pxml.get() ? m_pxml.get() : _xml(); }
247
248 inline ::file_system * file_system() const { return m_pfilesystem; }
249
250 inline ::directory_system * directory_system() const { return m_pdirectorysystem; }
251
252 inline ::path_system * path_system() const { return m_ppathsystem; }
253
254 virtual ::platform::system_factory* system_factory();
255
256 virtual ::xml::xml * _xml();
257
258 inline geometry::geometry * geometry() { return m_pgeometry; }
259
260 inline ::datetime::datetime * datetime() { return m_pdatetime; }
261
262 inline ::text::table * texttable() { return m_ptexttable; }
263
264 inline ::internet::internet* internet() { return m_pinternet; }
265 inline ::url::url_context* url() { return m_purlcontext; }
266
267 ::particle * ui_destroyed_synchronization() { return m_pmutexUiDestroyed; }
268
269 virtual ::nano::nano * nano();
270
271 virtual ::micro::user * micro_user();
272 virtual ::acme::windowing::windowing * acme_windowing();
273 virtual ::windowing::windowing * windowing();
274
275 virtual void defer_innate_ui();
276
277 virtual ::innate_ui::innate_ui * innate_ui();
278
279 //virtual nano::nano * nano()
280
281 inline ::crypto::crypto * crypto() { return m_pcrypto; }
282
283 virtual class ::manager_room * manager_room();
284
285 //::acme::acme * acme() const { return m_pacme; }
286
287 ::prototype::prototype * prototype() const { return m_pprototype; }
288
289 virtual ::draw2d::draw2d * draw2d() const;
290 virtual ::write_text::write_text * write_text() const;
291
292 //virtual ::windowing::windowing_base * windowing_base();
293
294 virtual string get_system_platform();
295 virtual string get_system_configuration();
296
297
298
299
300
301 virtual void defer_audio();
302
303 virtual bool has_audio();
304
305 virtual void init1();
306
307 virtual void init2();
308
309 void set_current_handles() override;
310
311 virtual void TermSystem();
312
313
314 virtual void erase_from_any_hook(::matter * pmatter);
315
316
317 virtual void create_os_node();
318
319 virtual string os_get_user_theme();
320
321
322 template < typename BASE_TYPE >
323 ::pointer<BASE_TYPE> create(const ::scoped_string & scopedstrComponent, const ::scoped_string & scopedstrImplementation)
324 {
325
326 auto & pfactory = this->factory(strComponent, strImplementation);
327
328 if (!pfactory)
329 {
330
331 throw ::exception(error_resource);
332
333 }
334
335 auto p = pfactory->__call__create< BASE_TYPE >(this);
336
337 if (!p)
338 {
339
340 return p;
341
342 }
343
344 return p;
345
346 }
347
348
349 virtual ::u32 crc32(::u32 uCrc, const ::block & block);
350
351
352 virtual void create_session(::collection::index iEdge = 0);
353
354 virtual ::pointer<::platform::session>on_create_session(::collection::index iEdge);
355
356 virtual ::platform::session* session(::collection::index iEdge = 0);
357
358
359 virtual void add_session(::collection::index iEdge, ::platform::session* psession);
360 virtual void on_add_session(::platform::session* psession);
361 virtual void erase_session(::collection::index iEdge);
362
363
364 void on_request(::request* prequest) override;
365
366
367 void process_exit_status(::particle * pparticle, const ::e_status & estatus);
368
369
370 virtual ::platform::application * get_main_app();
371
372
373 virtual ::pointer<::factory::factory> & folder_factory();
374
375
376 //using main::system_construct;
377
378
379 virtual void system_construct(::platform::application * pacmeapplicationStartup);
380
381#ifdef WINDOWS_DESKTOP
382
383 void system_construct(hinstance hinstanceThis, hinstance hPrevInstance, char_pointer pCmdLine, ::i32 nCmdShow);
384
385#elif defined(UNIVERSAL_WINDOWS)
386
387 void system_construct(const ::string_array_base & stra);
388
389 //#else
390
391 //void system_construct(const ::scoped_string & scopedstrCommandLine, const ::e_display& edisplay = ::e_display_none);
392
393#endif
394
395 virtual void speak(const ::scoped_string& scopedstr, const ::scoped_string& scopedstrLang = "en-us", enum_gender egender = e_gender_none);
396
397
398 virtual ::pointer<::factory::factory> & node_factory();
399
400
401 virtual void inline_init();
402 virtual void inline_term();
403
404
405 virtual void process_init();
406
407
408 virtual void call_init_system();
409
410
411 virtual void init_system();
412
413
414 virtual void on_start_system();
415
416
417 virtual void defer_post_initial_request();
418
419
420 virtual void canonical_system_main();
421
422 virtual void system_main();
423
424
425 void on_pre_run_task() override;
426
427
428 virtual void on_branch_system_from_main_thread_startup(::task_handler * ptaskhandler);
429
430
431 void main() override;
432
433
434 virtual ::pointer<::platform::application> new_app(const ::scoped_string & scopedstrAppId);
435
436
437 virtual void end();
438
439
440 virtual void on_end();
441
442
443 virtual void report_system_instance();
444
445 //using ::manager::on_subject;
446 //virtual void on_subject(::topic * ptopic) override;
447
448 virtual class ::time get_update_poll_time(const ::atom & atom);
449
450
451 virtual ::acme::library* on_get_library(const ::scoped_string & scopedstrLibrary);
452
453
454
455
456 //virtual ::pointer<::acme::library> & library(const ::scoped_string & scopedstrComponent, const ::scoped_string & scopedstrImplementation);
457
458
459 virtual void open_profile_link(string strUrl, string strProfile, string strTarget);
460 virtual void open_link(string strUrl, string strProfile, string strTarget);
461 virtual void open_url(string strUrl, string strProfile, string strTarget);
462
463
464 //void __tracea(enum_trace_level elevel, const ::scoped_string & scopedstrFunction, const ::scoped_string & scopedstrFile, ::i32 iLine, const ::scoped_string & scopedstr) const override;
465
466
467 //virtual void main_user_async(const ::procedure & procedure, ::enum_priority epriority = e_priority_normal);
468
469 //virtual void main_user_sync(const ::procedure & procedure, const class time & time = one_minute(), enum_priority epriority = e_priority_normal);
470
471
472
473
474 void init_task() override;
475 void term_task() override;
476
477
478 virtual string __get_text(const ::scoped_string & scopedstr);
479
480#ifdef LINUX
481
483
484#endif
485
486
487 //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;
488
489
490 //virtual void on_initialize_window_object();
491 //virtual void _on_initialize_window_object();
492
493//
494// template < typename ENUM >
495// inline void set_enum_text(ENUM e, const ::scoped_string & scopedstr)
496// {
497//
498// critical_section_lock synchronouslock(&m_csEnumText);
499//
500// m_mapEnumToText[::type<e>().name()][(::i64)e] = psz;
501//
502// m_mapTextToEnum[::type<e>().name()][psz] = (::i64)e;
503//
504// }
505
506//
507// template < typename ENUM >
508// inline string enum_text(ENUM e)
509// {
510//
511// critical_section_lock synchronouslock(&m_csEnumText);
512//
513// return m_mapEnumToText[::type<e>().name()][(::i64)e];
514//
515// }
516
517//
518// template < class ENUM >
519// inline ENUM text_enum(ENUM& e, const ::scoped_string & scopedstr, ENUM eDefault = (ENUM)0)
520// {
521//
522// critical_section_lock lock(&m_csEnumText);
523//
524// ::i64 iValue;
525//
526// if (m_mapTextToEnum[::type<e>().name()].lookup(scopedstr, iValue))
527// {
528//
529// e = (ENUM)iValue;
530//
531// }
532// else
533// {
534//
535// e = eDefault;
536//
537// }
538//
539// return e;
540//
541// }
542//
543//
544// template < class ENUM, ENUM edefault = 0>
545// inline base_enum < ENUM, edefault >& text_enum(base_enum < ENUM, edefault >& b, const ::scoped_string & scopedstr, ENUM eDefault = edefault)
546// {
547//
548// return b = text_enum(b.m_evalue, psz, eDefault);
549//
550// }
551
552//
553// template < class ENUM, ENUM edefault = 0>
554// inline string enum_text(const base_enum < ENUM, edefault >& b)
555// {
556//
557// return enum_text(b.m_evalue, (::i64)(ENUM)b);
558//
559// }
560
561
562 ::task_group * task_group(::enum_priority epriority = ::e_priority_none);
563
564 ::task_tool * task_tool(::enum_task_tool etool);
565
566
567
568 static inline ::atom atom(const ::std::type_info & info);
569 static inline ::atom atom(const ::scoped_string & scopedstr);
570 static inline ::atom atom(const ::scoped_string & scopedstr);
571 static inline ::atom atom(::i64 i);
572 //static inline ::atom_space & atom();
573 inline ::atom atom(const ::payload & payload);
574 inline ::atom atom(const property & prop);
575
576 virtual void check_exit();
577
578 virtual ::regular_expression_pointer create_regular_expression(const ::scoped_string & scopedstrStyle, const ::scoped_string & scopedstr);
579 //virtual ::pointer<::regular_expression::context> create_regular_expression_context(const ::scoped_string & scopedstrStyle, ::i32 iCount);
580 virtual ::pointer<::regular_expression::context> get_regular_expression_context(const ::scoped_string & scopedstrStyle);
581
582 virtual ::regular_expression_pointer compile_pcre(const ::scoped_string & scopedstr);
583 virtual ::pointer<::regular_expression::context> get_pcre_context();
584 //virtual ::i32 system::pcre_add_tokens(string_array_base& stra, const ::scoped_string & scopedstrTopic, const ::scoped_string & scopedstrRegexp, ::i32 nCount)
585
586 virtual void get_public_internet_domain_extension_list(string_array_base & stra);
587 virtual ::string fetch_public_internet_domain_extension_list_text();
588
589 virtual void system_id_update(::i64 iUpdate, ::i64 iPayload);
590
591 void handle(::topic * ptopic, ::handler_context * phandlercontext) override;
592
593 //virtual void add_handler(::particle * pmatter, bool bPriority = false);
594
595 virtual void add_signal_handler(const ::signal_handler& signalhandler, const ::atom & atomSignal);
596
597 virtual void erase_signal_handler(::signal_handler::base * pbase);
598
599 //virtual void erase_signal_handlers(::particle * ppparticle);
600
601 virtual void node_will_finish_launching();
602
603 virtual void on_open_untitled_file();
604
605 virtual void on_open_file(const ::scoped_string & scopedstrFile);
606
607 //template < typename BASE_TYPE >
608 //::pointer<BASE_TYPE> create(const ::scoped_string & scopedstrComponent, const ::scoped_string & scopedstrImplementation)
609 //{
610
611 // auto plibrary = ([a-z0-9_]+)_factory(scopedstrComponent, pszImplementation);
612
613 // if (!plibrary)
614 // {
615
616 // return error_not_found;
617
618 // }
619
620 // auto p = plibrary->create<BASE_TYPE>();
621
622 // if (!p)
623 // {
624
625 // return error_not_found;
626
627 // }
628
629 // return p;
630
631 //}
632
633
634 ::pointer < ::compress> _new_compress(const ::scoped_string & scopedstrImplementation);
635 ::pointer < ::uncompress> _new_uncompress(const ::scoped_string & scopedstrImplementation);
636
637 ::pointer < ::compress> new_zlib_compress();
638 ::pointer < ::uncompress> new_zlib_uncompress();
639
640 virtual void _compress(const ::payload & payloadTarget, const ::payload & payloadSource, const ::scoped_string & scopedstrImplementation);
641 virtual void _uncompress(const ::payload& payloadTarget, const ::payload& payloadSource, const ::scoped_string& scopedstrImplementation, transfer_progress_function transferprogressfunction = {});
642
643 virtual void zlib_compress(const ::payload& payloadTarget, const ::payload& payloadSource);
644 virtual void zlib_uncompress(const ::payload& payloadTarget, const ::payload& payloadSource, transfer_progress_function transferprogressfunction = {});
645
646 virtual bool fast_is_decompressable_folder(const ::file::path & path);
647
648 //virtual void windowing_send(const ::procedure & procedure);
649 //virtual void windowing_post(const ::procedure & procedure);
650
651
652 bool _handle_call(::payload & payload, const ::scoped_string & scopedstrObject, const ::scoped_string & scopedstrMember, ::property_set & propertyset) override;
653
654
655 //virtual void windowing_post_quit();
656
657 virtual string get_latest_deployment_number(const ::scoped_string & scopedstrBranch);
658
659
660 void destroy() override;
661
662
663
664
665
666 //CLASS_DECL_ACME ::acme::library * lib(const ::scoped_string & scopedstr);
667
668
669
670 //::file::path library_file_name(const ::scoped_string & scopedstr);
671
672
673 //template < typename ENTRY >
674 //ENTRY* library_call(const ::scoped_string & scopedstrLibrary, const ::scoped_string & scopedstrEntry)
675 //{
676
677 // return lib(scopedstrLibrary)->get<decltype(&ENTRY)>(scopedstrEntry));
678
679 //}
680
681//#define LIBCALL(library, entry) (system()->lib(#library)->get<decltype(&entry)>(#entry))
682
683
684 virtual ::string implementation_name(const ::scoped_string & scopedstrComponent, const ::scoped_string & scopedstrImplementation);
685 virtual ::string library_name(const ::scoped_string & scopedstrComponent, const ::scoped_string & scopedstrImplementation);
686
687
688 //class ::crypto::crypto * crypto();
689
690
691 virtual ::file::path local_get_matter_cache_path();
692 virtual ::file::path local_get_matter_cache_path(string strMatter);
693 virtual ::file::path local_get_matter_path();
694 virtual ::file::path local_get_matter_path(string strMatter);
695
696 virtual void install_progress_add_up(::i32 iAddUp = 1);
697
698
699 virtual ::string get_application_server_name();
700
701
702 virtual ::color::color background_color() const;
703
704 virtual ::f64 luminance() const;
705
706 virtual void set_background_color(const ::color::color & color);
707
708
709 virtual bool dark_mode() const;
710 virtual void on_application_dark_mode_change();
711
712// virtual ::i32 get_simple_ui_darkness();
713
714// virtual void set_simple_ui_darkness(::i32 iWeatherDarkness);
715
716 virtual void set_dark_mode(bool bDark);
717
718 virtual ::color::color get_simple_ui_color(const ::e_element & eelement, const ::user::e_state & estate = ::user::e_state_none);
719
720 virtual ::color::color get_default_color(::color::color color);
721
722
723// #if defined(WITH_X11)
724// virtual void x11_sync(const ::procedure & procedure);
725// virtual void x11_async(const ::procedure & procedure);
726// #endif
727
728 virtual bool defer_component_factory(const ::scoped_string & scopedstrComponent);
729 virtual bool _defer_component_factory(const ::scoped_string & scopedstrComponent);
730
731 //::pointer < ::message_box_payload > & realize(::pointer < ::message_box_payload > & pmessagebox);
732
733 //::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);
734
735 //::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);
736
737 //::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);
738
739 //::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);
740
741
742
743// ::aqua::system
744
745 ::pointer<::aqua::audio> m_paudio;
746
747 ::pointer<::aqua::multimedia> m_pmultimedia;
748
749 ::pointer<::aqua::audio_mixer> m_paudiomixer;
750
751 ::pointer<::aqua::estamira> m_pestamira;
752
753
754
755// // ::aura::system
756//
757//
758// void common_construct();
759//
760// //void on_set_platform() override;
761//
762// //void on_initialize_particle() override;
763//
764// ///void on_add_session(::platform::session * papexsession) override;
765//
766// void init() override;
767// //virtual void init_instance() override;
768// //virtual void term_instance() override;
769// //void inline_init() override;
770// //void inline_term() override;
771//
772// //void TermSystem() override;
773//
774// virtual void on_finish_launching();
775//
776//
777// //#ifdef LINUX
778// //
779// // virtual void os_application_system_run() override;
780// //
781// //#endif
782//
783//
784// // virtual void init_system() override;
785// // virtual void term_system() override;
786//
787//
788// //virtual void system_main() override;
789//
790// virtual void term() override;
791//
792// //virtual void system_prep() override;
793//
794// //::url::url & url() { return m_urldepartment; }
795//
796// //::thread * get_task(itask itask);
797// //itask get_thread_id(::thread * pthread);
798// //void set_thread(itask itask, ::thread * pthread);
799// //void unset_thread(itask itask, ::thread * pthread);
800//
801// ::aura::estamira * estamira();
802//
803// inline ::hardware::devices * hardware_devices() { return m_phardwaredevices; }
804//
805// virtual void defer_initialize_hardware_devices();
806//
807//
808//
809// ::aura::session * get_session();
810// //::aura::node * node();
811//
812// inline ::gpu::approach * get_gpu() { if (!m_pgpu) create_gpu(); return m_pgpu.get(); };
813// inline ::gpu::approach * gpu() { return m_pgpu.get(); };
814// virtual void create_gpu();
815//
816//
817// //virtual string install_get_platform() override;
818// //virtual void install_set_platform(const ::scoped_string & scopedstrPlatform) override;
819// //virtual string install_get_version() override;
820// //virtual void install_set_version(const ::scoped_string & scopedstrVersion) override;
821// //virtual string install_get_latest_build_number(const ::scoped_string & scopedstrVersion) override;
822// //virtual ::i32 install_start(const ::scoped_string & scopedstrCommandLine, const ::scoped_string & scopedstrBuild) override;
823// //virtual ::i32 install_progress_app_add_up(::i32 iAddUp = 1) override;
824//
825// //virtual ::install::canvas * install_create_canvas();
826// //virtual void install_canvas_on_paint(::draw2d::graphics_pointer & pgraphics, const ::i32_rectangle & rectangle);
827// //virtual ::i32 install_canvas_increment_mode();
828//
829// //virtual string install_get_platform() override;
830// //virtual void install_set_platform(const ::scoped_string & scopedstrPlatform) override;
831// //virtual string install_get_version() override;
832// //virtual void install_set_version(const ::scoped_string & scopedstrVersion) override;
833// //virtual string install_get_latest_build_number(const ::scoped_string & scopedstrVersion) override;
834// //virtual ::i32 install_start(const ::scoped_string & scopedstrCommandLine, const ::scoped_string & scopedstrBuild) override;
835// //virtual ::i32 install_progress_app_add_up(::i32 iAddUp = 1) override;
836//
837// //virtual ::pointer<::factory::factory> & node_factory() override;
838//
839// //virtual void process_init() override;
840//
841// //virtual void init1() override;
842//
843// //virtual void init2() override;
844//
845// virtual void initialize_context() override;
846//
847// //virtual void defer_xml();
848//
849//
850// //void node_will_finish_launching() override;
851//
852//
853// //void windowing_post_quit() override;
854//
855//
856// virtual ::pointer<::data::node>load_xml(const ::scoped_string & scopedstrXml) override;
857//
858// virtual void verb() override; // ambigous inheritance from ::aura::system/::axis::application
859//
860//
861// //virtual bool is_system() const override;
862//
863//
864// virtual string crypto_md5_text(const ::scoped_string & scopedstr) override;
865//
866//
867// //virtual pointer< ::extended::future < ::conversation > > _message_box(::acme::windowing::window * pacmewindowingwindow, const ::scoped_string & scopedstrMessage, const ::scoped_string & scopedstrTitle = nullptr, const ::user::e_message_box & emessagebox = ::user::e_message_box_ok) override;
868// //virtual ::enum_dialog_result message_box_timeout(const ::scoped_string & scopedstrMessage, const ::scoped_string & scopedstrTitle = nullptr, const class time & timeTimeout = ::time::infinite(), const ::user::e_message_box & emessagebox = ::user::e_message_box_ok, const ::future & future = ::future()) override;
869//
870//
871// //virtual void create_html();
872//
873// //virtual ::pointer<::aura::session>on_create_session() override;
874//
875// //virtual void on_request(::request * prequest) override;
876//
877// //virtual void construct(const ::scoped_string & scopedstrAppId);
878//
879// //virtual bool initialize_application() override;
880//
881// //virtual ::i32 exit_instance();
882// //virtual bool destroy();
883//
884// //virtual void destroy() override;
885// //virtual bool verb();
886//
887// //virtual void main_user_async(const ::procedure & procedure, ::enum_priority epriority = e_priority_normal) override;
888//
889//
890// //virtual bool process_initialize();
891//
892// //virtual bool process_init();
893//
894// //virtual bool init1();
895//
896// //virtual bool init2();
897//
898// //virtual bool is_system();
899//
900//
901//
902// //virtual ::aura::session * query_session(::collection::index iEdge) override;
903// //virtual string dir_appmatter_locator(::particle * pparticle);
904//
905//
906// //virtual void hist_hist(const ::scoped_string & scopedstr);
907//
908//
909// //virtual void on_request(::request * prequest) override;
910//
911//
912// //virtual ::u32 crc32(::u32 dwPrevious, const ::scoped_string & scopedstr);
913//
914//
915// //virtual string ::url::encode(const ::scoped_string & scopedstr) override;
916//
917//
918// virtual void locale_schema_matter(string_array_base & stra, const string_array_base & straMatterLocator, const ::scoped_string & scopedstrLocale, const ::scoped_string & scopedstrSchema) override;
919// virtual string get_locale_schema_dir() override;
920//
921//
922// //virtual void initialize_system(::particle * pparticle, app_core * pappcore);
923//
924//
925// //::pointer<::thread_tools>create_thread_tools(::enum_task_tool etool);
926// //thread_tools * tools(::enum_priority epriority);
927// //thread_toolset * toolset(e_tool etool);
928//
929// //class ::user::window_map & window_map();
930//
931//
932// //::pointer<::acme::library>open_component_library(const ::scoped_string & scopedstrComponent, const ::scoped_string & scopedstrImplementation);
933//
934// //void ([a-z0-9_]+)_factory(const ::scoped_string & scopedstrComponent, const ::scoped_string & scopedstrImplementation);
935//
936// //void ([a-z0-9_]+)_factory(const ::scoped_string & scopedstrComponent, const ::scoped_string & scopedstrImplementation, PFN_factory pfnFactoryExchange);
937//
938//
939// //class ::aura::os & os();
940// //class base_factory & factory_item();
941//
942//
943// //::aura::str & str();
944// //::operating_system::department & process();
945//
946//
947// //::xml::department & xml();
948// //class ::base64 & base64();
949// //class ::aura::log & log();
950// //class ::machine_event_central & machine_event_central();
951// //inline ::parallelization::threading * threading() { return m_pthreading; }
952//
953// //geometry::geometry & geometry()
954// //{
955//
956// // return *m_pgeometry;
957//
958// //}
959// //inline class imaging & imaging() { return *m_pimaging; }
960//
961// //virtual ::sockets::sockets & sockets() { return *m_psockets; }
962//
963// //math::math & math()
964// //{
965//
966// // return *m_pmath;
967//
968// //}
969//
970//
971// //class ::draw2d::draw2d * draw2d() const override;
972//
973// //class ::write_text::write_text * write_text() const override;
974//
975//
976// //class ::image::imaging * imaging() override;
977//
978//
979// //inline ::url::url & url()
980// //{
981//
982// // return *m_purldepartment; // only usable from base.dll and dependants
983//
984// //}
985//
986//
987// //inline class ::compress_department & compress()
988// //{
989//
990// // return *m_pcompress; // only usable from base.dll and dependants
991//
992// //}
993// //inline ::file::system_dir & dir() { return *m_spdir; }
994// //inline ::file::system_file & file() { return *m_spfile; }
995//
996//
997// //::net::email_department & email();
998//
999// //::pointer<::account::user_set> userset();
1000//
1001// //::datetime::datetime & datetime();
1002//
1003//
1004// //virtual string ::url::encode(const ::scoped_string & scopedstr);
1005//
1006// virtual void on_allocation_error(const ::scoped_string & scopedstrName, ::object * pobjectSometimes) override;
1007//
1008// //::pointer< ::mutex > get_openweather_city_mutex();
1009//
1010//
1011// template < typename T >
1012// inline T * cast_clone(T * p)
1013// {
1014//
1015// return ::clone(p);
1016//
1017// }
1018//
1019//
1020// //virtual void browser(string strUrl, string strBrowser, string strProfile, string strTarget) override;
1021// //virtual void open_profile_link(string strUrl, string strProfile, string strTarget) override;
1022// //virtual void open_link(string strUrl, string strProfile, string strTarget) override;
1023// //virtual void open_url(string strUrl, string strProfile, string strTarget) override;
1024//
1025//
1026// //virtual void __set_thread_on() override;
1027//
1028// //virtual string get_local_mutex_name(const ::scoped_string & scopedstrAppName) override;
1029// //virtual string get_local_id_mutex_name(const ::scoped_string & scopedstrAppName, const ::scoped_string & scopedstrId) override;
1030// //virtual string get_global_mutex_name(const ::scoped_string & scopedstrAppName) override;
1031// //virtual string get_global_id_mutex_name(const ::scoped_string & scopedstrAppName, const ::scoped_string & scopedstrId) override;
1032//
1033//
1034// //template < class T >
1035// //::platform::type * type_info()
1036// //{
1037//
1038// // return get_type_info(::type<T>());
1039//
1040// //}
1041//
1042//
1043// //virtual ::platform::type * get_type_info(const ::std::type_info & info);
1044//
1045// //::platform::type * get_type_info(const ::atom & idType)
1046// //{
1047//
1048// // if(idType.is_empty())
1049// // return nullptr;
1050//
1051// // synchronous_lock synchronouslock(m_pmutexFactory, DEFAULT_SYNCHRONOUS_LOCK_SUFFIX);
1052//
1053// // return m_typemap[idType].m_p;
1054//
1055// //}
1056//
1057//
1058// //virtual void discard_to_factory(::object * pca);
1059//
1060// bool on_application_menu_action(const ::scoped_string & scopedstrCommand);
1061//
1062//
1063// //virtual void initialize_sockets();
1064//
1065//
1066// //virtual bool on_get_thread_name(string& strThreadName) override;
1067//
1068// //virtual ::acme::library * on_get_library(const ::scoped_string & scopedstrLibrary) override;
1069//
1070// //virtual ::acme::library * get_library(const ::scoped_string & scopedstrLibrary, bool bOpenCa2 = false) override;
1071//
1072//
1073// //virtual ::u32 os_post_to_all_threads(const ::atom & atom,const ::wparam & wparam = {},const ::lparam & lparam = {}) override;
1074//
1075//
1076// //virtual void session_add(::collection::index iEdge, ::apex::session * psession) overr;
1077// //virtual void session_erase(::collection::index iEdge);
1078//
1079//
1080//
1081// //virtual void init_system();
1082//
1083// //virtual void process_init();
1084//
1085// virtual void initialize_draw2d();
1086// //virtual void initialize_write_text();
1087// virtual ::pointer<::factory::factory> & draw2d_factory();
1088// virtual ::string draw2d_get_default_implementation_name();
1089//
1090// virtual ::pointer<::factory::factory> & imaging_factory();
1091// virtual ::string imaging_get_default_implementation_name();
1092//
1093// //virtual void init_task() override;
1094// //virtual void term_task() override;
1095//
1096//
1097// virtual void thread_loop() override;
1098//
1099// //virtual void init();
1100//
1101// //virtual void init1();
1102//
1103// //virtual void init2();
1104//
1105// //virtual void post_creation_requests() override;
1106//
1107// //virtual void term_system();
1108//
1109// virtual void term2() override;
1110//
1111// virtual void term1() override;
1112//
1113// //virtual void term();
1114//
1115// //virtual void TermSystem() override;
1116//
1117//
1118// virtual void process_term() override;
1119//
1120//
1121// //virtual bool is_system() const override;
1122// /* static inline ::atom atom(const ::std::type_info & info);
1123// static inline ::atom atom(const ::scoped_string & scopedstr);
1124// static inline ::atom atom(const ::scoped_string & scopedstr);
1125// static inline ::atom atom(::i64 i);
1126// static inline ::atom_space & atom();
1127// inline ::atom atom(const ::payload & payload);
1128// inline ::atom atom(const property & prop);*/
1129//
1130//
1131// //virtual ::i32 _001OnDebugReport(::i32 i1, const ::scoped_string & scopedstr1,::i32 i2, const ::scoped_string & scopedstr2, const ::scoped_string & scopedstr3,va_list args) override;
1132// //virtual ::i32 _debug_logging_report(::i32 iReportType, const ::scoped_string & scopedstrFilename, ::i32 iLinenumber, const ::string & iModuleName, const ::scoped_string & scopedstrFormat, va_list list) override;
1133// //virtual bool assert_failed_line(const ::scoped_string & scopedstrFileName,::i32 iLine) override;
1134//
1135// //virtual bool on_assert_failed_line(const ::scoped_string & scopedstrFileName,::i32 iLine) override;
1136//
1137//
1138// //virtual void initialize_log(const ::scoped_string & scopedstrId) override;
1139//
1140//
1141// //virtual void appa_load_string_table() override;
1142// //virtual void appa_set_locale(const ::scoped_string & scopedstrLocale, const ::action_context & action_context) override;
1143// //virtual void appa_set_schema(const ::scoped_string & scopedstrStyle, const ::action_context & action_context) override;
1144//
1145// //virtual bool assert_running_global(const ::scoped_string & scopedstrAppName, const ::scoped_string & scopedstrId = nullptr) override;
1146// //virtual bool assert_running_local(const ::scoped_string & scopedstrAppName, const ::scoped_string & scopedstrId = nullptr) override;
1147//
1148// //::pointer<application>assert_running(const ::scoped_string & scopedstrAppId);
1149//
1150// /* virtual ::collection::count get_application_count() override;
1151// */
1152//
1153// //virtual string crypto_md5_text(const ::scoped_string & scopedstr);
1154//
1155// //inline class ::http::system & http()
1156// //{
1157// // return *m_sphttpsystem;
1158// //}
1159//
1160// //class ::crypto::crypto & crypto();
1161//
1162//
1163// //virtual void start() override;
1164//
1165// //virtual ::file::path local_get_matter_cache_path() override;
1166// //virtual ::file::path local_get_matter_cache_path(string strMatter) override;
1167// //virtual ::file::path local_get_matter_path() override;
1168// //virtual ::file::path local_get_matter_path(string strMatter) override;
1169//
1170// //virtual bool find_applications_from_cache() override;
1171// //virtual bool find_applications_to_cache(bool bSave = true) override;
1172// //virtual bool map_application_library(const ::scoped_string & scopedstrLibrary) override;
1173//
1174//
1175// //virtual void install_progress_add_up(::i32 iAddUp = 1) override;
1176//
1177// //virtual void create_session(::collection::index iEdge = 0) override;
1178//
1179// /*virtual ::pointer<::apex::session>on_create_session(::collection::index iEdge) override;
1180//
1181// virtual ::apex::session * session(::collection::index iEdge = 0) override;*/
1182//
1183// //virtual void on_request(::request * prequest) override;
1184//
1185// //::pointer<regex>create_regular_expression(const ::scoped_string & scopedstrStyle, const ::scoped_string & scopedstr);
1186// //::pointer<regex_context>create_regular_expression_context(const ::scoped_string & scopedstrStyle, ::i32 iCount);
1187// //virtual ::i32 pcre_add_tokens(string_array_base& stra, const ::scoped_string & scopedstrTopic, const ::scoped_string & scopedstrRegexp, ::i32 nCount);
1188//
1189//
1190// //virtual string get_system_platform() override;
1191// //virtual string get_system_configuration() override;
1192// //virtual string get_latest_build_number(const ::scoped_string & scopedstrConfiguration, const ::scoped_string & scopedstrAppId);
1193// //#ifndef UNIVERSAL_WINDOWS
1194//
1195// //virtual void get_time(timeval * i32_point) override;
1196//
1197// //#endif
1198//
1199// //virtual void on_start_system() override;
1200// //virtual void on_start_find_applications_from_cache() override;
1201// //virtual void on_end_find_applications_from_cache(stream & is) override;
1202//
1203// //virtual void on_end_find_applications_to_cache(stream & os) override;
1204//
1205// //virtual void on_map_application_library(::acme::library & library) override;
1206//
1207// //virtual void defer_check_exit();
1208//
1209//
1210//
1211// //virtual void do_request(::request * prequest) override;
1212//
1213// //virtual void defer_check_openweather_city_list();
1214//
1215// //virtual openweather_city * openweather_find_city(string strQuery);
1216// //virtual ::collection::index openweather_find_city2(string strQuery, string & strCit, ::i64 & iId, ::f64 & dLat, ::f64 & dLon);
1217// //virtual ::collection::index openweather_find_city2(string strQ1, string strQ2, string & strCit, ::i64 & iId, ::f64 & dLat, ::f64 & dLon, bool bPrefix);
1218//
1219// //#ifdef __ANDROID__
1220// ////#pragma message("at macos??")
1221// // virtual bool android_set_user_wallpaper(string strUrl) override;
1222// // virtual bool android_get_user_wallpaper(string & strUrl) override;
1223// //
1224// //#endif
1225// //
1226// // virtual bool defer_accumulate_on_open_file(string_array_base stra, string strExtra) override;
1227// //
1228// // virtual bool merge_accumulated_on_open_file(::request * prequest) override;
1229// //
1230// // virtual bool on_open_file(::payload payloadFile, string strExtra) override;
1231// //
1232// //virtual LPWAVEOUT waveout_open(::i32 iChannel, LPAUDIOFORMAT pformat, LPWAVEOUT_CALLBACK pcallback);
1233//
1234// //virtual bool initialize_native_window1();
1235//
1236// //virtual void * initialize_native_window2(const ::i32_rectangle & rectangle);
1237//
1238//
1239// //virtual void on_os_text(e_os_text etext, string strText) override;
1240//
1241// //virtual ::windowing::window * impl_from_handle(void * posdata);
1242// //virtual ::user::interaction * ui_from_handle(void * posdata);
1243// //virtual void on_extra(string str) override;
1244//
1245// //virtual string standalone_setting(string str) override;
1246// //virtual bool set_standalone_setting(string str, string strSetting) override;
1247//
1248//
1249// //virtual void on_event(::u64 u, ::particle * pparticle) override;
1250//
1251//
1252// virtual void on_initial_frame_position(::user::frame_interaction * pframe);
1253//
1254// virtual void on_graphics_ready();
1255//
1256// //virtual void process_machine_event_data(machine_event_data * pdata) override;
1257//
1258//
1259//
1260// //virtual void __tracea(enum_trace_level elevel, const ::scoped_string & scopedstrFunction, const ::scoped_string & scopedstrFile, ::i32 iLine, const ::scoped_string & scopedstr) const override;
1261//
1262//
1263// //void chromium(string strUrl, string strBrowser, string strId, ::file::path path, string strProfile, string strParam);
1264//
1265// //void defer_create_firefox_profile(::file::path pathFirefox, string strProfileName, ::file::path pathProfile);
1266//
1267// //void firefox(string strUrl, string strBrowser, string strProfile, string strParam);
1268// //void get_firefox_installation_info(string & strPathToExe, string & strInstallDirectory);
1269//
1270//
1271//
1272// //virtual void initialize_system(::object* pparticle, app_core* pappcore) override;
1273//
1274// /* virtual void discard_to_factory(::pointer<object>pca) override;*/
1275//
1276// //virtual bool is_system() const override;
1277//
1278// //virtual void process_init() override;
1279//
1280// //virtual void init2() override;
1281//
1282// //virtual void init_system() override;
1283//
1284// //virtual void term() override;
1285//
1286// //virtual void term_system() override;
1287//
1288//
1289// //virtual ::i32 main();
1290// ///virtual void InitApplication() override;
1291//
1292// //virtual void init() override;
1293// //virtual void init1() override;
1294// //virtual void init3() override;
1295//
1296// //virtual void bergedge_start() override;
1297//
1298//
1299// //virtual void initialize_rich_text();
1300//
1301//
1302// //virtual ::collection::index get_new_bergedge(application_bias * pbiasCreation = nullptr);
1303//
1304// //pointer_array < ::aura::session > & planesessionptra();
1305//
1306//
1307// //virtual bool base_support() override;
1308//
1309//
1310// //DECLARE_MESSAGE_HANDLER(on_application_signal);
1311//
1312//
1313// //void set_history(::apex::history* phistory);
1314//
1315//
1316// //::pointer<::acme::library>on_get_library(const ::scoped_string & scopedstrLibrary) override;
1317//
1318//
1319// //virtual ::aura::session * get_platform(::collection::index iEdge,application_bias * pbiasCreation = nullptr);
1320//
1321//
1322// //virtual void on_request(::create* pcreate) override;
1323//
1324// // virtual ::pointer<::handler>handler();
1325//
1326// //virtual ::i32 main();
1327//
1328// //virtual void on_allocation_error(const ::scoped_string & scopedstr, ::object* pobjectSometimes) override;
1329//
1330// //virtual ::pointer<::aura::session>on_create_session() override;
1331//
1332//
1333// // ::aura::stra & stra();
1334// // ::aura::service & service();
1335// //::aura::history& hist();
1336//
1337// //class ::aura::patch& patch();
1338//
1339// //::http::system & http();
1340//
1341// //::filehandler::handler& filehandler();
1342//
1343//
1344// //#ifdef LINUX
1345// //
1346// // virtual void deferx_initializex_x11() ;
1347// // virtual bool sn_start_context();
1348// //
1349// //#endif
1350//
1351// ////bool sync_load_url(string& str, const ::scoped_string & scopedstrUrl, ::account::user* puser = nullptr, ::http::cookies* pcookies = nullptr);
1352// //bool sync_load_url(string& str, const ::scoped_string & scopedstrUrl, ::http::cookies* pcookies = nullptr);
1353//
1354//
1355//
1356// // ::u32 guess_code_page(const ::scoped_string & scopedstr);
1357//
1358// //#ifdef UNIVERSAL_WINDOWS
1359// //
1360// // virtual bool window_rectangle(::i32_rectangle* prectangle);
1361// //
1362// //
1363// //#endif
1364//
1365// //virtual void post_fork_uri(const ::scoped_string & scopedstrUri,application_bias * pappbias);
1366//
1367//
1368//
1369// // virtual bool wait_twf(class ::time tickTimeout = U32_INFINITE_TIMEOUT);
1370// virtual string get_host_location_url() override;
1371//
1372// // virtual void add_impact_library(::acme::library* plibrary);
1373//
1374// //virtual void get_cursor_position(::i32_point * ppoint);
1375//
1376//
1377//
1378// //virtual void do_request(::create* pcommand) override;
1379//
1380//
1381// //#ifdef _DEBUG
1382// //
1383// // virtual void set_context(::handler_context* pcontext) override;
1384// // virtual void set_context_thread(::thread* pthread) override;
1385// // virtual void set_context_app(::aura::application* pappContext) override;
1386// // virtual void set_context_session(::aura::session* psessionContext) override;
1387// // virtual void set_context_system(::aura::system* psystemContext) override;
1388// //
1389// //#endif
1390//
1391//
1392// // void assert_ok() const override;
1393// //void dump(dump_context& action_context) const override;
1394//
1395//
1396// //virtual void main() override;
1397// //virtual void hist_hist(const ::scoped_string & scopedstr) override;
1398//
1399//
1400// virtual ::platform::type get_pane_tab_impact_type_info();
1401// virtual ::platform::type get_simple_frame_window_type_info();
1402// //virtual ::platform::type get_simple_child_frame_type_info();
1403//
1404// //virtual void on_start_find_applications_from_cache() override;
1405// //virtual void on_end_find_applications_from_cache(stream& is) override;
1406//
1407// //virtual void on_end_find_applications_to_cache(stream& os) override;
1408//
1409// //virtual void on_map_application_library(::acme::library& library) override;
1410//
1411// //virtual void on_graphics_ready() override;
1412//
1413//
1414// //void _on_initialize_window_object() override;
1415//
1416//
1417// //system();
1418// //virtual ~system();
1419//
1420//
1421// ///virtual void initialize_system(::object* pparticle, app_core* pappcore) override;
1422//
1423//
1424// //virtual void process_init() override;
1425// //virtual void term_system() override;
1426//
1427// //virtual ::pointer<::aura::session>on_create_session() override;
1428// //virtual ::install::canvas * install_create_canvas() override;
1429// //virtual void install_canvas_on_paint(::draw2d::graphics_pointer & pgraphics, const ::i32_rectangle & rectangle);
1430// //virtual ::i32 install_canvas_increment_mode() override;
1431//
1432//
1433//
1434// //virtual ::u32 get_monitor_color_temperature(::collection::index iMonitor);
1435// //virtual bool adju(::collection::index iMonitor, ::u32 dwTemperature, ::f64 dBrightness, ::f64 dwGamma);
1436// //virtual bool get_monitor_rectangle(::collection::index iMonitor, ::i32_rectangle* prectangle) override;
1437//
1438// //virtual ::collection::count get_monitor_count() override;
1439//
1440// //bool get_workspace_rectangle(::collection::index iWorkspace, ::i32_rectangle* prectangle) override;
1441//
1442//
1443// //virtual ::windowing::window * impl_from_handle(void * pdata) override;
1444// //virtual ::user::interaction * ui_from_handle(void * pdata) override;
1445//
1446// //void signal(::signal * psignal) override;
1447//
1448// //void handle(::topic * ptopic, ::handler_context * phandlercontext) override;
1449//
1450// virtual void initialize_estamira();
1451//
1452// virtual void _001AddPacks(string_to_string & base64map, string & str);
1453//
1454// //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;
1455//
1456// //void windowing_send(const ::procedure & procedure) override;
1457// //void windowing_post(const ::procedure & procedure) override;
1458//
1459//
1460// //::string implementation_name(const ::scoped_string & scopedstrComponent, const ::scoped_string & scopedstrImplementation)
1461//
1462//
1463// //void do_graphics_and_windowing_system_factory() override;
1464//
1465//
1466//
1467
1468
1469 };
1470
1471
1472
1473} // namespace platform
1474
1475
1477//
1478//inline ::platform::system* system()
1479//{
1480//
1481// return system();
1482//
1483//}
1484//
1485//
1486//
1487
1488
1489// inline ::platform::system * system()
1490// {
1491//
1492// return ::platform::system::g_p;
1493//
1494// }
1495//
1496//
virtual void init_system()
virtual void call_init_system() override;
Definition color.h:162
Definition geometry.h:25
Definition handler_context.h:9
Definition payload.h:54
Definition application.h:64
Definition session.h:38
Definition system.h:53
Definition property_set.h:512
Definition property.h:81
Definition prototype.h:11
Definition task_handler.h:9
Definition topic.h:17
include "aura/graphics/image/context.h"
Definition aaaa__defer.h:32
Definition block.h:46