acme
Foundational cross-platform layer of the ca2 framework
Loading...
Searching...
No Matches
aaa_application.h
1//#pragma once
2//
3//
4//namespace gen
5//{
6//
7//
8// class command_line;
9//
10//
11//} // namespace gen
12//
13//
14//namespace universal_windows
15//{
16//
17//
18// class CLASS_DECL_ACME main_init_data :
19// public ::create
20// {
21// public:
22//
23//
24// HINSTANCE m_hInstance;
25// HINSTANCE m_hPrevInstance;
26// ::i32 m_nCmdShow;
27//
28//
29// };
30//
31//}
32
33//
34// class CLASS_DECL_ACME application :
35// virtual public ::platform::application
36// {
37// public:
38//
39//
40//
41// USHORT m_atomApp;
42// USHORT m_atomSystemTopic;
43//
44// main_init_data * m_pmaindata;
45//
46//
47// application(::particle * pparticle);
48// ~application() override;
49
50 __DECLARE_APPLICATION_RELEASE_TIME();
51
52//
53// virtual HINSTANCE GetHinstance();
54// bool _001OnDDECommand(const ::scoped_string & scopedstr);
55// virtual void _001EnableShellOpen();
57// virtual void _001OnFileNew();
58//
59// // Loads a cursor resource.
60// HCURSOR LoadCursor(const_char_pointer pszResourceName) const;
61// HCURSOR LoadCursor(::u32 nIDResource) const;
62//
63// // Loads a stock cursor resource; for for IDC_* values.
64// HCURSOR LoadStandardCursor(const_char_pointer pszCursorName) const;
65//
66// // Loads an OEM cursor; for all OCR_* values.
67// HCURSOR LoadOEMCursor(::u32 nIDCursor) const;
68//
69// // Loads an icon resource.
70// HICON LoadIcon(const_char_pointer pszResourceName) const;
71// HICON LoadIcon(::u32 nIDResource) const;
72//
73// // Loads an icon resource; for stock IDI_ values.
74// HICON LoadStandardIcon(const_char_pointer pszIconName) const;
75//
76// // Loads an OEM icon resource; for all OIC_* values.
77// HICON LoadOEMIcon(::u32 nIDIcon) const;
78//
79// virtual string get_version();
80//
81// virtual bool Ex2OnAppInstall();
82// virtual bool Ex2OnAppUninstall();
83//
84//
85//
86// virtual void SetCurrentHandles();
87//
88// virtual bool request(::create * pdata);
89//
90// virtual bool process_init();
91// virtual bool init1();
92// virtual bool init2();
93// virtual bool init3();
94// virtual ::i32 term_instance() override;
95// virtual bool win_init(main_init_data * pdata);
96//
97// /*virtual void construct(__THREADPROC pfnThreadProc, LPVOID pParam);
98//
99// virtual bool begin(::i32 nPriority = THREAD_PRIORITY_NORMAL, ::u32 nStackSize = 0,
100// ::u32 dwCreateFlags = 0, LPSECURITY_ATTRIBUTES lpSecurityAttrs = nullptr);
101//
102// bool CreateThread(::u32 dwCreateFlags = 0, ::u32 nStackSize = 0,
103// LPSECURITY_ATTRIBUTES lpSecurityAttrs = nullptr);
104//
105// virtual iptr get_os_data();
106// virtual iptr get_os_int();
107//
108//
109// ::i32 GetThreadPriority();
110// bool SetThreadPriority(::i32 nPriority);
111//
112//
113// ::u32 SuspendThread();
114// ::u32 ResumeThread();
115// bool post_message(::user::interaction * pguie, ::enum_message emessage, ::wparam wparam, ::lparam lparam);
116//
117// virtual bool PreInitInstance();
118//
119// // called when occurs an standard_exception exception in run
120// // return true to call run again
121// virtual bool on_run_exception(const ::exception & e);
122//
123// // Overridables
124// // thread initialization
125// virtual bool init_application();
126//
127// virtual ::message::e_prototype GetMessagePrototype(const ::atom & atom, ::u32 uCode);
128//
129// // running and idle processing
130// virtual ::i32 run();
131// virtual void pre_translate_message(::message::message * pmessage);
132// virtual bool pump_message(); // low level message pump
133// virtual bool on_idle(::i32 lCount); // return true if more idle processing
134// virtual bool is_idle_message(MSG* pMsg); // checks for special messages
135//
136// // thread termination
137// virtual ::i32 term_instance() override; // default will 'delete this'
138//
139// // Advanced: exception handling
140// virtual LRESULT ProcessWndProcException(::exception::acme* e, const MSG* pMsg);
141//
142// // Advanced: handling messages sent to message filter hook
143// virtual bool ProcessMessageFilter(::i32 code, LPMSG lpMsg);
144//
145// // Advanced: virtual access to GetMainWnd()
146// virtual ::user::interaction* GetMainWnd();
147//
148// // void assert_ok() const override;
149// // void dump(dump_context & dumpcontext) const override;
150// virtual void CommonConstruct();
151// virtual void Delete();
152// // 'delete this' only if m_bAutoDelete == true
153//
154//
155//
156// bool DispatchThreadMessageEx(MSG* msg); // helper*/
157//
158// //::draw2d::graphics * graphics_from_os_data(void * pdata);
159//
160//
161// //::pointer<::user::interaction>window_from_os_data(void * pdata);
162// //::pointer<::user::interaction>window_from_os_data_permanent(void * pdata);
163//
164//
165// //virtual ::pointer<::user::interaction>FindWindow(const_char_pointer pszClassName, const_char_pointer pszWindowName);
166// //virtual ::pointer<::user::interaction>FindWindowEx(oswindow hwndParent, oswindow hwndChildAfter, const_char_pointer pszClass, const_char_pointer pszWindow);
167//
168// virtual void get_time(struct timeval *p);
169// virtual void set_env_var(const string & payload,const string & value);
170// virtual ::u32 get_thread_id();
171//
172// //::pointer<::user::printer>get_printer(const ::scoped_string & scopedstrDeviceName);
173//
174//
175// void show_wait_cursor(bool bShow);
176//
177// virtual string draw2d_get_default_implementation_name();
178//
179// string veriwell_multimedia_music_midi_get_default_implementation_name();
180//
181//
182// string multimedia_audio_mixer_get_default_implementation_name();
183//
184// string multimedia_audio_get_default_implementation_name();
185//
186// };
187//
188//
189//} // namespace universal_windows
190//