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 179bd111ac08c6ed06c0b9db5002dd0bf4a67393..fdcb414bfe02b6570a9b63097bf0cbb9a4ee28d9 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 cfcbfcf3a1188ca0da83ff9e5cc3a97a6a3f8a69..e1460c37422913c8ad5c197aa1cbb67f72164546 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 1d73ec51d3f4dfbfade2bdd75a7f3709aa3357a3..4ccf85ea4234541496dab3e51e14cb4e64671c7d 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);