1 // Copyright 2013 The Chromium Authors
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef BASE_ANDROID_CONTENT_URI_UTILS_H_
6 #define BASE_ANDROID_CONTENT_URI_UTILS_H_
11 #include "base/base_export.h"
12 #include "base/files/file.h"
13 #include "base/files/file_path.h"
17 // Opens a content URI for read and returns the file descriptor to the caller.
18 // Returns -1 if the URI is invalid.
19 BASE_EXPORT File OpenContentUriForRead(const FilePath& content_uri);
21 // Check whether a content URI exists.
22 BASE_EXPORT bool ContentUriExists(const FilePath& content_uri);
24 // Gets MIME type from a content URI. Returns an empty string if the URI is
26 BASE_EXPORT std::string GetContentUriMimeType(const FilePath& content_uri);
28 // Gets the display name from a content URI. Returns true if the name was found.
29 BASE_EXPORT bool MaybeGetFileDisplayName(const FilePath& content_uri,
30 std::u16string* file_display_name);
32 // Deletes a content URI.
33 BASE_EXPORT bool DeleteContentUri(const FilePath& content_uri);
35 // Gets content URI's file path (eg: "content://org.chromium...") from normal
36 // file path (eg: "/data/user/0/...").
37 BASE_EXPORT FilePath GetContentUriFromFilePath(const FilePath& file_path);
41 #endif // BASE_ANDROID_CONTENT_URI_UTILS_H_