8class CLASS_DECL_ACME path_system :
9 virtual public particle
14 ::IDENTIFIER_SUFFIX_OPERATING_SYSTEM(acme_)::path_system * m_pplatformpath;
15 ::directory_system * m_pdirectorysystem;
16 ::file_system * m_pfilesystem;
20 ~path_system()
override;
23 virtual ::string discrete_shell_path(const ::file::path& path);
24 virtual ::string shell_path(const ::file::path & path);
27 virtual ::string tool_folder_operating_system_name();
28 virtual ::file::path tool_folder_path();
30 virtual ::string icloud_container_identifier(const_char_pointer psz_iCloudContainerIdentifier);
32 virtual ::file::path defer_get_icloud_container_path(const ::file::path & path, const_char_pointer psz_iCloudContainerIdentifier);
34 virtual void defer_get_icloud_container_path_name(::string & strName, ::string & str_iCloudContainerIdentifier, const ::file::path & path);
37 virtual string from(const ::scoped_string & scopedstr);
41 virtual ::file::path get_uniform_resource_locator(const ::file::path& path);
43 virtual ::file::path safe_get_real_path(const ::file::path & path);
45 virtual ::file::path _safe_real_path(const ::file::path & path);
47 virtual ::file::path real_path(const ::file::path & path);
49 virtual ::file::path _real_path(const ::file::path & path);
51 virtual ::file::path logical_path(const ::file::path& path);
53 virtual bool case_insensitive_real_path_begins_eat(
string & str, const ::scoped_string & scopedstrPrefix);
55 virtual bool real_path_is_same(const ::file::path & path1, const ::file::path & path2);
57 virtual ::file::enum_type get_type(const ::file::path & path);
59 virtual ::file::enum_type safe_get_type(const ::file::path & path);
61 virtual void create_symbolic_link(const ::scoped_string & scopedstrLink, const ::scoped_string & scopedstrSource);
63 virtual bool is_symbolic_link(const ::scoped_string & scopedstrLink);
65 virtual ::file::path symbolic_link_destination(const ::scoped_string & scopedstrLink);
67 virtual ::pointer < ::file::item > file_item(const ::file::path & path);
69 virtual bool has_custom_icon(const ::file::path & path);
72 ::file::path defer_process_relative_path(const ::file::path & path, const ::file::path & pathFolder =
"");
74 virtual bool defer_process_protocol_path(
::file::path & path);
76 virtual ::file::path get_absolute_path(const ::scoped_string & scopedstr);
77 virtual bool is_absolute_path(const ::scoped_string & scopedstr);
81 virtual ::pointer < ::file::link > resolve_link(const ::file::path & path, ::file::e_link elink = ::file::e_link_all);
85 virtual void rename(const ::file::path& pathNewName, const ::file::path& pathOldName);
86 virtual ::file::path get_sequence_path(const ::file::path& path, ::collection::index iSequence, ::i32 iZeroPaddingWidth = 1);
87 virtual void defer_free_name_by_renaming_to_last_in_sequence(const ::file::path& path, ::i32 iZeroPaddingWidth = 1);
90 virtual ::file::e_type executable_type(const ::file::path & path);
94 virtual ::file::path defer_apply_working_directory(const ::file::path &path, const ::file::path &working_directory);
99 bool get_next_path(::scoped_string & scopedstr, ::string::BASE_RANGE & rangePath);
102 virtual ::file::path _path_get_path(
const scoped_string & scopedstrCommand, const ::scoped_string & scopedstrPath,
string_to_string_lookup * plookupEnvironment);
105 virtual ::file::path path_get_path(
const scoped_string & scopedstrCommand,
string_to_string_lookup * plookupEnvironment);
108 virtual ::file::path path_try_get_path(
const scoped_string & scopedstrCommand,
string_to_string_lookup * plookupEnvironment);
111 virtual ::file::path windows_posix_path(const ::file::path & path);
113 virtual void symbolic_link(const ::file::path & pathTarget, const ::file::path & pathSource);