• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2025 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 "data_params_conversion.h"
17 #include "ndk_data_conversion.h"
18 
19 namespace OHOS::UDMF {
GetInnerDataParams(OH_UdmfGetDataParams & ndkDataParams,QueryOption & query,GetDataParams & dataParams)20 Status DataParamsConversion::GetInnerDataParams(OH_UdmfGetDataParams &ndkDataParams, QueryOption &query,
21     GetDataParams &dataParams)
22 {
23     if (ndkDataParams.dataProgressListener == nullptr || query.key.size() == 0) {
24         return Status::E_INVALID_PARAMETERS;
25     }
26     dataParams.query = query;
27     if (ndkDataParams.destUri.size() > 0) {
28         dataParams.destUri = ndkDataParams.destUri;
29     }
30     dataParams.fileConflictOptions = static_cast<FileConflictOptions>(ndkDataParams.fileConflictOptions);
31     dataParams.progressIndicator = static_cast<ProgressIndicator>(ndkDataParams.progressIndicator);
32     dataParams.progressListener = [ndkDataParams](ProgressInfo progressInfo, std::shared_ptr<UnifiedData> data) {
33         OH_Udmf_ProgressInfo ndkProgrssInfo;
34         ndkProgrssInfo.progress = progressInfo.progress;
35         ndkProgrssInfo.status = progressInfo.progressStatus;
36         if (data == nullptr) {
37             ndkDataParams.dataProgressListener(&ndkProgrssInfo, nullptr);
38             return;
39         }
40         OH_UdmfData *ndkData = OH_UdmfData_Create();
41         NdkDataConversion::GetNdkUnifiedData(data, ndkData);
42         ndkDataParams.dataProgressListener(&ndkProgrssInfo, ndkData);
43         OH_UdmfData_Destroy(ndkData);
44     };
45     return Status::E_OK;
46 }
47 }
48