161847f8eSopenharmony_ci/*
261847f8eSopenharmony_ci * Copyright (c) 2024 Huawei Device Co., Ltd.
361847f8eSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License");
461847f8eSopenharmony_ci * you may not use this file except in compliance with the License.
561847f8eSopenharmony_ci * You may obtain a copy of the License at
661847f8eSopenharmony_ci *
761847f8eSopenharmony_ci *     http://www.apache.org/licenses/LICENSE-2.0
861847f8eSopenharmony_ci *
961847f8eSopenharmony_ci * Unless required by applicable law or agreed to in writing, software
1061847f8eSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS,
1161847f8eSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1261847f8eSopenharmony_ci * See the License for the specific language governing permissions and
1361847f8eSopenharmony_ci * limitations under the License.
1461847f8eSopenharmony_ci */
1561847f8eSopenharmony_ci
1661847f8eSopenharmony_ci/**
1761847f8eSopenharmony_ci * @file
1861847f8eSopenharmony_ci * @kit ArkData
1961847f8eSopenharmony_ci */
2061847f8eSopenharmony_ci
2161847f8eSopenharmony_ci/**
2261847f8eSopenharmony_ci * Provide uniform data struct definition.
2361847f8eSopenharmony_ci *
2461847f8eSopenharmony_ci * @namespace uniformDataStruct
2561847f8eSopenharmony_ci * @syscap SystemCapability.DistributedDataManager.UDMF.Core
2661847f8eSopenharmony_ci * @since 12
2761847f8eSopenharmony_ci */
2861847f8eSopenharmony_cideclare namespace uniformDataStruct {
2961847f8eSopenharmony_ci  /**
3061847f8eSopenharmony_ci   * Describe the plain text uniform data struct.
3161847f8eSopenharmony_ci   *
3261847f8eSopenharmony_ci   * @interface PlainText
3361847f8eSopenharmony_ci   * @syscap SystemCapability.DistributedDataManager.UDMF.Core
3461847f8eSopenharmony_ci   * @since 12
3561847f8eSopenharmony_ci   */
3661847f8eSopenharmony_ci  interface PlainText {
3761847f8eSopenharmony_ci    /**
3861847f8eSopenharmony_ci     * Indicates the uniform data type of this data struct.
3961847f8eSopenharmony_ci     * 
4061847f8eSopenharmony_ci     * @type { 'general.plain-text' }
4161847f8eSopenharmony_ci     * @readonly
4261847f8eSopenharmony_ci     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
4361847f8eSopenharmony_ci     * @since 12
4461847f8eSopenharmony_ci     */
4561847f8eSopenharmony_ci    readonly uniformDataType: 'general.plain-text';
4661847f8eSopenharmony_ci    /**
4761847f8eSopenharmony_ci     * Indicates the content of the PlainText.
4861847f8eSopenharmony_ci     *
4961847f8eSopenharmony_ci     * @type { string }
5061847f8eSopenharmony_ci     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
5161847f8eSopenharmony_ci     * @since 12
5261847f8eSopenharmony_ci     */
5361847f8eSopenharmony_ci    textContent: string;
5461847f8eSopenharmony_ci
5561847f8eSopenharmony_ci    /**
5661847f8eSopenharmony_ci     * Indicates the abstract of the PlainText.
5761847f8eSopenharmony_ci     * @type { ?string }
5861847f8eSopenharmony_ci     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
5961847f8eSopenharmony_ci     * @since 12
6061847f8eSopenharmony_ci     */
6161847f8eSopenharmony_ci    abstract?: string;
6261847f8eSopenharmony_ci    /**
6361847f8eSopenharmony_ci     * Indicates the details of the PlainText.
6461847f8eSopenharmony_ci     *
6561847f8eSopenharmony_ci     * @type { ?Record<string, string> }
6661847f8eSopenharmony_ci     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
6761847f8eSopenharmony_ci     * @since 12
6861847f8eSopenharmony_ci     */
6961847f8eSopenharmony_ci     details?: Record<string, string>;
7061847f8eSopenharmony_ci  }
7161847f8eSopenharmony_ci
7261847f8eSopenharmony_ci  /**
7361847f8eSopenharmony_ci   * Describe the hyperlink uniform data struct.
7461847f8eSopenharmony_ci   *
7561847f8eSopenharmony_ci   * @interface Hyperlink
7661847f8eSopenharmony_ci   * @syscap SystemCapability.DistributedDataManager.UDMF.Core
7761847f8eSopenharmony_ci   * @since 12
7861847f8eSopenharmony_ci   */
7961847f8eSopenharmony_ci  interface Hyperlink {
8061847f8eSopenharmony_ci    /**
8161847f8eSopenharmony_ci     * Indicates the uniform data type of this data struct.
8261847f8eSopenharmony_ci     * 
8361847f8eSopenharmony_ci     * @type { 'general.hyperlink' }
8461847f8eSopenharmony_ci     * @readonly
8561847f8eSopenharmony_ci     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
8661847f8eSopenharmony_ci     * @since 12
8761847f8eSopenharmony_ci     */
8861847f8eSopenharmony_ci    readonly uniformDataType: 'general.hyperlink';
8961847f8eSopenharmony_ci    /**
9061847f8eSopenharmony_ci     * Indicates the url of of the Hyperlink.
9161847f8eSopenharmony_ci     *
9261847f8eSopenharmony_ci     * @type { string }
9361847f8eSopenharmony_ci     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
9461847f8eSopenharmony_ci     * @since 12
9561847f8eSopenharmony_ci     */
9661847f8eSopenharmony_ci    url: string;
9761847f8eSopenharmony_ci    /**
9861847f8eSopenharmony_ci     * Indicates the description of the Hyperlink.
9961847f8eSopenharmony_ci     * @type { ?string }
10061847f8eSopenharmony_ci     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
10161847f8eSopenharmony_ci     * @since 12
10261847f8eSopenharmony_ci     */
10361847f8eSopenharmony_ci    description?: string;
10461847f8eSopenharmony_ci    /**
10561847f8eSopenharmony_ci     * Indicates the details of the Hyperlink.
10661847f8eSopenharmony_ci     *
10761847f8eSopenharmony_ci     * @type { ?Record<string, string> }
10861847f8eSopenharmony_ci     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
10961847f8eSopenharmony_ci     * @since 12
11061847f8eSopenharmony_ci     */
11161847f8eSopenharmony_ci     details?: Record<string, string>;
11261847f8eSopenharmony_ci  }
11361847f8eSopenharmony_ci
11461847f8eSopenharmony_ci  /**
11561847f8eSopenharmony_ci   * Describe the html uniform data struct.
11661847f8eSopenharmony_ci   *
11761847f8eSopenharmony_ci   * @interface HTML
11861847f8eSopenharmony_ci   * @syscap SystemCapability.DistributedDataManager.UDMF.Core
11961847f8eSopenharmony_ci   * @since 12
12061847f8eSopenharmony_ci   */
12161847f8eSopenharmony_ci  interface HTML {
12261847f8eSopenharmony_ci    /**
12361847f8eSopenharmony_ci     * Indicates the uniform data type of this data struct.
12461847f8eSopenharmony_ci     * 
12561847f8eSopenharmony_ci     * @type { 'general.html' }
12661847f8eSopenharmony_ci     * @readonly
12761847f8eSopenharmony_ci     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
12861847f8eSopenharmony_ci     * @since 12
12961847f8eSopenharmony_ci     */
13061847f8eSopenharmony_ci    readonly uniformDataType: 'general.html';
13161847f8eSopenharmony_ci
13261847f8eSopenharmony_ci    /**
13361847f8eSopenharmony_ci     * Indicates the content of html, with html tags.
13461847f8eSopenharmony_ci     *
13561847f8eSopenharmony_ci     * @type { string }
13661847f8eSopenharmony_ci     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
13761847f8eSopenharmony_ci     * @since 12
13861847f8eSopenharmony_ci     */
13961847f8eSopenharmony_ci    htmlContent: string;
14061847f8eSopenharmony_ci    /**
14161847f8eSopenharmony_ci     * Indicates the plain content of html.
14261847f8eSopenharmony_ci     *
14361847f8eSopenharmony_ci     * @type { ?string }
14461847f8eSopenharmony_ci     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
14561847f8eSopenharmony_ci     * @since 12
14661847f8eSopenharmony_ci     */
14761847f8eSopenharmony_ci    plainContent?: string;
14861847f8eSopenharmony_ci    /**
14961847f8eSopenharmony_ci     * Indicates the details of html.
15061847f8eSopenharmony_ci     *
15161847f8eSopenharmony_ci     * @type { ?Record<string, string> }
15261847f8eSopenharmony_ci     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
15361847f8eSopenharmony_ci     * @since 12
15461847f8eSopenharmony_ci     */
15561847f8eSopenharmony_ci     details?: Record<string, string>;
15661847f8eSopenharmony_ci  }
15761847f8eSopenharmony_ci
15861847f8eSopenharmony_ci  /**
15961847f8eSopenharmony_ci   * Describe system defined app item uniform data struct(this kind of struct is provided and bound to OpenHarmony).
16061847f8eSopenharmony_ci   *
16161847f8eSopenharmony_ci   * @interface OpenHarmonyAppItem
16261847f8eSopenharmony_ci   * @syscap SystemCapability.DistributedDataManager.UDMF.Core
16361847f8eSopenharmony_ci   * @since 12
16461847f8eSopenharmony_ci   */
16561847f8eSopenharmony_ci  interface OpenHarmonyAppItem {
16661847f8eSopenharmony_ci    /**
16761847f8eSopenharmony_ci     * Indicates the uniform data type of this data struct.
16861847f8eSopenharmony_ci     * 
16961847f8eSopenharmony_ci     * @type { 'openharmony.app-item' }
17061847f8eSopenharmony_ci     * @readonly
17161847f8eSopenharmony_ci     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
17261847f8eSopenharmony_ci     * @since 12
17361847f8eSopenharmony_ci     */
17461847f8eSopenharmony_ci    readonly uniformDataType: 'openharmony.app-item';
17561847f8eSopenharmony_ci    /**
17661847f8eSopenharmony_ci     * Indicates the app id.
17761847f8eSopenharmony_ci     *
17861847f8eSopenharmony_ci     * @type { string }
17961847f8eSopenharmony_ci     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
18061847f8eSopenharmony_ci     * @since 12
18161847f8eSopenharmony_ci     */
18261847f8eSopenharmony_ci    appId: string;
18361847f8eSopenharmony_ci    /**
18461847f8eSopenharmony_ci     * Indicates the app name.
18561847f8eSopenharmony_ci     *
18661847f8eSopenharmony_ci     * @type { string }
18761847f8eSopenharmony_ci     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
18861847f8eSopenharmony_ci     * @since 12
18961847f8eSopenharmony_ci     */
19061847f8eSopenharmony_ci    appName: string;
19161847f8eSopenharmony_ci    /**
19261847f8eSopenharmony_ci     * Indicates the id of app icon.
19361847f8eSopenharmony_ci     *
19461847f8eSopenharmony_ci     * @type { string }
19561847f8eSopenharmony_ci     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
19661847f8eSopenharmony_ci     * @since 12
19761847f8eSopenharmony_ci     */
19861847f8eSopenharmony_ci    appIconId: string;
19961847f8eSopenharmony_ci    /**
20061847f8eSopenharmony_ci     * Indicates the id of app label.
20161847f8eSopenharmony_ci     *
20261847f8eSopenharmony_ci     * @type { string }
20361847f8eSopenharmony_ci     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
20461847f8eSopenharmony_ci     * @since 12
20561847f8eSopenharmony_ci     */
20661847f8eSopenharmony_ci    appLabelId: string;
20761847f8eSopenharmony_ci    /**
20861847f8eSopenharmony_ci     * Indicates the bundle name of app.
20961847f8eSopenharmony_ci     *
21061847f8eSopenharmony_ci     * @type { string }
21161847f8eSopenharmony_ci     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
21261847f8eSopenharmony_ci     * @since 12
21361847f8eSopenharmony_ci     */
21461847f8eSopenharmony_ci    bundleName: string;
21561847f8eSopenharmony_ci    /**
21661847f8eSopenharmony_ci     * Indicates the ability name of app.
21761847f8eSopenharmony_ci     *
21861847f8eSopenharmony_ci     * @type { string }
21961847f8eSopenharmony_ci     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
22061847f8eSopenharmony_ci     * @since 12
22161847f8eSopenharmony_ci     */
22261847f8eSopenharmony_ci    abilityName: string;
22361847f8eSopenharmony_ci    /**
22461847f8eSopenharmony_ci     * Indicates the details of app.
22561847f8eSopenharmony_ci     *
22661847f8eSopenharmony_ci     * @type { ?Record<string, number | string | Uint8Array> }
22761847f8eSopenharmony_ci     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
22861847f8eSopenharmony_ci     * @since 12
22961847f8eSopenharmony_ci     */
23061847f8eSopenharmony_ci    details?: Record<string, number | string | Uint8Array>;
23161847f8eSopenharmony_ci  }
23261847f8eSopenharmony_ci
23361847f8eSopenharmony_ci  /**
23461847f8eSopenharmony_ci   * Describe content form uniform data struct.
23561847f8eSopenharmony_ci   *
23661847f8eSopenharmony_ci   * @interface ContentForm
23761847f8eSopenharmony_ci   * @syscap SystemCapability.DistributedDataManager.UDMF.Core
23861847f8eSopenharmony_ci   * @since 14
23961847f8eSopenharmony_ci   */
24061847f8eSopenharmony_ci  interface ContentForm {
24161847f8eSopenharmony_ci    /**
24261847f8eSopenharmony_ci     * Indicates the uniform data type of this data struct.
24361847f8eSopenharmony_ci     *
24461847f8eSopenharmony_ci     * @type { 'general.content-form' }
24561847f8eSopenharmony_ci     * @readonly
24661847f8eSopenharmony_ci     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
24761847f8eSopenharmony_ci     * @since 14
24861847f8eSopenharmony_ci     */
24961847f8eSopenharmony_ci    readonly uniformDataType: 'general.content-form';
25061847f8eSopenharmony_ci
25161847f8eSopenharmony_ci    /**
25261847f8eSopenharmony_ci     * Indicates the thumb data of content form.
25361847f8eSopenharmony_ci     *
25461847f8eSopenharmony_ci     * @type { Uint8Array }
25561847f8eSopenharmony_ci     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
25661847f8eSopenharmony_ci     * @since 14
25761847f8eSopenharmony_ci     */
25861847f8eSopenharmony_ci    thumbData?: Uint8Array;
25961847f8eSopenharmony_ci
26061847f8eSopenharmony_ci    /**
26161847f8eSopenharmony_ci     * Indicates the description of content form.
26261847f8eSopenharmony_ci     *
26361847f8eSopenharmony_ci     * @type { string }
26461847f8eSopenharmony_ci     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
26561847f8eSopenharmony_ci     * @since 14
26661847f8eSopenharmony_ci     */
26761847f8eSopenharmony_ci    description?: string;
26861847f8eSopenharmony_ci
26961847f8eSopenharmony_ci    /**
27061847f8eSopenharmony_ci     * Indicates the title of content form.
27161847f8eSopenharmony_ci     *
27261847f8eSopenharmony_ci     * @type { string }
27361847f8eSopenharmony_ci     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
27461847f8eSopenharmony_ci     * @since 14
27561847f8eSopenharmony_ci     */
27661847f8eSopenharmony_ci    title: string;
27761847f8eSopenharmony_ci
27861847f8eSopenharmony_ci    /**
27961847f8eSopenharmony_ci     * Indicates the app icon of content form.
28061847f8eSopenharmony_ci     *
28161847f8eSopenharmony_ci     * @type { Uint8Array }
28261847f8eSopenharmony_ci     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
28361847f8eSopenharmony_ci     * @since 14
28461847f8eSopenharmony_ci     */
28561847f8eSopenharmony_ci    appIcon?: Uint8Array;
28661847f8eSopenharmony_ci
28761847f8eSopenharmony_ci    /**
28861847f8eSopenharmony_ci     * Indicates the app name of content form.
28961847f8eSopenharmony_ci     *
29061847f8eSopenharmony_ci     * @type { appName }
29161847f8eSopenharmony_ci     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
29261847f8eSopenharmony_ci     * @since 14
29361847f8eSopenharmony_ci     */
29461847f8eSopenharmony_ci    appName?: string;
29561847f8eSopenharmony_ci
29661847f8eSopenharmony_ci    /**
29761847f8eSopenharmony_ci     * Indicates the link url of content form.
29861847f8eSopenharmony_ci     *
29961847f8eSopenharmony_ci     * @type { linkUri }
30061847f8eSopenharmony_ci     * @syscap SystemCapability.DistributedDataManager.UDMF.Core
30161847f8eSopenharmony_ci     * @since 14
30261847f8eSopenharmony_ci     */
30361847f8eSopenharmony_ci    linkUri?: string;
30461847f8eSopenharmony_ci  }
30561847f8eSopenharmony_ci}
30661847f8eSopenharmony_ci
30761847f8eSopenharmony_ciexport default uniformDataStruct;