• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2021 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 "form_provider_info.h"
17 #include "string_ex.h"
18 
19 namespace OHOS {
20 namespace AppExecFwk {
ReadFromParcel(Parcel & parcel)21 bool FormProviderInfo::ReadFromParcel(Parcel &parcel)
22 {
23     auto bindingData = parcel.ReadParcelable<FormProviderData>();
24     jsBindingData_ = *bindingData;
25     return true;
26 }
27 
Unmarshalling(Parcel & parcel)28 FormProviderInfo *FormProviderInfo::Unmarshalling(Parcel &parcel)
29 {
30     FormProviderInfo *formProviderInfo = new (std::nothrow) FormProviderInfo();
31     if (formProviderInfo && !formProviderInfo->ReadFromParcel(parcel)) {
32         delete formProviderInfo;
33         formProviderInfo = nullptr;
34     }
35     return formProviderInfo;
36 }
37 
Marshalling(Parcel & parcel) const38 bool FormProviderInfo::Marshalling(Parcel &parcel) const
39 {
40     if (!parcel.WriteParcelable(&jsBindingData_)) {
41         return false;
42     }
43 
44     return true;
45 }
SetFormDataString(std::string & dataString)46 void FormProviderInfo::SetFormDataString(std::string &dataString)
47 {
48     jsBindingData_.SetDataString(dataString);
49 }
50 /**
51  * @brief Merge new data to FormProviderData.
52  * @param addJsonData data to merge to FormProviderData
53  */
MergeData(nlohmann::json & addJsonData)54 void FormProviderInfo::MergeData(nlohmann::json &addJsonData)
55 {
56     jsBindingData_.MergeData(addJsonData);
57 }
58 }  // namespace AppExecFwk
59 }  // namespace OHOS
60