1 /*
2 * Copyright (c) 2024 Huawei Device Co., Ltd.
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
16 #include "ext_extension.h"
17 #include "ext_extension_mock.h"
18
19 namespace OHOS::FileManagement::Backup {
20 using namespace std;
VerifyCaller()21 void BackupExtExtension::VerifyCaller()
22 {
23 BExtExtension::extExtension->VerifyCaller();
24 }
25
GetFileHandle(const string & fileName,int32_t & errCode)26 UniqueFd BackupExtExtension::GetFileHandle(const string &fileName, int32_t &errCode)
27 {
28 return BExtExtension::extExtension->GetFileHandle(fileName, errCode);
29 }
30
GetIncrementalFileHandle(const string & fileName,int & fd,int & reportFd,int32_t & fdErrCode)31 ErrCode BackupExtExtension::GetIncrementalFileHandle(const string &fileName,
32 int &fd, int &reportFd, int32_t &fdErrCode)
33 {
34 return BExtExtension::extExtension->GetIncrementalFileHandle(fileName, fd, reportFd, fdErrCode);
35 }
36
HandleClear()37 ErrCode BackupExtExtension::HandleClear()
38 {
39 return BExtExtension::extExtension->HandleClear();
40 }
41
BigFileReady(TarMap & bigFileInfo,sptr<IService> proxy,int backupedFileSize)42 ErrCode BackupExtExtension::BigFileReady(TarMap &bigFileInfo, sptr<IService> proxy, int backupedFileSize)
43 {
44 return BExtExtension::extExtension->BigFileReady(bigFileInfo, proxy, backupedFileSize);
45 }
46
PublishFile(const std::string & fileName)47 ErrCode BackupExtExtension::PublishFile(const std::string &fileName)
48 {
49 return BExtExtension::extExtension->PublishFile(fileName);
50 }
51
PublishIncrementalFile(const string & fileName)52 ErrCode BackupExtExtension::PublishIncrementalFile(const string &fileName)
53 {
54 return BExtExtension::extExtension->PublishIncrementalFile(fileName);
55 }
56
HandleBackup(bool isClearData)57 ErrCode BackupExtExtension::HandleBackup(bool isClearData)
58 {
59 return BExtExtension::extExtension->HandleBackup(isClearData);
60 }
61
DoBackup(TarMap & bigFileInfo,TarMap & bigFileInfoBackuped,map<string,size_t> & smallFiles,uint32_t includesNum,uint32_t excludesNum)62 int BackupExtExtension::DoBackup(TarMap &bigFileInfo, TarMap &bigFileInfoBackuped,
63 map<string, size_t> &smallFiles, uint32_t includesNum, uint32_t excludesNum)
64 {
65 return BExtExtension::extExtension->DoBackup(bigFileInfo, bigFileInfoBackuped, smallFiles,
66 includesNum, excludesNum);
67 }
68
DoRestore(const string & fileName,const off_t fileSize)69 int BackupExtExtension::DoRestore(const string &fileName, const off_t fileSize)
70 {
71 return BExtExtension::extExtension->DoRestore(fileName, fileSize);
72 }
73
DoIncrementalRestore()74 int BackupExtExtension::DoIncrementalRestore()
75 {
76 return BExtExtension::extExtension->DoIncrementalRestore();
77 }
78
AsyncTaskBackup(const string config)79 void BackupExtExtension::AsyncTaskBackup(const string config)
80 {
81 BExtExtension::extExtension->AsyncTaskBackup(config);
82 }
83
AsyncTaskRestore(std::set<std::string> fileSet,const std::vector<ExtManageInfo> extManageInfo)84 void BackupExtExtension::AsyncTaskRestore(std::set<std::string> fileSet,
85 const std::vector<ExtManageInfo> extManageInfo)
86 {
87 BExtExtension::extExtension->AsyncTaskRestore(fileSet, extManageInfo);
88 }
89
AsyncTaskIncrementalRestore()90 void BackupExtExtension::AsyncTaskIncrementalRestore()
91 {
92 BExtExtension::extExtension->AsyncTaskIncrementalRestore();
93 }
94
AsyncTaskIncreRestoreSpecialVersion()95 void BackupExtExtension::AsyncTaskIncreRestoreSpecialVersion()
96 {
97 BExtExtension::extExtension->AsyncTaskIncreRestoreSpecialVersion();
98 }
99
AsyncTaskIncrementalRestoreForUpgrade()100 void BackupExtExtension::AsyncTaskIncrementalRestoreForUpgrade()
101 {
102 BExtExtension::extExtension->AsyncTaskIncrementalRestoreForUpgrade();
103 }
104
DoClear()105 void BackupExtExtension::DoClear()
106 {
107 BExtExtension::extExtension->DoClear();
108 }
109
AppDone(ErrCode errCode)110 void BackupExtExtension::AppDone(ErrCode errCode)
111 {
112 BExtExtension::extExtension->AppDone(errCode);
113 }
114
AppResultReport(const std::string restoreRetInfo,BackupRestoreScenario scenario,ErrCode errCode)115 void BackupExtExtension::AppResultReport(const std::string restoreRetInfo,
116 BackupRestoreScenario scenario, ErrCode errCode)
117 {
118 BExtExtension::extExtension->AppResultReport(restoreRetInfo, scenario, errCode);
119 }
120
AsyncTaskOnBackup()121 void BackupExtExtension::AsyncTaskOnBackup()
122 {
123 BExtExtension::extExtension->AsyncTaskOnBackup();
124 }
125
HandleRestore(bool isClearData)126 ErrCode BackupExtExtension::HandleRestore(bool isClearData)
127 {
128 return BExtExtension::extExtension->HandleRestore(isClearData);
129 }
130
IncrementalBigFileReady(TarMap & pkgInfo,const vector<struct ReportFileInfo> & bigInfos,sptr<IService> proxy)131 ErrCode BackupExtExtension::IncrementalBigFileReady(TarMap &pkgInfo,
132 const vector<struct ReportFileInfo> &bigInfos, sptr<IService> proxy)
133 {
134 return BExtExtension::extExtension->IncrementalBigFileReady(pkgInfo, bigInfos, proxy);
135 }
136
StartFwkTimer(bool & isFwkStart)137 void BackupExtExtension::StartFwkTimer(bool &isFwkStart)
138 {
139 BExtExtension::extExtension->StartFwkTimer(isFwkStart);
140 }
141
GetFileHandleWithUniqueFd(const std::string & fileName,int32_t & errCode,int & fd)142 ErrCode BackupExtExtension::GetFileHandleWithUniqueFd(const std::string &fileName, int32_t &errCode, int& fd)
143 {
144 return BExtExtension::extExtension->GetFileHandleWithUniqueFd(fileName, errCode, fd);
145 }
146
FillFileInfos(UniqueFd incrementalFd,UniqueFd manifestFd,vector<struct ReportFileInfo> & allFiles,vector<struct ReportFileInfo> & smallFiles,vector<struct ReportFileInfo> & bigFiles)147 void BackupExtExtension::FillFileInfos(UniqueFd incrementalFd,
148 UniqueFd manifestFd,
149 vector<struct ReportFileInfo> &allFiles,
150 vector<struct ReportFileInfo> &smallFiles,
151 vector<struct ReportFileInfo> &bigFiles)
152 {
153 BExtExtension::extExtension->FillFileInfos(move(incrementalFd), move(manifestFd), allFiles,
154 smallFiles, bigFiles);
155 }
156
ReportAppStatistic(const std::string & func,ErrCode errCode)157 void BackupExtExtension::ReportAppStatistic(const std::string &func, ErrCode errCode)
158 {
159 BExtExtension::extExtension->ReportAppStatistic(func, errCode);
160 }
161
UpdateOnStartTime()162 void BackupExtExtension::UpdateOnStartTime()
163 {
164 BExtExtension::extExtension->UpdateOnStartTime();
165 }
166
IncrementalTarFileReady(const TarMap & bigFileInfo,const vector<struct ReportFileInfo> & srcFiles,sptr<IService> proxy)167 ErrCode BackupExtExtension::IncrementalTarFileReady(const TarMap &bigFileInfo,
168 const vector<struct ReportFileInfo> &srcFiles, sptr<IService> proxy)
169 {
170 return BExtExtension::extExtension->IncrementalTarFileReady(bigFileInfo, srcFiles, proxy);
171 }
172
IncrementalAllFileReady(const TarMap & pkgInfo,const vector<struct ReportFileInfo> & srcFiles,sptr<IService> proxy)173 ErrCode BackupExtExtension::IncrementalAllFileReady(const TarMap &pkgInfo,
174 const vector<struct ReportFileInfo> &srcFiles, sptr<IService> proxy)
175 {
176 return BExtExtension::extExtension->IncrementalAllFileReady(pkgInfo, srcFiles, proxy);
177 }
178
ReportErrFileByProc(wptr<BackupExtExtension> obj,BackupRestoreScenario scenario)179 std::function<void(std::string, int)> BackupExtExtension::ReportErrFileByProc(wptr<BackupExtExtension> obj,
180 BackupRestoreScenario scenario)
181 {
182 return BExtExtension::extExtension->ReportErrFileByProc(obj, scenario);
183 }
184
DoClearInner()185 void BackupExtExtension::DoClearInner()
186 {
187 BExtExtension::extExtension->DoClearInner();
188 }
189
CleanBundleTempDir()190 ErrCode BackupExtExtension::CleanBundleTempDir()
191 {
192 return BExtExtension::extExtension->CleanBundleTempDir();
193 }
194
GetTarIncludes(const string & tarName,unordered_map<string,struct ReportFileInfo> & infos)195 void BackupExtExtension::GetTarIncludes(const string &tarName, unordered_map<string, struct ReportFileInfo> &infos)
196 {
197 BExtExtension::extExtension->GetTarIncludes(tarName, infos);
198 }
199 } // namespace OHOS::FileManagement::Backup
200