53 virtual public ::particle
61 static ::platform::platform * s_pplatform;
67 ::e_display m_edisplay;
68 ::user::e_activation m_eactivation;
70 char_pointer * m_args =
nullptr;
71 char_pointer * m_envp =
nullptr;
72 ::platform::system * m_psystem;
77 wchar_t ** m_wargs =
nullptr;
78 wchar_t ** m_wenvp =
nullptr;
80 hinstance m_hinstanceThis =
nullptr;
81 hinstance m_hinstancePrev =
nullptr;
82 ::i32 m_nCmdShow = -1;
94 void * m_pApplicationDelegate =
nullptr;
100#if defined(LINUX) || defined(__APPLE__) || defined(__ANDROID__) || defined(__BSD__)
163 ::memory_counter * m_pmemorycounter;
166 bool m_bOutputDebugString;
168 bool m_bCommandLineCalculated =
false;
169 string m_strCommandLineCalculated;
170 bool m_bCommandLineSystemNative =
false;
171 string m_strCommandLineSystemNative;
179 ::acme::library_map m_mapLibrary;
180 ::factory::factory_pointer m_pfactory;
181 ::factory::factory_map m_factorymap;
182 ::factory::component_factory_map m_componentfactorymap;
183 ::pointer < ::operating_system::dynamic_library > m_pdynamiclibrary;
184 ::i32 m_iProcessStatus = 0;
188 ::windowing::enum_windowing m_ewindowing;
189 ::windowing::enum_operating_ambient m_edesktop;
190 ::windowing::enum_toolkit m_etoolkit;
206 virtual bool is_console()
const;
208 virtual bool is_desktop_system()
const;
210 virtual bool is_sandboxed()
const;
212 virtual ::string command_line()
const;
214 virtual void calculate_command_line();
220 return &m_criticalsectionChannel;
228 return &m_criticalsectionMessageDispatch;
236 return &m_criticalsectionSequence;
244#if defined(WINDOWS) && defined(UNICODE)
246 void initialize_system(::i32 argc,
wchar_t * args[],
wchar_t * envp[])
override;
248 void initialize_system(hinstance hinstanceThis, hinstance hinstancePrev,
wchar_t * pCmdLine, ::i32 nCmdShow)
override;
252 void initialize_system(::i32 argc, char_pointer * args, char_pointer * envp)
override;
255 void platform_initialize();
256 void platform_finalize();
259 void set_args(::i32 argc, char_pointer * args,
wchar_t ** wargs);
261 string _get_args(::collection::index iArg)
const;
262 ::collection::count get_argc();
264 char_pointer ** get_pargs();
265 char_pointer * get_args();
269 wchar_t *** get_pwargs();
270 wchar_t ** get_wargs();
274 bool is_verbose_log()
const;
276 inline ::collection::count _get_argc()
const {
return m_argc; }
278 string get_executable()
const;
280 string get_argument1(::collection::index iArgument)
const;
282 string arguments_from1(::collection::index iArgument)
const;
284 bool has_argument(const ::scoped_string & scopedArgument)
const;
286 inline ::collection::count get_argument_count1()
const {
return _get_argc() - 1; }
288 string_array_base get_arguments();
290 ::string get_argument_begins_eat(const ::scoped_string & scopedstrPrefix);
292 ::string_array_base get_argument_options(const ::scoped_string & scopedstrArgument);
294 string get_arg(::collection::index i)
const;
295 string get_env(const ::scoped_string & scopedstrVariableName)
const;
299 void set_status(::i32 iStatus);
303 virtual void set_resource_block(const_char_pointer pstart, const_char_pointer pend);
305 void defer_initialize_platform();
307 void factory_initialize();
308 void factory_terminate();
311 void delete_all_release_on_end();
317 ::factory::factory_pointer & factory();
318 ::factory::factory_pointer & factory(const ::scoped_string & scopedstrLibrary);
319 ::factory::factory_pointer & factory(const ::scoped_string & scopedstrComponent, const ::scoped_string & scopedstrImplementation);
321 virtual ::string component_factory_implementation_name(const ::scoped_string & scopedstrComponent);
336 bool has_factory_item(const ::platform::type &
type);
364 virtual ::pointer<::acme::library> create_library(const ::scoped_string & scopedstrLibrary);
365 virtual ::pointer<::acme::library> create_library_dynamically(const ::scoped_string & scopedstrLibrary);
366 virtual ::pointer<::acme::library> create_library_statically(const ::scoped_string & scopedstrLibrary);
368 virtual ::pointer<::acme::library> & library(const ::scoped_string & scopedstr);
372 virtual ::pointer<::factory::factory> & impact_factory(const ::scoped_string & scopedstrComponent, const ::scoped_string & scopedstrImplementation);
386 ::particle * ui_destroyed_synchronization();
390#if defined(LINUX) || defined(__APPLE__) || defined(__ANDROID__) || defined(__BSD__)
394 ::critical_section * thread_handle_lock_critical_section() {
return &m_criticalsectionThreadHandleLock; }
399 critical_section * globals_critical_section() {
return &m_criticalsectionGlobals; }
403 critical_section * factory_critical_section() {
return &m_criticalsectionFactory; }
410 ::critical_section * demangle_critical_section() {
return &m_criticalsectionDemangle; }
421 ::critical_section * sym_dbg_help_critical_section() {
return &m_criticalsectionSymDbgHelp; }
430 ::critical_section * output_debum_strinm_a_critical_section() {
return &m_criticalsectionOutputDebugStringA; }