blob: 1e8d1e8308828c74dffb1592a019da5313c2691d [file] [log] [blame]
[email protected]6fa1e7ef2012-03-14 11:24:041// Copyright (c) 2012 The Chromium Authors. All rights reserved.
[email protected]61c86c62011-08-02 16:11:162// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#include "base/android/path_utils.h"
6
[email protected]61c86c62011-08-02 16:11:167#include "base/android/jni_android.h"
8#include "base/android/jni_string.h"
[email protected]f98d7b92011-09-09 10:17:359#include "base/android/scoped_java_ref.h"
[email protected]61c86c62011-08-02 16:11:1610
[email protected]e46f66152012-07-19 20:02:5511#include "jni/PathUtils_jni.h"
[email protected]61c86c62011-08-02 16:11:1612
13namespace base {
14namespace android {
15
16std::string GetDataDirectory() {
17 JNIEnv* env = AttachCurrentThread();
[email protected]6fa1e7ef2012-03-14 11:24:0418 ScopedJavaLocalRef<jstring> path =
19 Java_PathUtils_getDataDirectory(env, GetApplicationContext());
20 return ConvertJavaStringToUTF8(path);
[email protected]61c86c62011-08-02 16:11:1621}
22
23std::string GetCacheDirectory() {
24 JNIEnv* env = AttachCurrentThread();
[email protected]6fa1e7ef2012-03-14 11:24:0425 ScopedJavaLocalRef<jstring> path =
26 Java_PathUtils_getCacheDirectory(env, GetApplicationContext());
27 return ConvertJavaStringToUTF8(path);
28}
29
30std::string GetDownloadsDirectory() {
31 JNIEnv* env = AttachCurrentThread();
32 ScopedJavaLocalRef<jstring> path =
33 Java_PathUtils_getDownloadsDirectory(env, GetApplicationContext());
34 return ConvertJavaStringToUTF8(path);
[email protected]61c86c62011-08-02 16:11:1635}
36
[email protected]672898b2012-07-02 20:04:0437std::string GetNativeLibraryDirectory() {
38 JNIEnv* env = AttachCurrentThread();
39 ScopedJavaLocalRef<jstring> path =
40 Java_PathUtils_getNativeLibraryDirectory(env, GetApplicationContext());
41 return ConvertJavaStringToUTF8(path);
42}
43
[email protected]fa67f76c2012-08-24 10:08:2744std::string GetExternalStorageDirectory() {
45 JNIEnv* env = AttachCurrentThread();
46 ScopedJavaLocalRef<jstring> path =
47 Java_PathUtils_getExternalStorageDirectory(env);
48 return ConvertJavaStringToUTF8(path);
49}
50
[email protected]61c86c62011-08-02 16:11:1651bool RegisterPathUtils(JNIEnv* env) {
52 return RegisterNativesImpl(env);
53}
54
55} // namespace android
56} // namespace base