acme
Foundational cross-platform layer of the ca2 framework
Loading...
Searching...
No Matches
main2.h
1// ReCreated/Merged (from acme_main_data) on 2021-11-01 12:24 BRT <3ThomasBorregaardSorensen!!
2// Created by camilo 2021-03-12 12:08 BRT <3_ThomasBS, Mummi and bilbo!!
3// ReCreated/Merged (from acme_main_data and apex_main_data) on 2022-09-25 01:35 BRT <3ThomasBorregaardSorensen!!
4#pragma once
5
6
7#include "acme/filesystem/filesystem/path.h"
8
9
10//
11//
14//
15//
16//class CLASS_DECL_ACME main2 :
17// virtual public ::particle,
18// virtual public APPLICATION_FLAGS
19//{
20//public:
21//
22//
23// ///::i32 m_iPathInstallFolderExeArg;
24// //LPFN_MAIN_RUNNER m_mainrunnera[64];
25//
26// //string m_strCommandLine;
27// //::apex::system * system();
28// //::pointer<apex_main_data> m_pmaindata;
29// //::pointer<::acme::library> m_plibrary;
30// //array < ::e_status > m_estatusa;
31//
32//
33// main();
34// ~main();
35//
36//
37// // main(::i32 argc, char_pointer argv[], char_pointer envp[])
38// // {
39// //
40// //
41// // }
42//
43//
44//
45// virtual void system_construct(const main* pmain);
46//
47// //inline ::collection::count _get_argc() const { return m_argc; }
48//
49// //string _get_argv(::i32 iArg) const;
50//
51// //inline ::collection::count get_argument_count1() const { return _get_argc() - 1; }
52//
53// //string_array_base get_arguments();
54//
55// /* string get_executable() const;
56//
57// string get_argument1(::i32 iArgument) const;*/
58//
59// //#ifdef WINDOWS
60// //
61// // hinstance m_hinstance;
62// // hinstance m_hPrevInstance;
63// // ::i32 m_nCmdShow;
64// //
65// //#endif
66//
67//
68// //apex_main_data();
69// //~apex_main_data() override;
70// //void system_construct(const class ::main * pmain) override;
71//
72//
73// //void system_construct(::i32 argc, char_pointer * argv, char_pointer * envp);
74// //void system_construct(::i32 argc, wchar_t** argv, wchar_t ** envp);
75//
76// virtual void on_system_construct();
77//
78//
79//#ifdef WINDOWS_DESKTOP
80//
81// void system_construct(hinstance hinstanceThis, hinstance hPrevInstance, char_pointer pCmdLine, ::i32 nCmdShow);
82//
83//#elif defined(UNIVERSAL_WINDOWS)
84//
85// void system_construct(const string_array_base& stra);
86//
87//#else
88//
89// void system_construct(const ::scoped_string & scopedstrCommandLine, const ::e_display& edisplay = ::e_display_none);
90//
91//#endif
92//
93//
94//
95// bool is_console_app() const;
96//
97//
98// //app_core(apex_main_data * pdata);
99// //app_core();
100// //~app_core();
101//
102// bool on_result(const ::e_status& estatus);
103//
104// //static ::u32 WINAPI MAIN(void * pvoid);
105//
106// //bool system_beg();
107//
108// //bool system_init();
109//
110// void system_proc();
111//
112// //bool has_apex_application_factory() const;
113//
114// virtual void system_init();
115//
116// virtual void system_prep();
117//
118// //virtual void system_main();
119//
120// //virtual void system_call();
121//
122// string get_command_line();
123//
124// void system_end();
125//
126// //::pointer<::platform::application>new_app();
127// //::pointer<::platform::application>new_app(const ::scoped_string & scopedstrAppId);
128//
129//
130// // ::pointer<::apex::application>get_new_application(::object* pparticle);
131// // ::pointer<::apex::application>get_new_application(::object* pparticle, const ::scoped_string & scopedstrAppId);
132//
133// virtual void initialize_application(::platform::application* papplication, ::particle* pparticle);
134//
135//
136//};
137//
138//
139//class subsystem;
140//
141//CLASS_DECL_ACME void __main(::platform::application* papplication);
142//
143//
144//namespace acme
145//{
146//
147//
148// CLASS_DECL_ACME void create_system();
149// CLASS_DECL_ACME ::i32 run_system();
150//
151//
152//} // namespace acme
153//
154//
155//class embed_resource
156//{
157//public:
158//
159//
160// embed_resource(char_pointer start = nullptr, char_pointer end = nullptr);
161//
162// static char_pointer get_start();
163// static char_pointer get_end();
164//
165//
166//};
167//
168//
169//class CLASS_DECL_ACME app_flag
170//{
171//public:
172//
173//
174// app_flag(::main& main, const ::scoped_string & scopedstrFlag);
175//
176//
177//};
178//
179//
180//#if defined(LINUX) || defined(FREEBSD) || defined(OPENBSD) //|| defined(__ANDROID__)
181//
182//
187//
188//
189//#define __embed_resource \
190//extern ::i8 _binary__matter_zip_start[]; \
191//extern ::i8 _binary__matter_zip_end[]; \
192//embed_resource g_embed_resource(_binary__matter_zip_start, _binary__matter_zip_end)
193//
194//
195//#else
196//
197//#define __embed_resource \
198//embed_resource g_embed_resource()
199//
200//#endif
201//
202//
203//#define __app_flag(app, flag) \
204//app_flag g_appflag ## __LINE__(app, flag);
205//