42 class CLASS_DECL_ACME application :
44 virtual public APPLICATION_FLAGS,
47 virtual public ::application_exit,
79 virtual public ::particle
85 ::particle_pointer m_pparticle;
91 bool m_bUserApplication;
95#if REFERENCING_DEBUGGING
96 ::reference_referer* m_prefererCreation =
nullptr;
101 ::pointer<main_hold_base> m_pmainholdbase;
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;
109 bool m_bModuleFolder =
false;
116 bool m_bUseSwapChainWindow;
117 ::gpu::enum_output m_eoutputDraw2d;
118 ::gpu::enum_output m_eoutputEngine;
124 string m_strProgName;
125 string m_strStandalone;
139 string m_strLibraryName;
141 string m_strInstallToken;
142 string_array_base m_straAppCategory;
145 enum_application_capability_array m_eapplicationcapabilitya;
149 ::pointer < ::mutex > m_pmutexMatterLocator;
151 ::pointer < ::mutex > m_pmutexStr;
231 bool m_bApplicationStartFileOpenRequest =
false;
232 bool m_bPostedApplicationDefaultStartOrFileOpenRequest =
false;
233 ::pointer<::request> m_prequestApplicationStartFileOpen;
236 ::string m_strNetworkingApplicationHostname;
241 ::pointer<::user::language_map> m_puserlanguagemap;
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;
253 bool m_bReadStringTable;
255 ::pointer<class ::application_menu> m_papplicationmenu;
260 ::pointer<::user::interaction_base> m_puiCurrent;
261 bool m_bContextTheme;
268 string_array_base m_straActivationMessage;
270 ::u32 m_dwInstallGoodToCheckAgain;
272 bool m_bAppHasInstallerProtected;
273 bool m_bAppHasInstallerChangedProtected;
274 ::pointer<::install::installer> m_pinstaller;
276 particle_address_array m_particleaddressaEventHook;
278 bool m_bAttendedFirstRequest;
284 bool m_bEnableAutoStartOption;
285 bool m_bInterprocessCommunication;
286 ::pointer<::interprocess::communication> m_pinterprocesscommunication2;
287 ::pointer<::interprocess::handler> m_pinterprocesshandler;
297 enum_thread_context m_ethreadcontextClose;
299 enum_exclusive_instance m_eexclusiveinstance;
303 bool m_bUpdateMatterOnInstall;
307 ::string_table m_stringtable;
308 ::string_table m_stringtableStd;
309 atom_map_base<string> m_stringmap;
311 atom_map_base<::pointer<::channel>> m_mapNotify;
315 ::i32 m_iWaitCursorCount;
317 bool m_bEnableFsRawFolderProtocols =
true;
324 string m_strHelpFilePath;
333 ::u32 m_dwPromptContext;
343 string m_strProfileName;
350 ::u32 m_nNumThumbnailPages;
360 string_array_base m_straAppInterest;
362 ::pointer<::service_handler> m_pservicehandler;
364 ::pointer<::networking::application> m_pnetworkingapplication;
375 ::pointer<::aqua::game> m_paquagame;
394 ::aura::application* m_pappParent;
420 ::pointer<shell_open> m_pshellopen;
422 ::string_array_base m_straOptionsFormMakerLibrary;
440 ::pointer < ::mutex > m_pmutexFrame;
441 ::pointer<::user::interaction_array> m_puserinteractiona;
442 ::pointer<::user::interaction_array> m_puserinteractionaFrame;
454 ::user::interaction* m_puiMainContainer;
508 ::pointer<::aura::theme> m_ptheme;
525 ::pointer<::simpledb::server> m_psimpledb;
536 ::pointer < ::user::tab_impact > m_ptabimpactBase;
537 ::pointer < ::user::options_impact_handler > m_poptionsimpacthandler;
552 ::pointer<::user::tab_impact> m_ptabimpactBerg;
553 ::pointer<::userex::pane_tab_impact> m_ppaneimpactCore;
554 ::pointer < ::filemanager::filemanager> m_pfilemanager;
557 ::pointer < ::gpu::approach > m_pgpuapproach;
562 ~application()
override;
566 ::i64 increment_reference_count()
override;
567 ::i64 decrement_reference_count()
override;
571 virtual ::release_time_for_project release_time()
override;
576 virtual void initialize_application()
override;
578#if REFERENCING_DEBUGGING
580 void on_after_construct(::reference_referer* preferer)
override;
584 virtual void _001PostTryCloseApplication()
override;
586 virtual void application_on_status(
::e_status estatus, ::particle* pparticle =
nullptr, ::i64 hi = 0,
void* p =
nullptr)
override;
589 virtual void on_error_icloud_not_available(::particle* pparticle =
nullptr, ::i64 hi = 0,
void* p =
nullptr)
override;
592 virtual void prepare_application()
override;
593 virtual void on_prepare_application()
override;
594 virtual void on_after_prepare_application()
override;
598 virtual ::i32 application_main()
override;
601 void on_set_platform()
override;
606 void on_initialize_particle()
override;
608 ::user::user*
user()
override;
610 virtual ::gpu::approach* get_gpu_approach();
611 virtual ::gpu::approach* gpu_approach();
612 virtual void create_gpu_approach();
652 virtual void on_update_application_menu();
660 virtual void initialize_application_flags()
override;
667 virtual bool is_service()
const;
668 virtual bool is_user_service()
const;
670 virtual bool can_exit_application()
override;
672 virtual ::file::path get_module_path()
override;
673 virtual ::file::path get_module_folder()
override;
676 virtual ::string app_name()
override;
680 virtual ::string app_root()
override;
682 virtual ::string application_title()
override;
685 virtual ::string application_name()
override;
701 void main()
override;
703 virtual ::enum_id key_command(const ::user::e_key & ekey)
override;
705 virtual void on_before_launching()
override;
708 virtual void init1();
709 virtual void init2();
710 virtual void init3();
716 virtual void term3();
717 virtual void term2();
718 virtual void term1();
720 void set_finish()
override;
722 virtual void do_install()
override;
723 virtual void do_uninstall()
override;
726 virtual void on_install()
override;
727 virtual void on_uninstall()
override;
730 virtual void init_instance()
override;
731 virtual void term_instance()
override;
733 void init_task()
override;
734 void term_task()
override;
741 virtual void user_confirm_close_application();
744 virtual bool has_capability(enum_application_capability eapplicationcapability)
const override;
745 virtual void add_capability(enum_application_capability ecapability)
override;
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;
753 ::property_set get_ini(const ::scoped_string& scopedstrIniName = {})
override;
756 ::string get_visual_studio_build()
override;
759 ::string get_application_name()
override;
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;
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;
772 void set_locale(const ::scoped_string& scopedstrLocale, const ::action_context&
action_context)
override;
774 void set_schema(const ::scoped_string& scopedstrSchema, const ::action_context&
action_context)
override;
776 void on_set_locale(const ::scoped_string& scopedstrLocale, const ::action_context&
action_context)
override;
778 void on_set_schema(const ::scoped_string& scopedstrSchema, const ::action_context&
action_context)
override;
786 virtual void process_init()
override;
787 virtual void process_term()
override;
795 void init_application()
override;
797 void term_application()
override;
799 ::string_array_base get_about_box_lines()
override;
801 void show_about_box(::user::activation_token* puseractivationtoken)
override;
803 ::string_array_base get_operating_system_information_lines()
override;
805 bool handle_command(const ::atom&
atom, ::user::activation_token* puseractivationtoken)
override;
807 bool on_command_final(const ::atom&
atom, ::user::activation_token* puseractivationtoken)
override;
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;
815 virtual get_file_extension_mime_type* get_get_file_extension_mime_type()
override;
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;
828 void application_menu_update()
override;
830 virtual void on_system_main();
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);
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);
843 virtual ::string get_http_user_agent();