acme
Foundational cross-platform layer of the ca2 framework
Loading...
Searching...
No Matches
application_aura.h
1//
2// Created by camilo on 2024-10-24 23:44 <3ThomasBorregaardSorensen
3//
4#pragma once
5
6
7namespace platform
8{
9
10
11// struct CLASS_DECL_ACME aura_application_layer_t
12// {
13//
14//
15// //__creatable_from_base(application, ::apex::application);
16//
17//
18// void* m_pnativeapp;
19//
20//
21// ::aura::application * m_pappParent;
22// //string m_strAppName;
23// //string m_strAppTitle;
24// //string m_XstrAppId;
25// //string m_strBaseSupportId;
26// //string m_strRoot;
27// //string m_strDomain;
28// //string m_strLibraryName;
29// //string m_strRelativeFolder;
30// //string m_strBuild;
31// //string m_strInstallToken;
32// //string m_strInstallTraceLabel;
33// //string m_strInstallBuild;
34// //string m_strHttpUserAgentToken;
35// //string m_strHttpUserAgentVersion;
36// //string_array_base m_straAppCategory;
37// //bool m_bLicense;
38// //bool m_bRequiresInstallation;
39//
40// //bool m_bReadStringTable;
41//
42// //::pointer<::application_menu> m_pappmenu;
43//
44// //::pointer<::game::game> m_pgame;
45// //::pointer<::user::interaction> m_pacmeuserinteractionMain;
46//
47// ::pointer<shell_open> m_pshellopen;
48//
49// ::string_array_base m_straOptionsFormMakerLibrary;
50// ::user::interaction_base * m_puiCurrent;
51// //bool m_bContextTheme;
52//
56// //semaphore m_semCompiler;
57// // former ::aura::application_interface // moved on 2015-05-23 Sammstag while listening to RocketBeansTV (a German channel?) at TwitchTV
58//
59// ::u32 m_dwInstallGoodToCheckAgain;
60//
61// //bool m_bAppHasInstallerProtected;
62// //bool m_bAppHasInstallerChangedProtected;
63// //::install::installer * m_pinstaller;
64//
65// //particle_address_array m_particleaddressaEventHook;
66//
67// ::pointer < ::mutex > m_pmutexFrame;
68// ::pointer<::user::interaction_array> m_puserinteractiona;
69// ::pointer<::user::interaction_array> m_puserinteractionaFrame;
70//
71// //e_thread m_ethreadClose;
72//
73// //enum_exclusive_instance m_eexclusiveinstance;
74//
75// //string_map_base < ::pointer<::acme::exclusive >> m_mapExclusive;
76//
77// //bool m_bService;
78//
79// //bool m_bUpdateMatterOnInstall;
80//
81// ::user::interaction * m_puiMainContainer;
82//
83// ::pointer < ::mutex > m_pmutexMatterLocator;
84//
85// //::pointer < ::mutex > m_pmutexStr;
86// //string_table_base m_stringtable;
87// //string_table_base m_stringtableStd;
88// //map_base < atom, atom, string, string > m_stringmap;
89//
90// //atom_map_base < ::pointer<::channel >> m_mapNotify;
91//
92// //::pointer<image_context> m_pimagecontext;
93//
94// //bool m_bInitializeDataCentral;
95//
96// //string m_strLicense;
97//
98// //::i32 m_iWaitCursorCount; // for wait cursor (>0 => waiting)
99//
100// //::pointer<::simpledb::server> m_psimpledb;
101//
102// //::userex::pane_tab_impact * m_pmainpane;
103//
104//
131//
133//
134// //::pointer<::experience::department> m_pexperience;
135// ::pointer<::aura::theme> m_ptheme;
136//
137//
138// //string_array_base m_straAppInterest;
139// //string_map_base < oswindow, oswindow > m_mapAppInterest;
140//
141// //::i32 m_iGcomBackgroundUpdateMillis;
142// };
143
144
145 class CLASS_DECL_ACME aura_application_layer
146 {
147 public:
148
149
150// // void assert_ok() const override;
151// // void dump(dump_context & dumpcontext) const override;
152
153
154 virtual void enumerate_composite(matter_array& a);
155
156 virtual ::aura::game* game();
157
158
159 //virtual void _001CloseApplication() override;
160
161
162 //virtual ::user::style* get_user_style() const;
163 //virtual bool app_data_get(const ::atom & atom, stream & os) override;
164 //virtual bool app_data_set(const ::atom & atom, stream & is) override;
165
166 //virtual bool app_data_set(const ::atom & atom, object & obj) override;
167 //virtual bool app_data_get(const ::atom & atom, object & obj) override;
168
169// virtual void interactive_credentials(::account::credentials * pcredentials) override;
170
171 //virtual ::database::key calc_data_key() override;
172
173
174 //virtual string load_podata(const ::scoped_string & scopedstrLang, bool bOnlyHeader);
175
176 //virtual string load_string(const ::atom & atom) override;
177 //virtual bool load_string(string & str, const ::atom & atom) override;
178 //virtual void load_string_table() override;
179 //virtual bool load_cached_string(string & str, const ::atom & atom, bool bLoadStringTable) override;
180 //virtual bool load_cached_string_by_id(string & str, const ::atom & atom, bool bLoadStringTable) override;
181 //virtual void load_string_table(const ::scoped_string & scopedstrApp, const ::scoped_string & scopedstrId) override;
182
183
184
185 //virtual bool is_system() const override;
186 //virtual bool is_session() const override;
187 //virtual bool is_serviceable() const override;
188 virtual string get_window_class_name(::user::enum_control_type econtroltype);
189
190 //virtual ::simpledb::server * simpledb();
191 //virtual ::database::server * dataserver() override;
192 //inline ::image_context& image() { return *m_pimagecontext; }
193
194
195 //virtual void verb() override;
196
197
198 //::aura::session* get_session();
199 //::aura::system* system();
200
201
202
203 // virtual bool Ex2OnAppInstall() override;
204 // virtual bool Ex2OnAppUninstall() override;
205
206 //virtual void init_application() override;
207 //
208 // virtual void init1() override;
209 // virtual void init2() override;
210 // virtual void init3() override;
211 //
212 //
213 // virtual void init() override;
214 //
215 //
216 // virtual void init_instance() override;
217 //
218
219 //virtual void run() override;
220 //virtual void main() override;
221 //virtual void on_run();
222
223 //virtual void application_pre_run();
224 //virtual bool initial_check_directrix() override;
225 //virtual void os_native_bergedge_start();
226
227
228
229 //
230 //
231 // virtual void term() override;
232 //
233 //
234 // virtual void term_application() override;
235 //
236 //
237
238
239 //virtual bool InitApplication();
240
241 //
242 // virtual void do_install() override;
243 // virtual void do_uninstall() override;
244 //
245 //
246 // virtual void on_install() override;
247 // virtual void on_uninstall() override;
248 //
249
250 //virtual void update_appmatter(::pointer<::sockets::http_session>& psession, const ::file::path & pathRoot, const ::scoped_string & scopedstrRelative) override;
251 //virtual void update_appmatter(::pointer<::sockets::http_session>& psession, const ::file::path & pathRoot, const ::scoped_string & scopedstrRelative, const ::scoped_string & scopedstrLocale, const ::scoped_string & scopedstrStyle) override;
252
253 //virtual void SetCurrentHandles() override;
254
255
256 //virtual void process_exception(const ::exception & e) override;
257
258
259 //virtual ::pointer<::aura::application>assert_running(const ::scoped_string & scopedstrAppId) override;
260
261 //virtual bool is_running() override;
262
263
264
265 //virtual void on_request(::request * prequest) override;
266
267
268
269 //virtual bool assert_user_logged_in() override;
270
271 //virtual string matter_as_string(const ::scoped_string & scopedstrMatter, const ::scoped_string & scopedstrMatter2 = nullptr) override;
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286 //virtual bool do_prompt_file_name(::payload & payloadFile, string nIDSTitle, ::u32 lFlags, bool bOpenFileDialog, ::user::impact_system * ptemplate, ::user::document * pdocument);
287 //virtual bool do_prompt_file_name(::payload& payloadFile, string nIDSTitle, ::u32 lFlags, bool bOpenFileDialog, ::user::impact_system* ptemplate, ::user::document* pdocument);
288 //user virtual bool do_prompt_file_name(::payload& payloadFile, string nIDSTitle, ::u32 lFlags, bool bOpenFileDialog, ::user::impact_system* ptemplate, ::user::document* pdocument);
289
290
291 //virtual void process_message_filter(::i32 code, ::message::message * pmessage) override;
292
293
294
295 //virtual void DoWaitCursor(::i32 nCode) override; // 0 => restore, 1=> begin, -1=> end
296
297 // virtual void _001PostTryCloseApplication() override;
298
299
300 //virtual string get_license_id() override;
301
302
303
304
305 //virtual void process_init() override;
306
307
308
309
310//#ifdef WINDOWS_DESKTOP
311// virtual void TermThread(HINSTANCE hInstTerm) override;
312//#endif
313
314 //virtual void set_env_var(const string & payload, const string & value) override;
315
316
317 virtual ::draw2d::printer * get_printer(const ::scoped_string & scopedstrDeviceName);
318
319
320 virtual ::image::icon * set_icon(::object * pobject, ::image::icon * picon, bool bBigIcon);
321
322 virtual ::image::icon * get_icon(::object * pobject, bool bBigIcon) const;
323
324 //virtual void on_service_request(::request * prequest) override;
325
326 //virtual string get_mutex_name_gen() override;
327
328 //virtual ::user::interaction * user_interaction_from_oswindow(::windowing::window * pwindow);
329
330
331 //virtual ::i32 hotplugin_host_starter_start_sync(const ::scoped_string & scopedstrCommandLine, ::aura::application * papp, hotplugin::host * phost, hotplugin::plugin * pplugin = nullptr);
332 //virtual ::i32 hotplugin_host_host_starter_start_sync(const ::scoped_string & scopedstrCommandLine, ::aura::application * papp, hotplugin::host * phost, hotplugin::plugin * pplugin = nullptr);
333
334 //virtual void on_update_impact(::user::impact * pimpact, ::user::impact * pviewSender, lparam lHint, object * pHint);
335
336 //void handle(::topic * ptopic, ::handler_context * phandlercontext) override;
337 //virtual void on_notify_control_event(::user::control_event* phappening);
338 //virtual void route(::topic * ptopic, ::handler_context * phandlercontext);
339
340
341
342 //user virtual bool on_open_document(::user::document * pdocument, ::payload payloadFile);
343 //user virtual bool on_save_document(::user::document * pdocument, ::payload payloadFile);
344
345
346
347 //inline ::html::html * html() { return puser->m_phtml; }
348
349 //virtual ::html::html * create_html();
350
351 //virtual string http_get(const ::scoped_string & scopedstrUrl, ::property_set & set) override;
352
353 //virtual bool compress_ungz(const ::stream & os, const ::stream & is) override;
354
356 //virtual bool compress_gz(const ::stream& os, const ::stream& is, ::i32 iLevel = 6) override;
357
358 //virtual bool compress_gz(::file::file * pfileOut, ::file::file * pfileIn, ::i32 iLevel = 6) override;
359
360
361 //virtual bool is_local_data() override;
362
363
364 //application();
365 //~ application() override;
366
367 //virtual void locale_schema_matter(string_array_base & stra, const string_array_base & straMatterLocator, const ::scoped_string & scopedstrLocale, const ::scoped_string & scopedstrSchema);
368 //virtual string get_locale_schema_dir();
369
370
371 //virtual void initialize(::particle * pparticle) override;
372
373
374 //::application_menu & applicationmenu();
375
376
377 //virtual ::file::path appconfig_folder() override;
378
379
382
383
384 //virtual ::file::path get_app_localconfig_folder() override;
385 //virtual ::handle::ini get_ini() override;
386
387
388 //virtual bool app_data_set(const ::atom & atom, stream & os) override;
389 //virtual bool app_data_get(const ::atom & atom, stream & is) override;
390
391 //virtual bool app_data_set(const ::atom & atom, ::object & obj) override;
392 //virtual bool app_data_get(const ::atom & atom, ::object & obj) override;
393
394 //void install_message_routing(::channel * pchannel) override;
395
396 //virtual string dialog_box(const ::scoped_string & scopedstrMatter, ::property_set & propertyset) override;
397
398 //virtual void application_menu_update() override;
399
400
401 //virtual string calc_data_key();
402
403
404
405 //virtual void notify_changed(const ::atom & atom, const ::action_context & action_context);
406
407
408 //virtual ::file::path local_application_path() override;
409
410 //virtual ::file::path local_application_home_path() override;
411
412
413 //virtual void destroy() override;
414
415
416 //virtual void release_parents() override;
417 //::property_object * parent_property_set_holder() const override;
418
419
420 //virtual bool is_set_finish() const override;
421
422
423 //virtual void on_change_theme() override;
424 //virtual string get_theme() override;
425
426
427 //virtual ::pointer<::acme::exclusive>get_exclusive(const ::scoped_string & scopedstr, LPSECURITY_ATTRIBUTES psa) override;
428 //virtual bool exclusive_fails(const ::scoped_string & scopedstr, LPSECURITY_ATTRIBUTES psa) override;
429
430
431 //virtual bool start_application(bool bSynch, ::request * prequest) override;
432
433
434
435 //virtual void release_children() override;
436 //virtual void merge_command_line(::create * pcommand);
437
438// virtual void merge(::handler * phandler);
439
440 //virtual void record(::create * pcommand);
441
442 //virtual void on_event(::u64 u, ::particle * pparticle) override;
443 //virtual ::pointer<::thread_toolset>create_thread_toolset(::enum_task_tool etool);
444
445
450 //virtual void auto pmessageboxpayload = __initialize_new ::message_box_payload(::user::interaction_base * puiOwner, const ::scoped_string & scopedstrMessage, const ::scoped_string & scopedstrTitle = nullptr, const ::user::e_message_box & emessagebox = ::user::e_message_box_ok, ::callback callback = ::callback());
451
452//send(pmessageboxpayload);
453
454
455 //virtual void ui_message_box(::user::interaction_base * puiOwner, const ::scoped_string & scopedstrMessage, const ::scoped_string & scopedstrTitle = nullptr, const ::user::e_message_box & emessagebox = ::user::e_message_box_ok, ::callback callback = ::callback());
456 //virtual void ui_message_box_timeout(::user::interaction_base * puiOwner, 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, ::callback callback = ::callback());
457
458
459 //using ::aura::context_thread::message_box;
460 //virtual void message_box(::user::interaction_base * puiOwner, const ::scoped_string & scopedstrMessage, const ::scoped_string & scopedstrTitle = nullptr, const ::user::e_message_box & emessagebox = ::user::e_message_box_ok, ::callback callback = ::callback());
461 //virtual void message_box_timeout(::user::interaction_base * puiOwner, 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, ::callback callback = ::callback());
462
463
464 //virtual void on_file_new() override;
465
466
467 //virtual string get_title() override;
468 //virtual string_array_base get_categories() override;
469
470 //virtual void defer_create_keyboard() override;
471 //virtual bool set_keyboard_layout(const ::scoped_string & scopedstrPath, const ::action_context & action_context);
472
473
474 //virtual bool enable_application_events(::particle * pparticle, bool bEnable) override;
475
476 //virtual bool is_equal_file_path(const ::file::path & path1, const ::file::path & path2) override;
477
478
479 //virtual bool process_exception(const ::exception & e) override;
480
481
482 //virtual bool is_system() const override;
483 //virtual bool is_session() const override;
484 //virtual bool is_serviceable() const;
485 //virtual bool is_user_service() const override;
486
487 //void set_has_installer(bool bSet);
488
489
490
491 //virtual ::file::path defer_process_path(::file::path path);
492 //virtual ::file::path full_process_path(::file::path path);
493
494 //virtual void DoWaitCursor(::i32 nCode); // 0 => restore, 1=> begin, -1=> end
495 //virtual void show_wait_cursor(bool bShow = true) override;
496
497
498
499 //virtual void process_message_filter(::i32 code,::message::message * pmessage) override;
500
501 //virtual void on_thread_on_idle(::thread * pthread,::i32 lCount) override;
502
503
504 //virtual bool app_set(const ::scoped_string & scopedstrPath, const ::scoped_string & scopedstrValue) override;
505 //virtual string app_get(const ::scoped_string & scopedstrPath, const ::scoped_string & scopedstrDefault = "") override;
506
507
508 //virtual bool Ex2OnAppInstall();
509 //virtual bool Ex2OnAppUninstall();
510
511 //bool on_application_menu_action(const ::atom & atom) override;
512 //virtual void _001CloseApplication();
513
514 //virtual string get_license_id();
515
516 //virtual string get_version() override;
517
518// virtual ::pointer<::interprocess::communication>create_interprocess_communication() override;
519
520 //virtual void process_init();
521 //virtual void process_term() override;
522
523 //virtual void impl_process_init();
524 //virtual void impl_init1();
525 //virtual void impl_init2();
526 //virtual void impl_init3();
527
528 //virtual void impl_process_term();
529 //virtual void impl_term1();
530 //virtual void impl_term2();
531 //virtual void impl_term3();
532
533 //virtual void init1();
534 //virtual void init2();
535 //virtual void init3();
536
537 // virtual void term1() override;
538 // virtual void term2() override;
539 // virtual void term3() override;
540 //
541 // //virtual void init_thread() override;
542 // //virtual void init_application();
543 // //virtual void term_application();
544 // //virtual void term_thread() override;
545 //
546 // //virtual void init_instance() override;
547 // virtual void term_instance() override;
548
549 //virtual void init();
550 //virtual void term();
551
552 //virtual void notify_process_init();
553 //virtual void notify_init1();
554 //virtual void notify_init2();
555 //virtual void notify_init3();
556
557 //virtual void notify_term3();
558 //virtual void notify_term2();
559 //virtual void notify_term1();
560 //virtual void notify_process_term();
561
562 // virtual bool is_installing();
563 // virtual bool is_unstalling();
564
565 //virtual string get_version();
566 //virtual void run() override;
567 //virtual void main() override;
568 //virtual void on_run();
569
570 //virtual void on_before_launching() override;
571 //virtual void os_native_bergedge_start();
572
573 //virtual void pre_run() override;
574 //virtual void application_pre_run();
575
576 // virtual void on_pos_run_thread() override;
577 // virtual void pos_run() override;
578 // virtual void application_pos_run() override;
579
580 //virtual bool InitApplication();
581 //virtual void TermApplication() override;
582
583 //virtual bool on_install();
584 //virtual bool on_uninstall();
585
586 //virtual bool system_add_app_install(const ::scoped_string & scopedstrId, const ::scoped_string & scopedstrBuild) override;
587
588 //virtual void TermThread(HINSTANCE hInstTerm);
589
590 //virtual void SetCurrentHandles();
591
592 //virtual void set_env_var(const string & payload,const string & value);
593 //virtual itask get_thread_id();
594
595
596 //virtual bool _001OnDDECommand(const ::scoped_string & scopedstr) override;
597
598 // virtual void _001InitializeShellOpen() override;
599 // virtual void _001OnFileNew(::message::message * pmessage) override;
600
601
602 //virtual string multimedia_audio_get_default_implementation_name() override;
603 //virtual string multimedia_audio_mixer_get_default_implementation_name() override;
604 //virtual string veriwell_multimedia_music_midi_get_default_implementation_name() override;
605
606 //virtual bool get_temp_file_name_template(string & str, const ::scoped_string & scopedstrName, const ::scoped_string & scopedstrExtension, const ::scoped_string & scopedstrTemplate) override;
607
608 //virtual bool get_temp_file_name(string & str, const ::scoped_string & scopedstrName, const ::scoped_string & scopedstrExtension) override;
609
610 //service_base * get_service();
611 //virtual service_base * allocate_new_service() override;
612 //virtual bool init_service() override;
613
614 //virtual bool os_create_service() override;
615 //virtual bool os_erase_service() override;
616
617 //virtual bool os_start_service() override;
618 //virtual bool os_stop_service() override;
619
620 //virtual void on_service_request(::request * prequest);
621
622 //virtual bool is_running();
623
624 //virtual string get_mutex_name_gen();
625
628 //virtual void on_exclusive_instance_conflict(bool & bHandled, enum_exclusive_instance eexclusive, const ::scoped_string & scopedstrId) override;
629
632// virtual bool on_exclusive_instance_local_conflict(bool & bHandled) override;
633
636 //virtual bool on_exclusive_instance_local_conflict_id(bool & bHandled, const ::scoped_string & scopedstrId) override;
637
640 //virtual void on_additional_local_instance(bool & bHandled, const ::scoped_string & scopedstrModule, ::i32 iPid, const ::scoped_string & scopedstrCommandLine) override;
641
642 //virtual void on_new_instance(const ::scoped_string & scopedstrModule, const ::atom & idPid) override;
643
644 //virtual string get_local_mutex_id() override;
645 //virtual string get_global_mutex_id() override;
646
647 //virtual ::pointer< ::mutex > get_local_mutex();
648 //virtual ::pointer< ::mutex > get_global_mutex();
649
650 //virtual string get_local_mutex_name() override;
651 //virtual string get_local_id_mutex_name() override;
652 //virtual string get_global_mutex_name() override;
653 //virtual string get_global_id_mutex_name() override;
654
655 //virtual bool check_exclusive(bool & bHandled) override;
656 //virtual bool release_exclusive() override;
657
658 //virtual void on_set_scalar(e_scalar escalar,::i64 iValue,::i32 iFlags) override;
659 //virtual void get_scalar_minimum(e_scalar escalar,::i64 & i) override;
660 //virtual void get_scalar(e_scalar escalar,::i64 & i) override;
661 //virtual void get_scalar_maximum(e_scalar escalar,::i64 & i) override;
662
663
664
665 //bool safe_is_running();
666
667
668 //virtual void on_request(::request * prequest) override;
669
672 //template < typename TYPE >
673 //bool gudo_get(const ::scoped_string & scopedstrKey, TYPE & t);
674
675 //template < typename TYPE >
676 //bool gudo_set(const ::scoped_string & scopedstrKey, const TYPE & t);
677
678
679 //virtual bool assert_user_logged_in();
680
681 //virtual void do_request(::request * prequest) override;
682 //virtual void call_request(::request * prequest) override;
683
684
685 //virtual void process_message(::user::message * base) override;
686
687 //virtual void message_handler(::user::message * pusermessage) override;
688
689
690
691 //virtual string http_get_locale_schema(const ::scoped_string & scopedstrUrl, const ::scoped_string & scopedstrLocale, const ::scoped_string & scopedstrSchema) override;
692
693 //virtual void on_update_matter_locator() override;
694
695 //virtual void locale_schema_matter(string_array_base & stra, const string_array_base & straMatterLocator, const ::scoped_string & scopedstrLocale, const ::scoped_string & scopedstrSchema) override;
696 //virtual void matter_locator_locale_schema_matter(string_array_base & stra, const string_array_base & straMatterLocator, const ::scoped_string & scopedstrLocale, const ::scoped_string & scopedstrSchema) override;
697
698 //virtual string get_locale_schema_dir(const ::scoped_string & scopedstrLocale, const ::scoped_string & scopedstrSchema) override;
699 //virtual string get_locale_schema_dir(const ::scoped_string & scopedstrLocale) override;
700 //virtual string get_locale_schema_dir() override;
701
702 //virtual void set_locale(const ::scoped_string & scopedstr, const ::action_context & action_context) override;
703
704 //virtual void set_schema(const ::scoped_string & scopedstr, const ::action_context & action_context) override;
705
706 //virtual void on_set_locale(const ::scoped_string & scopedstr, const ::action_context & action_context) override;
707
708 //virtual void on_set_schema(const ::scoped_string & scopedstr, const ::action_context & action_context) override;
709
710
711
712 //virtual void fill_locale_schema(::text::international::locale_schema & localeschema) override;
713 //virtual void fill_locale_schema(::text::international::locale_schema & localeschema,const ::scoped_string & scopedstrLocale,const ::scoped_string & scopedstrSchema) override;
714
715 //virtual bool platform_open_by_file_extension(::collection::index iEdge, const ::scoped_string & scopedstrPathName, ::request * prequest = nullptr) override;
716 //virtual bool platform_open_by_file_extension(::collection::index iEdge,::create * pcc) override;
717
718
719 //virtual bool on_start_application() override;
720
721 //virtual bool os_on_start_application() override;
722
723 //virtual bool is_application() const override;
724
725
726 //DECLARE_MESSAGE_HANDLER(on_message_app_exit);
727 //virtual bool _001OnAgreeExit() override;
728 //virtual void france_exit() override;
729 //virtual void _001FranceExit() override;
730
731
732 //virtual string lstr(const ::atom & atom, const ::scoped_string & scopedstrDefault = "") override;
733
734
735
736 //virtual bool do_install();
737 //virtual bool do_uninstall();
738
739
740
741 //void request(::create * pcommand) override;
742 //void on_create(::request * prequest) override;
743
744// virtual void dispatch_user_message(::user::message * pusermessage);
745
746 //virtual void throw_not_installed();
747
748 //virtual void play_audio(::payload payloadFile, bool bSynch = false);
749
750 //virtual void post_critical_error_message(const ::scoped_string & scopedstrMessage, bool bShowLog = true) override;
751
752 //virtual void show_critical_error_log() override;
753
754 //virtual string get_app_user_friendly_task_bar_name() override;
755
756 //void handle(::topic * ptopic, ::handler_context * phandlercontext) override;
757
758 //virtual bool compress_ungz(::file::file * pfileUncompressed, ::file::file * pfileCompressed);
759
760 //virtual bool compress_gz(::file::file * pfileCompressed, ::file::file * pfileUncompressed, ::i32 iLevel = 6);
761
762 //virtual void interactive_credentials(::account::credentials * pcredentials) override;
763
764 //virtual ::file::path get_executable_path() override;
765 //virtual string get_executable_extension() override;
766 //virtual string get_executable_title() override;
767 //virtual string get_executable_appid() override;
768
769
770
771 //virtual bool on_open_document_file(::payload payloadFile) override;
772
773 //virtual string get_app_id(string wstr) override;
774
775
776 //virtual void install_trace(const ::scoped_string & scopedstr) override;
777 //virtual void install_trace(::f64 dRate) override;
778 //virtual bool register_spa_file_type() override;
779
780 //virtual bool low_is_app_app_admin_running(const ::scoped_string & scopedstrPlatform, const ::scoped_string & scopedstrConfiguration) override;
781 //virtual void defer_start_program_files_app_app_admin(const ::scoped_string & scopedstrPlatform, const ::scoped_string & scopedstrConfiguration) override;
782 //virtual void start_program_files_app_app_admin(const ::scoped_string & scopedstrPlatform, const ::scoped_string & scopedstrConfiguration) override;
783
784
785
786 // virtual bool keyboard_focus_is_focusable(const ::user::interaction_base * pue) override;
787 // virtual bool keyboard_focus_OnSetFocus(::user::interaction_base * pue) override;
788
789 virtual ::user::interaction * main_window();
790
791
792 virtual bool is_sandboxed();
793
794
795
797
798 virtual bool get_frame(::pointer<::user::interaction>& pinteraction);
799 virtual void add_user_interaction(::user::interaction * puserinteraction);
800 virtual void erase_user_interaction(::user::interaction * puserinteraction);
801
802 // virtual bool send_message_to_windows(::user::enum_message eusermessage, ::wparam wparam, ::lparam lparam) override; // with tbs in <3
803 //
804 // virtual bool route_message_to_windows(::message::message * pmessage) override; // with tbs in <3
805
806
807 //virtual void send_language_change_message() override;
808
809
810 //
811 // virtual string preferred_experience() override;
812 //
813 //
814 // // user virtual ::user::document * place_hold(::user::interaction * pinteraction);
815 //
816 //
817 // virtual void post_message(::user::enum_message eusermessage, ::wparam wparam = {}, ::lparam lparam = {}) override;
818 //
819 //
820 //virtual ::image::icon * set_icon(object * pparticle, ::image::icon * picon, bool bBigIcon);
821
822 //virtual ::image::icon * get_icon(object * pparticle, bool bBigIcon) const;
823
824 //virtual void handle(::topic * ptopic, ::handler_context * phandlercontext);
825
826
827
828// virtual ::account::user * get_user(::file::path pathUrl = nullptr, bool bFetch = false, bool bInteractive = true);
829//
831//
832// virtual ::account::user * noninteractive_get_user(::file::path pathUrl = nullptr);
833
834 virtual void on_initial_frame_position(::user::frame_interaction * pframe);
835
836 virtual void on_graphics_ready();
837
838 //virtual ::platform::type user_default_controltype_to_typeinfo(::user::enum_control_type econtroltype);
839 virtual ::platform::type control_type_from_id(const ::atom & atom, ::user::enum_control_type & econtroltype);
840
841
842 //virtual ::atom translate_property_id(const ::atom & atom) override;
843 //virtual property fetch_property(const ::atom & atom) override;
844
845 //virtual void get_time(struct timeval *i32_point) override;
846 //
847 // virtual void close(::enum_exit eexit) override;
848
849
850 //user virtual ::pointer<::user::document>defer_create_impact(const ::scoped_string & scopedstrImpact, ::user::interaction * puiParent, e_window_flag ewindowflag, const ::atom & atom = nullptr);
851
852 //
853 // virtual void HideApplication() override;
854 //
855
856 //virtual void initialize(::particle * pparticle) override;
857
858 //virtual void process_init() override;
859
860 //virtual void init1() override; // first initialization
861 //virtual void init2() override; // second initialization
862 //virtual void init3() override; // third initialization and so on...
863
864 //virtual void init() override; // last initialization
865
866 //virtual void bergedge_start();
867 //virtual void os_native_bergedge_start() override;
868
869 //virtual void term_application() override;
870
871 //virtual void term() override;
872
873 //virtual void main() override;
874
875 //virtual ::aura::application * get_app() const override;
876
877 //virtual bool is_system() const override;
878 //virtual bool is_session() const override;
879
880 //virtual ::u32 guess_code_page(const ::scoped_string & scopedstr) override;
881
882 //virtual ::i32 _sync_message_box(::user::interaction_base* puiOwner, const ::scoped_string & scopedstrMessage, const ::scoped_string & scopedstrTitle, ::u32 fuStyle) override;
883
884 //virtual bool is_serviceable() const override;
885 //
886 //
887 // virtual void pre_translate_message(::message::message* pmessage) override;
888 //
889
890 //virtual void EnableShellOpen() override;
891
892
893
894 //virtual bool base_support() override;
895
896 //virtual bool on_run_install() override;
897 //virtual bool on_run_uninstall() override;
898
899 //DECLARE_MESSAGE_HANDLER(on_application_signal);
900 //DECLARE_MESSAGE_HANDLER(_001OnSwitchContextTheme);
901
902
903 //virtual bool on_idle(::i32 lCount) override; // return true if more idle processing
904 //virtual void process_window_procedure_exception(const ::exception & e, ::message::message* pmessage) override;
905
906// void EnableModelessEx(bool bEnable);
907// bool GetResourceData(::u32 nID, const ::scoped_string & scopedstrType, memory& storage);
908
909//#ifdef WINDOWS
910// virtual bool OnMessageWindowMessage(MESSAGE * pmsg);
911//
912//#elif defined(LINUX)
913// virtual bool OnX11WindowMessage(void* pev);
914//#endif
915
916 bool CreateFileFromRawResource(::u32 nID, const ::scoped_string & scopedstrType, const ::scoped_string & scopedstrFilePath);
917
918 void OnUpdateRecentFileMenu(::message::command* pcommand);
919
920 // virtual void route_command(::message::command * pcommand, bool bRouteToKeyDescendant = false) override;
921 //
922 // //virtual void EnableHtmlHelp();
923
924 // set regsitry key name to be used by application's
925 // profile member functions; prevents writing to an INI spfile->
926 virtual void SetRegistryKey(const ::scoped_string & scopedstrRegistryKey);
927
928 virtual void SetRegistryKey(::u32 nIDRegistryKey);
929
930
931 virtual void RegisterShellFileTypes(bool bCompat = false);
932
933 // call after all doc templates are registered
934 void UnregisterShellFileTypes();
935
936 // run this cast as an embedded object.
937 // virtual bool RunEmbedded();
938
939 // run this cast as an OLE automation server.
940 //virtual bool RunAutomated();
941
942 // exiting
943 // bool save_all_modified() override; // save before exit
944
945 virtual void _001OnFileNew();
946 virtual void on_file_open();
947
948 // Finds number of opened document items owned by templates
949 // registered with the doc manager.
950 //virtual ::collection::count get_open_document_count();
951
952 //static ::string_literal gen_FileSection;
953 //static ::string_literal gen_FileEntry;
954 //static ::string_literal gen_ThumbnailSection;
955 //static ::string_literal gen_ThumbnailEntry;
956
957
958 //
959 //
960 // virtual bool does_launch_window_on_startup() override;
961 // virtual bool activate_app() override;
962 //
963 //
964
965
966
967 virtual ::user::interaction* get_request_parent_ui(::user::interaction* pinteraction, ::user::system* pusersystem);
968
969
970
971
972 virtual ::aura::theme* theme();
973
974
975 // virtual void initialize_contextualized_theme() override;
976 //
977
978
979 virtual ::i32 track_popup_menu(::menu::track_popup* ptrackpopup);
980
981 // virtual bool get_fs_size(string& strSize, const ::scoped_string & scopedstrPath, bool& bPending) override;
982 // virtual bool get_fs_size(::i64& i64Size, const ::scoped_string & scopedstrPath, bool& bPending) override;
983 //
984 // virtual void set_title(const ::scoped_string & scopedstrTitle) override;
985
986
987 virtual bool _001CloseApplicationByUser(::pointer<::user::interaction>puserinteractionExcept);
988
989 void update_app_interest();
990 void ensure_app_interest();
991
992 // virtual bool is_system() const override;
993 // virtual bool is_session() const override;
994 //
995
996// virtual ::pointer<::apex::application>create_platform(::apex::session* psession) override;
997
998 //void data_on_after_change(::database::client* pclient, const ::scoped_string & scopedstr, ::topic * ptopic) override;
999
1000
1001 virtual ::i32 GetVisibleTopLevelFrameCountExcept(::pointer<::user::interaction>puserinteractionExcept);
1002 virtual ::i32 GetVisibleFrameCount();
1003
1004 virtual void prepare_form(atom atom, ::form_document* pformdocument);
1005
1006
1007 // void report_error(const ::exception & exception, ::i32 iMessageFlags, const ::scoped_string & scopedstrTopic) override;
1008 //
1009 //
1010 // bool can_close_application() override;
1011
1012
1013 virtual bool on_close_frame_window(::user::frame_interaction* pframe);
1014
1015
1016 //void create_impact_system() override;
1017
1018 virtual ::user::interaction* create_menu_interaction();
1019
1020 // void on_song_added(const ::scoped_string & scopedstr) override;
1021 //
1022 //
1023 // virtual string get_visual_studio_build() override;
1024 //
1025 //
1026 // string sound_path(const ::scoped_string & scopedstr) override;
1027 // string get_default_playlist_path() override;
1028
1029
1030//#if defined(FREEBSD) || defined(OPENBSD)
1031//
1032// bool os_on_start_application() override;
1033//
1034//#endif
1035
1036 virtual string draw2d_get_default_implementation_name();
1037 virtual string typeface_get_default_implementation_name();
1038 virtual string imaging_get_default_implementation_name();
1039
1040
1041 //void on_additional_local_instance(bool & bHandled, const ::scoped_string & scopedstrModule, ::i32 iPid, const ::scoped_string & scopedstrCommandLine) override;
1042
1043
1044 //virtual ::user::user * user();
1045 // ::axis::user * axisuser() override;
1046 // ::berg::user * user() override;
1047 // ::bred::user * breduser() override;
1048 // ::core::user * coreuser() override;
1049
1050 // void pick_browse(const ::function < void(const ::file::path & path) > & callback) override;
1051 //
1052 // void pick_media(const_char_pointer pszMediaType) override;
1053 //
1054 // void on_prompt_write_file(::user::controller * pusercontroller) override;
1055
1056 //::pointer < ::innate_ui::icon > innate_ui_icon(const ::i32_size & size) override;
1057
1058
1059 };
1060
1061
1062} // namespace platform
1063
1064
1065
Definition atom.h:237
Definition bbb_object.h:11
Definition application_aura.h:146
virtual bool get_frame(::pointer<::user::interaction > &pinteraction)
virtual pointer<::user::message>get_user_message(MESSAGE * pmsg);
Definition application_aura.cpp:651
virtual::user::interaction * main_window()
virtual bool compress_ungz(memory_base & mem) override;
Definition application_aura.cpp:637
include "thread/AutoLock.h"
Definition _forward_declaration.h:877