6#define PATH_SEPARATOR "\\"
8#define PATH_SEPARATOR "/"
12#include "acme/prototype/media_library/item.h"
13#include "enumerator.h"
14#include "acme/platform/department.h"
15#include "acme/prototype/collection/map.h"
16#include "acme/prototype/collection/string_map.h"
17#include "acme/parallelization/mutex.h"
31 ::file::path m_pathLocalAppMatterFolder;
32 ::file::path m_pathLocalAppMatterCacheFolder;
36 ::file::path m_pathAppData;
37 ::file::path m_pathDefaultAppData;
41 ::file::path m_pathCa2Config;
43 ::file::path m_pathHome;
44 ::file::path m_pathInstall;
46 bool m_bMatterFromHttpCache;
47 bool m_bMatterFromResource;
50 ::file::path m_pathUpload;
94 ::IDENTIFIER_SUFFIX_OPERATING_SYSTEM(acme_)::directory_system * m_pplatformdir;
95 ::file_system * m_pfilesystem;
96 ::path_system * m_ppathsystem;
98 ::file::path m_pathInstallFolder;
102 ::media_library::item_map m_medialibraryitemmap;
104 ::pointer < ::mutex > m_pmutexMediaLibrary;
105 ::file::path m_pathFolder;
109 ~directory_system()
override;
112 void initialize(::particle * pparticle)
override;
118 virtual ::file::path app(const ::scoped_string & scopedstrPlatform, const ::scoped_string & scopedstrConfiguration);
119 virtual ::file::path app_app_admin(const ::scoped_string & scopedstrPlatform, const ::scoped_string & scopedstrConfiguration);
120 virtual ::file::path app_app_nest(const ::scoped_string & scopedstrPlatform, const ::scoped_string & scopedstrConfiguration);
121 virtual ::file::path app_app(const ::scoped_string & scopedstrPlatform, const ::scoped_string & scopedstrConfiguration);
122 virtual ::file::path vcredist(const ::scoped_string & scopedstrPlatform, const ::scoped_string & scopedstrConfiguration);
123 virtual ::file::path install_log(const ::scoped_string & scopedstrPlatform, const ::scoped_string & scopedstrConfiguration);
126 virtual ::file::path install();
127 virtual ::file::path default_install();
128 virtual ::file::path beforeca2();
129 virtual ::file::path module();
130 virtual ::file::path relative(::file::path path);
131 virtual ::string appid();
132 virtual ::file::path appdata();
133 virtual ::file::path archive();
134 virtual ::file::path tool();
137 virtual ::file::path userconfig();
138 virtual ::file::path config();
139 virtual ::file::path local();
140 virtual ::file::path sensitive();
141 virtual ::file::path localconfig();
142 virtual ::file::path ca2roaming();
143 virtual ::file::path ca2appdata();
144 virtual ::file::path roaming();
145 virtual ::file::path program_data();
146 virtual ::file::path application_data_base();
147 virtual ::file::path application_data();
148 virtual ::file::path application_data(const ::scoped_string & scopedstrAppId);
149 virtual ::file::path application_home();
150 virtual ::file::path application_home(const ::scoped_string & scopedstrAppId);
151 virtual ::file::path public_root();
152 virtual ::file::path bookmark();
153 virtual ::file::path home();
154 virtual ::file::path icloud_container2(const_char_pointer pszContentIdentifier =
nullptr);
155 virtual ::file::path icloud_container_documents(const_char_pointer pszContentIdentifier =
nullptr);
156 virtual ::file::path icloud_container2_final(const_char_pointer pszContentIdentifier =
nullptr);
157 virtual bool is_icloud_container(const ::file::path & path, const_char_pointer pszContentIdentifier =
nullptr);
158 virtual bool has_icloud_container(const_char_pointer pszContentIdentifier =
nullptr);
159 virtual ::file::path pathfind(const ::scoped_string & scopedstrEnv, const ::scoped_string & scopedstrTopic, const ::scoped_string & scopedstrMode);
160 virtual ::file::path program_files_x86();
161 virtual ::file::path program_files();
163 virtual ::file::path stage(const ::scoped_string & scopedstrAppId, const ::scoped_string & scopedstrPlatform, const ::scoped_string & scopedstrConfiguration);
164 virtual ::file::path sys_temp();
165 virtual ::file::path temp();
166 virtual ::string dir_root();
170 virtual ::file::path get_memory_map_base_folder_path();
174 virtual string system_short_name();
179 virtual ::file::path inplace_install(const ::scoped_string & scopedstrAppId, const ::scoped_string & scopedstrPlatform, const ::scoped_string & scopedstrConfiguration);
180 virtual ::file::path inplace_matter_install(const ::scoped_string & scopedstrAppId, const ::scoped_string & scopedstrPlatform, const ::scoped_string & scopedstrConfiguration);
183 virtual void set_path_install_folder(const ::scoped_string & scopedstrPath);
187 virtual ::file::path machine_event_file_path();
189 virtual ::file::path user_appdata_local();
192 inline ::i32_boolean is(const ::file::path& path) {
return file_type(path) & ::file::e_type_folder2; }
193 inline ::i32_boolean __is(const ::file::path& path) {
return __file_type(path) & ::file::e_type_folder2; }
195 virtual ::file::e_type file_type(const ::file::path& path);
196 virtual ::file::e_type _file_type(const ::file::path& path);
197 virtual ::file::e_type __file_type(const ::file::path& path);
222 virtual void create(const ::file::path & path);
224 virtual void _create2(const ::file::path & path);
225 virtual void _create4(const ::file::path & path);
226 virtual void erase(const ::file::path & path);
227 virtual void erase_recursively(const ::file::path & path);
235 bool enumerate(::file::listing_base & listing)
override;
237 virtual bool defer_enumerate_protocol(::file::listing_base& listing);
239 virtual bool defer_enumerate_media_library(::file::listing_base& listing);
240 virtual ::media_library::item* media_library_item(const ::file::path& path);
241 virtual bool defer_process_media_library_path(::file::path& path);
242 virtual bool defer_media_library_representative_file_name(::file::path & path);
244 bool list_base(::string_array_base & stra, const ::scoped_string & path, ::file::e_flag eflag = ::file::e_flag_file_or_folder)
override;
246 virtual ::file::listing_base folders(const ::file::path & path)
override;
247 virtual ::file::listing_base files(const ::file::path& path)
override;
248 virtual ::file::listing_base folders_and_files(const ::file::path& path)
override;
256 virtual ::i32 make_path(const ::scoped_string & scopedstr);
283 virtual string_to_string_base map_content(const ::file::path & path);
284 virtual ::string_array_base enumerate_content(const ::file::path & path);
289 virtual ::file::path current();
290 virtual void change_current(const ::file::path & path);
291 virtual void set_current(const ::file::path& path);
292 virtual void change_to_home();
295 virtual void add_media_library_item(::media_library::item* pmedialibraryitem);
298 virtual ::file::path windows();
299 virtual ::file::path system_drive();
301 virtual ::file::path fonts();
302 virtual ::file::path ___fonts();
305 virtual bool is_accessible(const ::file::path & path);
307 virtual bool contains_files(const ::file::path& path, const ::string_array_base& straName, ::i32 iMinimumSize);
312 virtual void init_system();
314 virtual void term_system();
318 virtual ::file::path compute_default_app_data_path();
Definition aaa_dir_system.h:10
Definition enumerator.h:14
virtual void destroy() override
Definition bbb_context_object.cpp:242