From d1d9dbe0edba8aca263b2717bbc9175a7e53961f Mon Sep 17 00:00:00 2001 From: mmorozov Date: Thu, 24 Apr 2025 13:16:31 +0300 Subject: [PATCH] Add new array API Issue: https://gitee.com/openharmony/arkcompiler_runtime_core/issues/IBX9UI?from=project-issue Signed-off-by: mmorozov --- .../hisysevent/include/hisysevent_ani_util.h | 2 +- .../hisysevent/src/ani_hisysevent_querier.cpp | 4 +-- .../ets/ani/hisysevent/src/hisysevent_ani.cpp | 24 +++++++-------- .../hisysevent/src/hisysevent_ani_util.cpp | 30 +++++++++---------- 4 files changed, 30 insertions(+), 30 deletions(-) diff --git a/interfaces/ets/ani/hisysevent/include/hisysevent_ani_util.h b/interfaces/ets/ani/hisysevent/include/hisysevent_ani_util.h index bde4504..32e42ba 100644 --- a/interfaces/ets/ani/hisysevent/include/hisysevent_ani_util.h +++ b/interfaces/ets/ani/hisysevent/include/hisysevent_ani_util.h @@ -93,7 +93,7 @@ public: static ani_object CreateBool(ani_env *env, bool boolValue); static void CreateHiSysEventInfoJsObject(ani_env *env, const std::string& jsonStr, ani_object& sysEventInfo); static void CreateJsSysEventInfoArray(ani_env *env, const std::vector& originValues, - ani_array_ref& sysEventInfoJsArray); + ani_array& sysEventInfoJsArray); static void AppendInt32PropertyToJsObject(ani_env *env, const std::string& key, const int32_t& value, ani_object& jsObj); static void AppendStringPropertyToJsObject(ani_env *env, const std::string& key, const std::string& value, diff --git a/interfaces/ets/ani/hisysevent/src/ani_hisysevent_querier.cpp b/interfaces/ets/ani/hisysevent/src/ani_hisysevent_querier.cpp index 0f1c90e..3b087e4 100644 --- a/interfaces/ets/ani/hisysevent/src/ani_hisysevent_querier.cpp +++ b/interfaces/ets/ani/hisysevent/src/ani_hisysevent_querier.cpp @@ -60,13 +60,13 @@ void AniHiSysEventQuerier::OnQuery(const std::vector& sysEvents, aniCallbackManager->Add(callbackContextAni, [this, sysEvents, seq] (ani_vm *vm, ani_ref ref, pid_t threadId) { ani_env *env = HiSysEventAniUtil::AttachAniEnv(vm); - ani_array_ref sysEventInfoJsArray = nullptr; + ani_array sysEventInfoJsArray = nullptr; ani_class cls {}; if (ANI_OK != env->FindClass(CLASS_NAME_SYSEVENTINFOANI, &cls)) { HILOG_ERROR(LOG_CORE, "find Class %{public}s failed", CLASS_NAME_SYSEVENTINFOANI); return; } - if (ANI_OK != env->Array_New_Ref(cls, sysEvents.size(), nullptr, &sysEventInfoJsArray)) { + if (ANI_OK != env->Array_New(sysEvents.size(), nullptr, &sysEventInfoJsArray)) { HILOG_ERROR(LOG_CORE, "create object %{public}s failed", CLASS_NAME_SYSEVENTINFOANI); return; } diff --git a/interfaces/ets/ani/hisysevent/src/hisysevent_ani.cpp b/interfaces/ets/ani/hisysevent/src/hisysevent_ani.cpp index 3265275..18f711f 100644 --- a/interfaces/ets/ani/hisysevent/src/hisysevent_ani.cpp +++ b/interfaces/ets/ani/hisysevent/src/hisysevent_ani.cpp @@ -93,12 +93,12 @@ static bool IsValidParamType(AniArgsType type) type < static_cast(AniArgsType::ANI_UNDEFINED)); } -static AniArgsType GetArrayType(ani_env *env, ani_array_ref arrayRef) +static AniArgsType GetArrayType(ani_env *env, ani_array arrayRef) { ani_size index = 0; ani_ref valueRef {}; - if (ANI_OK != env->Array_Get_Ref(static_cast(arrayRef), index, &valueRef)) { - HILOG_ERROR(LOG_CORE, "get first element in array failed."); + if (ANI_OK != env->Array_Get(arrayRef, index, &valueRef)) { + HILOG_ERROR(LOG_CORE, "fail to get first element in array."); return AniArgsType::ANI_UNKNOWN; } return GetArgType(env, static_cast(valueRef)); @@ -107,11 +107,11 @@ static AniArgsType GetArrayType(ani_env *env, ani_array_ref arrayRef) static bool AddArrayParamToEventInfo(ani_env *env, const std::string& key, ani_ref arrayRef, HiSysEventInfo& info) { ani_size size = 0; - if (ANI_OK != env->Array_GetLength(static_cast(arrayRef), &size)) { + if (ANI_OK != env->Array_GetLength(static_cast(arrayRef), &size)) { HILOG_ERROR(LOG_CORE, "get array length failed"); return false; } - AniArgsType arrayType = GetArrayType(env, static_cast(arrayRef)); + AniArgsType arrayType = GetArrayType(env, static_cast(arrayRef)); if (!IsValidParamType(arrayType)) { return false; } @@ -254,13 +254,13 @@ static void ParseWatcher(ani_env *env, ani_object watcher, std::vectorArray_GetLength(static_cast(rulesRef), &size)) { + if (ANI_OK != env->Array_GetLength(static_cast(rulesRef), &size)) { HILOG_ERROR(LOG_CORE, "get array failed"); return; } for (ani_size i = 0; i < size ; i++) { ani_ref value; - auto status = env->Array_Get_Ref(static_cast(rulesRef), i, &value); + auto status = env->Array_Get(static_cast(rulesRef), i, &value); if (status != ANI_OK) { HILOG_ERROR(LOG_CORE, "get %{public}zu item from array failed", i); return; @@ -278,13 +278,13 @@ static QueryRule ParseQueryRule(ani_env *env, const ani_object value) return QueryRule("", names); } ani_size size; - if (ANI_OK != env->Array_GetLength(static_cast(namesRef), &size)) { + if (ANI_OK != env->Array_GetLength(static_cast(namesRef), &size)) { HILOG_ERROR(LOG_CORE, "get array failed"); return QueryRule("", names); } for (ani_size i = 0; i < size ; i++) { ani_ref value; - auto status = env->Array_Get_Ref(static_cast(namesRef), i, &value); + auto status = env->Array_Get(static_cast(namesRef), i, &value); if (status != ANI_OK) { return QueryRule("", names); } @@ -328,13 +328,13 @@ static bool IsQueryRuleValid(ani_env *env, const QueryRule& rule) static int32_t ParseQueryRules(ani_env *env, ani_array rulesAni, std::vector &rules) { ani_size size; - if (ANI_OK != env->Array_GetLength(static_cast(rulesAni), &size)) { + if (ANI_OK != env->Array_GetLength(static_cast(rulesAni), &size)) { HILOG_ERROR(LOG_CORE, "get array failed"); return ERR_ANI_PARSED_FAILED; } for (ani_size i = 0; i < size ; i++) { ani_ref value; - auto status = env->Array_Get_Ref(static_cast(rulesAni), i, &value); + auto status = env->Array_Get(static_cast(rulesAni), i, &value); if (status != ANI_OK) { HILOG_ERROR(LOG_CORE, "get %{public}zu item from array failed", i); return ERR_ANI_PARSED_FAILED; @@ -514,7 +514,7 @@ static void GetStack(ani_env *env, std::string &stackTrace) } for (ani_size i = 0; i < length; i++) { ani_ref stackTraceElementRef = nullptr; - status = env->Array_Get_Ref(static_cast(stackTraceElementArray), i, &stackTraceElementRef); + status = env->Array_Get(static_cast(stackTraceElementArray), i, &stackTraceElementRef); if (ANI_OK != status) { HILOG_ERROR(LOG_CORE, "get %{public}zu item from array failed", i); } diff --git a/interfaces/ets/ani/hisysevent/src/hisysevent_ani_util.cpp b/interfaces/ets/ani/hisysevent/src/hisysevent_ani_util.cpp index ee840e6..bab506c 100644 --- a/interfaces/ets/ani/hisysevent/src/hisysevent_ani_util.cpp +++ b/interfaces/ets/ani/hisysevent/src/hisysevent_ani_util.cpp @@ -625,14 +625,14 @@ static bool CreateParamItemTypeValue(ani_env *env, Json::Value& jsonValue, ani_o static void AppendArrayParams(ani_env *env, ani_object& sysEventInfo, std::string& key, Json::Value& value) { size_t len = value.size(); - ani_array_ref array = nullptr; + ani_array array = nullptr; ani_class cls; if (ANI_OK != env->FindClass(CLASS_NAME_SYSEVENTINFOANI, &cls)) { HILOG_ERROR(LOG_CORE, "find class %{public}s failed", CLASS_NAME_SYSEVENTINFOANI); return; } ani_ref initial_array = nullptr; - if (ANI_OK != env->Array_New_Ref(cls, len, initial_array, &array)) { + if (ANI_OK != env->Array_New(len, initial_array, &array)) { HILOG_ERROR(LOG_CORE, "create %{public}s array failed", CLASS_NAME_SYSEVENTINFOANI); return; } @@ -641,7 +641,7 @@ static void AppendArrayParams(ani_env *env, ani_object& sysEventInfo, std::strin if (!CreateParamItemTypeValue(env, value[static_cast(i)], item)) { continue; } - if (ANI_OK != env->Array_Set_Ref(array, i, static_cast(item))) { + if (ANI_OK != env->Array_Set(array, i, static_cast(item))) { HILOG_ERROR(LOG_CORE, "set %{public}zu item failed", i); return; } @@ -672,7 +672,7 @@ static bool IsBaseInfoKey(std::string& propertyName) } void HiSysEventAniUtil::CreateJsSysEventInfoArray(ani_env *env, const std::vector& originValues, - ani_array_ref& sysEventInfoJsArray) + ani_array& sysEventInfoJsArray) { auto len = originValues.size(); ani_class cls; @@ -692,7 +692,7 @@ void HiSysEventAniUtil::CreateJsSysEventInfoArray(ani_env *env, const std::vecto return; } CreateHiSysEventInfoJsObject(env, originValues[i], sysEventInfo); - ani_status ret = env->Array_Set_Ref(sysEventInfoJsArray, i, static_cast(sysEventInfo)); + ani_status ret = env->Array_Set(sysEventInfoJsArray, i, static_cast(sysEventInfo)); if (ret != ANI_OK) { HILOG_DEBUG(LOG_CORE, "set %{public}zu sysEventInfo failed", i); } @@ -789,13 +789,13 @@ void HiSysEventAniUtil::DetachAniEnv(ani_vm *vm) void HiSysEventAniUtil::GetBooleans(ani_env *env, ani_ref arrayRef, std::vector& bools) { ani_size len = 0; - if (ANI_OK != env->Array_GetLength(static_cast(arrayRef), &len)) { + if (ANI_OK != env->Array_GetLength(static_cast(arrayRef), &len)) { HILOG_ERROR(LOG_CORE, "failed to get the length of array"); return; } for (ani_size i = 0; i < len; i++) { ani_ref element = nullptr; - if (ANI_OK != env->Array_Get_Ref(static_cast(arrayRef), i, &element)) { + if (ANI_OK != env->Array_Get(static_cast(arrayRef), i, &element)) { HILOG_ERROR(LOG_CORE, "failed to get the element of array"); return; } @@ -806,13 +806,13 @@ void HiSysEventAniUtil::GetBooleans(ani_env *env, ani_ref arrayRef, std::vector< void HiSysEventAniUtil::GetDoubles(ani_env *env, ani_ref arrayRef, std::vector& doubles) { ani_size len = 0; - if (ANI_OK != env->Array_GetLength(static_cast(arrayRef), &len)) { + if (ANI_OK != env->Array_GetLength(static_cast(arrayRef), &len)) { HILOG_ERROR(LOG_CORE, "failed to get the length of array"); return; } for (ani_size i = 0; i < len; i++) { ani_ref element = nullptr; - if (ANI_OK != env->Array_Get_Ref(static_cast(arrayRef), i, &element)) { + if (ANI_OK != env->Array_Get(static_cast(arrayRef), i, &element)) { HILOG_ERROR(LOG_CORE, "failed to get the element of array"); return; } @@ -823,13 +823,13 @@ void HiSysEventAniUtil::GetDoubles(ani_env *env, ani_ref arrayRef, std::vector& strs) { ani_size len = 0; - if (ANI_OK != env->Array_GetLength(static_cast(arrayRef), &len)) { + if (ANI_OK != env->Array_GetLength(static_cast(arrayRef), &len)) { HILOG_ERROR(LOG_CORE, "failed to get the length of array"); return; } for (ani_size i = 0; i < len; i++) { ani_ref element = nullptr; - if (ANI_OK != env->Array_Get_Ref(static_cast(arrayRef), i, &element)) { + if (ANI_OK != env->Array_Get(static_cast(arrayRef), i, &element)) { HILOG_ERROR(LOG_CORE, "failed to get the element of array"); return; } @@ -840,13 +840,13 @@ void HiSysEventAniUtil::GetStrings(ani_env *env, ani_ref arrayRef, std::vector& doubles) { ani_size len = 0; - if (ANI_OK != env->Array_GetLength(static_cast(arrayRef), &len)) { + if (ANI_OK != env->Array_GetLength(static_cast(arrayRef), &len)) { HILOG_ERROR(LOG_CORE, "failed to get the length of array"); return; } for (ani_size i = 0; i < len; i++) { ani_ref element = nullptr; - if (ANI_OK != env->Array_Get_Ref(static_cast(arrayRef), i, &element)) { + if (ANI_OK != env->Array_Get(static_cast(arrayRef), i, &element)) { HILOG_ERROR(LOG_CORE, "failed to get the element of array"); return; } @@ -857,13 +857,13 @@ void HiSysEventAniUtil::GetIntsToDoubles(ani_env *env, ani_ref arrayRef, std::ve void HiSysEventAniUtil::GetBigints(ani_env *env, ani_ref arrayRef, std::vector& bigints) { ani_size len = 0; - if (ANI_OK != env->Array_GetLength(static_cast(arrayRef), &len)) { + if (ANI_OK != env->Array_GetLength(static_cast(arrayRef), &len)) { HILOG_ERROR(LOG_CORE, "failed to get the length of array"); return; } for (ani_size i = 0; i < len; i++) { ani_ref element = nullptr; - if (ANI_OK != env->Array_Get_Ref(static_cast(arrayRef), i, &element)) { + if (ANI_OK != env->Array_Get(static_cast(arrayRef), i, &element)) { HILOG_ERROR(LOG_CORE, "failed to get the element of array"); return; } -- Gitee