acme
Foundational cross-platform layer of the ca2 framework
Loading...
Searching...
No Matches
context.h
1#pragma once
2
3
4#include "acme/handler/handler.h"
5#include "acme/parallelization/task.h"
6//#include "acme/platform/message_box.h"
7#include "context_acme.h"
8#include "context_apex.h"
9#include "context_aqua.h"
10#include "context_aura.h"
11
12
13
14namespace platform
15{
16
17
18 class CLASS_DECL_ACME context :
19 virtual public ::task,
20 //virtual public ::handler::handler,
21 //virtual public ::reificator < ::message_box >,
22// virtual public ::platform::acme_context_layer_t,
23// virtual public ::platform::apex_context_layer_t,
24// virtual public ::platform::aqua_context_layer_t,
25// virtual public ::platform::aura_context_layer_t,
26 virtual public ::platform::acme_context_layer,
27 virtual public ::platform::apex_context_layer,
28 virtual public ::platform::aqua_context_layer,
30 {
31 public:
32 //
33 //
34 // //::platform::platform * m_pplatform;
35 //
36 //
37 // //::platform::context * m_papexcontext;
38 // //::aura::context * m_pauracontext;
39 //
40 //
41 // ::platform::application* m_papplication;
42 // ::platform::session * m_psession;
43 // ::platform::system * m_psystem;
44 // ::platform::node * m_pnode;
45 //
46 // ::pointer<::text::translator> m_ptexttranslator;
47 //
48 // ::pointer<::image::image_context> m_pimagecontext;
49 // ::pointer<::directory_context> m_pdirectorycontext;
50 // ::pointer<::file_context> m_pfilecontext;
51 // ::pointer<::http::context> m_phttpcontext;
52 //
53 // //::pointer < ::os_context > m_poscontext;
54 //
55 //
56 // ::string m_strLocale;
57 // ::string m_strSchema;
58 //
59 //
60 // string_array_base m_straMatterLocatorPriority;
61 // string_array_base m_straMatterLocator;
62 //
63
64
65 //struct CLASS_DECL_ACME acme_context_layer_t
66 //{
67
68
69
70
71 //::platform::platform * m_pplatform;
72
73
74 //::platform::context * m_papexcontext;
75 //::aura::context * m_pauracontext;
76
77
78 //::platform::application* m_papplication;
79 ::platform::session * m_psession;
80 ::platform::system * m_psystem;
81 //::platform::node * m_pnode;
82
83 ::pointer<::text::translator> m_ptexttranslator;
84
85 ::pointer<::image::image_context> m_pimagecontext;
86 ::pointer<::directory_context> m_pdirectorycontext;
87 ::pointer<::file_context> m_pfilecontext;
88 //::pointer<::http::context> m_phttpcontext;
89
90 //::pointer < ::os_context > m_poscontext;
91
92
93 ::string m_strLocale;
94 ::string m_strSchema;
95
96
97 string_array_base m_straMatterLocatorPriority;
98 string_array_base m_straMatterLocator;
99
100 ::pointer<::platform::http> m_phttp;
101
102
103 //}; // end acme_context_layer_t
104
105
106
107 //struct CLASS_DECL_ACME apex_context_layer_t
108 //{
109
110
111
112 string m_strStoreServerBaseUrl;
113
114 string_to_string_base m_mapCachedLatestBuild;
115 //::pointer<::os_context> m_poscontext;
116
117
118
119 //} ; // end apex_context_layer_t
120
121
122 context();
123 ~context() override;
124
125
126 void destroy() override;
127
128
129 virtual void on_set_platform();
130
131 virtual void set_platform() override;
132
133
134 void initialize(::particle * pparticle) override;
135
136 virtual void initialize_context() override;
137
138 virtual void initialize_context_1() override;
139
140 virtual void finalize_context() override;
141
142 //::pointer < ::reified < ::message_box > > realize(::realizable < ::message_box > * p) override;
143
144
145
146 virtual ::image::image_context * image() override;
147
148 //virtual bool is_system() const;
149 //virtual bool is_session() const;
150
151 virtual void translate_text_data(::text::data * ptextdata) override;
152 virtual ::text::text __text(const ::atom& atom) override;
153
154
155 //inline ::platform::system * system();
156 ::platform::node * node();
157
158
159 //inline ::os_context * os_context() { return m_poscontext; }
160
161
162
163 //::file_system * file_system();
164 //::directory_system * directory_system();
165
166
167
168
169 virtual ::directory_context* directory() override;
170 virtual ::file_context* file() override;
171 virtual ::directory_system * directory_system() override;
172 virtual ::file_system * file_system() override;
173 virtual ::path_system * path_system() override;
174
175
176 //virtual ::file::watcher * file_watcher() override;
177
178
179 virtual ::payload file_payload(const ::payload & payloadFile) override;
180
181 ::platform::http * http() override;
182
183 void initialize_http() override;
184
185 //::file_pointer get_file(const ::payload& payloadFile, ::file::e_open eopen) override;
186
187 virtual ::file::path defer_process_path(::file::path path) override;
188 virtual ::file::path _defer_process_path(::file::path path) override;
189 virtual ::file::path __defer_process_path(::file::path path) override;
190
191
192 virtual void fork_count(::collection::count iCount, const ::function < void(::collection::index, ::collection::index, ::collection::index, ::collection::index) > & function, const ::procedure & procedureCompletion, ::collection::index iStart = 0) override;
193
194
195
196 virtual ::string get_locale() override;
197 virtual ::string get_schema() override;
198
199
200 virtual void locale_schema_matter(string_array_base & stra, const string_array_base & straMatterLocator, const ::scoped_string & scopedstrLocale, const ::scoped_string & scopedstrSchema) override;
201 virtual string get_locale_schema_dir() override;
202
203
204
205 virtual string matter_locator(const ::scoped_string & scopedstrApp) override;
206 virtual string matter_locator(::platform::application * papp) override;
207
208
209 virtual void add_matter_locator(const ::scoped_string & scopedstrApp) override;
210 virtual void add_matter_locator(::platform::application * papp) override;
211
212
213 virtual ::file::path defer_process_matter_path(::file::path path) override;
214
215 //virtual ::file::path defer_process_relative_path(const ::file::path & path);
216
217 virtual ::file::path get_matter_path(const ::scoped_string & scopedstrMatter) override;
218 virtual ::file::path get_matter_cache_path(::file::path path) override;
219 virtual ::file::path side_get_matter_path(const ::scoped_string & scopedstrMatter) override;
220
221
222 virtual bool os_is_alias(const ::file::path & path) override;
223 virtual ::pointer < ::file::link > os_resolve_alias(const ::file::path& path, bool bNoUI = false, bool bNoMount = false) override;
224 virtual bool _os_has_alias_in_path(const ::file::path & path, bool bNoUI = false, bool bNoMount = false) override;
225 virtual ::pointer < ::file::link > _os_resolve_alias(const ::file::path& path, bool bNoUI, bool bNoMount) override;
226 //virtual bool os_is_alias(const ::file::path & path) override;
227
228 bool defer_process_media_library_path(::file::path & path) override;
229 bool defer_process_known_folder_path(::file::path & path) override;
230 bool defer_process_protocol_path(::file::path & path) override;
231 bool defer_process_picker_protocol_path(::file::path & path) override;
232
233
234
235 bool defer_process_fs_raw_folder_protocol_path(::file::path & path) override;
236 bool is_fs_raw_folder_protocol_installed(const ::scoped_string & scopedstrProtocol) override;
237
238
239 };
240
241
242} // namespace platform
243
244
245
Definition atom.h:237
Definition path.h:52
Definition _template_forward_declaration.h:271
Definition context_acme.h:49
Definition context_apex.h:27
Definition context_aqua.h:19
Definition context_aura.h:19
Definition data.h:22
Definition filesystem.h:16
include "thread/AutoLock.h"
Definition _forward_declaration.h:877