1*6777b538SAndroid Build Coastguard Worker // Copyright 2018 The Chromium Authors 2*6777b538SAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style license that can be 3*6777b538SAndroid Build Coastguard Worker // found in the LICENSE file. 4*6777b538SAndroid Build Coastguard Worker 5*6777b538SAndroid Build Coastguard Worker #ifndef BASE_FUCHSIA_FILE_UTILS_H_ 6*6777b538SAndroid Build Coastguard Worker #define BASE_FUCHSIA_FILE_UTILS_H_ 7*6777b538SAndroid Build Coastguard Worker 8*6777b538SAndroid Build Coastguard Worker #include <fuchsia/io/cpp/fidl.h> 9*6777b538SAndroid Build Coastguard Worker 10*6777b538SAndroid Build Coastguard Worker #include "base/base_export.h" 11*6777b538SAndroid Build Coastguard Worker #include "base/files/file_path.h" 12*6777b538SAndroid Build Coastguard Worker 13*6777b538SAndroid Build Coastguard Worker namespace base { 14*6777b538SAndroid Build Coastguard Worker 15*6777b538SAndroid Build Coastguard Worker // Persisted data directory, i.e. /data . 16*6777b538SAndroid Build Coastguard Worker BASE_EXPORT extern const char kPersistedDataDirectoryPath[]; 17*6777b538SAndroid Build Coastguard Worker 18*6777b538SAndroid Build Coastguard Worker // Persisted cache directory, i.e. /cache . 19*6777b538SAndroid Build Coastguard Worker BASE_EXPORT extern const char kPersistedCacheDirectoryPath[]; 20*6777b538SAndroid Build Coastguard Worker 21*6777b538SAndroid Build Coastguard Worker // Services directory, i.e. /svc . 22*6777b538SAndroid Build Coastguard Worker BASE_EXPORT extern const char kServiceDirectoryPath[]; 23*6777b538SAndroid Build Coastguard Worker 24*6777b538SAndroid Build Coastguard Worker // Package root directory, i.e. /pkg . 25*6777b538SAndroid Build Coastguard Worker BASE_EXPORT extern const char kPackageRootDirectoryPath[]; 26*6777b538SAndroid Build Coastguard Worker 27*6777b538SAndroid Build Coastguard Worker // Returns a read-only fuchsia.io.Directory for the specified |path|, or an 28*6777b538SAndroid Build Coastguard Worker // invalid InterfaceHandle if the path doesn't exist or it's not a directory. 29*6777b538SAndroid Build Coastguard Worker BASE_EXPORT fidl::InterfaceHandle<::fuchsia::io::Directory> OpenDirectoryHandle( 30*6777b538SAndroid Build Coastguard Worker const base::FilePath& path); 31*6777b538SAndroid Build Coastguard Worker 32*6777b538SAndroid Build Coastguard Worker // Returns a write-capable fuchsia.io.Directory for the specified |path| or 33*6777b538SAndroid Build Coastguard Worker // an invalid InterfaceHandle if the path doesn't exist or it's not a directory. 34*6777b538SAndroid Build Coastguard Worker BASE_EXPORT fidl::InterfaceHandle<::fuchsia::io::Directory> 35*6777b538SAndroid Build Coastguard Worker OpenWritableDirectoryHandle(const base::FilePath& path); 36*6777b538SAndroid Build Coastguard Worker 37*6777b538SAndroid Build Coastguard Worker } // namespace base 38*6777b538SAndroid Build Coastguard Worker 39*6777b538SAndroid Build Coastguard Worker #endif // BASE_FUCHSIA_FILE_UTILS_H_ 40