1*6777b538SAndroid Build Coastguard Worker // Copyright 2013 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_ANDROID_CONTENT_URI_UTILS_H_ 6*6777b538SAndroid Build Coastguard Worker #define BASE_ANDROID_CONTENT_URI_UTILS_H_ 7*6777b538SAndroid Build Coastguard Worker 8*6777b538SAndroid Build Coastguard Worker #include <jni.h> 9*6777b538SAndroid Build Coastguard Worker #include <string> 10*6777b538SAndroid Build Coastguard Worker 11*6777b538SAndroid Build Coastguard Worker #include "base/base_export.h" 12*6777b538SAndroid Build Coastguard Worker #include "base/files/file.h" 13*6777b538SAndroid Build Coastguard Worker #include "base/files/file_path.h" 14*6777b538SAndroid Build Coastguard Worker 15*6777b538SAndroid Build Coastguard Worker namespace base { 16*6777b538SAndroid Build Coastguard Worker 17*6777b538SAndroid Build Coastguard Worker // Opens a content URI for read and returns the file descriptor to the caller. 18*6777b538SAndroid Build Coastguard Worker // Returns -1 if the URI is invalid. 19*6777b538SAndroid Build Coastguard Worker BASE_EXPORT File OpenContentUriForRead(const FilePath& content_uri); 20*6777b538SAndroid Build Coastguard Worker 21*6777b538SAndroid Build Coastguard Worker // Check whether a content URI exists. 22*6777b538SAndroid Build Coastguard Worker BASE_EXPORT bool ContentUriExists(const FilePath& content_uri); 23*6777b538SAndroid Build Coastguard Worker 24*6777b538SAndroid Build Coastguard Worker // Gets MIME type from a content URI. Returns an empty string if the URI is 25*6777b538SAndroid Build Coastguard Worker // invalid. 26*6777b538SAndroid Build Coastguard Worker BASE_EXPORT std::string GetContentUriMimeType(const FilePath& content_uri); 27*6777b538SAndroid Build Coastguard Worker 28*6777b538SAndroid Build Coastguard Worker // Gets the display name from a content URI. Returns true if the name was found. 29*6777b538SAndroid Build Coastguard Worker BASE_EXPORT bool MaybeGetFileDisplayName(const FilePath& content_uri, 30*6777b538SAndroid Build Coastguard Worker std::u16string* file_display_name); 31*6777b538SAndroid Build Coastguard Worker 32*6777b538SAndroid Build Coastguard Worker // Deletes a content URI. 33*6777b538SAndroid Build Coastguard Worker BASE_EXPORT bool DeleteContentUri(const FilePath& content_uri); 34*6777b538SAndroid Build Coastguard Worker 35*6777b538SAndroid Build Coastguard Worker // Gets content URI's file path (eg: "content://org.chromium...") from normal 36*6777b538SAndroid Build Coastguard Worker // file path (eg: "/data/user/0/..."). 37*6777b538SAndroid Build Coastguard Worker BASE_EXPORT FilePath GetContentUriFromFilePath(const FilePath& file_path); 38*6777b538SAndroid Build Coastguard Worker 39*6777b538SAndroid Build Coastguard Worker } // namespace base 40*6777b538SAndroid Build Coastguard Worker 41*6777b538SAndroid Build Coastguard Worker #endif // BASE_ANDROID_CONTENT_URI_UTILS_H_ 42