114cf0368Sopenharmony_ci/* 214cf0368Sopenharmony_ci * Copyright (c) 2023 Huawei Device Co., Ltd. 314cf0368Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 414cf0368Sopenharmony_ci * you may not use this file except in compliance with the License. 514cf0368Sopenharmony_ci * You may obtain a copy of the License at 614cf0368Sopenharmony_ci * 714cf0368Sopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 814cf0368Sopenharmony_ci * 914cf0368Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software 1014cf0368Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 1114cf0368Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1214cf0368Sopenharmony_ci * See the License for the specific language governing permissions and 1314cf0368Sopenharmony_ci * limitations under the License. 1414cf0368Sopenharmony_ci */ 1514cf0368Sopenharmony_ci 1614cf0368Sopenharmony_ci#define LOG_TAG "UnifiedMeta" 1714cf0368Sopenharmony_ci#include "unified_meta.h" 1814cf0368Sopenharmony_ci 1914cf0368Sopenharmony_ci#include "logger.h" 2014cf0368Sopenharmony_ci#include "unified_key.h" 2114cf0368Sopenharmony_ci 2214cf0368Sopenharmony_cinamespace OHOS { 2314cf0368Sopenharmony_cinamespace UDMF { 2414cf0368Sopenharmony_cistatic constexpr UtdType UTD_TYPES[] = { 2514cf0368Sopenharmony_ci { ENTITY, "ENTITY", "general.entity" }, 2614cf0368Sopenharmony_ci { OBJECT, "OBJECT", "general.object" }, 2714cf0368Sopenharmony_ci { COMPOSITE_OBJECT, "COMPOSITE_OBJECT", "general.composite-object" }, 2814cf0368Sopenharmony_ci { TEXT, "TEXT", "general.text" }, 2914cf0368Sopenharmony_ci { PLAIN_TEXT, "PLAIN_TEXT", "general.plain-text" }, 3014cf0368Sopenharmony_ci { HTML, "HTML", "general.html" }, 3114cf0368Sopenharmony_ci { HYPERLINK, "HYPERLINK", "general.hyperlink" }, 3214cf0368Sopenharmony_ci { XML, "XML", "general.xml" }, 3314cf0368Sopenharmony_ci { SOURCE_CODE, "SOURCE_CODE", "general.source-code" }, 3414cf0368Sopenharmony_ci { SCRIPT, "SCRIPT", "general.script" }, 3514cf0368Sopenharmony_ci { SHELL_SCRIPT, "SHELL_SCRIPT", "general.shell-script" }, 3614cf0368Sopenharmony_ci { CSH_SCRIPT, "CSH_SCRIPT", "general.csh-script" }, 3714cf0368Sopenharmony_ci { PERL_SCRIPT, "PERL_SCRIPT", "general.perl-script" }, 3814cf0368Sopenharmony_ci { PHP_SCRIPT, "PHP_SCRIPT", "general.php-script" }, 3914cf0368Sopenharmony_ci { PYTHON_SCRIPT, "PYTHON_SCRIPT", "general.python-script" }, 4014cf0368Sopenharmony_ci { RUBY_SCRIPT, "RUBY_SCRIPT", "general.ruby-script" }, 4114cf0368Sopenharmony_ci { TYPE_SCRIPT, "TYPE_SCRIPT", "general.type-script" }, 4214cf0368Sopenharmony_ci { JAVA_SCRIPT, "JAVA_SCRIPT", "general.java-script" }, 4314cf0368Sopenharmony_ci { C_HEADER, "C_HEADER", "general.c-header" }, 4414cf0368Sopenharmony_ci { C_SOURCE, "C_SOURCE", "general.c-source" }, 4514cf0368Sopenharmony_ci { C_PLUS_PLUS_HEADER, "C_PLUS_PLUS_HEADER", "general.c-plus-plus-header" }, 4614cf0368Sopenharmony_ci { C_PLUS_PLUS_SOURCE, "C_PLUS_PLUS_SOURCE", "general.c-plus-plus-source" }, 4714cf0368Sopenharmony_ci { JAVA_SOURCE, "JAVA_SOURCE", "general.java-source" }, 4814cf0368Sopenharmony_ci { EBOOK, "EBOOK", "general.ebook" }, 4914cf0368Sopenharmony_ci { EPUB, "EPUB", "general.epub" }, 5014cf0368Sopenharmony_ci { AZW, "AZW", "com.amazon.azw" }, 5114cf0368Sopenharmony_ci { AZW3, "AZW3", "com.amazon.azw3" }, 5214cf0368Sopenharmony_ci { KFX, "KFX", "com.amazon.kfx" }, 5314cf0368Sopenharmony_ci { MOBI, "MOBI", "com.amazon.mobi" }, 5414cf0368Sopenharmony_ci { MEDIA, "MEDIA", "general.media" }, 5514cf0368Sopenharmony_ci { IMAGE, "IMAGE", "general.image" }, 5614cf0368Sopenharmony_ci { JPEG, "JPEG", "general.jpeg" }, 5714cf0368Sopenharmony_ci { PNG, "PNG", "general.png" }, 5814cf0368Sopenharmony_ci { RAW_IMAGE, "RAW_IMAGE", "general.raw-image" }, 5914cf0368Sopenharmony_ci { TIFF, "TIFF", "general.tiff" }, 6014cf0368Sopenharmony_ci { BMP, "BMP", "com.microsoft.bmp" }, 6114cf0368Sopenharmony_ci { ICO, "ICO", "com.microsoft.ico" }, 6214cf0368Sopenharmony_ci { PHOTOSHOP_IMAGE, "PHOTOSHOP_IMAGE", "com.adobe.photoshop-image" }, 6314cf0368Sopenharmony_ci { AI_IMAGE, "AI_IMAGE", "com.adobe.illustrator.ai-image" }, 6414cf0368Sopenharmony_ci { WORD_DOC, "WORD_DOC", "com.microsoft.word.doc" }, 6514cf0368Sopenharmony_ci { EXCEL, "EXCEL", "com.microsoft.excel.xls" }, 6614cf0368Sopenharmony_ci { PPT, "PPT", "com.microsoft.powerpoint.ppt" }, 6714cf0368Sopenharmony_ci { PDF, "PDF", "com.adobe.pdf" }, 6814cf0368Sopenharmony_ci { POSTSCRIPT, "POSTSCRIPT", "com.adobe.postscript" }, 6914cf0368Sopenharmony_ci { ENCAPSULATED_POSTSCRIPT, "ENCAPSULATED_POSTSCRIPT", "com.adobe.encapsulated-postscript" }, 7014cf0368Sopenharmony_ci { VIDEO, "VIDEO", "general.video" }, 7114cf0368Sopenharmony_ci { AVI, "AVI", "general.avi" }, 7214cf0368Sopenharmony_ci { MPEG, "MPEG", "general.mpeg" }, 7314cf0368Sopenharmony_ci { MPEG4, "MPEG4", "general.mpeg-4" }, 7414cf0368Sopenharmony_ci { VIDEO_3GPP, "VIDEO_3GPP", "general.3gpp" }, 7514cf0368Sopenharmony_ci { VIDEO_3GPP2, "VIDEO_3GPP2", "general.3gpp2" }, 7614cf0368Sopenharmony_ci { WINDOWS_MEDIA_WM, "WINDOWS_MEDIA_WM", "com.microsoft.windows-media-wm" }, 7714cf0368Sopenharmony_ci { WINDOWS_MEDIA_WMV, "WINDOWS_MEDIA_WMV", "com.microsoft.windows-media-wmv" }, 7814cf0368Sopenharmony_ci { WINDOWS_MEDIA_WMP, "WINDOWS_MEDIA_WMP", "com.microsoft.windows-media-wmp" }, 7914cf0368Sopenharmony_ci { AUDIO, "AUDIO", "general.audio" }, 8014cf0368Sopenharmony_ci { AAC, "AAC", "general.aac" }, 8114cf0368Sopenharmony_ci { AIFF, "AIFF", "general.aiff" }, 8214cf0368Sopenharmony_ci { ALAC, "ALAC", "general.alac" }, 8314cf0368Sopenharmony_ci { FLAC, "FLAC", "general.flac" }, 8414cf0368Sopenharmony_ci { MP3, "MP3", "general.mp3" }, 8514cf0368Sopenharmony_ci { OGG, "OGG", "general.ogg" }, 8614cf0368Sopenharmony_ci { PCM, "PCM", "general.pcm" }, 8714cf0368Sopenharmony_ci { WINDOWS_MEDIA_WMA, "WINDOWS_MEDIA_WMA", "com.microsoft.windows-media-wma" }, 8814cf0368Sopenharmony_ci { WAVEFORM_AUDIO, "WAVEFORM_AUDIO", "com.microsoft.waveform-audio" }, 8914cf0368Sopenharmony_ci { WINDOWS_MEDIA_WMX, "WINDOWS_MEDIA_WMX", "com.microsoft.windows-media-wmx" }, 9014cf0368Sopenharmony_ci { WINDOWS_MEDIA_WVX, "WINDOWS_MEDIA_WVX", "com.microsoft.windows-media-wvx" }, 9114cf0368Sopenharmony_ci { WINDOWS_MEDIA_WAX, "WINDOWS_MEDIA_WAX", "com.microsoft.windows-media-wax" }, 9214cf0368Sopenharmony_ci { FILE, "FILE", "general.file" }, 9314cf0368Sopenharmony_ci { DIRECTORY, "DIRECTORY", "general.directory" }, 9414cf0368Sopenharmony_ci { FOLDER, "FOLDER", "general.folder" }, 9514cf0368Sopenharmony_ci { SYMLINK, "SYMLINK", "general.symlink" }, 9614cf0368Sopenharmony_ci { ARCHIVE, "ARCHIVE", "general.archive" }, 9714cf0368Sopenharmony_ci { BZ2_ARCHIVE, "BZ2_ARCHIVE", "general.bz2-archive" }, 9814cf0368Sopenharmony_ci { DISK_IMAGE, "DISK_IMAGE", "general.disk-image" }, 9914cf0368Sopenharmony_ci { TAR_ARCHIVE, "TAR_ARCHIVE", "general.tar-archive" }, 10014cf0368Sopenharmony_ci { ZIP_ARCHIVE, "ZIP_ARCHIVE", "general.zip-archive" }, 10114cf0368Sopenharmony_ci { JAVA_ARCHIVE, "JAVA_ARCHIVE", "com.sun.java-archive" }, 10214cf0368Sopenharmony_ci { GNU_TAR_ARCHIVE, "GNU_TAR_ARCHIVE", "org.gnu.gnu-tar-archive" }, 10314cf0368Sopenharmony_ci { GNU_ZIP_ARCHIVE, "GNU_ZIP_ARCHIVE", "org.gnu.gnu-zip-archive" }, 10414cf0368Sopenharmony_ci { GNU_ZIP_TAR_ARCHIVE, "GNU_ZIP_TAR_ARCHIVE", "org.gnu.gnu-zip-tar-archive" }, 10514cf0368Sopenharmony_ci { CALENDAR, "CALENDAR", "general.calendar" }, 10614cf0368Sopenharmony_ci { CONTACT, "CONTACT", "general.contact" }, 10714cf0368Sopenharmony_ci { DATABASE, "DATABASE", "general.database" }, 10814cf0368Sopenharmony_ci { MESSAGE, "MESSAGE", "general.message" }, 10914cf0368Sopenharmony_ci { VCARD, "VCARD", "general.vcard" }, 11014cf0368Sopenharmony_ci { NAVIGATION, "NAVIGATION", "general.navigation" }, 11114cf0368Sopenharmony_ci { LOCATION, "LOCATION", "general.location" }, 11214cf0368Sopenharmony_ci { SYSTEM_DEFINED_RECORD, "SYSTEM_DEFINED_RECORD", "SystemDefinedType" }, 11314cf0368Sopenharmony_ci { SYSTEM_DEFINED_FORM, "OPENHARMONY_FORM", "openharmony.form" }, 11414cf0368Sopenharmony_ci { SYSTEM_DEFINED_APP_ITEM, "OPENHARMONY_APP_ITEM", "openharmony.app-item" }, 11514cf0368Sopenharmony_ci { SYSTEM_DEFINED_PIXEL_MAP, "OPENHARMONY_PIXEL_MAP", "openharmony.pixel-map" }, 11614cf0368Sopenharmony_ci { OPENHARMONY_ATOMIC_SERVICE, "OPENHARMONY_ATOMIC_SERVICE", "openharmony.atomic-service" }, 11714cf0368Sopenharmony_ci { APPLICATION_DEFINED_RECORD, "APPLICATION_DEFINED_RECORD", "ApplicationDefinedType" }, 11814cf0368Sopenharmony_ci { OPENHARMONY_PACKAGE, "OPENHARMONY_PACKAGE", "openharmony.package" }, 11914cf0368Sopenharmony_ci { OPENHARMONY_HAP, "OPENHARMONY_HAP", "openharmony.hap" }, 12014cf0368Sopenharmony_ci { SMIL, "SMIL", "com.real.smil" }, 12114cf0368Sopenharmony_ci { MARKDOWN, "MARKDOWN", "general.markdown" }, 12214cf0368Sopenharmony_ci { FAX, "FAX", "general.fax" }, 12314cf0368Sopenharmony_ci { JFX_FAX, "JFX_FAX", "com.j2.jfx-fax" }, 12414cf0368Sopenharmony_ci { EFX_FAX, "EFX_FAX", "com.js.efx-fax" }, 12514cf0368Sopenharmony_ci { XBITMAP_IMAGE, "XBITMAP_IMAGE", "general.xbitmap-image" }, 12614cf0368Sopenharmony_ci { TGA_IMAGE, "TGA_IMAGE", "com.truevision.tga-image" }, 12714cf0368Sopenharmony_ci { SGI_IMAGE, "SGI_IMAGE", "com.sgi.sgi-image" }, 12814cf0368Sopenharmony_ci { OPENEXR_IMAGE, "OPENEXR_IMAGE", "com.ilm.openexr-image" }, 12914cf0368Sopenharmony_ci { FLASHPIX_IMAGE, "FLASHPIX_IMAGE", "com.kodak.flashpix.image" }, 13014cf0368Sopenharmony_ci { REALMEDIA, "REALMEDIA", "com.real.realmedia" }, 13114cf0368Sopenharmony_ci { AU_AUDIO, "AU_AUDIO", "general.au-audio" }, 13214cf0368Sopenharmony_ci { AIFC_AUDIO, "AIFC_AUDIO", "general.aifc-audio" }, 13314cf0368Sopenharmony_ci { SD2_AUDIO, "SD2_AUDIO", "com.digidesign.sd2-audio" }, 13414cf0368Sopenharmony_ci { REALAUDIO, "REALAUDIO", "com.real.realaudio" }, 13514cf0368Sopenharmony_ci { OPENXML, "OPENXML", "org.openxmlformats.openxml" }, 13614cf0368Sopenharmony_ci { WORDPROCESSINGML_DOCUMENT, "WORDPROCESSINGML_DOCUMENT", 13714cf0368Sopenharmony_ci "org.openxmlformats.wordprocessingml.document" }, 13814cf0368Sopenharmony_ci { SPREADSHEETML_SHEET, "SPREADSHEETML_SHEET", "org.openxmlformats.spreadsheetml.sheet" }, 13914cf0368Sopenharmony_ci { PRESENTATIONML_PRESENTATION, "PRESENTATIONML_PRESENTATION", 14014cf0368Sopenharmony_ci "org.openxmlformats.presentationml.presentation" }, 14114cf0368Sopenharmony_ci { OPENDOCUMENT, "OPENDOCUMENT", "org.oasis.opendocument" }, 14214cf0368Sopenharmony_ci { OPENDOCUMENT_TEXT, "OPENDOCUMENT_TEXT", "org.oasis.opendocument.text" }, 14314cf0368Sopenharmony_ci { OPENDOCUMENT_SPREADSHEET, "OPENDOCUMENT_SPREADSHEET", "org.oasis.opendocument.spreadsheet" }, 14414cf0368Sopenharmony_ci { OPENDOCUMENT_PRESENTATION, "OPENDOCUMENT_PRESENTATION", "org.oasis.opendocument.presentation" }, 14514cf0368Sopenharmony_ci { OPENDOCUMENT_GRAPHICS, "OPENDOCUMENT_GRAPHICS", "org.oasis.opendocument.graphics" }, 14614cf0368Sopenharmony_ci { OPENDOCUMENT_FORMULA, "OPENDOCUMENT_FORMULA", "org.oasis.opendocument.formula" }, 14714cf0368Sopenharmony_ci { STUFFIT_ARCHIVE, "STUFFIT_ARCHIVE", "com.allume.stuffit-archive" }, 14814cf0368Sopenharmony_ci { VCS, "VCS", "general.vcs" }, 14914cf0368Sopenharmony_ci { ICS, "ICS", "general.ics" }, 15014cf0368Sopenharmony_ci { EXECUTABLE, "EXECUTABLE", "general.executable" }, 15114cf0368Sopenharmony_ci { PORTABLE_EXECUTABLE, "PORTABLE_EXECUTABLE", "com.microsoft.portable-executable" }, 15214cf0368Sopenharmony_ci { SUN_JAVA_CLASS, "SUN_JAVA_CLASS", "com.sun.java-class" }, 15314cf0368Sopenharmony_ci { FONT, "FONT", "general.font" }, 15414cf0368Sopenharmony_ci { TRUETYPE_FONT, "TRUETYPE_FONT", "general.truetype-font" }, 15514cf0368Sopenharmony_ci { TRUETYPE_COLLECTION_FONT, "TRUETYPE_COLLECTION_FONT", "general.truetype-collection-font" }, 15614cf0368Sopenharmony_ci { OPENTYPE_FONT, "OPENTYPE_FONT", "general.opentype-font" }, 15714cf0368Sopenharmony_ci { POSTSCRIPT_FONT, "POSTSCRIPT_FONT", "com.adobe.postscript-font" }, 15814cf0368Sopenharmony_ci { POSTSCRIPT_PFB_FONT, "POSTSCRIPT_PFB_FONT", "com.adobe.postscript-pfb-font" }, 15914cf0368Sopenharmony_ci { POSTSCRIPT_PFA_FONT, "POSTSCRIPT_PFA_FONT", "com.adobe.postscript-pfa-font" }, 16014cf0368Sopenharmony_ci { OPENHARMONY_HDOC, "OPENHARMONY_HDOC", "openharmony.hdoc" }, 16114cf0368Sopenharmony_ci { OPENHARMONY_HINOTE, "OPENHARMONY_HINOTE", "openharmony.hinote" }, 16214cf0368Sopenharmony_ci { OPENHARMONY_STYLED_STRING, "OPENHARMONY_STYLED_STRING", "openharmony.styled-string" }, 16314cf0368Sopenharmony_ci { OPENHARMONY_WANT, "OPENHARMONY_WANT", "openharmony.want" }, 16414cf0368Sopenharmony_ci { OFD, "OFD", "general.ofd" }, 16514cf0368Sopenharmony_ci { OPG, "OPG", "general.opg" }, 16614cf0368Sopenharmony_ci { TEX, "TEX", "general.tex" }, 16714cf0368Sopenharmony_ci { CSS, "CSS", "general.css" }, 16814cf0368Sopenharmony_ci { VOB, "VOB", "general.vob" }, 16914cf0368Sopenharmony_ci { DIF_VIDEO, "DIF_VIDEO", "general.dif-video" }, 17014cf0368Sopenharmony_ci { DV_VIDEO, "DV_VIDEO", "general.dv-video" }, 17114cf0368Sopenharmony_ci { FLC_ANIMATION, "FLC_ANIMATION", "general.flc-animation" }, 17214cf0368Sopenharmony_ci { MNG, "MNG", "general.mng" }, 17314cf0368Sopenharmony_ci { MPEGURL_VIDEO, "MPEGURL_VIDEO", "general.mpegurl-video" }, 17414cf0368Sopenharmony_ci { TS, "TS", "general.ts" }, 17514cf0368Sopenharmony_ci { AMR, "AMR", "general.amr" }, 17614cf0368Sopenharmony_ci { AMR_WB, "AMR_WB", "general.amr-wb" }, 17714cf0368Sopenharmony_ci { GMS, "GSM", "general.gsm" }, 17814cf0368Sopenharmony_ci { IMY, "IMY", "general.imy" }, 17914cf0368Sopenharmony_ci { KAR, "KAR", "general.kar" }, 18014cf0368Sopenharmony_ci { MPEGURL_AUDIO, "MPEGURL_AUDIO", "general.mpegurl-audio" }, 18114cf0368Sopenharmony_ci { MPEG_4_AUDIO, "MPEG_4_AUDIO", "general.mpeg-4-audio" }, 18214cf0368Sopenharmony_ci { MIDI_AUDIO, "MIDI_AUDIO", "general.midi-audio" }, 18314cf0368Sopenharmony_ci { MP2, "MP2", "general.mp2" }, 18414cf0368Sopenharmony_ci { MPEG_AUDIO, "MPEG_AUDIO", "general.mpeg-audio" }, 18514cf0368Sopenharmony_ci { MXMF, "MXMF", "general.mxmf" }, 18614cf0368Sopenharmony_ci { OTA, "OTA", "general.ota" }, 18714cf0368Sopenharmony_ci { PLS, "PLS", "general.pls" }, 18814cf0368Sopenharmony_ci { RTTTL, "RTTTL", "general.rtttl" }, 18914cf0368Sopenharmony_ci { PSID, "PSID", "general.psid" }, 19014cf0368Sopenharmony_ci { ULAW_AUDIO, "ULAW_AUDIO", "general.ulaw-audio" }, 19114cf0368Sopenharmony_ci { XMF, "XMF", "general.xmf" }, 19214cf0368Sopenharmony_ci { GIF, "GIF", "general.gif" }, 19314cf0368Sopenharmony_ci { DJVU_IMAGE, "DJVU_IMAGE", "general.djvu-image" }, 19414cf0368Sopenharmony_ci { JNG_IMAGE, "JNG_IMAGE", "general.jng-image" }, 19514cf0368Sopenharmony_ci { PCX_IMAGE, "PCX_IMAGE", "general.pcx-image" }, 19614cf0368Sopenharmony_ci { PBM_IMAGE, "PBM_IMAGE", "general.pbm-image" }, 19714cf0368Sopenharmony_ci { PGM_IMAGE, "PGM_IMAGE", "general.pgm-image" }, 19814cf0368Sopenharmony_ci { PNM_IMAGE, "PNM_IMAGE", "general.pnm-image" }, 19914cf0368Sopenharmony_ci { PPM_IMAGE, "PPM_IMAGE", "general.ppm-image" }, 20014cf0368Sopenharmony_ci { RGB_IMAGE, "RGB_IMAGE", "general.rgb-image" }, 20114cf0368Sopenharmony_ci { SVG_IMAGE, "SVG_IMAGE", "general.svg-image" }, 20214cf0368Sopenharmony_ci { WBMP_IMAGE, "WBMP_IMAGE", "general.wbmp-image" }, 20314cf0368Sopenharmony_ci { XPIXMP_IMAGE, "XPIXMAP_IMAGE", "general.xpixmap-image" }, 20414cf0368Sopenharmony_ci { XWINDOWDUMP_IMAGE, "XWINDOWDUMP_IMAGE", "general.xwindowdump-image" }, 20514cf0368Sopenharmony_ci { HEIF, "HEIF", "general.heif" }, 20614cf0368Sopenharmony_ci { HEIC, "HEIC", "general.heic" }, 20714cf0368Sopenharmony_ci { VIRTUAL_CD, "VIRTUAL_CD", "general.virtual-cd" }, 20814cf0368Sopenharmony_ci { BOO_SOURCE, "BOO_SOURCE", "general.boo-source" }, 20914cf0368Sopenharmony_ci { D_SOURCE, "D_SOURCE", "general.d-source" }, 21014cf0368Sopenharmony_ci { HTML_COMPONENT, "HTML_COMPONENT", "general.html-component" }, 21114cf0368Sopenharmony_ci { PASCAL_SOURCE, "PASCAL_SOURCE", "general.pascal-source" }, 21214cf0368Sopenharmony_ci { HASKELL_SCRIPT, "HASKELL_SCRIPT", "general.haskell-script" }, 21314cf0368Sopenharmony_ci { LITERATE_HASKELL_SCRIPT, "LITERATE_HASKELL_SCRIPT", "general.literate-haskell-script" }, 21414cf0368Sopenharmony_ci { TCL_SCRIPT, "TCL_SCRIPT", "general.tcl-script" }, 21514cf0368Sopenharmony_ci { ASC_TEXT, "ASC_TEXT", "general.asc-text" }, 21614cf0368Sopenharmony_ci { PORTABLE_OBJECT, "PORTABLE_OBJECT", "general.portable-object" }, 21714cf0368Sopenharmony_ci { RICH_TEXT, "RICH_TEXT", "general.rich-text" }, 21814cf0368Sopenharmony_ci { DELIMITED_VALUES_TEXT, "DELIMITED_VALUES_TEXT", "general.delimited-values-text" }, 21914cf0368Sopenharmony_ci { COMMA_SEPARATED_VALUES_TEXT, "COMMA_SEPARATED_VALUES_TEXT", "general.comma-separated-values-text" }, 22014cf0368Sopenharmony_ci { DIFF, "DIFF", "general.diff" }, 22114cf0368Sopenharmony_ci { SETEXT, "SETEXT", "general.setext" }, 22214cf0368Sopenharmony_ci { GCD, "GCD", "general.gcd" }, 22314cf0368Sopenharmony_ci { TAB_SEPARATED_VALUES_TEXT, "TAB_SEPARATED_VALUES_TEXT", "general.tab-separated-values-text" }, 22414cf0368Sopenharmony_ci { P7R, "P7R", "general.p7r" }, 22514cf0368Sopenharmony_ci { PEM, "PEM", "general.pem" }, 22614cf0368Sopenharmony_ci { CHESS_PGN, "CHESS_PGN", "general.chess-pgn" }, 22714cf0368Sopenharmony_ci { LHA_ARCHIVE, "LHA_ARCHIVE", "general.lha-archive" }, 22814cf0368Sopenharmony_ci { LZH_ARCHIVE, "LZH_ARCHIVE", "general.lzh-archive" }, 22914cf0368Sopenharmony_ci { LZX_ARCHIVE, "LZX_ARCHIVE", "general.lzx-archive" }, 23014cf0368Sopenharmony_ci { TAZ_ARCHIVE, "TAZ_ARCHIVE", "general.taz-archive" }, 23114cf0368Sopenharmony_ci { SHAR_ARCHIVE, "SHAR_ARCHIVE", "general.shar-archive" }, 23214cf0368Sopenharmony_ci { CPIO_ARCHIVE, "CPIO_ARCHIVE", "general.cpio-archive" }, 23314cf0368Sopenharmony_ci { WEB_ARCHIVE, "WEB_ARCHIVE", "general.web-archive" }, 23414cf0368Sopenharmony_ci { USTAR, "USTAR", "general.ustar" }, 23514cf0368Sopenharmony_ci { MATHML, "MATHML", "general.mathml" }, 23614cf0368Sopenharmony_ci { XHTML, "XHTML", "general.xhtml" }, 23714cf0368Sopenharmony_ci { RSS, "RSS", "general.rss" }, 23814cf0368Sopenharmony_ci { RDF, "RDF", "general.rdf" }, 23914cf0368Sopenharmony_ci { IGES, "IGES", "general.iges" }, 24014cf0368Sopenharmony_ci { CAD, "CAD", "general.cad" }, 24114cf0368Sopenharmony_ci { OCTET_STREAM, "OCTET_STREAM", "general.octet-stream" }, 24214cf0368Sopenharmony_ci { ISO, "ISO", "general.iso" }, 24314cf0368Sopenharmony_ci { MESH_MODEL, "MESH_MODEL", "general.mesh-model" }, 24414cf0368Sopenharmony_ci { CERTIFICATE, "CERTIFICATE", "general.certificate" }, 24514cf0368Sopenharmony_ci { C_OBJECT, "C_OBJECT", "general.c-object" }, 24614cf0368Sopenharmony_ci { DVI, "DVI", "general.dvi" }, 24714cf0368Sopenharmony_ci { CER_CERTIFICATE, "CER_CERTIFICATE", "general.cer-certificate" }, 24814cf0368Sopenharmony_ci { CRT_CERTIFICATE, "CRT_CERTIFICATE", "general.crt-certificate" }, 24914cf0368Sopenharmony_ci { CRL_CERTIFICATE, "CRL_CERTIFICATE", "general.crl-certificate" }, 25014cf0368Sopenharmony_ci { PRN, "PRN", "general.prn" }, 25114cf0368Sopenharmony_ci { OPENDOCUMENT_CHART, "OPENDOCUMENT_CHART", "org.oasis-open.opendocument.chart" }, 25214cf0368Sopenharmony_ci { OPENDOCUMENT_TEXT_MASTER, "OPENDOCUMENT_TEXT_MASTER", "org.oasis-open.opendocument.text-master" }, 25314cf0368Sopenharmony_ci { OPENDOCUMENT_TEXT_WEB, "OPENDOCUMENT_TEXT_WEB", "org.oasis-open.opendocument.text-web" }, 25414cf0368Sopenharmony_ci { OPENDOCUMENT_DATABASE, "OPENDOCUMENT_DATABASE", "org.oasis-open.opendocument.database" }, 25514cf0368Sopenharmony_ci { OPENDOCUMENT_IMAGE, "OPENDOCUMENT_IMAGE", "org.oasis-open.opendocument.image" }, 25614cf0368Sopenharmony_ci { OPENDOCUMENT_FORMULA_TEMPLATE, "OPENDOCUMENT_FORMULA_TEMPLATE", "org.oasis-open.opendocument.formula-template" }, 25714cf0368Sopenharmony_ci { OPENDOCUMENT_CHART_TEMPLATE, "OPENDOCUMENT_CHART_TEMPLATE", "org.oasis-open.opendocument.chart-template" }, 25814cf0368Sopenharmony_ci { OPENDOCUMENT_PRESENTATION_TEMPLATE, "OPENDOCUMENT_PRESENTATION_TEMPLATE", 25914cf0368Sopenharmony_ci "org.oasis-open.opendocument.presentation-template" }, 26014cf0368Sopenharmony_ci { OPENDOCUMENT_IMAGE_TEMPLATE, "OPENDOCUMENT_IMAGE_TEMPLATE", "org.oasis-open.opendocument.image-template" }, 26114cf0368Sopenharmony_ci { OPENDOCUMENT_GRAPHICS_TEMPLATE, "OPENDOCUMENT_GRAPHICS_TEMPLATE", 26214cf0368Sopenharmony_ci "org.oasis-open.opendocument.graphics-template" }, 26314cf0368Sopenharmony_ci { OPENDOCUMENT_SPREADSHEET_TEMPLATE, "OPENDOCUMENT_SPREADSHEET_TEMPLATE", 26414cf0368Sopenharmony_ci "org.oasis-open.opendocument.spreadsheet-template" }, 26514cf0368Sopenharmony_ci { OPENDOCUMENT_TEXT_TEMPLATE, "OPENDOCUMENT_TEXT_TEMPLATE", "org.oasis-open.opendocument.text-template" }, 26614cf0368Sopenharmony_ci { WORD_DOT, "WORD_DOT", "com.microsoft.word.dot" }, 26714cf0368Sopenharmony_ci { POWERPOINT_PPS, "POWERPOINT_PPS", "com.microsoft.powerpoint.pps" }, 26814cf0368Sopenharmony_ci { POWERPOINT_POT, "POWERPOINT_POT", "com.microsoft.powerpoint.pot" }, 26914cf0368Sopenharmony_ci { EXCEL_XLT, "EXCEL_XLT", "com.microsoft.excel.xlt" }, 27014cf0368Sopenharmony_ci { VISIO_VSD, "VISIO_VSD", "com.microsoft.visio.vsd" }, 27114cf0368Sopenharmony_ci { DRAWINGML_VISIO, "DRAWINGML_VISIO", "org.openxmlformats.drawingml.visio" }, 27214cf0368Sopenharmony_ci { DRAWINGML_TEMPLATE, "DRAWINGML_TEMPLATE", "org.openxmlformats.drawingml.template" }, 27314cf0368Sopenharmony_ci { DRAWINGML_VISIO_MACROENABLED, "DRAWINGML_VISIO_MACROENABLED", "org.openxmlformats.drawingml.visio.macroenabled" }, 27414cf0368Sopenharmony_ci { DRAWINGML_TEMPLATE_MACROENABLED, "DRAWINGML_TEMPLATE_MACROENABLED", 27514cf0368Sopenharmony_ci "org.openxmlformats.drawingml.template.macroenabled" }, 27614cf0368Sopenharmony_ci { WORDPROCESSINGML_TEMPLATE, "WORDPROCESSINGML_TEMPLATE", "org.openxmlformats.wordprocessingml.template" }, 27714cf0368Sopenharmony_ci { PRESENTATIONML_TEMPLATE, "PRESENTATIONML_TEMPLATE", "org.openxmlformats.presentationml.template" }, 27814cf0368Sopenharmony_ci { PRESENTATIONML_SLIDESHOW, "PRESENTATIONML_SLIDESHOW", "org.openxmlformats.presentationml.slideshow" }, 27914cf0368Sopenharmony_ci { SPREADSHEETML_TEMPLATE, "SPREADSHEETML_TEMPLATE", "org.openxmlformats.spreadsheetml.template" }, 28014cf0368Sopenharmony_ci { WORDPROCESSINGML_DOCUMENT_MACROENABLED, "WORDPROCESSINGML_DOCUMENT_MACROENABLED", 28114cf0368Sopenharmony_ci "org.openxmlformats.wordprocessingml.document.macroenabled" }, 28214cf0368Sopenharmony_ci { WORDPROCESSINGML_TEMPLATE_MACROENABLED, "WORDPROCESSINGML_TEMPLATE_MACROENABLED", 28314cf0368Sopenharmony_ci "org.openxmlformats.wordprocessingml.template.macroenabled" }, 28414cf0368Sopenharmony_ci { SPREADSHEETML_TEMPLATE_MACROENABLED, "SPREADSHEETML_TEMPLATE_MACROENABLED", 28514cf0368Sopenharmony_ci "org.openxmlformats.spreadsheetml.template.macroenabled" }, 28614cf0368Sopenharmony_ci { SPREADSHEETML_ADDIN_MACROENABLED, "SPREADSHEETML_ADDIN_MACROENABLED", 28714cf0368Sopenharmony_ci "org.openxmlformats.spreadsheetml.addin.macroenabled" }, 28814cf0368Sopenharmony_ci { SPREADSHEETML_BINARY_MACROENABLED, "SPREADSHEETML_BINARY_MACROENABLED", 28914cf0368Sopenharmony_ci "org.openxmlformats.spreadsheetml.binary.macroenabled" }, 29014cf0368Sopenharmony_ci { SPREADSHEETML_SHEET_MACROENABLED, "SPREADSHEETML_SHEET_MACROENABLED", 29114cf0368Sopenharmony_ci "org.openxmlformats.spreadsheetml.sheet.macroenabled" }, 29214cf0368Sopenharmony_ci { PRESENTATIONALML_ADDIN_MACROENABLED, "PRESENTATIONALML_ADDIN_MACROENABLED", 29314cf0368Sopenharmony_ci "org.openxmlformats.presentationml.addin.macroenabled" }, 29414cf0368Sopenharmony_ci { PRESENTATIONALML_PRESENTATION_MACROENABLED, "PRESENTATIONALML_PRESENTATION_MACROENABLED", 29514cf0368Sopenharmony_ci "org.openxmlformats.presentationml.presentation.macroenabled" }, 29614cf0368Sopenharmony_ci { PRESENTATIONALML_SLIDESHOW_MACROENABLED, "PRESENTATIONALML_SLIDESHOW_MACROENABLED", 29714cf0368Sopenharmony_ci "org.openxmlformats.presentationml.slideshow.macroenabled" }, 29814cf0368Sopenharmony_ci { PRESENTATIONALML_TEMPLATE_MACROENABLED, "PRESENTATIONALML_TEMPLATE_MACROENABLED", 29914cf0368Sopenharmony_ci "org.openxmlformats.presentationml.template.macroenabled" }, 30014cf0368Sopenharmony_ci { OPENOFFICE, "OPENOFFICE", "org.openoffice" }, 30114cf0368Sopenharmony_ci { OPENOFFICE_CALC, "OPENOFFICE_CALC", "org.openoffice.calc" }, 30214cf0368Sopenharmony_ci { OPENOFFICE_DRAW, "OPENOFFICE_DRAW", "org.openoffice.draw" }, 30314cf0368Sopenharmony_ci { OPENOFFICE_WRITER_GLOBAL, "OPENOFFICE_WRITER_GLOBAL", "org.openoffice.writer-global" }, 30414cf0368Sopenharmony_ci { OPENOFFICE_IMPRESS, "OPENOFFICE_IMPRESS", "org.openoffice.impress" }, 30514cf0368Sopenharmony_ci { OPENOFFICE_MATH, "OPENOFFICE_MATH", "org.openoffice.math" }, 30614cf0368Sopenharmony_ci { OPENOFFICE_WRITER, "OPENOFFICE_WRITER", "org.openoffice.writer" }, 30714cf0368Sopenharmony_ci { OPENOFFICE_CALC_TEMPLATE, "OPENOFFICE_CALC_TEMPLATE", "org.openoffice.calc.template" }, 30814cf0368Sopenharmony_ci { OPENOFFICE_DRAW_TEMPLATE, "OPENOFFICE_DRAW_TEMPLATE", "org.openoffice.draw.template" }, 30914cf0368Sopenharmony_ci { OPENOFFICE_IMPRESS_TEMPLATE, "OPENOFFICE_IMPRESS_TEMPLATE", "org.openoffice.impress.template" }, 31014cf0368Sopenharmony_ci { OPENOFFICE_WRITER_TEMPLATE, "OPENOFFICE_WRITER_TEMPLATE", "org.openoffice.writer.template" }, 31114cf0368Sopenharmony_ci { STAROFFICE, "STAROFFICE", "com.staroffice" }, 31214cf0368Sopenharmony_ci { STAROFFICE_DRAW, "STAROFFICE_DRAW", "com.staroffice.draw" }, 31314cf0368Sopenharmony_ci { STAROFFICE_CALC, "STAROFFICE_CALC", "com.staroffice.calc" }, 31414cf0368Sopenharmony_ci { STAROFFICE_IMPRESS, "STAROFFICE_IMPRESS", "com.staroffice.impress" }, 31514cf0368Sopenharmony_ci { STAROFFICE_WRITER, "STAROFFICE_WRITER", "com.staroffice.writer" }, 31614cf0368Sopenharmony_ci { STAROFFICE_CHART, "STAROFFICE_CHART", "com.staroffice.chart" }, 31714cf0368Sopenharmony_ci { STAROFFICE_MAIL, "STAROFFICE_MAIL", "com.staroffice.mail" }, 31814cf0368Sopenharmony_ci { STAROFFICE_WRITER_GLOBAL, "STAROFFICE_WRITER_GLOBAL", "com.staroffice.writer-global" }, 31914cf0368Sopenharmony_ci { STAROFFICE_MATH, "STAROFFICE_MATH", "com.staroffice.math" }, 32014cf0368Sopenharmony_ci { STAROFFICE_TEMPLATE, "STAROFFICE_TEMPLATE", "com.staroffice.template" }, 32114cf0368Sopenharmony_ci { TUG_BIB, "TUG_BIB", "org.tug.bib" }, 32214cf0368Sopenharmony_ci { TUG_CLS, "TUG_CLS", "org.tug.cls" }, 32314cf0368Sopenharmony_ci { TUG_STY, "TUG_STY", "org.tug.sty" }, 32414cf0368Sopenharmony_ci { TUG_TEX, "TUG_TEX", "org.tug.tex" }, 32514cf0368Sopenharmony_ci { LATEX, "LATEX", "org.latex-project.latex" }, 32614cf0368Sopenharmony_ci { ADVANCED_SYSTEMS_FORMAT, "ADVANCED_SYSTEMS_FORMAT", "com.microsoft.advanced-systems-format" }, 32714cf0368Sopenharmony_ci { ADVANCED_STREAM_REDIRECTOR, "ADVANCED_STREAM_REDIRECTOR", "com.microsoft.advanced-stream-redirector" }, 32814cf0368Sopenharmony_ci { MATROSKA_VIDEO, "MATROSKA_VIDEO", "org.matroska.mkv" }, 32914cf0368Sopenharmony_ci { MATROSKA_AUDIO, "MATROSKA_AUDIO", "org.matroska.mka" }, 33014cf0368Sopenharmony_ci { SGI_MOVIE, "SGI_MOVIE", "com.sgi.movie" }, 33114cf0368Sopenharmony_ci { APPLE_M4V, "APPLE_M4V", "com.apple.m4v" }, 33214cf0368Sopenharmony_ci { WEBM, "WEBM", "org.webmproject.webm" }, 33314cf0368Sopenharmony_ci { QUICKTIME_MOVIE, "QUICKTIME_MOVIE", "com.apple.quicktime-movie" }, 33414cf0368Sopenharmony_ci { CORELDRAW_CDR, "CORELDRAW_CDR", "com.coreldraw.cdr" }, 33514cf0368Sopenharmony_ci { CORELDRAW_CDT, "CORELDRAW_CDT", "com.coreldraw.cdt" }, 33614cf0368Sopenharmony_ci { CORELDRAW_CPT, "CORELDRAW_CPT", "com.coreldraw.cpt" }, 33714cf0368Sopenharmony_ci { CORELDRAW_PAT, "CORELDRAW_PAT", "com.coreldraw.pat" }, 33814cf0368Sopenharmony_ci { MICROSOFT_CUR, "MICROSOFT_CUR", "com.microsoft.cur" }, 33914cf0368Sopenharmony_ci { SUN_RASTER, "SUN_RASTER", "com.sun.raster" }, 34014cf0368Sopenharmony_ci { GOOGLE_WEBP, "GOOGLE_WEBP", "com.google.webp" }, 34114cf0368Sopenharmony_ci { KOAN_AUDIO, "KOAN_AUDIO", "com.sseyo.koan-audio" }, 34214cf0368Sopenharmony_ci { QT_MOC, "QT_MOC", "io.qt.moc" }, 34314cf0368Sopenharmony_ci { GHOSTSCRIPT_FONT, "GHOSTSCRIPT_FONT", "com.ghostscript.font" }, 34414cf0368Sopenharmony_ci { X_PCF_FONT, "X_PCF_FONT", "org.x.pcf-font" }, 34514cf0368Sopenharmony_ci { WINDOWS_MEDIA_WMD, "WINDOWS_MEDIA_WMD", "com.microsoft.windows-media-wmd" }, 34614cf0368Sopenharmony_ci { WINDOWS_MEDIA_WMZ, "WINDOWS_MEDIA_WMZ", "com.microsoft.windows-media-wmz" }, 34714cf0368Sopenharmony_ci { WINDOWS_INSTALLER, "WINDOWS_INSTALLER", "com.microsoft.windows-installer" }, 34814cf0368Sopenharmony_ci { PUBLISHER_PUB, "PUBLISHER_PUB", "com.microsoft.publisher.pub" }, 34914cf0368Sopenharmony_ci { WINDOWS_MEDIA_PLAYLIST, "WINDOWS_MEDIA_PLAYLIST", "com.microsoft.windows-media-playlist" }, 35014cf0368Sopenharmony_ci { ACCESS_MDB, "ACCESS_MDB", "com.microsoft.access.mdb" }, 35114cf0368Sopenharmony_ci { STEREOLITHOGRAPHY, "STEREOLITHOGRAPHY", "com.3dsystems.stereolithography" }, 35214cf0368Sopenharmony_ci { APPLE_MEDIA_PLAYLIST, "APPLE_MEDIA_PLAYLIST", "com.apple.media.playlist" }, 35314cf0368Sopenharmony_ci { ABISOURCE_WORD, "ABISOURCE_WORD", "com.abisource.word" }, 35414cf0368Sopenharmony_ci { ADOBE_FRAMEMAKER, "ADOBE_FRAMEMAKER", "com.adobe.framemaker" }, 35514cf0368Sopenharmony_ci { WOLFRAM_CDF, "WOLFRAM_CDF", "com.wolfram.cdf" }, 35614cf0368Sopenharmony_ci { CINDERELLA_CDY, "CINDERELLA_CDY", "de.cinderella.cdy" }, 35714cf0368Sopenharmony_ci { ADOBE_DCR, "ADOBE_DCR", "com.adobe.dcr" }, 35814cf0368Sopenharmony_ci { ADOBE_DIR, "ADOBE_DIR", "com.adobe.dir" }, 35914cf0368Sopenharmony_ci { ADOBE_DXR, "ADOBE_DXR", "com.adobe.dxr" }, 36014cf0368Sopenharmony_ci { GNUMERIC_SPREADSHEET, "GNUMERIC_SPREADSHEET", "org.gnumeric.spreadsheet" }, 36114cf0368Sopenharmony_ci { HDFGROUP_HDF, "HDFGROUP_HDF", "org.hdfgroup.hdf" }, 36214cf0368Sopenharmony_ci { BINHEX_ARCHIVE, "BINHEX_ARCHIVE", "com.apple.binhex-archive" }, 36314cf0368Sopenharmony_ci { MICROSOFT_HTA, "MICROSOFT_HTA", "com.microsoft.hta" }, 36414cf0368Sopenharmony_ci { INTERNET_INS, "INTERNET_INS", "com.microsoft.internet.ins" }, 36514cf0368Sopenharmony_ci { INTERNET_ISP, "INTERNET_ISP", "com.microsoft.internet.isp" }, 36614cf0368Sopenharmony_ci { TROFF, "TROFF", "org.troff" }, 36714cf0368Sopenharmony_ci { ADOBE_MIF, "ADOBE_MIF", "com.adobe.framemaker.mif" }, 36814cf0368Sopenharmony_ci { FREEMIND, "FREEMIND", "io.sourceforge.freemind" }, 36914cf0368Sopenharmony_ci { YAMAHA_SMAF, "YAMAHA_SMAF", "com.yamaha.smaf" }, 37014cf0368Sopenharmony_ci { MATHEMATICA_NOTEBOOK, "MATHEMATICA_NOTEBOOK", "com.wolfram.mathematica.notebook" }, 37114cf0368Sopenharmony_ci { XIPH_OGG, "XIPH_OGG", "org.xiph.ogg" }, 37214cf0368Sopenharmony_ci { PROXY_AUTOCONFIG, "PROXY_AUTOCONFIG", "com.netscape.proxy-autoconfig" }, 37314cf0368Sopenharmony_ci { PKCS_12, "PKCS_12", "com.rsa.pkcs-12" }, 37414cf0368Sopenharmony_ci { PGP_SIGNATURE, "PGP_SIGNATURE", "org.openpgp.signature" }, 37514cf0368Sopenharmony_ci { QUICKTIME_LINK, "QUICKTIME_LINK", "com.apple.quicktime-link" }, 37614cf0368Sopenharmony_ci { RAR_ARCHIVE, "RAR_ARCHIVE", "com.rarlab.rar-archive" }, 37714cf0368Sopenharmony_ci { SEVEN_ZIP_ARCHIVE, "SEVEN_ZIP_ARCHIVE", "org.7-zip.7-zip-archive" }, 37814cf0368Sopenharmony_ci { RED_BEAN_SGF, "RED_BEAN_SGF", "com.red-bean.sgf" }, 37914cf0368Sopenharmony_ci { SIT_ARCHIVE, "SIT_ARCHIVE", "com.stuffit.sit-archive" }, 38014cf0368Sopenharmony_ci { FUTURESPLASH, "FUTURESPLASH", "com.adobe.futuresplash" }, 38114cf0368Sopenharmony_ci { FLASH, "FLASH", "com.adobe.flash" }, 38214cf0368Sopenharmony_ci { TEXINFO, "TEXINFO", "org.gnu.texinfo" }, 38314cf0368Sopenharmony_ci { TORRENT, "TORRENT", "org.bittorrent.torrent" }, 38414cf0368Sopenharmony_ci { DOOM, "DOOM", "com.idsoftware.doom" }, 38514cf0368Sopenharmony_ci { APPLE_WEBARCHIVE, "APPLE_WEBARCHIVE", "com.apple.webarchive" }, 38614cf0368Sopenharmony_ci { ANDROID_WEBARCHIVE, "ANDROID_WEBARCHIVE", "com.android.webarchive" }, 38714cf0368Sopenharmony_ci { GIMP_XCF, "GIMP_XCF", "org.gimp.xcf" }, 38814cf0368Sopenharmony_ci { EDRWMAX, "EDRWMAX", "com.edrawsoft.edrawmax" }, 38914cf0368Sopenharmony_ci { EDRWMIND, "EDRWMIND", "com.edrawsoft.edrawmind" }, 39014cf0368Sopenharmony_ci { CNKI_CAJ, "CNKI_CAJ", "net.cnki.caj" }, 39114cf0368Sopenharmony_ci { DBASE_DBF, "DBASE_DBF", "com.dbase.dbf" }, 39214cf0368Sopenharmony_ci { AUTODESK_DWG, "AUTODESK_DWG", "com.autodesk.dwg" }, 39314cf0368Sopenharmony_ci { AUTODESK_DXF, "AUTODESK_DXF", "com.autodesk.dxf" }, 39414cf0368Sopenharmony_ci { AUTODESK_DWS, "AUTODESK_DWS", "com.autodesk.dws" }, 39514cf0368Sopenharmony_ci { AUTODESK_DWT, "AUTODESK_DWT", "com.autodesk.dwt" }, 39614cf0368Sopenharmony_ci { AUTODESK_DWF, "AUTODESK_DWF", "com.autodesk.dwf" }, 39714cf0368Sopenharmony_ci { AUTODESK_DWFX, "AUTODESK_DWFX", "com.autodesk.dwfx" }, 39814cf0368Sopenharmony_ci { AUTODESK_SHP, "AUTODESK_SHP", "com.autodesk.shp" }, 39914cf0368Sopenharmony_ci { AUTODESK_SHX, "AUTODESK_SHX", "com.autodesk.shx" }, 40014cf0368Sopenharmony_ci { AUTODESK_SLIDE_LIB, "AUTODESK_SLIDE_LIB", "com.autodesk.slide-library" }, 40114cf0368Sopenharmony_ci { AUTODESK_LINE, "AUTODESK_LINE", "com.autodesk.line" }, 40214cf0368Sopenharmony_ci { AUTODESK_PLOTTER, "AUTODESK_PLOTTER", "com.autodesk.plotter" }, 40314cf0368Sopenharmony_ci { HP_GRAPHICS_LANG, "HP_GRAPHICS_LANG", "com.hp.graphics-language" }, 40414cf0368Sopenharmony_ci { MICROSOFT_METAFILE, "MICROSOFT_METAFILE", "com.microsoft.metafile" }, 40514cf0368Sopenharmony_ci { ACIS_SAT, "ACIS_SAT", "com.spatial.acis.sat" }, 40614cf0368Sopenharmony_ci { AVIF_IMAGE, "AVIF_IMAGE", "org.aomedia.avif-image" }, 40714cf0368Sopenharmony_ci { MICROSOFT_DDS, "MICROSOFT_DDS", "com.microsoft.dds" }, 40814cf0368Sopenharmony_ci { IFF_ILBM, "IFF_ILBM", "com.ea.iff-ilbm" }, 40914cf0368Sopenharmony_ci { CR2_RAW_IMAGE, "CR2_RAW_IMAGE", "com.canon.cr2-raw-image" }, 41014cf0368Sopenharmony_ci { CR3_RAW_IMAGE, "CR3_RAW_IMAGE", "com.canon.cr3-raw-image" }, 41114cf0368Sopenharmony_ci { CRW_RAW_IMAGE, "CRW_RAW_IMAGE", "com.canon.crw-raw-image" }, 41214cf0368Sopenharmony_ci { DNG_RAW_IMAGE, "DNG_RAW_IMAGE", "com.adobe.dng-raw-image" }, 41314cf0368Sopenharmony_ci { ARW_RAW_IMAGE, "ARW_RAW_IMAGE", "com.sony.arw-raw-image" }, 41414cf0368Sopenharmony_ci { NEF_RAW_IMAGE, "NEF_RAW_IMAGE", "com.nikon.nef-raw-image" }, 41514cf0368Sopenharmony_ci { MINDMANAGER_MMAP, "MINDMANAGER_MMAP", "com.mindjet.mindmanager.mmap" }, 41614cf0368Sopenharmony_ci { MICROSOFT_EMAIL, "MICROSOFT_EMAIL", "com.microsoft.email" }, 41714cf0368Sopenharmony_ci { MICROSOFT_MESSAGE, "MICROSOFT_MESSAGE", "com.microsoft.message" }, 41814cf0368Sopenharmony_ci { MICROSOFT_PST, "MICROSOFT_PST", "com.microsoft.pst" }, 41914cf0368Sopenharmony_ci { KINGSOFT_OFFICE, "KINGSOFT_OFFICE", "com.kingsoft.office general.zip-archive" }, 42014cf0368Sopenharmony_ci { KINGSOFT_WRITER_WPS, "KINGSOFT_WRITER_WPS", "com.kingsoft.office.writer.wps" }, 42114cf0368Sopenharmony_ci { KINGSOFT_WRITER_WPT, "KINGSOFT_WRITER_WPT", "com.kingsoft.office.writer.wpt" }, 42214cf0368Sopenharmony_ci { KINGSOFT_PRESENTATION_DPS, "KINGSOFT_PRESENTATION_DPS", "com.kingsoft.office.presentation.dps" }, 42314cf0368Sopenharmony_ci { KINGSOFT_PRESENTATION_TEMPLATE, "KINGSOFT_PRESENTATION_TEMPLATE", "com.kingsoft.office.presentation.template" }, 42414cf0368Sopenharmony_ci { KINGSOFT_SPREADSHEETS_ET, "KINGSOFT_SPREADSHEETS_ET", "com.kingsoft.office.spreadsheets.et" }, 42514cf0368Sopenharmony_ci { KINGSOFT_SPREADSHEETS_TEMPLATE, "KINGSOFT_SPREADSHEETS_TEMPLATE", "com.kingsoft.office.spreadsheets.template" }, 42614cf0368Sopenharmony_ci { MICROSOFT_INI, "MICROSOFT_INI", "com.microsoft.ini" }, 42714cf0368Sopenharmony_ci { JSON, "JSON", "general.json" }, 42814cf0368Sopenharmony_ci { YAML, "YAML", "general.yaml" }, 42914cf0368Sopenharmony_ci { LOG, "LOG", "general.log" }, 43014cf0368Sopenharmony_ci { URI, "URI", "general.uri" }, 43114cf0368Sopenharmony_ci { FILE_URI, "FILE_URI", "general.file-uri" }, 43214cf0368Sopenharmony_ci { TEXT_LST, "TEXT_LST", "general.text-lst" }, 43314cf0368Sopenharmony_ci { ANDROID_APK, "ANDROID_APK", "com.android.apk" }, 43414cf0368Sopenharmony_ci { BZ_ARCHIVE, "BZ_ARCHIVE", "general.bz-archive" }, 43514cf0368Sopenharmony_ci { TBZ_ARCHIVE, "TBZ_ARCHIVE", "general.tar-bzip-archive" }, 43614cf0368Sopenharmony_ci { TBZ2_ARCHIVE, "TBZ2_ARCHIVE", "general.tar-bzip2-archive" }, 43714cf0368Sopenharmony_ci { XZ_ARCHIVE, "XZ_ARCHIVE", "org.tukaani.xz-archive" }, 43814cf0368Sopenharmony_ci { TXZ_ARCHIVE, "TXZ_ARCHIVE", "org.tukaani.tar-xz-archive" }, 43914cf0368Sopenharmony_ci { XAR_ARCHIVE, "XAR_ARCHIVE", "general.xar-archive" }, 44014cf0368Sopenharmony_ci { CAB_ARCHIVE, "CAB_ARCHIVE", "com.microsoft.cab-archive" }, 44114cf0368Sopenharmony_ci { RPM_ARCHIVE, "RPM_ARCHIVE", "redhat.rpm-archive" }, 44214cf0368Sopenharmony_ci { TPZ_ARCHIVE, "TPZ_ARCHIVE", "org.godotengine.tpz-archive", }, 44314cf0368Sopenharmony_ci { LZA_ARCHIVE, "LZA_ARCHIVE", "general.lza-archive" }, 44414cf0368Sopenharmony_ci { ARJ_ARCHIVE, "ARJ_ARCHIVE", "general.arj-archive" }, 44514cf0368Sopenharmony_ci { ZIPX_ARCHIVE, "ZIPX_ARCHIVE", "com.winzip.zipx" }, 44614cf0368Sopenharmony_ci { LZMA_ARCHIVE, "LZMA_ARCHIVE", "general.lzma-archive" }, 44714cf0368Sopenharmony_ci { LZMA86_ARCHIVE, "LZMA86_ARCHIVE", "general.lzma86-archive" }, 44814cf0368Sopenharmony_ci { XPI_ARCHIVE, "XPI_ARCHIVE", "org.mozilla.xpinstall" }, 44914cf0368Sopenharmony_ci { HFS_DISK_IMAGE, "HFS_DISK_IMAGE", "general.hfs-disk-image" }, 45014cf0368Sopenharmony_ci { IMG_DISK_IMAGE, "IMG_DISK_IMAGE", "general.img-disk-image" }, 45114cf0368Sopenharmony_ci { ISZ_DISK_IMAGE, "ISZ_DISK_IMAGE", "com.ezbsystems.zipped-iso" }, 45214cf0368Sopenharmony_ci { WIM_DISK_IMAGE, "WIM_DISK_IMAGE", "com.microsoft.wim" }, 45314cf0368Sopenharmony_ci { SWM_DISK_IMAGE, "SWM_DISK_IMAGE", "com.microsoft.swm" }, 45414cf0368Sopenharmony_ci { KINGSOFT_SPREADSHEETS_ETX, "KINGSOFT_SPREADSHEETS_ETX", "com.kingsoft.office.spreadsheets.etx" }, 45514cf0368Sopenharmony_ci { KINGSOFT_SPREADSHEETS_ETTX, "KINGSOFT_SPREADSHEETS_ETTX", "com.kingsoft.office.spreadsheets.ettx" }, 45614cf0368Sopenharmony_ci { EXCEL_DIF, "EXCEL_DIF", "com.microsoft.excel.dif" }, 45714cf0368Sopenharmony_ci { OPENHARMONY_APP, "OPENHARMONY_APP", "openharmony.app" }, 45814cf0368Sopenharmony_ci { HMOS_WIFI, "HMOS_WIFI", "com.huawei.hmos.settings.wifi" }, 45914cf0368Sopenharmony_ci { TEL, "TEL", "general.tel" }, 46014cf0368Sopenharmony_ci { ETS, "ETS", "general.ets" }, 46114cf0368Sopenharmony_ci { JSON5, "JSON5", "general.json5" }, 46214cf0368Sopenharmony_ci { APE_AUDIO, "APE_AUDIO", "com.monkeysaudio.ape-audio" }, 46314cf0368Sopenharmony_ci { OPUS_AUDIO, "OPUS_AUDIO", "org.xiph.opus-audio"}, 46414cf0368Sopenharmony_ci { CONF, "CONF", "general.conf" }, 46514cf0368Sopenharmony_ci { MICROSOFT_DOS_BATCH, "MICROSOFT_DOS_BATCH", "com.microsoft.dos-batch" }, 46614cf0368Sopenharmony_ci { MICROSOFT_VBSCRIPT, "MICROSOFT_VBSCRIPT", "com.microsoft.vbscript" }, 46714cf0368Sopenharmony_ci { ION, "ION", "general.ion" }, 46814cf0368Sopenharmony_ci { MICROSOFT_REGISTRY, "MICROSOFT_REGISTRY", "com.microsoft.registry" }, 46914cf0368Sopenharmony_ci { MICROSOFT_CATALOG, "MICROSOFT_CATALOG", "com.microsoft.catalog" }, 47014cf0368Sopenharmony_ci { MICROSOFT_POWERSHELL_SCRIPT, "MICROSOFT_POWERSHELL_SCRIPT", "com.microsoft.powershell-script" }, 47114cf0368Sopenharmony_ci { W3_WOFF, "W3_WOFF", "org.w3.woff" }, 47214cf0368Sopenharmony_ci { SQLITE_DATABASE, "SQLITE_DATABASE", "org.sqlite.database" }, 47314cf0368Sopenharmony_ci { MICROSOFT_SYS, "MICROSOFT_SYS", "com.microsoft.sys" }, 47414cf0368Sopenharmony_ci { MICROSOFT_INF, "MICROSOFT_INF", "com.microsoft.inf" }, 47514cf0368Sopenharmony_ci { MICROSOFT_PDB, "MICROSOFT_PDB", "com.microsoft.pdb" }, 47614cf0368Sopenharmony_ci { MICROSOFT_TLB, "MICROSOFT_TLB", "com.microsoft.tlb" }, 47714cf0368Sopenharmony_ci { MICROSOFT_SCCD, "MICROSOFT_SCCD", "com.microsoft.sccd" }, 47814cf0368Sopenharmony_ci { ADOBE_F4V, "ADOBE_F4V", "com.adobe.f4v" }, 47914cf0368Sopenharmony_ci { MP2T, "MP2T", "general.mp2t" }, 48014cf0368Sopenharmony_ci { YOUTUBE_VIDEO, "YOUTUBE_VIDEO", "com.youtube.video" }, 48114cf0368Sopenharmony_ci { WEBEX_VIDEO, "WEBEX_VIDEO", "com.cisco.webex-video" }, 48214cf0368Sopenharmony_ci { MPEG2, "MPEG2", "general.mpeg-2" }, 48314cf0368Sopenharmony_ci { MPEG1, "MPEG1", "general.mpeg-1" }, 48414cf0368Sopenharmony_ci { REALMEDIA_VBR, "REALMEDIA_VBR", "com.real.realmedia-vbr" }, 48514cf0368Sopenharmony_ci { REAL_REALVIDEO, "REAL_REALVIDEO", "com.real.realvideo" }, 48614cf0368Sopenharmony_ci { DIVX_VIDEO, "DIVX_VIDEO", "general.divx-video" }, 48714cf0368Sopenharmony_ci { CSIRO_ANNODEX, "CSIRO_ANNODEX", "org.csiro.annodex" }, 48814cf0368Sopenharmony_ci { OGV, "OGV", "general.ogv" }, 48914cf0368Sopenharmony_ci { LSF_VIDEO, "LSF_VIDEO", "com.microsoft.lsf-video" }, 49014cf0368Sopenharmony_ci { H264_VIDEO, "H264_VIDEO", "general.h264-video" }, 49114cf0368Sopenharmony_ci { JPEG2000, "JPEG2000", "general.jpeg-2000" }, 49214cf0368Sopenharmony_ci { RAF_RAW_IMAGE, "RAF_RAW_IMAGE", "com.fujifilm.raf-raw-image" }, 49314cf0368Sopenharmony_ci { NRW_RAW_IMAGE, "NRW_RAW_IMAGE", "com.nikon.nrw-raw-image" }, 49414cf0368Sopenharmony_ci { RW2_RAW_IMAGE, "RW2_RAW_IMAGE", "com.panasonic.rw2-raw-image" }, 49514cf0368Sopenharmony_ci { PEF_RAW_IMAGE, "PEF_RAW_IMAGE", "com.pentax.pef-raw-image" }, 49614cf0368Sopenharmony_ci { SRW_RAW_IMAGE, "SRW_RAW_IMAGE", "com.sumsung.srw-raw-image" }, 49714cf0368Sopenharmony_ci { ERF_RAW_IMAGE, "ERF_RAW_IMAGE", "com.epson.erf-raw-image" }, 49814cf0368Sopenharmony_ci { ORF_RAW_IMAGE, "ORF_RAW_IMAGE", "com.olympus.orf-raw-image" }, 49914cf0368Sopenharmony_ci { IEF_IMAGE, "IEF_IMAGE", "general.ief-image" }, 50014cf0368Sopenharmony_ci { ART_IMAGE, "ART_IMAGE", "com.aol.art-image" }, 50114cf0368Sopenharmony_ci { CONTENT_FORM, "CONTENT_FORM", "general.content-form" }, 50214cf0368Sopenharmony_ci { M4P_AUDIO, "M4P_AUDIO", "com.apple.m4p-audio" }, 50314cf0368Sopenharmony_ci { AC3_AUDIO, "AC3_AUDIO", "general.ac3-audio" } 50414cf0368Sopenharmony_ci}; 50514cf0368Sopenharmony_ci 50614cf0368Sopenharmony_cinamespace UtdUtils { 50714cf0368Sopenharmony_cibool IsValidUtdId(const std::string &utdId) 50814cf0368Sopenharmony_ci{ 50914cf0368Sopenharmony_ci for (const auto &item : UTD_TYPES) { 51014cf0368Sopenharmony_ci if (item.UtdId == utdId) { 51114cf0368Sopenharmony_ci return true; 51214cf0368Sopenharmony_ci } 51314cf0368Sopenharmony_ci } 51414cf0368Sopenharmony_ci return false; 51514cf0368Sopenharmony_ci} 51614cf0368Sopenharmony_ci 51714cf0368Sopenharmony_ciint32_t GetUtdEnumFromUtdId(const std::string &utdId) 51814cf0368Sopenharmony_ci{ 51914cf0368Sopenharmony_ci for (const auto &item : UTD_TYPES) { 52014cf0368Sopenharmony_ci if (item.UtdId == utdId) { 52114cf0368Sopenharmony_ci return item.UtdEnum; 52214cf0368Sopenharmony_ci } 52314cf0368Sopenharmony_ci } 52414cf0368Sopenharmony_ci return UD_BUTT; 52514cf0368Sopenharmony_ci} 52614cf0368Sopenharmony_ci 52714cf0368Sopenharmony_cistd::string GetUtdIdFromUtdEnum(int32_t utdType) 52814cf0368Sopenharmony_ci{ 52914cf0368Sopenharmony_ci for (const auto &item : UTD_TYPES) { 53014cf0368Sopenharmony_ci if (item.UtdEnum == utdType) { 53114cf0368Sopenharmony_ci return item.UtdId; 53214cf0368Sopenharmony_ci } 53314cf0368Sopenharmony_ci } 53414cf0368Sopenharmony_ci return ""; 53514cf0368Sopenharmony_ci} 53614cf0368Sopenharmony_ci 53714cf0368Sopenharmony_cistd::vector<UtdType> GetUtdTypes() 53814cf0368Sopenharmony_ci{ 53914cf0368Sopenharmony_ci std::vector<UtdType> utdTypes(UTD_TYPES, UTD_TYPES + sizeof(UTD_TYPES) / sizeof(UtdType)); 54014cf0368Sopenharmony_ci return utdTypes; 54114cf0368Sopenharmony_ci} 54214cf0368Sopenharmony_ci} // namespace UtdUtils 54314cf0368Sopenharmony_ci 54414cf0368Sopenharmony_cibool UnifiedDataUtils::IsValidType(int32_t value) 54514cf0368Sopenharmony_ci{ 54614cf0368Sopenharmony_ci return value >= ENTITY && value < UD_BUTT; 54714cf0368Sopenharmony_ci} 54814cf0368Sopenharmony_ci 54914cf0368Sopenharmony_cibool UnifiedDataUtils::IsValidIntention(int32_t value) 55014cf0368Sopenharmony_ci{ 55114cf0368Sopenharmony_ci return value > UD_INTENTION_BASE && value < UD_INTENTION_BUTT; 55214cf0368Sopenharmony_ci} 55314cf0368Sopenharmony_ci 55414cf0368Sopenharmony_cistatic constexpr AppShareOption APP_SHARE_OPTIONS[] = { 55514cf0368Sopenharmony_ci { IN_APP, "IN_APP"}, 55614cf0368Sopenharmony_ci { CROSS_APP, "CROSS_APP"}, 55714cf0368Sopenharmony_ci}; 55814cf0368Sopenharmony_ci 55914cf0368Sopenharmony_cibool ShareOptionsUtil::IsValid(int32_t shareOption) 56014cf0368Sopenharmony_ci{ 56114cf0368Sopenharmony_ci if (shareOption < 0 || shareOption >= SHARE_OPTIONS_BUTT) { 56214cf0368Sopenharmony_ci return false; 56314cf0368Sopenharmony_ci } 56414cf0368Sopenharmony_ci return true; 56514cf0368Sopenharmony_ci} 56614cf0368Sopenharmony_ci 56714cf0368Sopenharmony_ciint32_t ShareOptionsUtil::GetEnumNum(const std::string &shareOption) 56814cf0368Sopenharmony_ci{ 56914cf0368Sopenharmony_ci for (const auto &item : APP_SHARE_OPTIONS) { 57014cf0368Sopenharmony_ci if (item.enumStr == shareOption) { 57114cf0368Sopenharmony_ci return item.enumNum; 57214cf0368Sopenharmony_ci } 57314cf0368Sopenharmony_ci } 57414cf0368Sopenharmony_ci return SHARE_OPTIONS_BUTT; 57514cf0368Sopenharmony_ci} 57614cf0368Sopenharmony_ci 57714cf0368Sopenharmony_cistd::string ShareOptionsUtil::GetEnumStr(int32_t shareOption) 57814cf0368Sopenharmony_ci{ 57914cf0368Sopenharmony_ci for (const auto &item : APP_SHARE_OPTIONS) { 58014cf0368Sopenharmony_ci if (item.enumNum == shareOption) { 58114cf0368Sopenharmony_ci return item.enumStr; 58214cf0368Sopenharmony_ci } 58314cf0368Sopenharmony_ci } 58414cf0368Sopenharmony_ci return ""; 58514cf0368Sopenharmony_ci} 58614cf0368Sopenharmony_ci 58714cf0368Sopenharmony_cisize_t UnifiedDataUtils::GetVariantSize(UDVariant &variant) 58814cf0368Sopenharmony_ci{ 58914cf0368Sopenharmony_ci auto int32Value = std::get_if<int32_t>(&variant); 59014cf0368Sopenharmony_ci if (int32Value != nullptr) { 59114cf0368Sopenharmony_ci return sizeof(std::get<int32_t>(variant)); 59214cf0368Sopenharmony_ci } 59314cf0368Sopenharmony_ci auto int64Value = std::get_if<int64_t>(&variant); 59414cf0368Sopenharmony_ci if (int64Value != nullptr) { 59514cf0368Sopenharmony_ci return sizeof(std::get<int64_t>(variant)); 59614cf0368Sopenharmony_ci } 59714cf0368Sopenharmony_ci auto boolValue = std::get_if<bool>(&variant); 59814cf0368Sopenharmony_ci if (boolValue != nullptr) { 59914cf0368Sopenharmony_ci return sizeof(std::get<bool>(variant)); 60014cf0368Sopenharmony_ci } 60114cf0368Sopenharmony_ci auto doubleValue = std::get_if<double>(&variant); 60214cf0368Sopenharmony_ci if (doubleValue != nullptr) { 60314cf0368Sopenharmony_ci return sizeof(std::get<double>(variant)); 60414cf0368Sopenharmony_ci } 60514cf0368Sopenharmony_ci auto strValue = std::get_if<std::string>(&variant); 60614cf0368Sopenharmony_ci if (strValue != nullptr) { 60714cf0368Sopenharmony_ci return std::get<std::string>(variant).size(); 60814cf0368Sopenharmony_ci } 60914cf0368Sopenharmony_ci auto vecValue = std::get_if<std::vector<uint8_t>>(&variant); 61014cf0368Sopenharmony_ci if (vecValue != nullptr) { 61114cf0368Sopenharmony_ci return std::get<std::vector<uint8_t>>(variant).size(); 61214cf0368Sopenharmony_ci } 61314cf0368Sopenharmony_ci return 0; 61414cf0368Sopenharmony_ci} 61514cf0368Sopenharmony_ci 61614cf0368Sopenharmony_cisize_t UnifiedDataUtils::GetDetailsSize(UDDetails &details) 61714cf0368Sopenharmony_ci{ 61814cf0368Sopenharmony_ci size_t total = 0; 61914cf0368Sopenharmony_ci for (std::pair<std::string, UDVariant> prop : details) { 62014cf0368Sopenharmony_ci total += prop.first.size(); 62114cf0368Sopenharmony_ci total += GetVariantSize(prop.second); 62214cf0368Sopenharmony_ci } 62314cf0368Sopenharmony_ci return total; 62414cf0368Sopenharmony_ci} 62514cf0368Sopenharmony_ci 62614cf0368Sopenharmony_cibool UnifiedDataUtils::IsPersist(const Intention &intention) 62714cf0368Sopenharmony_ci{ 62814cf0368Sopenharmony_ci return intention >= UD_INTENTION_DATA_HUB && intention < UD_INTENTION_BUTT; 62914cf0368Sopenharmony_ci} 63014cf0368Sopenharmony_ci 63114cf0368Sopenharmony_cibool UnifiedDataUtils::IsPersist(const std::string &intention) 63214cf0368Sopenharmony_ci{ 63314cf0368Sopenharmony_ci return IsPersist(GetIntentionByString(intention)); 63414cf0368Sopenharmony_ci} 63514cf0368Sopenharmony_ci 63614cf0368Sopenharmony_ciIntention UnifiedDataUtils::GetIntentionByString(const std::string &intention) 63714cf0368Sopenharmony_ci{ 63814cf0368Sopenharmony_ci for (const auto &it : UD_INTENTION_MAP) { 63914cf0368Sopenharmony_ci if (it.second == intention) { 64014cf0368Sopenharmony_ci return static_cast<Intention>(it.first); 64114cf0368Sopenharmony_ci } 64214cf0368Sopenharmony_ci } 64314cf0368Sopenharmony_ci return UD_INTENTION_BUTT; 64414cf0368Sopenharmony_ci} 64514cf0368Sopenharmony_ci 64614cf0368Sopenharmony_cibool UnifiedDataUtils::IsValidOptions(const std::string &key, std::string &intention) 64714cf0368Sopenharmony_ci{ 64814cf0368Sopenharmony_ci UnifiedKey unifiedKey(key); 64914cf0368Sopenharmony_ci auto isValidKey = unifiedKey.IsValid(); 65014cf0368Sopenharmony_ci if (key.empty() && IsPersist(intention)) { 65114cf0368Sopenharmony_ci return true; 65214cf0368Sopenharmony_ci } 65314cf0368Sopenharmony_ci if (intention.empty() && isValidKey && IsPersist(unifiedKey.intention)) { 65414cf0368Sopenharmony_ci return true; 65514cf0368Sopenharmony_ci } 65614cf0368Sopenharmony_ci if (isValidKey && unifiedKey.intention == intention && IsPersist(intention)) { 65714cf0368Sopenharmony_ci intention = ""; 65814cf0368Sopenharmony_ci return true; 65914cf0368Sopenharmony_ci } 66014cf0368Sopenharmony_ci return false; 66114cf0368Sopenharmony_ci} 66214cf0368Sopenharmony_ci 66314cf0368Sopenharmony_cistd::shared_ptr<Object> ObjectUtils::ConvertToObject(UDDetails &details) 66414cf0368Sopenharmony_ci{ 66514cf0368Sopenharmony_ci Object object; 66614cf0368Sopenharmony_ci for (auto [key, value] : details) { 66714cf0368Sopenharmony_ci ConvertVariant(std::move(value), object.value_[key]); 66814cf0368Sopenharmony_ci } 66914cf0368Sopenharmony_ci return std::make_shared<Object>(object); 67014cf0368Sopenharmony_ci} 67114cf0368Sopenharmony_ci 67214cf0368Sopenharmony_ciUDDetails ObjectUtils::ConvertToUDDetails(std::shared_ptr<Object> object) 67314cf0368Sopenharmony_ci{ 67414cf0368Sopenharmony_ci UDDetails details; 67514cf0368Sopenharmony_ci for (auto [key, value] : object->value_) { 67614cf0368Sopenharmony_ci if (!ConvertVariant(std::move(value), details[key])) { 67714cf0368Sopenharmony_ci LOG_ERROR(UnifiedRecord, "object convert to UDDetails failed, object key is %{public}s", key.c_str()); 67814cf0368Sopenharmony_ci } 67914cf0368Sopenharmony_ci } 68014cf0368Sopenharmony_ci return details; 68114cf0368Sopenharmony_ci} 68214cf0368Sopenharmony_ci} // namespace UDMF 68314cf0368Sopenharmony_ci} // namespace OHOS