From 254ab5c7520d137401d7ab4bd877c43950beba03 Mon Sep 17 00:00:00 2001 From: zhangzezhong Date: Sat, 28 Jun 2025 14:44:43 +0800 Subject: [PATCH] ON_OFF_0628 Signed-off-by: zhangzezhong --- .../include/ani_ability_access_ctrl.h | 36 +++++++++++++++++++ .../include/ani_request_permission.h | 32 ----------------- .../src/ani_ability_access_ctrl.cpp | 11 ------ 3 files changed, 36 insertions(+), 43 deletions(-) diff --git a/frameworks/ets/ani/accesstoken/include/ani_ability_access_ctrl.h b/frameworks/ets/ani/accesstoken/include/ani_ability_access_ctrl.h index 179bd111a..fdcb414bf 100644 --- a/frameworks/ets/ani/accesstoken/include/ani_ability_access_ctrl.h +++ b/frameworks/ets/ani/accesstoken/include/ani_ability_access_ctrl.h @@ -16,8 +16,12 @@ #ifndef ABILITY_ACCESS_CTRL_H #define ABILITY_ACCESS_CTRL_H +#include +#include + #include "access_token.h" #include "ani_error.h" +#include "perm_state_change_callback_customize.h" namespace OHOS { namespace Security { namespace AccessToken { @@ -44,6 +48,38 @@ struct PermissionStatusCache { int32_t status; std::string paramValue; }; + +class RegisterPermStateChangeScopePtr : public std::enable_shared_from_this, + public PermStateChangeCallbackCustomize { +public: + explicit RegisterPermStateChangeScopePtr(const PermStateChangeScope& subscribeInfo); + ~RegisterPermStateChangeScopePtr() override; + void PermStateChangeCallback(PermStateChangeInfo& result) override; + void SetCallbackRef(const ani_ref& ref); + void SetValid(bool valid); + void SetEnv(ani_env* env); + + void SetVm(ani_vm* vm); + void SetThreadId(const std::thread::id threadId); +private: + bool valid_ = true; + std::mutex validMutex_; + ani_env* env_ = nullptr; + + ani_vm* vm_ = nullptr; + std::thread::id threadId_; + ani_ref ref_ = nullptr; +}; + +struct RegisterPermStateChangeInf { + ani_env* env = nullptr; + ani_ref callbackRef = nullptr; + int32_t errCode = RET_SUCCESS; + std::string permStateChangeType; + std::thread::id threadId; + std::shared_ptr subscriber = nullptr; + PermStateChangeScope scopeInfo; +}; } // namespace AccessToken } // namespace Security } // namespace OHOS diff --git a/frameworks/ets/ani/accesstoken/include/ani_request_permission.h b/frameworks/ets/ani/accesstoken/include/ani_request_permission.h index cfcbfcf3a..e1460c374 100644 --- a/frameworks/ets/ani/accesstoken/include/ani_request_permission.h +++ b/frameworks/ets/ani/accesstoken/include/ani_request_permission.h @@ -115,38 +115,6 @@ struct ResultCallback { void RequestPermissionsFromUserExecute([[maybe_unused]] ani_env* env, [[maybe_unused]] ani_object object, ani_object aniContext, ani_array_ref permissionList, ani_object callback); - -class RegisterPermStateChangeScopePtr : public std::enable_shared_from_this, - public PermStateChangeCallbackCustomize { -public: - explicit RegisterPermStateChangeScopePtr(const PermStateChangeScope& subscribeInfo); - ~RegisterPermStateChangeScopePtr() override; - void PermStateChangeCallback(PermStateChangeInfo& result) override; - void SetCallbackRef(const ani_ref& ref); - void SetValid(bool valid); - void SetEnv(ani_env* env); - - void SetVm(ani_vm* vm); - void SetThreadId(const std::thread::id threadId); -private: - bool valid_ = true; - std::mutex validMutex_; - ani_env* env_ = nullptr; - - ani_vm* vm_ = nullptr; - std::thread::id threadId_; - ani_ref ref_ = nullptr; -}; - -struct RegisterPermStateChangeInf { - ani_env* env = nullptr; - ani_ref callbackRef = nullptr; - int32_t errCode = RET_SUCCESS; - std::string permStateChangeType; - std::thread::id threadId; - std::shared_ptr subscriber = nullptr; - PermStateChangeScope scopeInfo; -}; } // namespace AccessToken } // namespace Security } // namespace OHOS diff --git a/frameworks/ets/ani/accesstoken/src/ani_ability_access_ctrl.cpp b/frameworks/ets/ani/accesstoken/src/ani_ability_access_ctrl.cpp index 1d73ec51d..4ccf85ea4 100644 --- a/frameworks/ets/ani/accesstoken/src/ani_ability_access_ctrl.cpp +++ b/frameworks/ets/ani/accesstoken/src/ani_ability_access_ctrl.cpp @@ -99,17 +99,6 @@ void RegisterPermStateChangeScopePtr::SetThreadId(const std::thread::id threadId threadId_ = threadId; } -static bool SetStringProperty(ani_env* env, ani_object& aniObject, const char* propertyName, const std::string in) -{ - ani_string aniString = CreateAniString(env, in); - if (env->Object_SetPropertyByName_Ref(aniObject, propertyName, aniString) != ANI_OK) { - ACCESSTOKEN_LOG_ERROR(LABEL, "Object_SetPropertyByName_Ref failed!"); - return false; - } - - return true; -} - static void transPermStateChangeTypeToAniInt(const int32_t permStateChangeType, ani_size& index) { index = static_cast(permStateChangeType); -- Gitee