• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright (C) 2020 The Android Open Source Project
2 //
3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at
6 //
7 //      http://www.apache.org/licenses/LICENSE-2.0
8 //
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and
13 // limitations under the License.
14 
15 #ifndef IORAP_SRC_DB_CLEANER_H_
16 #define IORAP_SRC_DB_CLEANER_H_
17 
18 #include <android/content/pm/IPackageManagerNative.h>
19 
20 #include <string>
21 #include <vector>
22 
23 #include "binder/package_version_map.h"
24 #include "db/file_models.h"
25 
26 namespace iorap::db {
27 
28 // Clean up perfetto traces and compiled traces in disk and rows
29 // in raw_traces and prefetch_files in the db.
30 void CleanUpFilesForDb(const db::DbHandle& db);
31 
32 // Clean up perfetto traces and compiled traces in disk and rows
33 // in raw_traces and prefetch_files in the db for a package id.
34 void CleanUpFilesForPackage(const db::DbHandle& db,
35                             int package_id,
36                             const std::string& package_name,
37                             int64_t version);
38 
39 // Clean up all package rows (and files) associated with a package by name.
40 void CleanUpFilesForPackage(const std::string& db_path,
41                             const std::string& package_name);
42 
43 // Clean up all package rows (and files) associated with a package by name.
44 void CleanUpFilesForPackage(const db::DbHandle& db,
45                             const std::string& package_name);
46 // Clean up perfetto traces and compiled traces in disk and rows
47 // in raw_traces and prefetch_files in the db for a package name
48 // and version.
49 void CleanUpFilesForPackage(const db::DbHandle& db,
50                             const std::string& package_name,
51                             int64_t version);
52 }  // namespace iorap::db
53 
54 #endif  // IORAP_SRC_DB_CLEANER_H_
55