acme
Foundational cross-platform layer of the ca2 framework
Loading...
Searching...
No Matches
application.h
1//
2// Created by camilo on 22/02/2022. 01:19 <3ThomasBorregaardSorensen!!
3//
4// app to application and back to acme namespace by camilo on 2022-09-17 18:51 <3ThomasBorregaardSorensen!!
5#pragma once
6
7
9//namespace apex{
10//class menu;
11//} // namespace apex
13
14class get_file_extension_mime_type;
15
16namespace acme { class acme; }
17
18
19#include "application_base.h"
20#include "application_exit.h"
21#include "application_flags.h"
22#include "acme/constant/gpu.h"
23#include "acme/handler/command_handler.h"
24#include "context.h"
25#include "release_time_for_project.h"
26#include "acme/prototype/data/client.h"
27#include "acme/prototype/text/text.h"
28#include "application_acme.h"
29#include "application_apex.h"
30#include "application_aqua.h"
31#include "application_aura.h"
32#include "application_axis.h"
33#include "application_base.h"
34#include "application_bred.h"
35#include "application_core.h"
36
37
38namespace platform
39{
40
41
42 class CLASS_DECL_ACME application :
43 // virtual public application_base,
44 virtual public APPLICATION_FLAGS,
45 virtual public ::platform::context,
46 virtual public ::data::client,
47 virtual public ::application_exit,
48 virtual public ::command_handler,
49 // virtual public ::platform::acme_application_layer_t,
50 // virtual public ::platform::apex_application_layer_t,
51 // virtual public ::platform::aqua_application_layer_t,
52 // virtual public ::platform::aura_application_layer_t,
53 // virtual public ::platform::axis_application_layer_t,
54 // virtual public ::platform::base_application_layer_t,
55 // virtual public ::platform::bred_application_layer_t,
56 // virtual public ::platform::core_application_layer_t,
65 {
66 public:
67
68
69
70 // mutable ::apex::application* m_papexapplication;
71 // mutable ::aqua::application* m_paquaapplication;
72 // mutable ::aura::application* m_pauraapplication;
73 // mutable ::axis::application* m_paxisapplication;
74 // mutable ::berg::application* m_pbaseapplication;
75 // mutable ::bred::application* m_pbredapplication;
76 // mutable ::core::application* m_pcoreapplication;
77
79 virtual public ::particle
80 {
81
82 public:
83
84 ::e_status m_estatus;
85 ::particle_pointer m_pparticle;
86 ::i64 m_hi;
87 void* m_p;
88
89 };
90
91 bool m_bUserApplication;
92 bool m_bIsService;
93 //bool m_bTransferToContainer;
94 //bool m_bTransferredToContainer;
95#if REFERENCING_DEBUGGING
96 ::reference_referer* m_prefererCreation = nullptr;
97#endif
98 //mutable ::platform::platform * m_pplatform;
99
100 //::APPLICATION_FLAGS m_applicationflags;
101 ::pointer<main_hold_base> m_pmainholdbase;
102 // FROM ::main (Now main2)
103 ::pointer < ::filesystem::file_system_options > m_pfilesystemoptions;
104 ::pointer_array < user_message > m_usermessagea;
105 bool m_bGUIReady = false;
106 bool m_bModulePath = false;
107 ::file::path m_pathModule;
108
109 bool m_bModuleFolder = false;
110 ::file::path m_pathModuleFolder;
111
112
113 struct gpu_t
114 {
115
116 bool m_bUseSwapChainWindow;
117 ::gpu::enum_output m_eoutputDraw2d;
118 ::gpu::enum_output m_eoutputEngine;
119
120 } m_gpu;
121
122
123
124 string m_strProgName;
125 string m_strStandalone;
126 //::i32 m_iExitCode = 0;
127 //bool m_bApplicationFirstRequest;
128
129 //::pointer < ::request > m_prequest;
130
131
132 // END FROM ::main (Now main2 : merge)
133
134 //::pointer < ::platform::platform > m_pplatform;
135 string m_strAppId;
136 string m_strAppName;
137 string m_strRoot;
138 string m_strDomain;
139 string m_strLibraryName;
140 string m_strBuild;
141 string m_strInstallToken;
142 string_array_base m_straAppCategory;
143 bool m_bLicense;
144
145 enum_application_capability_array m_eapplicationcapabilitya;
146 ::text::text m_textAppTitle;
147 ::text::text m_textAppName;
148
149 ::pointer < ::mutex > m_pmutexMatterLocator;
150
151 ::pointer < ::mutex > m_pmutexStr;
152
153
154 //
155 // // mutable ::apex::application* m_papexapplication;
156 // // mutable ::aqua::application* m_paquaapplication;
157 // // mutable ::aura::application* m_pauraapplication;
158 // // mutable ::axis::application* m_paxisapplication;
159 // // mutable ::berg::application* m_pbaseapplication;
160 // // mutable ::bred::application* m_pbredapplication;
161 // // mutable ::core::application* m_pcoreapplication;
162 //
163 // class user_message :
164 // virtual public ::particle
165 // {
166 //
167 // public:
168 //
169 // ::e_status m_estatus;
170 // ::particle_pointer m_pparticle;
171 // ::i64 m_hi;
172 // void * m_p;
173 //
174 // };
175 //
176 // bool m_bTransferToContainer;
177 // bool m_bTransferredToContainer;
178 // #if REFERENCING_DEBUGGING
179 // ::reference_referer* m_prefererCreation = nullptr;
180 // #endif
181 // //mutable ::platform::platform * m_pplatform;
182 //
183 // //::APPLICATION_FLAGS m_applicationflags;
184 // ::pointer<main_hold_base> m_pmainholdbase;
185 // // FROM ::main (Now main2)
186 // ::pointer < ::filesystem::file_system_options > m_pfilesystemoptions;
187 // ::pointer_array < user_message > m_usermessagea;
188 // bool m_bGUIReady = false;
189 // bool m_bModulePath = false;
190 // ::file::path m_pathModule;
191 //
192 // bool m_bModuleFolder = false;
193 // ::file::path m_pathModuleFolder;
194 //
195 //
196 // string m_strProgName;
197 // string m_strStandalone;
198 // ::i32 m_iExitCode = 0;
199 // bool m_bApplicationFirstRequest;
200 // //::pointer < ::request > m_prequest;
201 //
202 //
203 // // END FROM ::main (Now main2 : merge)
204 //
205 // //::pointer < ::platform::platform > m_pplatform;
206 // string m_strAppId;
207 // string m_strAppName;
208 // string m_strRoot;
209 // string m_strDomain;
210 // string m_strLibraryName;
211 // string m_strBuild;
212 // string m_strInstallToken;
213 // string_array_base m_straAppCategory;
214 // bool m_bLicense;
215 //
216 // enum_application_capability_array m_eapplicationcapabilitya;
217 // ::text::text m_textAppTitle;
218 // ::text::text m_textAppName;
219 //
220 // ::pointer < ::mutex > m_pmutexMatterLocator;
221 //
222 // ::pointer < ::mutex > m_pmutexStr;
223 //struct apex_application_layer_t
224 //{
225 //__creatable(application);
226
227 void* m_pnativeapp;
228
229
230 //bool m_bPostedCommandLineFileOpen;
231 bool m_bApplicationStartFileOpenRequest = false;
232 bool m_bPostedApplicationDefaultStartOrFileOpenRequest = false;
233 ::pointer<::request> m_prequestApplicationStartFileOpen;
234
235
236 ::string m_strNetworkingApplicationHostname;
237 //class application_impl * m_pappimpl;
238
239 // 2020-01-25: removing from ::apex::system, placing here (at ::handler_context)
240 // 2020-07-23: now at ::application
241 ::pointer<::user::language_map> m_puserlanguagemap;
242
243 //::pointer<::apex::application> m_pappParent;
244 string m_strBaseSupportId;
245 string m_strDatabaseAppId;
246 string m_strRelativeFolder;
247 string m_strInstallTraceLabel;
248 string m_strInstallBuild;
249 string m_strHttpUserAgentToken;
250 string m_strHttpUserAgentVersion;
251 bool m_bRequiresInstallation;
252
253 bool m_bReadStringTable;
254
255 ::pointer<class ::application_menu> m_papplicationmenu;
256 //::pointer<::apex::menu> m_pmainmenu;
257
258 //::pointer<::game::game> m_pgame;
259
260 ::pointer<::user::interaction_base> m_puiCurrent;
261 bool m_bContextTheme;
262
263 // #if defined(LINUX) || defined(FREEBSD) || defined(OPENBSD)
264 // bool m_bSnLauncheeSetup;
265 // #endif
266 //semaphore m_semCompiler;
267 // former ::application_interface // moved on 2015-05-23 Sammstag while listening to RocketBeansTV (a German channel?) at TwitchTV
268 string_array_base m_straActivationMessage;
269
270 ::u32 m_dwInstallGoodToCheckAgain;
271
272 bool m_bAppHasInstallerProtected;
273 bool m_bAppHasInstallerChangedProtected;
274 ::pointer<::install::installer> m_pinstaller;
275
276 particle_address_array m_particleaddressaEventHook;
277
278 bool m_bAttendedFirstRequest;
279
280 //bool m_bAgreeExit;
281 //bool m_bAgreeExitOk;
282 //bool m_bFranceExit;
283
284 bool m_bEnableAutoStartOption;
285 bool m_bInterprocessCommunication;
286 ::pointer<::interprocess::communication> m_pinterprocesscommunication2;
287 ::pointer<::interprocess::handler> m_pinterprocesshandler;
288 //::pointer<service> m_pservice;
289
290 //::string_array_base m_straInterprocessCommunicationPendingHandleUri;
291
292
293 // apex commented
294 //::pointer < ::mutex > m_pmutexFrame;
295 //::pointer<::user::interaction_pointer_array> m_puiptraFrame;
296
297 enum_thread_context m_ethreadcontextClose;
298
299 enum_exclusive_instance m_eexclusiveinstance;
300
301 bool m_bService;
302
303 bool m_bUpdateMatterOnInstall;
304
305 //::user::interaction * m_puiMainContainer;
306
307 ::string_table m_stringtable;
308 ::string_table m_stringtableStd;
309 atom_map_base<string> m_stringmap;
310
311 atom_map_base<::pointer<::channel>> m_mapNotify;
312
313 string m_strLicense;
314
315 ::i32 m_iWaitCursorCount; // for wait cursor (>0 => waiting)
316
317 bool m_bEnableFsRawFolderProtocols = true;
318
319 //::pointer<::simpledb::server> m_psimpledb;
320
321 //::userex::pane_tab_impact * m_pmainpane;
322
323
324 string m_strHelpFilePath;
325
326 //#ifdef WINDOWS
327 //
328 // HGLOBAL m_hDevMode; // printer Dev Mode
329 // HGLOBAL m_hDevNames; // printer Device Names
330 //
331 //#endif
332
333 ::u32 m_dwPromptContext; // help action_context override for message box
334 // LKG
335 ::u32 m_dwPolicies; // block for storing boolean system policies
336
337 // Support for Shift+F1 help mode.
338 // true if we're in SHIFT+F1 mode.
339 bool m_bHelpMode;
340
341 //::userex::pane_tab_impact * m_ppaneimpactMain;
342
343 string m_strProfileName;
344
345 //#ifdef WINDOWS
346 // ATOM m_atomApp;
347 // ATOM m_atomSystemTopic; // for DDE open
348 //#endif
349
350 ::u32 m_nNumThumbnailPages; // number of default printed pages
351
352 string m_strId;
353
354 ::i32 m_iResourceId;
355
356 //::pointer<::experience::department> m_pexperience;
357 //::pointer<::apex::theme> m_ptheme;
358
359
360 string_array_base m_straAppInterest;
361
362 ::pointer<::service_handler> m_pservicehandler;
363
364 ::pointer<::networking::application> m_pnetworkingapplication;
365
367
368
369 //}; // end apex_application_t
370
371 //struct CLASS_DECL_ACME aqua_application_layer_t
372 //{
373
374
375 ::pointer<::aqua::game> m_paquagame;
376
377
378
379 //::pointer<::networking::application> m_p_networkingapplication;
380
381
382 //}; // end aqua_application_layer_t
383
384 //struct CLASS_DECL_ACME aura_application_layer_t
385 //{
386
387
388 //__creatable_from_base(application, ::apex::application);
389
390
391 //void* m_pnativeapp;
392
393
394 ::aura::application* m_pappParent;
395 //string m_strAppName;
396 //string m_strAppTitle;
397 //string m_XstrAppId;
398 //string m_strBaseSupportId;
399 //string m_strRoot;
400 //string m_strDomain;
401 //string m_strLibraryName;
402 //string m_strRelativeFolder;
403 //string m_strBuild;
404 //string m_strInstallToken;
405 //string m_strInstallTraceLabel;
406 //string m_strInstallBuild;
407 //string m_strHttpUserAgentToken;
408 //string m_strHttpUserAgentVersion;
409 //string_array_base m_straAppCategory;
410 //bool m_bLicense;
411 //bool m_bRequiresInstallation;
412
413 //bool m_bReadStringTable;
414
415 //::pointer<::application_menu> m_pappmenu;
416
417 //::pointer<::game::game> m_pgame;
418 //::pointer<::user::interaction> m_pacmeuserinteractionMain;
419
420 ::pointer<shell_open> m_pshellopen;
421
422 ::string_array_base m_straOptionsFormMakerLibrary;
423 //::user::interaction_base * m_puiCurrent;
424 //bool m_bContextTheme;
425
426// #if defined(LINUX) || defined(FREEBSD) || defined(OPENBSD)
427// bool m_bSnLauncheeSetup;
428// #endif
429 //semaphore m_semCompiler;
430 // former ::aura::application_interface // moved on 2015-05-23 Sammstag while listening to RocketBeansTV (a German channel?) at TwitchTV
431
432 //::u32 m_dwInstallGoodToCheckAgain;
433
434 //bool m_bAppHasInstallerProtected;
435 //bool m_bAppHasInstallerChangedProtected;
436 //::install::installer * m_pinstaller;
437
438 //particle_address_array m_particleaddressaEventHook;
439
440 ::pointer < ::mutex > m_pmutexFrame;
441 ::pointer<::user::interaction_array> m_puserinteractiona;
442 ::pointer<::user::interaction_array> m_puserinteractionaFrame;
443
444 //e_thread m_ethreadClose;
445
446 //enum_exclusive_instance m_eexclusiveinstance;
447
448 //string_map_base < ::pointer<::acme::exclusive >> m_mapExclusive;
449
450 //bool m_bService;
451
452 //bool m_bUpdateMatterOnInstall;
453
454 ::user::interaction* m_puiMainContainer;
455
456 //::pointer < ::mutex > m_pmutexMatterLocator;
457
458 //::pointer < ::mutex > m_pmutexStr;
459 //string_table_base m_stringtable;
460 //string_table_base m_stringtableStd;
461 //map_base < atom, atom, string, string > m_stringmap;
462
463 //atom_map_base < ::pointer<::channel >> m_mapNotify;
464
465 //::pointer<image_context> m_pimagecontext;
466
467 //bool m_bInitializeDataCentral;
468
469 //string m_strLicense;
470
471 //::i32 m_iWaitCursorCount; // for wait cursor (>0 => waiting)
472
473 //::pointer<::simpledb::server> m_psimpledb;
474
475 //::userex::pane_tab_impact * m_pmainpane;
476
477
478// string m_strHelpFilePath;
479//
480//#ifdef WINDOWS
481//
482// HGLOBAL m_hDevMode; // printer Dev Mode
483// HGLOBAL m_hDevNames; // printer Device Names
484//
485//#endif
486//
487// ::u32 m_dwPromptContext; // help action_context override for message box
488// // LKG
489// ::u32 m_dwPolicies; // block for storing boolean system policies
490//
491// // Support for Shift+F1 help mode.
492// // true if we're in SHIFT+F1 mode.
493// bool m_bHelpMode;
494//
495// //::userex::pane_tab_impact * m_ppaneimpactMain;
496//
497// string m_strProfileName;
498//
499// ATOM m_atomApp;
500// ATOM m_atomSystemTopic; // for DDE open
501// ::u32 m_nNumThumbnailPages; // number of default printed pages
502//
503// string m_strId;
504
505// ::i32 m_iResourceId;
506
507 //::pointer<::experience::department> m_pexperience;
508 ::pointer<::aura::theme> m_ptheme;
509
510
511 //string_array_base m_straAppInterest;
512 //string_map_base < oswindow, oswindow > m_mapAppInterest;
513
514 //::i32 m_iGcomBackgroundUpdateMillis;
515
516
517
518
519 //}; // end aura_application_layer_t
520
521 //struct CLASS_DECL_ACME axis_application_layer_t
522 //{
523
524
525 ::pointer<::simpledb::server> m_psimpledb;
526
527
528 // }; // end axis_application_layer_t
529
530 //struct CLASS_DECL_ACME base_application_layer_t
531 //{
532
533
534 //::pointer<::aura::application_menu> m_pappmenu;
535
536 ::pointer < ::user::tab_impact > m_ptabimpactBase;
537 ::pointer < ::user::options_impact_handler > m_poptionsimpacthandler;
538
539
540 //}; // end base_application_layer_t
541
542// struct CLASS_DECL_ACME bred_application_layer_t
543// {
544//
545//
546// }; // bred_application_layer_t
547
548
549// struct CLASS_DECL_ACME core_application_layer_t
550// {
551
552 ::pointer<::user::tab_impact> m_ptabimpactBerg;
553 ::pointer<::userex::pane_tab_impact> m_ppaneimpactCore;
554 ::pointer < ::filemanager::filemanager> m_pfilemanager;
555
556
557 ::pointer < ::gpu::approach > m_pgpuapproach;
558
559 //}; // end core_application_layer_t
560
561 application();
562 ~application() override;
563
564#ifdef _DEBUG
565
566 ::i64 increment_reference_count() override;
567 ::i64 decrement_reference_count() override;
568
569#endif
570
571 virtual ::release_time_for_project release_time() override;
572
573
574 //virtual void initialize_application(::platform::platform * pplatform);
575
576 virtual void initialize_application() override;
577
578#if REFERENCING_DEBUGGING
579
580 void on_after_construct(::reference_referer* preferer) override;
581
582#endif
583
584 virtual void _001PostTryCloseApplication() override;
585
586 virtual void application_on_status(::e_status estatus, ::particle* pparticle = nullptr, ::i64 hi = 0, void* p = nullptr) override;
587
588
589 virtual void on_error_icloud_not_available(::particle* pparticle = nullptr, ::i64 hi = 0, void* p = nullptr) override;
590
591
592 virtual void prepare_application() override;
593 virtual void on_prepare_application() override;
594 virtual void on_after_prepare_application() override;
595
596 //virtual void application_main(::platform::system * psystem);
597
598 virtual ::i32 application_main() override;
599
600
601 void on_set_platform() override;
602
603 virtual ::lresult handle_direct_id(const ::enum_id eid, ::wparam wparam, ::lparam lparam);
604
605
606 void on_initialize_particle() override;
607
608 ::user::user* user() override;
609
610 virtual ::gpu::approach* get_gpu_approach();
611 virtual ::gpu::approach* gpu_approach();
612 virtual void create_gpu_approach();
613
614 //::pointer< ::message_box_payload > send_message_box(const ::scoped_string &scopedstrMessage, const ::scoped_string &scopedstrTitle = {},
615 // const ::user::e_message_box &emessagebox = {},
616 // const ::scoped_string &scopedstrDetails = {},
617 // ::nano::graphics::icon *picon = nullptr) override;
618
619 //::pointer<::message_box_payload>
620 //send_message_box(const ::exception &exception,
621 // const ::scoped_string &scopedstrMessage,
622 // const ::scoped_string &scopedstrTitle = {},
623 // const ::user::e_message_box &emessagebox = {},
624 // const ::scoped_string &scopedstrDetails = {},
625 // ::nano::graphics::icon *picon = nullptr) override;
626
627 //void post_message_box(const ::scoped_string &scopedstrMessage, const ::scoped_string &scopedstrTitle = {},
628 // const ::user::e_message_box &emessagebox = {},
629 // const ::function<void(::message_box_payload *)> & functionOnResult = {},
630 // const ::scoped_string &scopedstrDetails = {},
631 // ::nano::graphics::icon *picon = nullptr) override;
632
633
636 //virtual void display_message_box_and_wait_message_box_response(::message_box_payload *pmessageboxpayload);
637
638 //void post_message_box_payload(::message_box_payload * pmessageboxpayload) override;
639
640
641 //void initialize(::particle * pparticle) override;
642
643
644 //virtual void start_application(::request* prequest) override;
645
646 //void on_application_default_start() override;
647
648 //virtual void on_initialize_application();
649
650 virtual class ::application_menu* application_menu() override;
651
652 virtual void on_update_application_menu();
653
654 // using ::platform::context::factory;
655
656 // virtual ::factory::factory_pointer& factory() const override;
657
658 //virtual void implement_application();
659
660 virtual void initialize_application_flags() override;
661
662 //virtual bool is_application() const;
663
664 //bool is_system() const override;
665 //bool is_session() const override;
666
667 virtual bool is_service() const;
668 virtual bool is_user_service() const;
669
670 virtual bool can_exit_application() override;
671
672 virtual ::file::path get_module_path() override;
673 virtual ::file::path get_module_folder() override;
674
675
676 virtual ::string app_name() override;
677
678 //virtual ::string app_name();
679
680 virtual ::string app_root() override;
681
682 virtual ::string application_title() override;
683
684
685 virtual ::string application_name() override;
686 //
687 //#ifdef WINDOWS
688 //
689 // void get_arguments_from_command_line();
690 //
691 //#else
692 //
693 // void set_args(::i32 argc, char_pointer argv[], char_pointer envpb[]);
694 //
695 //#endif
696
697 //virtual ::i32 __implement();
698
699 //virtual ::i32 main_loop();
700
701 void main() override;
702
703 virtual ::enum_id key_command(const ::user::e_key & ekey) override;
704
705 virtual void on_before_launching() override;
706 //virtual void os_native_bergedge_start() override;
707
708 virtual void init1();
709 virtual void init2();
710 virtual void init3();
711
712
713 virtual void init();
714 virtual void term();
715
716 virtual void term3();
717 virtual void term2();
718 virtual void term1();
719
720 void set_finish() override;
721
722 virtual void do_install() override;
723 virtual void do_uninstall() override;
724
725
726 virtual void on_install() override;
727 virtual void on_uninstall() override;
728
729
730 virtual void init_instance() override;
731 virtual void term_instance() override;
732
733 void init_task() override;
734 void term_task() override;
735
736
737 virtual ::request * application_start_file_open_request();
738 void process_command_line_options() override;
739
740
741 virtual void user_confirm_close_application();
742
743
744 virtual bool has_capability(enum_application_capability eapplicationcapability) const override;
745 virtual void add_capability(enum_application_capability ecapability) override;
746
747
748 bool handle_call(::payload& payload, const ::scoped_string & scopedstrObject, const ::scoped_string & scopedstrMember, ::property_set& propertyset) override;
749 bool handle_application_call(::payload& payload, const ::scoped_string & scopedstrMember, ::property_set& propertyset) override;
750
751
752 ::file::path get_app_localconfig_folder() override;
753 ::property_set get_ini(const ::scoped_string& scopedstrIniName = {}) override;
754
755
756 ::string get_visual_studio_build() override;
757
758
759 ::string get_application_name() override;
760
761
762 void on_application_message(::platform::message * pmessage) override;
763
764
765 void locale_schema_matter(string_array_base& stra, const string_array_base& straMatterLocator, const ::scoped_string& scopedstrLocale, const ::scoped_string& scopedstrSchema) override;
766 void matter_locator_locale_schema_matter(string_array_base& stra, const string_array_base& straMatterLocator, const ::scoped_string& scopedstrLocale, const ::scoped_string& scopedstrSchema) override;
767
768 string get_locale_schema_dir(const ::scoped_string& scopedstrLocale, const ::scoped_string& scopedstrSchema) override;
769 string get_locale_schema_dir(const ::scoped_string& scopedstrLocale) override;
770 string get_locale_schema_dir() override;
771
772 void set_locale(const ::scoped_string& scopedstrLocale, const ::action_context& action_context) override;
773
774 void set_schema(const ::scoped_string& scopedstrSchema, const ::action_context& action_context) override;
775
776 void on_set_locale(const ::scoped_string& scopedstrLocale, const ::action_context& action_context) override;
777
778 void on_set_schema(const ::scoped_string& scopedstrSchema, const ::action_context& action_context) override;
779
780
781
782 void fill_locale_schema(::text::international::locale_schema& localeschema) override;
783 void fill_locale_schema(::text::international::locale_schema& localeschema, const ::scoped_string& scopedstrLocale, const ::scoped_string& scopedstrSchema) override;
784
785
786 virtual void process_init() override;
787 virtual void process_term() override;
788
789 //virtual void pre_run() override;
790 //virtual void application_pre_run() override;
791
792 //virtual void pos_run() override;
793 //virtual void application_pos_run() override;
794
795 void init_application() override;
796
797 void term_application() override;
798
799 ::string_array_base get_about_box_lines() override;
800
801 void show_about_box(::user::activation_token* puseractivationtoken) override;
802
803 ::string_array_base get_operating_system_information_lines() override;
804
805 bool handle_command(const ::atom& atom, ::user::activation_token* puseractivationtoken) override;
806
807 bool on_command_final(const ::atom& atom, ::user::activation_token* puseractivationtoken) override;
808
809
810 virtual void add_impact_system(const ::atom& atom, const ::pointer<::user::impact_system>& pimpactsystem) override;
811 virtual ::pointer<::user::impact_system> impact_system(const ::atom& atom) override;
812 virtual bool has_impact_system(const ::atom &atom) override;
813
814
815 virtual get_file_extension_mime_type* get_get_file_extension_mime_type() override;
816
817 virtual void pick_browse(const ::function < void(const ::file::path& path) >& callback) override;
818 virtual void pick_media(const ::scoped_string & scopedstrMediaType) override;
819 virtual void did_pick_document_at_url(const ::scoped_string & scopedstrUrl) override;
820 virtual void did_pick_document_at_urls(const ::string_array_base& stra) override;
821 virtual void on_prompt_write_file(::user::controller* pusercontroller) override;
822 virtual void file_manager_save_as(::user::controller* pusercontroller) override;
823
824
825 virtual bool fill_system_menu(::operating_system::a_system_menu* psystemmenu) override;
826
827
828 void application_menu_update() override;
829
830 virtual void on_system_main();
831
832
833 virtual string user_cloud_application_file_setting(const ::scoped_string& scopedstrFileName);
834 virtual string app_roaming_application_file_setting(const ::scoped_string& scopedstrFileName);
835 virtual string application_file_setting(const ::scoped_string& scopedstrFileName);
836 virtual void set_application_file_setting(const ::scoped_string &scopedstrFileName,
837 const ::scoped_string &scopedstr);
838
839 virtual string application_file_setting_by_operating_system(const ::scoped_string& scopedstrFileName);
840 virtual void set_application_file_setting_by_operating_system(const ::scoped_string &scopedstrFileName,
841 const ::scoped_string &scopedstr);
842
843 virtual ::string get_http_user_agent();
844 virtual void get_http_user_agent(::property_set & set);
845
846
847 };
848
849
850} // namespace platform
851
852
853#include "acme/prototype/prototype/factory.h"
854
855#define IMPLEMENT_APPLICATION_FACTORY(APPLICATION_NAMESPACE) \
856namespace APPLICATION_NAMESPACE \
857{ \
858CLASS_DECL_EXPORT void application_factory(::factory::factory * pfactory) \
859{ \
860 \
861 pfactory->add_factory_item<::APPLICATION_NAMESPACE::application, ::platform::application>(); \
862 \
863} \
864}
865
866
867
868
Definition acme.h:22
Definition action_context.h:9
Definition application_menu.h:24
Definition atom.h:237
Definition client.h:13
Definition e_status.h:30
Definition path.h:52
Definition lparam.h:9
Definition _main_hold_base.h:10
Definition a_system_menu.h:39
Definition application_acme.h:91
Definition application_apex.h:298
Definition application.h:80
void process_command_line_options() override
Definition application.cpp:1160
virtual::request * application_start_file_open_request()
Definition application.cpp:1027
virtual class::application_menu * application_menu() override
please now display it
Definition application.cpp:451
Definition application_aqua.h:23
Definition application_aura.h:146
Definition application_axis.h:22
Definition application_base.h:57
Definition application_bred.h:19
Definition context.h:30
Definition application_core.h:23
Definition message.h:16
Definition property_set.h:512
Definition string_map.h:10
Definition international_locale_schema.h:19
Definition text.h:13
Definition wparam.h:10
include "aura/graphics/image/context.h"
Definition aaaa__defer.h:32
include "thread/AutoLock.h"
Definition _forward_declaration.h:877
Created by camilo on 2026-05-28 12:34 <3ThomasBorregaardSørensen!! Mummi!! Bilbo!!
Definition _.h:67
Definition command_handler.h:23
Definition application.h:114