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. 4 5#ifndef BASE_ANDROID_PATH_UTILS_H_ 6#define BASE_ANDROID_PATH_UTILS_H_ 7 8#include <jni.h> 9 10#include "base/base_export.h" 11 12namespace base { 13 14class FilePath; 15 16namespace android { 17 18// Retrieves the absolute path to the data directory of the current 19// application. The result is placed in the FilePath pointed to by 'result'. 20// This method is dedicated for base_paths_android.c, Using 21// PathService::Get(base::DIR_ANDROID_APP_DATA, ...) gets the data dir. 22BASE_EXPORT bool GetDataDirectory(FilePath* result); 23 24// Retrieves the absolute path to the database directory that Android 25// framework's SQLiteDatabase class uses when creating database files. 26BASE_EXPORT bool GetDatabaseDirectory(FilePath* result); 27 28// Retrieves the absolute path to the cache directory. The result is placed in 29// the FilePath pointed to by 'result'. This method is dedicated for 30// base_paths_android.c, Using PathService::Get(base::DIR_CACHE, ...) gets the 31// cache dir. 32BASE_EXPORT bool GetCacheDirectory(FilePath* result); 33 34// Retrieves the path to the thumbnail cache directory. The result is placed 35// in the FilePath pointed to by 'result'. 36BASE_EXPORT bool GetThumbnailCacheDirectory(FilePath* result); 37 38// Retrieves the path to the public downloads directory. The result is placed 39// in the FilePath pointed to by 'result'. 40BASE_EXPORT bool GetDownloadsDirectory(FilePath* result); 41 42// Retrieves the path to the native JNI libraries via 43// ApplicationInfo.nativeLibraryDir on the Java side. The result is placed in 44// the FilePath pointed to by 'result'. 45BASE_EXPORT bool GetNativeLibraryDirectory(FilePath* result); 46 47// Retrieves the absolute path to the external storage directory. The result 48// is placed in the FilePath pointed to by 'result'. 49BASE_EXPORT bool GetExternalStorageDirectory(FilePath* result); 50 51} // namespace android 52} // namespace base 53 54#endif // BASE_ANDROID_PATH_UTILS_H_ 55