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/** 17 * @file 18 * @kit ArkData 19 */ 20 21/** 22 * Provide uniform data struct definition. 23 * 24 * @namespace uniformDataStruct 25 * @syscap SystemCapability.DistributedDataManager.UDMF.Core 26 * @since 12 27 */ 28declare namespace uniformDataStruct { 29 /** 30 * Describe the plain text uniform data struct. 31 * 32 * @interface PlainText 33 * @syscap SystemCapability.DistributedDataManager.UDMF.Core 34 * @since 12 35 */ 36 interface PlainText { 37 /** 38 * Indicates the uniform data type of this data struct. 39 * 40 * @type { 'general.plain-text' } 41 * @readonly 42 * @syscap SystemCapability.DistributedDataManager.UDMF.Core 43 * @since 12 44 */ 45 readonly uniformDataType: 'general.plain-text'; 46 /** 47 * Indicates the content of the PlainText. 48 * 49 * @type { string } 50 * @syscap SystemCapability.DistributedDataManager.UDMF.Core 51 * @since 12 52 */ 53 textContent: string; 54 55 /** 56 * Indicates the abstract of the PlainText. 57 * @type { ?string } 58 * @syscap SystemCapability.DistributedDataManager.UDMF.Core 59 * @since 12 60 */ 61 abstract?: string; 62 /** 63 * Indicates the details of the PlainText. 64 * 65 * @type { ?Record<string, string> } 66 * @syscap SystemCapability.DistributedDataManager.UDMF.Core 67 * @since 12 68 */ 69 details?: Record<string, string>; 70 } 71 72 /** 73 * Describe the hyperlink uniform data struct. 74 * 75 * @interface Hyperlink 76 * @syscap SystemCapability.DistributedDataManager.UDMF.Core 77 * @since 12 78 */ 79 interface Hyperlink { 80 /** 81 * Indicates the uniform data type of this data struct. 82 * 83 * @type { 'general.hyperlink' } 84 * @readonly 85 * @syscap SystemCapability.DistributedDataManager.UDMF.Core 86 * @since 12 87 */ 88 readonly uniformDataType: 'general.hyperlink'; 89 /** 90 * Indicates the url of of the Hyperlink. 91 * 92 * @type { string } 93 * @syscap SystemCapability.DistributedDataManager.UDMF.Core 94 * @since 12 95 */ 96 url: string; 97 /** 98 * Indicates the description of the Hyperlink. 99 * @type { ?string } 100 * @syscap SystemCapability.DistributedDataManager.UDMF.Core 101 * @since 12 102 */ 103 description?: string; 104 /** 105 * Indicates the details of the Hyperlink. 106 * 107 * @type { ?Record<string, string> } 108 * @syscap SystemCapability.DistributedDataManager.UDMF.Core 109 * @since 12 110 */ 111 details?: Record<string, string>; 112 } 113 114 /** 115 * Describe the html uniform data struct. 116 * 117 * @interface HTML 118 * @syscap SystemCapability.DistributedDataManager.UDMF.Core 119 * @since 12 120 */ 121 interface HTML { 122 /** 123 * Indicates the uniform data type of this data struct. 124 * 125 * @type { 'general.html' } 126 * @readonly 127 * @syscap SystemCapability.DistributedDataManager.UDMF.Core 128 * @since 12 129 */ 130 readonly uniformDataType: 'general.html'; 131 132 /** 133 * Indicates the content of html, with html tags. 134 * 135 * @type { string } 136 * @syscap SystemCapability.DistributedDataManager.UDMF.Core 137 * @since 12 138 */ 139 htmlContent: string; 140 /** 141 * Indicates the plain content of html. 142 * 143 * @type { ?string } 144 * @syscap SystemCapability.DistributedDataManager.UDMF.Core 145 * @since 12 146 */ 147 plainContent?: string; 148 /** 149 * Indicates the details of html. 150 * 151 * @type { ?Record<string, string> } 152 * @syscap SystemCapability.DistributedDataManager.UDMF.Core 153 * @since 12 154 */ 155 details?: Record<string, string>; 156 } 157 158 /** 159 * Describe system defined app item uniform data struct(this kind of struct is provided and bound to OpenHarmony). 160 * 161 * @interface OpenHarmonyAppItem 162 * @syscap SystemCapability.DistributedDataManager.UDMF.Core 163 * @since 12 164 */ 165 interface OpenHarmonyAppItem { 166 /** 167 * Indicates the uniform data type of this data struct. 168 * 169 * @type { 'openharmony.app-item' } 170 * @readonly 171 * @syscap SystemCapability.DistributedDataManager.UDMF.Core 172 * @since 12 173 */ 174 readonly uniformDataType: 'openharmony.app-item'; 175 /** 176 * Indicates the app id. 177 * 178 * @type { string } 179 * @syscap SystemCapability.DistributedDataManager.UDMF.Core 180 * @since 12 181 */ 182 appId: string; 183 /** 184 * Indicates the app name. 185 * 186 * @type { string } 187 * @syscap SystemCapability.DistributedDataManager.UDMF.Core 188 * @since 12 189 */ 190 appName: string; 191 /** 192 * Indicates the id of app icon. 193 * 194 * @type { string } 195 * @syscap SystemCapability.DistributedDataManager.UDMF.Core 196 * @since 12 197 */ 198 appIconId: string; 199 /** 200 * Indicates the id of app label. 201 * 202 * @type { string } 203 * @syscap SystemCapability.DistributedDataManager.UDMF.Core 204 * @since 12 205 */ 206 appLabelId: string; 207 /** 208 * Indicates the bundle name of app. 209 * 210 * @type { string } 211 * @syscap SystemCapability.DistributedDataManager.UDMF.Core 212 * @since 12 213 */ 214 bundleName: string; 215 /** 216 * Indicates the ability name of app. 217 * 218 * @type { string } 219 * @syscap SystemCapability.DistributedDataManager.UDMF.Core 220 * @since 12 221 */ 222 abilityName: string; 223 /** 224 * Indicates the details of app. 225 * 226 * @type { ?Record<string, number | string | Uint8Array> } 227 * @syscap SystemCapability.DistributedDataManager.UDMF.Core 228 * @since 12 229 */ 230 details?: Record<string, number | string | Uint8Array>; 231 } 232} 233 234export default uniformDataStruct;