Include inttypes.h unconditionally in format_macros.h - VS2103 now supplies this...
[chromium-blink-merge.git] / base / android / path_utils.cc
blobc98007cf8b4c3621ce575d623f607b3bf1f66f9a
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "base/android/path_utils.h"
7 #include "base/android/jni_android.h"
8 #include "base/android/jni_string.h"
9 #include "base/android/scoped_java_ref.h"
10 #include "base/files/file_path.h"
12 #include "jni/PathUtils_jni.h"
14 namespace base {
15 namespace android {
17 bool GetDataDirectory(FilePath* result) {
18 JNIEnv* env = AttachCurrentThread();
19 ScopedJavaLocalRef<jstring> path =
20 Java_PathUtils_getDataDirectory(env, GetApplicationContext());
21 FilePath data_path(ConvertJavaStringToUTF8(path));
22 *result = data_path;
23 return true;
26 bool GetDatabaseDirectory(FilePath* result) {
27 JNIEnv* env = AttachCurrentThread();
28 ScopedJavaLocalRef<jstring> path =
29 Java_PathUtils_getDatabaseDirectory(env, GetApplicationContext());
30 FilePath data_path(ConvertJavaStringToUTF8(path));
31 *result = data_path;
32 return true;
35 bool GetCacheDirectory(FilePath* result) {
36 JNIEnv* env = AttachCurrentThread();
37 ScopedJavaLocalRef<jstring> path =
38 Java_PathUtils_getCacheDirectory(env, GetApplicationContext());
39 FilePath cache_path(ConvertJavaStringToUTF8(path));
40 *result = cache_path;
41 return true;
44 bool GetDownloadsDirectory(FilePath* result) {
45 JNIEnv* env = AttachCurrentThread();
46 ScopedJavaLocalRef<jstring> path =
47 Java_PathUtils_getDownloadsDirectory(env, GetApplicationContext());
48 FilePath downloads_path(ConvertJavaStringToUTF8(path));
49 *result = downloads_path;
50 return true;
53 bool GetNativeLibraryDirectory(FilePath* result) {
54 JNIEnv* env = AttachCurrentThread();
55 ScopedJavaLocalRef<jstring> path =
56 Java_PathUtils_getNativeLibraryDirectory(env, GetApplicationContext());
57 FilePath library_path(ConvertJavaStringToUTF8(path));
58 *result = library_path;
59 return true;
62 bool GetExternalStorageDirectory(FilePath* result) {
63 JNIEnv* env = AttachCurrentThread();
64 ScopedJavaLocalRef<jstring> path =
65 Java_PathUtils_getExternalStorageDirectory(env);
66 FilePath storage_path(ConvertJavaStringToUTF8(path));
67 *result = storage_path;
68 return true;
71 bool RegisterPathUtils(JNIEnv* env) {
72 return RegisterNativesImpl(env);
75 } // namespace android
76 } // namespace base