acme
Foundational cross-platform layer of the ca2 framework
Loading...
Searching...
No Matches
_function_declarations.h
1// Created by camilo on 2022-11-01 23:14 <3ThomasBorregaardSorensen!!
2#pragma once
3
4
5//CLASS_DECL_ACME enum_dialog_result message_box_for_console(const ::scoped_string & scopedstr, const ::scoped_string & scopedstrTitle, const ::user::e_message_box & emessagebox, const ::scoped_string & scopedstrDetails = nullptr);
6//
7//
8//CLASS_DECL_ACME void set_last_status(const ::e_status& estatus);
9
10//CLASS_DECL_ACME char_pointer strdup2(const_char_pointer psz1, const_char_pointer psz2);
11
12
13CLASS_DECL_ACME ::i64 ansi_to_i64(const_char_pointer psz, const_char_pointer *ppszEnd, ::i32 iBase);
14
15CLASS_DECL_ACME ::i64 ansi_to_i64(const_char_pointer psz, const_char_pointer *ppszEnd, ::i32 iBase);
16
17
18CLASS_DECL_ACME ::u64 ansi_to_u64(const_char_pointer psz, const_char_pointer *ppszEnd, ::i32 iBase);
19
20
21CLASS_DECL_ACME ::i32 ansi_to_int(const_char_pointer psz, const_char_pointer *ppszEnd, ::i32 iBase);
22
23
24CLASS_DECL_ACME ::u32 ansi_to_u32(const_char_pointer psz, const_char_pointer *ppszEnd, ::i32 iBase);
25
26
27CLASS_DECL_ACME void windowing_output_debug_string(const ::scoped_string & scopedstrDebugString);
28
29
30CLASS_DECL_ACME void throw_encoding_exception(const_char_pointer pszMessage);
31
32
33//CLASS_DECL_ACME::platform::system* system();
34
35
36//inline bool __enum_is_failed(const ::e_status& e);
37
38
39CLASS_DECL_ACME void set_platform_level(enum_platform_level eplatformlevel);
40
41
42CLASS_DECL_ACME enum_platform_level get_platform_level();
43
44
45CLASS_DECL_ACME ::i32 ansi_open(const ::scoped_string & scopedstr, ::i32 i);
46
47//CLASS_DECL_ACME FILE* ansi_fopen(const ::scoped_string & scopedstr, const ::scoped_string & scopedstrMode);
48
49CLASS_DECL_ACME ::i32 ansi_file_flag(::i32 iFlag);
50
51CLASS_DECL_ACME void ansi_get_errno(::i32* perrno);
52
53CLASS_DECL_ACME void ansi_unlink(const ::scoped_string & scopedstr);
54
55
56//CLASS_DECL_ACME::e_status get_last_status();
57
58
59#if !defined(__APPLE__) \
60&& !defined(LINUX) \
61&& !defined(__ANDROID__) \
62&& !defined(__BSD__)
63
64::i32 ftruncate(::i32 file, filesize len);
65
66#endif
67
68
69CLASS_DECL_ACME ::i32 get_os_thread_priority(::enum_priority epriority);
70
71CLASS_DECL_ACME ::i32 get_os_priority_class(::enum_priority epriority);
72
73CLASS_DECL_ACME::enum_priority get_os_thread_scheduling_priority(::i32 iCa2Priority);
74
75CLASS_DECL_ACME::enum_priority get_os_class_scheduling_priority(::i32 iCa2Priority);
76
77
78CLASS_DECL_ACME const ::particle * general_trace_object();
79
80CLASS_DECL_ACME ::i32_bool c_enable_trace_category(enum_trace_category ecategory, ::i32_bool iEnable);
81
82inline const ::particle * context_trace_object();
83
84
85//CLASS_DECL_ACME extern ::u32 g_tickStartTime;
86
87
88
89
90CLASS_DECL_ACME const_char_pointer trace_category_name(enum_trace_category ecategory);
91
92CLASS_DECL_ACME const ::particle * trace_object(enum_trace_category ecategory);
93
94CLASS_DECL_ACME const_char_pointer topic_text(::particle* pparticle);
95
96CLASS_DECL_ACME enum_trace_category object_trace_category(::particle* pparticle);
97
98
99
100//
101//template<typename LEFT, typename RIGHT>
102//inline void assign(LEFT& l, const RIGHT& r) { l = r; }
103//
104
105inline void assign(::block& block, const ::payload& r);
106
107inline void assign(long& l, const ::payload& r);
108inline void assign(ulong& l, const ::payload& r);
109
110
111inline void assign(bool& b, const ::payload& r);
112inline void assign(::i8& ch, const ::payload& r);
113inline void assign(::u8 & uch, const ::payload& r);
114inline void assign(::i16 & sh, const ::payload& r);
115inline void assign(::u16 & ush, const ::payload& r);
116inline void assign(::i32& i, const ::payload& r);
117inline void assign(::u32& ui, const ::payload& r);
118inline void assign(::i64 & hi, const ::payload& r);
119inline void assign(::u64 & hn, const ::payload& r);
120
121
122//CLASS_DECL_ACME void add_release_on_end(::matter* pmatter);
123//
124//
125//CLASS_DECL_ACME void add_release_on_end(::matter* pmatter);
126
127
128
129CLASS_DECL_ACME void __node_acme_pre_init();
130
131CLASS_DECL_ACME void __node_acme_pos_init();
132
133CLASS_DECL_ACME void __node_acme_pre_term();
134
135CLASS_DECL_ACME void __node_acme_pos_term();
136
137
138
139typedef void THREAD_ROUTINE(thread_parameter parameter);
140
141
142class e_status;
143
144
145//CLASS_DECL_ACME bool succeeded(const ::payload & payload);
146//constexpr bool succeeded(const ::e_status & e_status);
147
148
149//inline bool failed(const ::payload & payload);
150//constexpr bool failed(const ::e_status & e_status);
151
152
153
154
155//
156//CLASS_DECL_ACME::atom auto pmessageboxpayload = __initialize_new ::message_box_payload(::particle* ppartcicle, const ::scoped_string & scopedstrMessage, const ::scoped_string & scopedstrTitle = nullptr, const ::user::e_message_box& emessagebox = ::user::e_message_box_ok, const ::scoped_string & scopedstrDetails = nullptr);
157
158//send(pmessageboxpayload);
159//
160//CLASS_DECL_ACME void message_box_asynchronous(::function < void(const ::atom& atom) > function, ::particle* pparticle, const ::scoped_string & scopedstrMessage, const ::scoped_string & scopedstrTitle = nullptr, const ::user::e_message_box& emessagebox = ::user::e_message_box_ok, const ::scoped_string & scopedstrDetails = nullptr);
161//
162
163
164
165
166CLASS_DECL_ACME bool is_filemanager(const ::atom& atom);
167
168
169CLASS_DECL_ACME bool is_filemanager_group(const ::atom& atom, const ::scoped_string & scopedstrGroup);
170
171CLASS_DECL_ACME bool is_filemanager_group(const ::atom& atom, ::i32 iGroup);
172
173
174CLASS_DECL_ACME bool _is_color_sel(const ::atom& atom);
175
176
177CLASS_DECL_ACME bool _is_font_sel(const ::atom& atom);
178
179
180
181
182//template<class TYPE>
183//inline void dump_elements(dump_context& dumpcontext, const TYPE* pElements, ::collection::count nCount);
184
185
186::i32 CLASS_DECL_ACME MultiByteToWideChar2(::u32 CodePage, ::u32 dwFlags, const ::ansi_character* pMultByteStr, ::i32 cbMultiByte,
187 ::wide_character* pWideCharStr, ::i32 cchWideChar);
188
189::i32 CLASS_DECL_ACME WideCharToMultiByte2(::u32 CodePage, ::u32 dwFlags, const ::wide_character* pWideCharStr, ::i32 cchWideChar,
190 ::ansi_character* pMultByteStr, ::i32 cbMultiByte, const_char_pointer pDefaultChar,
191 ::i32_bool* pUsedDefaultChar);
192
193
194
195
196
197
198
199
200
201namespace acme
202{
203
204
205
206 mutex* get_global_mutex();
207
208
209
210
211} // namespace acme
212
213
214
215inline ::u64 make64_from32(::u32 l, ::u32 h);
216
217
218inline bool is_memory_segment_ok(void * p, memsize s);
219
220
221inline bool is_memory_segment_read_ok(const void* p, memsize s);
222
223
224inline bool is_string_ok(::wide_character * p, ::character_count s);
225
226
227inline bool is_string_ok(::ansi_character * p, ::character_count s);
228
229
230inline ::i32_bool address_overlaps(const void* pszDst, const void* pszSrc, character_count srclen);
231
232
233CLASS_DECL_ACME ::u32 __u32_hash(const ::scoped_string & scopedstr);
234
235
236template < typename TYPE > inline TYPE*& __defer_new(TYPE*& p);
237
238
239inline const ::particle * context_trace_object();
240
241
242inline const ::particle * trace_object(const ::particle* pparticle);
243
244
245
246inline ::i32 read_char(::u8*& pdata, memsize& s, char_pointer pch);
247
248
249
250template < typename TYPE >
251inline bool is_reference_null(const TYPE& t);
252
253
254
255template < typename TYPE >
256inline bool is_reference_set(const TYPE& t);
257
258
259
260inline bool is_impact_group(::u64 u, ::u64 uGroup);
261
262
263inline bool is_impact_subgroup(::u64 u, ::u64 uGroup);
264
265
266inline bool is_file_or_folder2(const ::file::enum_type& etype);
267inline bool is_existing_file_or_folder(const ::file::enum_type& etype);
268inline bool exists(const ::file::enum_type& etype);
269
270
271// CLASS_DECL_ACME void set_verbose_log(bool bVerbose);
272
273
274// CLASS_DECL_ACME bool is_verbose_log();
275
276
277CLASS_DECL_ACME ::i64 ansi_to_i64(const_char_pointer psz, const_char_pointer *ppszEnd, ::i32 iBase);
278CLASS_DECL_ACME ::u64 ansi_to_u64(const_char_pointer psz, const_char_pointer *ppszEnd, ::i32 iBase);
279CLASS_DECL_ACME ::i32 ansi_to_int(const_char_pointer psz, const_char_pointer *ppszEnd, ::i32 iBase);
280CLASS_DECL_ACME ::u32 ansi_to_u32(const_char_pointer psz, const_char_pointer *ppszEnd, ::i32 iBase);
281
282
283CLASS_DECL_ACME ::ansi_character * __u64toansi(::u64 u, ::ansi_character * buf, ::i32 iBase, enum_digit_case edigitcase, ::ansi_character * & end);
284
285CLASS_DECL_ACME ::ansi_character * __i64toansi(::i64 u, ::ansi_character * buf, ::i32 iBase, enum_digit_case edigitcase, ::ansi_character * & end);
286
287
288template<typename T1, typename T2>
289inline void sort_non_negative(T1& t1, T2& t2);
290
291
292
293CLASS_DECL_ACME void application_send_status(::enum_status estatus, ::particle * pparticle = nullptr, ::i64 hi = 0, void * p = nullptr);
294
295
296CLASS_DECL_ACME void node_application_send_status(const_char_pointer pszStatus, void * p = nullptr, ::i64 hi = 0);
297
298namespace platform
299{
300
301 class system;
302
303} // namespace platform
304
305
306inline ::platform::system * system();
307
308
309
310
Definition atom.h:237
Definition e_status.h:30
Definition particle.h:95
Definition system.h:53
include "aura/graphics/image/context.h"
Definition aaaa__defer.h:32
Definition filesystem.h:16
include "thread/AutoLock.h"
Definition _forward_declaration.h:877
Definition block.h:46