29class CLASS_DECL_ACME system_setup
43 flag_object_user = 32,
45 flag_do_not_install = 4096,
50 const_char_pointer m_pszName;
52 system_setup* m_ppropertysetupNext;
53 PFN_factory m_pfnFactory;
56 static system_setup * s_psetupList;
59 system_setup(::system_setup::enum_flag eflag, const_char_pointer pszName);
60 system_setup(PFN_factory pfnFactory, const_char_pointer pszName);
66 inline bool should_install() {
return !has_flag(flag_do_not_install); }
67 [[nodiscard]]
bool has_flag(::system_setup::enum_flag eflag) {
return ((::i32)m_eflag & (::i32)eflag) == (::i32)eflag; }
70 static system_setup* get_last(::system_setup::enum_flag eflag, const_char_pointer pszName =
nullptr);
71 static system_setup* get_first(::system_setup::enum_flag eflag, const_char_pointer pszName =
nullptr);
72 static PFN_factory get_factory_function(const_char_pointer pszName =
nullptr);
75 virtual ::pointer<::acme::library>create_library();
76 virtual ::particle_pointer create_particle();
77 virtual ::particle_pointer create_application_as_particle();
80 virtual ::pointer<::acme::library>_create_library();
81 virtual ::particle_pointer _create_particle();
82 virtual ::particle_pointer _create_application_as_particle();
150class static_application_factory :
156 ::particle_pointer _create_application_as_particle()
override
159 auto papp = allocateø APPLICATION_TYPE();
166 static_application_factory(const ::scoped_string & scopedstrName =
"") :
167 system_setup(flag_application, scopedstrName)