• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 
12 namespace base {
13 
14 class FilePath;
15 
16 namespace 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.
22 BASE_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.
26 BASE_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.
32 BASE_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'.
36 BASE_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'.
40 BASE_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'.
45 BASE_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'.
49 BASE_EXPORT bool GetExternalStorageDirectory(FilePath* result);
50 
51 bool RegisterPathUtils(JNIEnv* env);
52 
53 }  // namespace android
54 }  // namespace base
55 
56 #endif  // BASE_ANDROID_PATH_UTILS_H_
57