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 #ifndef ARK_WEB_ROM_VALUE_H_ 17 #define ARK_WEB_ROM_VALUE_H_ 18 #pragma once 19 20 #include "ohos_nweb/include/ark_web_rom_value_vector.h" 21 22 #include "base/include/ark_web_base_ref_counted.h" 23 24 namespace OHOS::ArkWeb { 25 26 /*--ark web(source=webview)--*/ 27 class ArkWebRomValue : public virtual ArkWebBaseRefCounted { 28 public: 29 /*--ark web()--*/ 30 virtual unsigned char GetType() = 0; 31 32 /*--ark web()--*/ 33 virtual void SetType(unsigned char type) = 0; 34 35 /*--ark web()--*/ 36 virtual int GetInt() = 0; 37 38 /*--ark web()--*/ 39 virtual void SetInt(int value) = 0; 40 41 /*--ark web()--*/ 42 virtual bool GetBool() = 0; 43 44 /*--ark web()--*/ 45 virtual void SetBool(bool value) = 0; 46 47 /*--ark web()--*/ 48 virtual double GetDouble() = 0; 49 50 /*--ark web()--*/ 51 virtual void SetDouble(double value) = 0; 52 53 /*--ark web()--*/ 54 virtual ArkWebString GetString() = 0; 55 56 /*--ark web()--*/ 57 virtual void SetString(const ArkWebString& value) = 0; 58 59 /*--ark web()--*/ 60 virtual const char* GetBinary(int& length) = 0; 61 62 /*--ark web()--*/ 63 virtual void SetBinary(int length, const char* value) = 0; 64 65 /*--ark web()--*/ 66 virtual ArkWebRomValueMap GetDictValue() = 0; 67 68 /*--ark web()--*/ 69 virtual ArkWebRomValueVector GetListValue() = 0; 70 71 /*--ark web()--*/ 72 virtual ArkWebRefPtr<ArkWebRomValue> NewChildValue() = 0; 73 74 /*--ark web()--*/ 75 virtual void SaveDictChildValue(const ArkWebString& key) = 0; 76 77 /*--ark web()--*/ 78 virtual void SaveListChildValue() = 0; 79 80 /*--ark web()--*/ 81 virtual int64_t GetInt64() = 0; 82 83 /*--ark web()--*/ 84 virtual void SetInt64(int64_t value) = 0; 85 86 /*--ark web()--*/ 87 virtual ArkWebUint8Vector GetBinary() = 0; 88 89 /*--ark web()--*/ 90 virtual void SetBinary(const ArkWebUint8Vector& value) = 0; 91 92 /*--ark web()--*/ 93 virtual ArkWebBooleanVector GetBoolArray() = 0; 94 95 /*--ark web()--*/ 96 virtual void SetBoolArray(const ArkWebBooleanVector& value) = 0; 97 98 /*--ark web()--*/ 99 virtual ArkWebInt64Vector GetInt64Array() = 0; 100 101 /*--ark web()--*/ 102 virtual void SetInt64Array(const ArkWebInt64Vector& value) = 0; 103 104 /*--ark web()--*/ 105 virtual ArkWebDoubleVector GetDoubleArray() = 0; 106 107 /*--ark web()--*/ 108 virtual void SetDoubleArray(const ArkWebDoubleVector& value) = 0; 109 110 /*--ark web()--*/ 111 virtual ArkWebStringVector GetStringArray() = 0; 112 113 /*--ark web()--*/ 114 virtual void SetStringArray(const ArkWebStringVector& value) = 0; 115 116 /*--ark web()--*/ 117 virtual ArkWebString GetErrMsg() = 0; 118 119 /*--ark web()--*/ 120 virtual void SetErrMsg(const ArkWebString& msg) = 0; 121 122 /*--ark web()--*/ 123 virtual ArkWebString GetErrName() = 0; 124 125 /*--ark web()--*/ 126 virtual void SetErrName(const ArkWebString& name) = 0; 127 }; 128 129 } // namespace OHOS::ArkWeb 130 131 #endif // ARK_WEB_ROM_VALUE_H_ 132