• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 "ohos_nweb/bridge/ark_web_hap_value_impl.h"
17 
18 #include "ohos_nweb/cpptoc/ark_web_hap_value_vector_cpptoc.h"
19 
20 #include "base/bridge/ark_web_bridge_macros.h"
21 
22 namespace OHOS::ArkWeb {
23 
24 using ArkWebHapValueType = OHOS::NWeb::NWebHapValue::Type;
25 
ArkWebHapValueImpl(std::shared_ptr<OHOS::NWeb::NWebHapValue> nweb_hap_value)26 ArkWebHapValueImpl::ArkWebHapValueImpl(std::shared_ptr<OHOS::NWeb::NWebHapValue> nweb_hap_value)
27     : nweb_hap_value_(nweb_hap_value)
28 {}
29 
GetType()30 unsigned char ArkWebHapValueImpl::GetType()
31 {
32     return static_cast<unsigned char>(nweb_hap_value_->GetType());
33 }
34 
SetType(unsigned char type)35 void ArkWebHapValueImpl::SetType(unsigned char type)
36 {
37     nweb_hap_value_->SetType(static_cast<ArkWebHapValueType>(type));
38 }
39 
GetInt()40 int ArkWebHapValueImpl::GetInt()
41 {
42     return nweb_hap_value_->GetInt();
43 }
44 
SetInt(int value)45 void ArkWebHapValueImpl::SetInt(int value)
46 {
47     nweb_hap_value_->SetInt(value);
48 }
49 
GetBool()50 bool ArkWebHapValueImpl::GetBool()
51 {
52     return nweb_hap_value_->GetBool();
53 }
54 
SetBool(bool value)55 void ArkWebHapValueImpl::SetBool(bool value)
56 {
57     nweb_hap_value_->SetBool(value);
58 }
59 
GetDouble()60 double ArkWebHapValueImpl::GetDouble()
61 {
62     return nweb_hap_value_->GetDouble();
63 }
64 
SetDouble(double value)65 void ArkWebHapValueImpl::SetDouble(double value)
66 {
67     nweb_hap_value_->SetDouble(value);
68 }
69 
GetString()70 ArkWebString ArkWebHapValueImpl::GetString()
71 {
72     return ArkWebStringClassToStruct(nweb_hap_value_->GetString());
73 }
74 
SetString(const ArkWebString & value)75 void ArkWebHapValueImpl::SetString(const ArkWebString& value)
76 {
77     nweb_hap_value_->SetString(ArkWebStringStructToClass(value));
78 }
79 
GetBinary(int & length)80 const char* ArkWebHapValueImpl::GetBinary(int& length)
81 {
82     return nweb_hap_value_->GetBinary(length);
83 }
84 
SetBinary(int length,const char * value)85 void ArkWebHapValueImpl::SetBinary(int length, const char* value)
86 {
87     nweb_hap_value_->SetBinary(length, value);
88 }
89 
GetDictValue()90 ArkWebHapValueMap ArkWebHapValueImpl::GetDictValue()
91 {
92     return ArkWebHapValueMapClassToStruct(nweb_hap_value_->GetDictValue());
93 }
94 
GetListValue()95 ArkWebHapValueVector ArkWebHapValueImpl::GetListValue()
96 {
97     return ArkWebHapValueVectorClassToStruct(nweb_hap_value_->GetListValue());
98 }
99 
NewChildValue()100 ArkWebRefPtr<ArkWebHapValue> ArkWebHapValueImpl::NewChildValue()
101 {
102     std::shared_ptr<OHOS::NWeb::NWebHapValue> nweb_hap_value = nweb_hap_value_->NewChildValue();
103     if (CHECK_SHARED_PTR_IS_NULL(nweb_hap_value)) {
104         return nullptr;
105     }
106 
107     return new ArkWebHapValueImpl(nweb_hap_value);
108 }
109 
SaveDictChildValue(const ArkWebString & key)110 void ArkWebHapValueImpl::SaveDictChildValue(const ArkWebString& key)
111 {
112     nweb_hap_value_->SaveDictChildValue(ArkWebStringStructToClass(key));
113 }
114 
SaveListChildValue()115 void ArkWebHapValueImpl::SaveListChildValue()
116 {
117     nweb_hap_value_->SaveListChildValue();
118 }
119 
GetInt64()120 int64_t ArkWebHapValueImpl::GetInt64()
121 {
122     return nweb_hap_value_->GetInt64();
123 }
124 
SetInt64(int64_t value)125 void ArkWebHapValueImpl::SetInt64(int64_t value)
126 {
127     nweb_hap_value_->SetInt64(value);
128 }
129 
GetBinary()130 ArkWebUint8Vector ArkWebHapValueImpl::GetBinary()
131 {
132     return ArkWebBasicVectorClassToStruct<uint8_t, ArkWebUint8Vector>(nweb_hap_value_->GetBinary());
133 }
134 
SetBinary(const ArkWebUint8Vector & value)135 void ArkWebHapValueImpl::SetBinary(const ArkWebUint8Vector& value)
136 {
137     nweb_hap_value_->SetBinary(ArkWebBasicVectorStructToClass<uint8_t, ArkWebUint8Vector>(value));
138 }
139 
GetBoolArray()140 ArkWebBooleanVector ArkWebHapValueImpl::GetBoolArray()
141 {
142     return ArkWebBasicVectorClassToStruct<bool, ArkWebBooleanVector>(nweb_hap_value_->GetBoolArray());
143 }
144 
SetBoolArray(const ArkWebBooleanVector & value)145 void ArkWebHapValueImpl::SetBoolArray(const ArkWebBooleanVector& value)
146 {
147     nweb_hap_value_->SetBoolArray(ArkWebBasicVectorStructToClass<bool, ArkWebBooleanVector>(value));
148 }
149 
GetInt64Array()150 ArkWebInt64Vector ArkWebHapValueImpl::GetInt64Array()
151 {
152     return ArkWebBasicVectorClassToStruct<int64_t, ArkWebInt64Vector>(nweb_hap_value_->GetInt64Array());
153 }
154 
SetInt64Array(const ArkWebInt64Vector & value)155 void ArkWebHapValueImpl::SetInt64Array(const ArkWebInt64Vector& value)
156 {
157     nweb_hap_value_->SetInt64Array(ArkWebBasicVectorStructToClass<int64_t, ArkWebInt64Vector>(value));
158 }
159 
GetDoubleArray()160 ArkWebDoubleVector ArkWebHapValueImpl::GetDoubleArray()
161 {
162     return ArkWebBasicVectorClassToStruct<double, ArkWebDoubleVector>(nweb_hap_value_->GetDoubleArray());
163 }
164 
SetDoubleArray(const ArkWebDoubleVector & value)165 void ArkWebHapValueImpl::SetDoubleArray(const ArkWebDoubleVector& value)
166 {
167     nweb_hap_value_->SetDoubleArray(ArkWebBasicVectorStructToClass<double, ArkWebDoubleVector>(value));
168 }
169 
GetStringArray()170 ArkWebStringVector ArkWebHapValueImpl::GetStringArray()
171 {
172     return ArkWebStringVectorClassToStruct(nweb_hap_value_->GetStringArray());
173 }
174 
SetStringArray(const ArkWebStringVector & value)175 void ArkWebHapValueImpl::SetStringArray(const ArkWebStringVector& value)
176 {
177     nweb_hap_value_->SetStringArray(ArkWebStringVectorStructToClass(value));
178 }
179 
GetErrMsg()180 ArkWebString ArkWebHapValueImpl::GetErrMsg()
181 {
182     return ArkWebStringClassToStruct(nweb_hap_value_->GetErrMsg());
183 }
184 
SetErrMsg(const ArkWebString & msg)185 void ArkWebHapValueImpl::SetErrMsg(const ArkWebString& msg)
186 {
187     nweb_hap_value_->SetErrMsg(ArkWebStringStructToClass(msg));
188 }
189 
GetErrName()190 ArkWebString ArkWebHapValueImpl::GetErrName()
191 {
192     return ArkWebStringClassToStruct(nweb_hap_value_->GetErrName());
193 }
194 
SetErrName(const ArkWebString & name)195 void ArkWebHapValueImpl::SetErrName(const ArkWebString& name)
196 {
197     nweb_hap_value_->SetErrName(ArkWebStringStructToClass(name));
198 }
199 
200 } // namespace OHOS::ArkWeb
201