acme
Foundational cross-platform layer of the ca2 framework
Loading...
Searching...
No Matches
context_acme.h
1//
2// Created by camilo on 2024-10-24 04:01 <3ThomasBorregaardSorensen!!
3//
4#pragma once
5
6
7namespace platform
8{
9
10
11// struct CLASS_DECL_ACME acme_context_layer_t
12// {
13// //::platform::platform * m_pplatform;
14//
15//
16// //::platform::context * m_papexcontext;
17// //::aura::context * m_pauracontext;
18//
19//
20// //::platform::application* m_papplication;
21// ::platform::session * m_psession;
22// ::platform::system * m_psystem;
23// //::platform::node * m_pnode;
24//
25// ::pointer<::text::translator> m_ptexttranslator;
26//
27// ::pointer<::image::image_context> m_pimagecontext;
28// ::pointer<::directory_context> m_pdirectorycontext;
29// ::pointer<::file_context> m_pfilecontext;
30// //::pointer<::http::context> m_phttpcontext;
31//
32// //::pointer < ::os_context > m_poscontext;
33//
34//
35// ::string m_strLocale;
36// ::string m_strSchema;
37//
38//
39// string_array_base m_straMatterLocatorPriority;
40// string_array_base m_straMatterLocator;
41//
42// ::pointer<::platform::http> m_phttp;
43//
44//
45// };
46//
47
48 class CLASS_DECL_ACME acme_context_layer
49 {
50 public:
51
52 //void destroy() override;
53
54
55 //virtual void on_set_platform();
56
57 virtual void set_platform();
58
59
60 //void initialize(::particle * pparticle) override;
61
62 virtual void initialize_context();
63
64 virtual void initialize_context_1();
65
66 virtual void finalize_context();
67
68 virtual void initialize_http();
69
70 //::pointer < ::reified < ::message_box > > realize(::realizable < ::message_box > * p) override;
71
72 virtual ::image::image_context* image();
73
74 // virtual bool is_system() const;
75 // virtual bool is_session() const;
76
77 virtual void translate_text_data(::text::data * ptextdata);
78 //virtual ::text::text __text(const ::atom& atom) override;
79
80
81 //inline ::platform::system * system();
82 //::platform::node * node();
83
84
85 //inline ::os_context * os_context() { return m_poscontext; }
86
87
88
89 //::file_system * file_system();
90 //::directory_system * directory_system();
91
92
93
94
95 virtual ::directory_context* directory();
96 virtual ::file_context* file();
97 virtual ::directory_system * directory_system();
98 virtual ::file_system * file_system();
99 virtual ::path_system * path_system();
100
101
102 //virtual ::file::watcher * file_watcher();
103
104
105 virtual ::payload file_payload(const ::payload & payloadFile);
106
107
108 //::file_pointer get_file(const ::payload& payloadFile, ::file::e_open eopen) override;
109
110
111 virtual ::file::path defer_process_path(::file::path path);
112 virtual ::file::path _defer_process_path(::file::path path);
113 virtual ::file::path __defer_process_path(::file::path path);
114
115
116 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);
117
118
119
120 virtual ::string get_locale();
121 virtual ::string get_schema();
122
123
124 virtual void locale_schema_matter(string_array_base & stra, const string_array_base & straMatterLocator, const ::scoped_string & scopedstrLocale, const ::scoped_string & scopedstrSchema);
125 virtual string get_locale_schema_dir();
126
127
128
129 virtual string matter_locator(const ::scoped_string & scopedstrApp);
130 virtual string matter_locator(::platform::application * papp);
131
132
133 virtual void add_matter_locator(const ::scoped_string & scopedstrApp);
134 virtual void add_matter_locator(::platform::application * papp);
135
136
137 virtual ::file::path defer_process_matter_path(::file::path path);
138
139 //virtual ::file::path defer_process_relative_path(const ::file::path & path);
140
141 virtual ::file::path get_matter_path(const ::scoped_string & scopedstrMatter);
142 virtual ::file::path get_matter_cache_path(::file::path path);
143 virtual ::file::path side_get_matter_path(const ::scoped_string & scopedstrMatter);
144
145
146 virtual bool os_is_alias(const ::file::path & path);
147 virtual ::pointer < ::file::link > os_resolve_alias(const ::file::path& path, bool bNoUI = false, bool bNoMount = false);
148 virtual bool _os_has_alias_in_path(const ::file::path & path, bool bNoUI = false, bool bNoMount = false);
149 virtual ::pointer < ::file::link > _os_resolve_alias(const ::file::path& path, bool bNoUI, bool bNoMount);
150 //virtual bool os_is_alias(const ::file::path & path) override;
151
152 virtual bool defer_process_media_library_path(::file::path & path);
153 virtual bool defer_process_known_folder_path(::file::path & path);
154 virtual bool defer_process_protocol_path(::file::path & path) ;
155
156
157 virtual ::platform::http * http();
158
159
160 };
161
162
163} // namespace platform
164
165
166
167
168
Definition path.h:52
Definition _template_forward_declaration.h:297
Definition context_acme.h:49
Definition data.h:22
Definition filesystem.h:16
include "thread/AutoLock.h"
Definition _forward_declaration.h:877