diff options
author | 조웅석/MDE Lab(SR)/삼성전자 <ws77.cho@samsung.com> | 2024-04-16 10:21:00 +0900 |
---|---|---|
committer | GitHub Enterprise <noreply-CODE@samsung.com> | 2024-04-16 10:21:00 +0900 |
commit | 3e2a0b57b63caf67c566e93d1c0c4cc00415c281 (patch) | |
tree | 6c1017043005e7353a2d69f450b610d1285e56eb | |
parent | 202cc74c843423d399dc4ca5d12db22cef2ffe67 (diff) | |
download | launcher-3e2a0b57b63caf67c566e93d1c0c4cc00415c281.tar.gz launcher-3e2a0b57b63caf67c566e93d1c0c4cc00415c281.tar.bz2 launcher-3e2a0b57b63caf67c566e93d1c0c4cc00415c281.zip |
Check all metadata for AOT in the installer plugin (#538)
-rw-r--r-- | NativeLauncher/installer-plugin/prefer_dotnet_aot_plugin.cc | 22 |
1 files changed, 17 insertions, 5 deletions
diff --git a/NativeLauncher/installer-plugin/prefer_dotnet_aot_plugin.cc b/NativeLauncher/installer-plugin/prefer_dotnet_aot_plugin.cc index 91928a7..a2e3659 100644 --- a/NativeLauncher/installer-plugin/prefer_dotnet_aot_plugin.cc +++ b/NativeLauncher/installer-plugin/prefer_dotnet_aot_plugin.cc @@ -33,6 +33,11 @@ bool aotPluginInstalled = false; bool aotPluginFinished = false; +typedef struct metadata_s { + const char* key; + const char* value; +} metadata_t; + extern "C" int PKGMGR_MDPARSER_PLUGIN_INSTALL(const char *pkgId, const char *appId, GList *list) { // Can be multiple apps in one package @@ -50,13 +55,20 @@ extern "C" int PKGMGR_MDPARSER_PLUGIN_INSTALL(const char *pkgId, const char *app } } - std::string metaValue = getMetadataValue(std::string(pkgId), AOT_METADATA_KEY); - if (metaValue.empty()) { - _ERR("Failed to get metadata from [%s]", pkgId); - return -1; + bool doAOT = false; + GList* iter = list; + while (iter) { + metadata_t* md = static_cast<metadata_t*>(iter->data); + if (strcmp(AOT_METADATA_KEY, md->key) == 0) { + if (strcmp(METADATA_VALUE_TRUE, md->value) == 0) { + doAOT = true; + } + break; + } + iter = g_list_next(iter); } - if (metaValue == METADATA_VALUE_TRUE) { + if (doAOT) { _DBG("Prefer dotnet application AOT set TRUE"); if (initNICommon() != NI_ERROR_NONE) { |