1# utd.h
2
3
4## Overview
5
6Defines APIs and structs related to the Uniform Type Descriptors (UTDs).
7
8**File to include**: <database/udmf/utd.h>
9
10**Library**: libudmf.so
11
12**System capability**: SystemCapability.DistributedDataManager.UDMF.Core
13
14**Since**: 12
15
16**Related module**: [UDMF](_u_d_m_f.md)
17
18
19## Summary
20
21
22### Types
23
24| Name | Description |
25| -------- | -------- |
26| typedef struct [OH_Utd](_u_d_m_f.md#oh_utd) [OH_Utd](_u_d_m_f.md#oh_utd) | Defines a struct for a UTD. |
27
28
29### Functions
30
31| Name | Description |
32| -------- | -------- |
33| [OH_Utd](_u_d_m_f.md#oh_utd) \* [OH_Utd_Create](_u_d_m_f.md#oh_utd_create) (const char \*typeId) | Creates an [OH_Utd](_u_d_m_f.md#oh_utd) instance and a pointer to it. |
34| void [OH_Utd_Destroy](_u_d_m_f.md#oh_utd_destroy) ([OH_Utd](_u_d_m_f.md#oh_utd) \*pThis) | Destroys an [OH_Utd](_u_d_m_f.md#oh_utd) instance. |
35| const char \* [OH_Utd_GetTypeId](_u_d_m_f.md#oh_utd_gettypeid) ([OH_Utd](_u_d_m_f.md#oh_utd) \*pThis) | Obtains the type ID from an [OH_Utd](_u_d_m_f.md#oh_utd) instance. |
36| const char \* [OH_Utd_GetDescription](_u_d_m_f.md#oh_utd_getdescription) ([OH_Utd](_u_d_m_f.md#oh_utd) \*pThis) | Obtains the description from an [OH_Utd](_u_d_m_f.md#oh_utd) instance. |
37| const char \* [OH_Utd_GetReferenceUrl](_u_d_m_f.md#oh_utd_getreferenceurl) ([OH_Utd](_u_d_m_f.md#oh_utd) \*pThis) | Obtains the URL from an [OH_Utd](_u_d_m_f.md#oh_utd) instance. |
38| const char \* [OH_Utd_GetIconFile](_u_d_m_f.md#oh_utd_geticonfile) ([OH_Utd](_u_d_m_f.md#oh_utd) \*pThis) | Obtains the path of the default icon file from an [OH_Utd](_u_d_m_f.md#oh_utd) instance. |
39| const char \*\* [OH_Utd_GetBelongingToTypes](_u_d_m_f.md#oh_utd_getbelongingtotypes) ([OH_Utd](_u_d_m_f.md#oh_utd) \*pThis, unsigned int \*count) | Obtains the relationships between the data in an [OH_Utd](_u_d_m_f.md#oh_utd) instance. |
40| const char \*\* [OH_Utd_GetFilenameExtensions](_u_d_m_f.md#oh_utd_getfilenameextensions) ([OH_Utd](_u_d_m_f.md#oh_utd) \*pThis, unsigned int \*count) | Obtains the file name extensions associated with an [OH_Utd](_u_d_m_f.md#oh_utd) instance. |
41| const char \*\* [OH_Utd_GetMimeTypes](_u_d_m_f.md#oh_utd_getmimetypes) ([OH_Utd](_u_d_m_f.md#oh_utd) \*pThis, unsigned int \*count) | Obtains the MIME types associated with an [OH_Utd](_u_d_m_f.md#oh_utd) instance. |
42| const char \*\* [OH_Utd_GetTypesByFilenameExtension](_u_d_m_f.md#oh_utd_gettypesbyfilenameextension) (const char \*extension, unsigned int \*count) | Obtains the uniform data types based on the file name extensions. |
43| const char \*\* [OH_Utd_GetTypesByMimeType](_u_d_m_f.md#oh_utd_gettypesbymimetype) (const char \*mimeType, unsigned int \*count) | Obtains the uniform data types based on the MIME types. |
44| bool [OH_Utd_BelongsTo](_u_d_m_f.md#oh_utd_belongsto) (const char \*srcTypeId, const char \*destTypeId) | Checks whether a UTD belongs to the target UTD. |
45| bool [OH_Utd_IsLower](_u_d_m_f.md#oh_utd_islower) (const char \*srcTypeId, const char \*destTypeId) | Checks whether a UTD is a lower-level type of the target UTD. For example, **TYPE_SCRIPT** is a lower-level type of **SOURCE_CODE**, and **TYPE_SCRIPT** and **SOURCE_CODE** are lower-level types of **PLAIN_TEXT**. |
46| bool [OH_Utd_IsHigher](_u_d_m_f.md#oh_utd_ishigher) (const char \*srcTypeId, const char \*destTypeId) | Checks whether a UTD is a higher-level type of the target UTD. For example, **SOURCE_CODE** is a higher-level type of **TYPE_SCRIPT**, and **PLAIN_TEXT** is a higher-level type of **SOURCE_CODE** and **TYPE_SCRIPT**. |
47| bool [OH_Utd_Equals](_u_d_m_f.md#oh_utd_equals) ([OH_Utd](_u_d_m_f.md#oh_utd) \*utd1, [OH_Utd](_u_d_m_f.md#oh_utd) \*utd2) | Checks whether two UTDs are the same. |
48| void [OH_Utd_DestroyStringList](_u_d_m_f.md#oh_utd_destroystringlist) (const char \*\*list, unsigned int count) | Destroys a UTD list. |
49