mirror of
https://gitee.com/openharmony/graphic_graphic_2d
synced 2024-11-27 01:00:50 +00:00
删除ipc_callbacks权限校验
Signed-off-by: 周思远 <zhousiyuan8@huawei.com>
This commit is contained in:
parent
a327353f01
commit
7948fbdf2a
@ -13,23 +13,14 @@
|
|||||||
|
|
||||||
# any change to rosen/modules/render_service_base*/*_ipc_interface_code*.h needs to be reviewed by @leonchan5
|
# any change to rosen/modules/render_service_base*/*_ipc_interface_code*.h needs to be reviewed by @leonchan5
|
||||||
foundation/graphic/graphic_2d/rosen/modules/render_service_base/include/ipc_callbacks/buffer_available_callback_ipc_interface_code.h @leonchan5
|
foundation/graphic/graphic_2d/rosen/modules/render_service_base/include/ipc_callbacks/buffer_available_callback_ipc_interface_code.h @leonchan5
|
||||||
foundation/graphic/graphic_2d/rosen/modules/render_service_base/include/ipc_callbacks/buffer_available_callback_ipc_interface_code_access_verifier.h @leonchan5
|
|
||||||
foundation/graphic/graphic_2d/rosen/modules/render_service_base/include/ipc_callbacks/buffer_clear_callback_ipc_interface_code.h @leonchan5
|
foundation/graphic/graphic_2d/rosen/modules/render_service_base/include/ipc_callbacks/buffer_clear_callback_ipc_interface_code.h @leonchan5
|
||||||
foundation/graphic/graphic_2d/rosen/modules/render_service_base/include/ipc_callbacks/buffer_clear_callback_ipc_interface_code_access_verifier.h @leonchan5
|
|
||||||
foundation/graphic/graphic_2d/rosen/modules/render_service_base/include/ipc_callbacks/iapplication_agent_ipc_interface_code.h @leonchan5
|
foundation/graphic/graphic_2d/rosen/modules/render_service_base/include/ipc_callbacks/iapplication_agent_ipc_interface_code.h @leonchan5
|
||||||
foundation/graphic/graphic_2d/rosen/modules/render_service_base/include/ipc_callbacks/iapplication_agent_ipc_interface_code_access_verifier.h @leonchan5
|
|
||||||
foundation/graphic/graphic_2d/rosen/modules/render_service_base/include/ipc_callbacks/rs_ihgm_config_change_callback_ipc_interface_code.h @leonchan5
|
foundation/graphic/graphic_2d/rosen/modules/render_service_base/include/ipc_callbacks/rs_ihgm_config_change_callback_ipc_interface_code.h @leonchan5
|
||||||
foundation/graphic/graphic_2d/rosen/modules/render_service_base/include/ipc_callbacks/rs_ihgm_config_change_callback_ipc_interface_code_access_verifier.h @leonchan5
|
|
||||||
foundation/graphic/graphic_2d/rosen/modules/render_service_base/include/ipc_callbacks/rs_iocclusion_change_callback_ipc_interface_code.h @leonchan5
|
foundation/graphic/graphic_2d/rosen/modules/render_service_base/include/ipc_callbacks/rs_iocclusion_change_callback_ipc_interface_code.h @leonchan5
|
||||||
foundation/graphic/graphic_2d/rosen/modules/render_service_base/include/ipc_callbacks/rs_iocclusion_change_callback_ipc_interface_code_access_verifier.h @leonchan5
|
|
||||||
foundation/graphic/graphic_2d/rosen/modules/render_service_base/include/ipc_callbacks/rs_isurface_occlusion_change_callback_ipc_interface_code.h @leonchan5
|
foundation/graphic/graphic_2d/rosen/modules/render_service_base/include/ipc_callbacks/rs_isurface_occlusion_change_callback_ipc_interface_code.h @leonchan5
|
||||||
foundation/graphic/graphic_2d/rosen/modules/render_service_base/include/ipc_callbacks/rs_isurface_occlusion_change_callback_ipc_interface_code_access_verifier.h @leonchan5
|
|
||||||
foundation/graphic/graphic_2d/rosen/modules/render_service_base/include/ipc_callbacks/rs_isync_transaction_controller_ipc_interface_code.h @leonchan5
|
foundation/graphic/graphic_2d/rosen/modules/render_service_base/include/ipc_callbacks/rs_isync_transaction_controller_ipc_interface_code.h @leonchan5
|
||||||
foundation/graphic/graphic_2d/rosen/modules/render_service_base/include/ipc_callbacks/rs_isync_transaction_controller_ipc_interface_code_access_verifier.h @leonchan5
|
|
||||||
foundation/graphic/graphic_2d/rosen/modules/render_service_base/include/ipc_callbacks/screen_change_callback_ipc_interface_code.h @leonchan5
|
foundation/graphic/graphic_2d/rosen/modules/render_service_base/include/ipc_callbacks/screen_change_callback_ipc_interface_code.h @leonchan5
|
||||||
foundation/graphic/graphic_2d/rosen/modules/render_service_base/include/ipc_callbacks/screen_change_callback_ipc_interface_code_access_verifier.h @leonchan5
|
|
||||||
foundation/graphic/graphic_2d/rosen/modules/render_service_base/include/ipc_callbacks/surface_capture_callback_ipc_interface_code.h @leonchan5
|
foundation/graphic/graphic_2d/rosen/modules/render_service_base/include/ipc_callbacks/surface_capture_callback_ipc_interface_code.h @leonchan5
|
||||||
foundation/graphic/graphic_2d/rosen/modules/render_service_base/include/ipc_callbacks/surface_capture_callback_ipc_interface_code_access_verifier.h @leonchan5
|
|
||||||
foundation/graphic/graphic_2d/rosen/modules/render_service_base/include/ipc_security/rs_ipc_interface_code_access_verifier_base.h @leonchan5
|
foundation/graphic/graphic_2d/rosen/modules/render_service_base/include/ipc_security/rs_ipc_interface_code_access_verifier_base.h @leonchan5
|
||||||
foundation/graphic/graphic_2d/rosen/modules/render_service_base/include/ipc_security/rs_ipc_interface_code_security_manager.h @leonchan5
|
foundation/graphic/graphic_2d/rosen/modules/render_service_base/include/ipc_security/rs_ipc_interface_code_security_manager.h @leonchan5
|
||||||
foundation/graphic/graphic_2d/rosen/modules/render_service_base/include/ipc_security/rs_ipc_interface_code_underlying_type.h @leonchan5
|
foundation/graphic/graphic_2d/rosen/modules/render_service_base/include/ipc_security/rs_ipc_interface_code_underlying_type.h @leonchan5
|
||||||
|
@ -149,35 +149,25 @@ ohos_source_set("render_service_base_src") {
|
|||||||
"src/delegate/rs_functional_delegate.cpp",
|
"src/delegate/rs_functional_delegate.cpp",
|
||||||
|
|
||||||
#ipc_callbacks
|
#ipc_callbacks
|
||||||
"src/ipc_callbacks/buffer_available_callback_ipc_interface_code_access_verifier.cpp",
|
|
||||||
"src/ipc_callbacks/buffer_available_callback_proxy.cpp",
|
"src/ipc_callbacks/buffer_available_callback_proxy.cpp",
|
||||||
"src/ipc_callbacks/buffer_available_callback_stub.cpp",
|
"src/ipc_callbacks/buffer_available_callback_stub.cpp",
|
||||||
"src/ipc_callbacks/buffer_clear_callback_ipc_interface_code_access_verifier.cpp",
|
|
||||||
"src/ipc_callbacks/buffer_clear_callback_proxy.cpp",
|
"src/ipc_callbacks/buffer_clear_callback_proxy.cpp",
|
||||||
"src/ipc_callbacks/buffer_clear_callback_stub.cpp",
|
"src/ipc_callbacks/buffer_clear_callback_stub.cpp",
|
||||||
"src/ipc_callbacks/hgm_config_change_callback_proxy.cpp",
|
"src/ipc_callbacks/hgm_config_change_callback_proxy.cpp",
|
||||||
"src/ipc_callbacks/hgm_config_change_callback_stub.cpp",
|
"src/ipc_callbacks/hgm_config_change_callback_stub.cpp",
|
||||||
"src/ipc_callbacks/iapplication_agent_ipc_interface_code_access_verifier.cpp",
|
|
||||||
"src/ipc_callbacks/rs_application_agent_proxy.cpp",
|
"src/ipc_callbacks/rs_application_agent_proxy.cpp",
|
||||||
"src/ipc_callbacks/rs_application_agent_stub.cpp",
|
"src/ipc_callbacks/rs_application_agent_stub.cpp",
|
||||||
"src/ipc_callbacks/rs_ihgm_config_change_callback_ipc_interface_code_access_verifier.cpp",
|
|
||||||
"src/ipc_callbacks/rs_iocclusion_change_callback_ipc_interface_code_access_verifier.cpp",
|
|
||||||
"src/ipc_callbacks/rs_isurface_occlusion_change_callback_ipc_interface_code_access_verifier.cpp",
|
|
||||||
"src/ipc_callbacks/rs_iuiextension_callback_ipc_interface_code_access_verifier.cpp",
|
|
||||||
"src/ipc_callbacks/rs_occlusion_change_callback_proxy.cpp",
|
"src/ipc_callbacks/rs_occlusion_change_callback_proxy.cpp",
|
||||||
"src/ipc_callbacks/rs_occlusion_change_callback_stub.cpp",
|
"src/ipc_callbacks/rs_occlusion_change_callback_stub.cpp",
|
||||||
"src/ipc_callbacks/rs_rt_refresh_callback.cpp",
|
"src/ipc_callbacks/rs_rt_refresh_callback.cpp",
|
||||||
"src/ipc_callbacks/rs_surface_buffer_callback_ipc_interface_code_access_verifier.cpp",
|
|
||||||
"src/ipc_callbacks/rs_surface_buffer_callback_proxy.cpp",
|
"src/ipc_callbacks/rs_surface_buffer_callback_proxy.cpp",
|
||||||
"src/ipc_callbacks/rs_surface_buffer_callback_stub.cpp",
|
"src/ipc_callbacks/rs_surface_buffer_callback_stub.cpp",
|
||||||
"src/ipc_callbacks/rs_surface_occlusion_change_callback_proxy.cpp",
|
"src/ipc_callbacks/rs_surface_occlusion_change_callback_proxy.cpp",
|
||||||
"src/ipc_callbacks/rs_surface_occlusion_change_callback_stub.cpp",
|
"src/ipc_callbacks/rs_surface_occlusion_change_callback_stub.cpp",
|
||||||
"src/ipc_callbacks/rs_uiextension_callback_proxy.cpp",
|
"src/ipc_callbacks/rs_uiextension_callback_proxy.cpp",
|
||||||
"src/ipc_callbacks/rs_uiextension_callback_stub.cpp",
|
"src/ipc_callbacks/rs_uiextension_callback_stub.cpp",
|
||||||
"src/ipc_callbacks/screen_change_callback_ipc_interface_code_access_verifier.cpp",
|
|
||||||
"src/ipc_callbacks/screen_change_callback_proxy.cpp",
|
"src/ipc_callbacks/screen_change_callback_proxy.cpp",
|
||||||
"src/ipc_callbacks/screen_change_callback_stub.cpp",
|
"src/ipc_callbacks/screen_change_callback_stub.cpp",
|
||||||
"src/ipc_callbacks/surface_capture_callback_ipc_interface_code_access_verifier.cpp",
|
|
||||||
"src/ipc_callbacks/surface_capture_callback_proxy.cpp",
|
"src/ipc_callbacks/surface_capture_callback_proxy.cpp",
|
||||||
"src/ipc_callbacks/surface_capture_callback_stub.cpp",
|
"src/ipc_callbacks/surface_capture_callback_stub.cpp",
|
||||||
|
|
||||||
@ -344,25 +334,18 @@ ohos_source_set("render_service_base_src") {
|
|||||||
"src/common/rs_thread_looper_impl.cpp",
|
"src/common/rs_thread_looper_impl.cpp",
|
||||||
|
|
||||||
#ipc_callbacks
|
#ipc_callbacks
|
||||||
"src/ipc_callbacks/buffer_available_callback_ipc_interface_code_access_verifier.cpp",
|
|
||||||
"src/ipc_callbacks/buffer_available_callback_proxy.cpp",
|
"src/ipc_callbacks/buffer_available_callback_proxy.cpp",
|
||||||
"src/ipc_callbacks/buffer_available_callback_stub.cpp",
|
"src/ipc_callbacks/buffer_available_callback_stub.cpp",
|
||||||
"src/ipc_callbacks/buffer_clear_callback_ipc_interface_code_access_verifier.cpp",
|
|
||||||
"src/ipc_callbacks/buffer_clear_callback_proxy.cpp",
|
"src/ipc_callbacks/buffer_clear_callback_proxy.cpp",
|
||||||
"src/ipc_callbacks/buffer_clear_callback_stub.cpp",
|
"src/ipc_callbacks/buffer_clear_callback_stub.cpp",
|
||||||
"src/ipc_callbacks/hgm_config_change_callback_proxy.cpp",
|
"src/ipc_callbacks/hgm_config_change_callback_proxy.cpp",
|
||||||
"src/ipc_callbacks/hgm_config_change_callback_stub.cpp",
|
"src/ipc_callbacks/hgm_config_change_callback_stub.cpp",
|
||||||
"src/ipc_callbacks/rs_ihgm_config_change_callback_ipc_interface_code_access_verifier.cpp",
|
|
||||||
"src/ipc_callbacks/rs_iocclusion_change_callback_ipc_interface_code_access_verifier.cpp",
|
|
||||||
"src/ipc_callbacks/rs_isurface_occlusion_change_callback_ipc_interface_code_access_verifier.cpp",
|
|
||||||
"src/ipc_callbacks/rs_occlusion_change_callback_proxy.cpp",
|
"src/ipc_callbacks/rs_occlusion_change_callback_proxy.cpp",
|
||||||
"src/ipc_callbacks/rs_occlusion_change_callback_stub.cpp",
|
"src/ipc_callbacks/rs_occlusion_change_callback_stub.cpp",
|
||||||
"src/ipc_callbacks/rs_surface_occlusion_change_callback_proxy.cpp",
|
"src/ipc_callbacks/rs_surface_occlusion_change_callback_proxy.cpp",
|
||||||
"src/ipc_callbacks/rs_surface_occlusion_change_callback_stub.cpp",
|
"src/ipc_callbacks/rs_surface_occlusion_change_callback_stub.cpp",
|
||||||
"src/ipc_callbacks/screen_change_callback_ipc_interface_code_access_verifier.cpp",
|
|
||||||
"src/ipc_callbacks/screen_change_callback_proxy.cpp",
|
"src/ipc_callbacks/screen_change_callback_proxy.cpp",
|
||||||
"src/ipc_callbacks/screen_change_callback_stub.cpp",
|
"src/ipc_callbacks/screen_change_callback_stub.cpp",
|
||||||
"src/ipc_callbacks/surface_capture_callback_ipc_interface_code_access_verifier.cpp",
|
|
||||||
"src/ipc_callbacks/surface_capture_callback_proxy.cpp",
|
"src/ipc_callbacks/surface_capture_callback_proxy.cpp",
|
||||||
"src/ipc_callbacks/surface_capture_callback_stub.cpp",
|
"src/ipc_callbacks/surface_capture_callback_stub.cpp",
|
||||||
|
|
||||||
|
@ -1,46 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (c) 2023 Huawei Device Co., Ltd.
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef ROSEN_RENDER_SERVICE_BASE_IBUFFER_AVAILABLE_CALLBACK_INTERFACE_CODE_ACCESS_VERIFIER_H
|
|
||||||
#define ROSEN_RENDER_SERVICE_BASE_IBUFFER_AVAILABLE_CALLBACK_INTERFACE_CODE_ACCESS_VERIFIER_H
|
|
||||||
|
|
||||||
#include "ipc_security/rs_ipc_interface_code_access_verifier_base.h"
|
|
||||||
#include "ipc_callbacks/buffer_available_callback_ipc_interface_code.h"
|
|
||||||
|
|
||||||
namespace OHOS {
|
|
||||||
namespace Rosen {
|
|
||||||
class RSIBufferAvailableCallbackInterfaceCodeAccessVerifier : public RSInterfaceCodeAccessVerifierBase {
|
|
||||||
public:
|
|
||||||
/*
|
|
||||||
* specify the enum class of the associated interface code (i.e. CodeEnumType) here
|
|
||||||
* note that term **CodeEnumType** should not be changed
|
|
||||||
*/
|
|
||||||
using CodeEnumType = RSIBufferAvailableCallbackInterfaceCode;
|
|
||||||
static inline const std::string codeEnumTypeName_{"RSIBufferAvailableCallbackInterfaceCode"};
|
|
||||||
|
|
||||||
/* specify constructor and destructor here */
|
|
||||||
RSIBufferAvailableCallbackInterfaceCodeAccessVerifier();
|
|
||||||
~RSIBufferAvailableCallbackInterfaceCodeAccessVerifier() noexcept override = default;
|
|
||||||
|
|
||||||
protected:
|
|
||||||
/* specify exclusive verification rules here */
|
|
||||||
bool IsExclusiveVerificationPassed(CodeUnderlyingType code) override;
|
|
||||||
|
|
||||||
private:
|
|
||||||
DISALLOW_COPY_AND_MOVE(RSIBufferAvailableCallbackInterfaceCodeAccessVerifier);
|
|
||||||
};
|
|
||||||
} // namespace Rosen
|
|
||||||
} // namespace OHOS
|
|
||||||
#endif // ROSEN_RENDER_SERVICE_BASE_IBUFFER_AVAILABLE_CALLBACK_INTERFACE_CODE_ACCESS_VERIFIER_H
|
|
@ -1,46 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (c) 2023 Huawei Device Co., Ltd.
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef ROSEN_RENDER_SERVICE_BASE_IBUFFER_CLEAR_CALLBACK_INTERFACE_CODE_ACCESS_VERIFIER_H
|
|
||||||
#define ROSEN_RENDER_SERVICE_BASE_IBUFFER_CLEAR_CALLBACK_INTERFACE_CODE_ACCESS_VERIFIER_H
|
|
||||||
|
|
||||||
#include "ipc_security/rs_ipc_interface_code_access_verifier_base.h"
|
|
||||||
#include "ipc_callbacks/buffer_clear_callback_ipc_interface_code.h"
|
|
||||||
|
|
||||||
namespace OHOS {
|
|
||||||
namespace Rosen {
|
|
||||||
class RSIBufferClearCallbackInterfaceCodeAccessVerifier : public RSInterfaceCodeAccessVerifierBase {
|
|
||||||
public:
|
|
||||||
/*
|
|
||||||
* specify the enum class of the associated interface code (i.e. CodeEnumType) here
|
|
||||||
* note that term **CodeEnumType** should not be changed
|
|
||||||
*/
|
|
||||||
using CodeEnumType = RSIBufferClearCallbackInterfaceCode;
|
|
||||||
static inline const std::string codeEnumTypeName_{"RSIBufferClearCallbackInterfaceCode"};
|
|
||||||
|
|
||||||
/* specify constructor and destructor here */
|
|
||||||
RSIBufferClearCallbackInterfaceCodeAccessVerifier();
|
|
||||||
~RSIBufferClearCallbackInterfaceCodeAccessVerifier() noexcept override = default;
|
|
||||||
|
|
||||||
protected:
|
|
||||||
/* specify exclusive verification rules here */
|
|
||||||
bool IsExclusiveVerificationPassed(CodeUnderlyingType code) override;
|
|
||||||
|
|
||||||
private:
|
|
||||||
DISALLOW_COPY_AND_MOVE(RSIBufferClearCallbackInterfaceCodeAccessVerifier);
|
|
||||||
};
|
|
||||||
} // namespace Rosen
|
|
||||||
} // namespace OHOS
|
|
||||||
#endif // ROSEN_RENDER_SERVICE_BASE_IBUFFER_CLEAR_CALLBACK_INTERFACE_CODE_ACCESS_VERIFIER_H
|
|
@ -1,46 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (c) 2023 Huawei Device Co., Ltd.
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef ROSEN_RENDER_SERVICE_BASE_IAPPLICATION_AGENT_INTERFACE_CODE_ACCESS_VERIFIER_H
|
|
||||||
#define ROSEN_RENDER_SERVICE_BASE_IAPPLICATION_AGENT_INTERFACE_CODE_ACCESS_VERIFIER_H
|
|
||||||
|
|
||||||
#include "ipc_security/rs_ipc_interface_code_access_verifier_base.h"
|
|
||||||
#include "ipc_callbacks/iapplication_agent_ipc_interface_code.h"
|
|
||||||
|
|
||||||
namespace OHOS {
|
|
||||||
namespace Rosen {
|
|
||||||
class IApplicationAgentInterfaceCodeAccessVerifier : public RSInterfaceCodeAccessVerifierBase {
|
|
||||||
public:
|
|
||||||
/*
|
|
||||||
* specify the enum class of the associated interface code (i.e. CodeEnumType) here
|
|
||||||
* note that term **CodeEnumType** should not be changed
|
|
||||||
*/
|
|
||||||
using CodeEnumType = IApplicationAgentInterfaceCode;
|
|
||||||
static inline const std::string codeEnumTypeName_{"IApplicationAgentInterfaceCode"};
|
|
||||||
|
|
||||||
/* specify constructor and destructor here */
|
|
||||||
IApplicationAgentInterfaceCodeAccessVerifier();
|
|
||||||
~IApplicationAgentInterfaceCodeAccessVerifier() noexcept override = default;
|
|
||||||
|
|
||||||
protected:
|
|
||||||
/* specify exclusive verification rules here */
|
|
||||||
bool IsExclusiveVerificationPassed(CodeUnderlyingType code) override;
|
|
||||||
|
|
||||||
private:
|
|
||||||
DISALLOW_COPY_AND_MOVE(IApplicationAgentInterfaceCodeAccessVerifier);
|
|
||||||
};
|
|
||||||
} // namespace Rosen
|
|
||||||
} // namespace OHOS
|
|
||||||
#endif // ROSEN_RENDER_SERVICE_BASE_IAPPLICATION_AGENT_INTERFACE_CODE_ACCESS_VERIFIER_H
|
|
@ -1,46 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (c) 2023 Huawei Device Co., Ltd.
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef ROSEN_RENDER_SERVICE_BASE_RS_IHGM_CONFIG_CHANGE_CALLBACK_INTERFACE_CODE_ACCESS_VERIFIER_H
|
|
||||||
#define ROSEN_RENDER_SERVICE_BASE_RS_IHGM_CONFIG_CHANGE_CALLBACK_INTERFACE_CODE_ACCESS_VERIFIER_H
|
|
||||||
|
|
||||||
#include "ipc_security/rs_ipc_interface_code_access_verifier_base.h"
|
|
||||||
#include "ipc_callbacks/rs_ihgm_config_change_callback_ipc_interface_code.h"
|
|
||||||
|
|
||||||
namespace OHOS {
|
|
||||||
namespace Rosen {
|
|
||||||
class RSIHgmConfigChangeCallbackInterfaceCodeAccessVerifier : public RSInterfaceCodeAccessVerifierBase {
|
|
||||||
public:
|
|
||||||
/*
|
|
||||||
* specify the enum class of the associated interface code (i.e. CodeEnumType) here
|
|
||||||
* note that term **CodeEnumType** should not be changed
|
|
||||||
*/
|
|
||||||
using CodeEnumType = RSIHgmConfigChangeCallbackInterfaceCode;
|
|
||||||
static inline const std::string codeEnumTypeName_{"RSIHgmConfigChangeCallbackInterfaceCode"};
|
|
||||||
|
|
||||||
/* specify constructor and destructor here */
|
|
||||||
RSIHgmConfigChangeCallbackInterfaceCodeAccessVerifier();
|
|
||||||
~RSIHgmConfigChangeCallbackInterfaceCodeAccessVerifier() noexcept override = default;
|
|
||||||
|
|
||||||
protected:
|
|
||||||
/* specify exclusive verification rules here */
|
|
||||||
bool IsExclusiveVerificationPassed(CodeUnderlyingType code) override;
|
|
||||||
|
|
||||||
private:
|
|
||||||
DISALLOW_COPY_AND_MOVE(RSIHgmConfigChangeCallbackInterfaceCodeAccessVerifier);
|
|
||||||
};
|
|
||||||
} // namespace Rosen
|
|
||||||
} // namespace OHOS
|
|
||||||
#endif // ROSEN_RENDER_SERVICE_BASE_RS_IHGM_CONFIG_CHANGE_CALLBACK_INTERFACE_CODE_ACCESS_VERIFIER_H
|
|
@ -1,46 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (c) 2023 Huawei Device Co., Ltd.
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef ROSEN_RENDER_SERVICE_BASE_RS_IRENDER_OCCLUSION_CHANGE_CALLBACK_INTERFACE_CODE_ACCESS_VERIFIER_H
|
|
||||||
#define ROSEN_RENDER_SERVICE_BASE_RS_IRENDER_OCCLUSION_CHANGE_CALLBACK_INTERFACE_CODE_ACCESS_VERIFIER_H
|
|
||||||
|
|
||||||
#include "ipc_security/rs_ipc_interface_code_access_verifier_base.h"
|
|
||||||
#include "ipc_callbacks/rs_iocclusion_change_callback_ipc_interface_code.h"
|
|
||||||
|
|
||||||
namespace OHOS {
|
|
||||||
namespace Rosen {
|
|
||||||
class RSIOcclusionChangeCallbackInterfaceCodeAccessVerifier : public RSInterfaceCodeAccessVerifierBase {
|
|
||||||
public:
|
|
||||||
/*
|
|
||||||
* specify the enum class of the associated interface code (i.e. CodeEnumType) here
|
|
||||||
* note that term **CodeEnumType** should not be changed
|
|
||||||
*/
|
|
||||||
using CodeEnumType = RSIOcclusionChangeCallbackInterfaceCode;
|
|
||||||
static inline const std::string codeEnumTypeName_{"RSIOcclusionChangeCallbackInterfaceCode"};
|
|
||||||
|
|
||||||
/* specify constructor and destructor here */
|
|
||||||
RSIOcclusionChangeCallbackInterfaceCodeAccessVerifier();
|
|
||||||
~RSIOcclusionChangeCallbackInterfaceCodeAccessVerifier() noexcept override = default;
|
|
||||||
|
|
||||||
protected:
|
|
||||||
/* specify exclusive verification rules here */
|
|
||||||
bool IsExclusiveVerificationPassed(CodeUnderlyingType code) override;
|
|
||||||
|
|
||||||
private:
|
|
||||||
DISALLOW_COPY_AND_MOVE(RSIOcclusionChangeCallbackInterfaceCodeAccessVerifier);
|
|
||||||
};
|
|
||||||
} // namespace Rosen
|
|
||||||
} // namespace OHOS
|
|
||||||
#endif // ROSEN_RENDER_SERVICE_BASE_RS_IRENDER_OCCLUSION_CHANGE_CALLBACK_INTERFACE_CODE_ACCESS_VERIFIER_H
|
|
@ -1,46 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (c) 2023 Huawei Device Co., Ltd.
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef ROSEN_RENDER_SERVICE_BASE_RS_IRENDER_SURFACE_OCCLUSION_CHANGE_CALLBACK_INTERFACE_CODE_ACCESS_VERIFIER_H
|
|
||||||
#define ROSEN_RENDER_SERVICE_BASE_RS_IRENDER_SURFACE_OCCLUSION_CHANGE_CALLBACK_INTERFACE_CODE_ACCESS_VERIFIER_H
|
|
||||||
|
|
||||||
#include "ipc_security/rs_ipc_interface_code_access_verifier_base.h"
|
|
||||||
#include "ipc_callbacks/rs_isurface_occlusion_change_callback_ipc_interface_code.h"
|
|
||||||
|
|
||||||
namespace OHOS {
|
|
||||||
namespace Rosen {
|
|
||||||
class RSISurfaceOcclusionChangeCallbackInterfaceCodeAccessVerifier : public RSInterfaceCodeAccessVerifierBase {
|
|
||||||
public:
|
|
||||||
/*
|
|
||||||
* specify the enum class of the associated interface code (i.e. CodeEnumType) here
|
|
||||||
* note that term **CodeEnumType** should not be changed
|
|
||||||
*/
|
|
||||||
using CodeEnumType = RSISurfaceOcclusionChangeCallbackInterfaceCode;
|
|
||||||
static inline const std::string codeEnumTypeName_{"RSISurfaceOcclusionChangeCallbackInterfaceCode"};
|
|
||||||
|
|
||||||
/* specify constructor and destructor here */
|
|
||||||
RSISurfaceOcclusionChangeCallbackInterfaceCodeAccessVerifier();
|
|
||||||
virtual ~RSISurfaceOcclusionChangeCallbackInterfaceCodeAccessVerifier() noexcept override = default;
|
|
||||||
|
|
||||||
protected:
|
|
||||||
/* specify exclusive verification rules here */
|
|
||||||
bool IsExclusiveVerificationPassed(CodeUnderlyingType code) override;
|
|
||||||
|
|
||||||
private:
|
|
||||||
DISALLOW_COPY_AND_MOVE(RSISurfaceOcclusionChangeCallbackInterfaceCodeAccessVerifier);
|
|
||||||
};
|
|
||||||
} // namespace Rosen
|
|
||||||
} // namespace OHOS
|
|
||||||
#endif // ROSEN_RENDER_SERVICE_BASE_RS_IRENDER_SURFACE_OCCLUSION_CHANGE_CALLBACK_INTERFACE_CODE_ACCESS_VERIFIER_H
|
|
@ -1,46 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (c) 2023 Huawei Device Co., Ltd.
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef ROSEN_RENDER_SERVICE_BASE_RS_IUIEXTENSION_CALLBACK_INTERFACE_CODE_ACCESS_VERIFIER_H
|
|
||||||
#define ROSEN_RENDER_SERVICE_BASE_RS_IUIEXTENSION_CALLBACK_INTERFACE_CODE_ACCESS_VERIFIER_H
|
|
||||||
|
|
||||||
#include "ipc_security/rs_ipc_interface_code_access_verifier_base.h"
|
|
||||||
#include "ipc_callbacks/rs_iuiextension_callback_ipc_interface_code.h"
|
|
||||||
|
|
||||||
namespace OHOS {
|
|
||||||
namespace Rosen {
|
|
||||||
class RSIUIExtensionCallbackInterfaceCodeAccessVerifier : public RSInterfaceCodeAccessVerifierBase {
|
|
||||||
public:
|
|
||||||
/*
|
|
||||||
* specify the enum class of the associated interface code (i.e. CodeEnumType) here
|
|
||||||
* note that term **CodeEnumType** should not be changed
|
|
||||||
*/
|
|
||||||
using CodeEnumType = RSIUIExtensionCallbackInterfaceCode;
|
|
||||||
static inline const std::string codeEnumTypeName_{"RSIUIExtensionCallbackInterfaceCode"};
|
|
||||||
|
|
||||||
/* specify constructor and destructor here */
|
|
||||||
RSIUIExtensionCallbackInterfaceCodeAccessVerifier();
|
|
||||||
~RSIUIExtensionCallbackInterfaceCodeAccessVerifier() noexcept override = default;
|
|
||||||
|
|
||||||
protected:
|
|
||||||
/* specify exclusive verification rules here */
|
|
||||||
bool IsExclusiveVerificationPassed(CodeUnderlyingType code) override;
|
|
||||||
|
|
||||||
private:
|
|
||||||
DISALLOW_COPY_AND_MOVE(RSIUIExtensionCallbackInterfaceCodeAccessVerifier);
|
|
||||||
};
|
|
||||||
} // namespace Rosen
|
|
||||||
} // namespace OHOS
|
|
||||||
#endif // ROSEN_RENDER_SERVICE_BASE_RS_IUIEXTENSION_CALLBACK_INTERFACE_CODE_ACCESS_VERIFIER_H
|
|
@ -1,46 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (c) 2024 Huawei Device Co., Ltd.
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef ROSEN_RENDER_SERVICE_BASE_ISURFACE_BUFFER_CALLBACK_INTERFACE_CODE_ACCESS_VERIFIER_H
|
|
||||||
#define ROSEN_RENDER_SERVICE_BASE_ISURFACE_BUFFER_CALLBACK_INTERFACE_CODE_ACCESS_VERIFIER_H
|
|
||||||
|
|
||||||
#include "ipc_security/rs_ipc_interface_code_access_verifier_base.h"
|
|
||||||
#include "ipc_callbacks/rs_surface_buffer_callback_ipc_interface_code.h"
|
|
||||||
|
|
||||||
namespace OHOS {
|
|
||||||
namespace Rosen {
|
|
||||||
class RSISurfaceBufferCallbackInterfaceCodeAccessVerifier : public RSInterfaceCodeAccessVerifierBase {
|
|
||||||
public:
|
|
||||||
/*
|
|
||||||
* specify the enum class of the associated interface code (i.e. CodeEnumType) here
|
|
||||||
* note that term **CodeEnumType** should not be changed
|
|
||||||
*/
|
|
||||||
using CodeEnumType = RSISurfaceBufferCallbackInterfaceCode;
|
|
||||||
static inline const std::string codeEnumTypeName_{"RSISurfaceBufferCallbackInterfaceCode"};
|
|
||||||
|
|
||||||
/* specify constructor and destructor here */
|
|
||||||
RSISurfaceBufferCallbackInterfaceCodeAccessVerifier();
|
|
||||||
~RSISurfaceBufferCallbackInterfaceCodeAccessVerifier() noexcept override = default;
|
|
||||||
|
|
||||||
protected:
|
|
||||||
/* specify exclusive verification rules here */
|
|
||||||
bool IsExclusiveVerificationPassed(CodeUnderlyingType code) override;
|
|
||||||
|
|
||||||
private:
|
|
||||||
DISALLOW_COPY_AND_MOVE(RSISurfaceBufferCallbackInterfaceCodeAccessVerifier);
|
|
||||||
};
|
|
||||||
} // namespace Rosen
|
|
||||||
} // namespace OHOS
|
|
||||||
#endif // ROSEN_RENDER_SERVICE_BASE_ISURFACE_BUFFER_CALLBACK_INTERFACE_CODE_ACCESS_VERIFIER_H
|
|
@ -1,46 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (c) 2023 Huawei Device Co., Ltd.
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef ROSEN_RENDER_SERVICE_BASE_ISCREEN_CHANGE_CALLBACK_INTERFACE_CODE_ACCESS_VERIFIER_H
|
|
||||||
#define ROSEN_RENDER_SERVICE_BASE_ISCREEN_CHANGE_CALLBACK_INTERFACE_CODE_ACCESS_VERIFIER_H
|
|
||||||
|
|
||||||
#include "ipc_security/rs_ipc_interface_code_access_verifier_base.h"
|
|
||||||
#include "ipc_callbacks/screen_change_callback_ipc_interface_code.h"
|
|
||||||
|
|
||||||
namespace OHOS {
|
|
||||||
namespace Rosen {
|
|
||||||
class RSIScreenChangeCallbackInterfaceCodeAccessVerifier : public RSInterfaceCodeAccessVerifierBase {
|
|
||||||
public:
|
|
||||||
/*
|
|
||||||
* specify the enum class of the associated interface code (i.e. CodeEnumType) here
|
|
||||||
* note that term **CodeEnumType** should not be changed
|
|
||||||
*/
|
|
||||||
using CodeEnumType = RSIScreenChangeCallbackInterfaceCode;
|
|
||||||
static inline const std::string codeEnumTypeName_{"RSIScreenChangeCallbackInterfaceCode"};
|
|
||||||
|
|
||||||
/* specify constructor and destructor here */
|
|
||||||
RSIScreenChangeCallbackInterfaceCodeAccessVerifier();
|
|
||||||
~RSIScreenChangeCallbackInterfaceCodeAccessVerifier() noexcept override = default;
|
|
||||||
|
|
||||||
protected:
|
|
||||||
/* specify exclusive verification rules here */
|
|
||||||
bool IsExclusiveVerificationPassed(CodeUnderlyingType code) override;
|
|
||||||
|
|
||||||
private:
|
|
||||||
DISALLOW_COPY_AND_MOVE(RSIScreenChangeCallbackInterfaceCodeAccessVerifier);
|
|
||||||
};
|
|
||||||
} // namespace Rosen
|
|
||||||
} // namespace OHOS
|
|
||||||
#endif // ROSEN_RENDER_SERVICE_BASE_ISCREEN_CHANGE_CALLBACK_INTERFACE_CODE_ACCESS_VERIFIER_H
|
|
@ -1,46 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (c) 2023 Huawei Device Co., Ltd.
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef ROSEN_RENDER_SERVICE_BASE_ISURFACE_CAPTURE_CALLBACK_INTERFACE_CODE_ACCESS_VERIFIER_H
|
|
||||||
#define ROSEN_RENDER_SERVICE_BASE_ISURFACE_CAPTURE_CALLBACK_INTERFACE_CODE_ACCESS_VERIFIER_H
|
|
||||||
|
|
||||||
#include "ipc_security/rs_ipc_interface_code_access_verifier_base.h"
|
|
||||||
#include "ipc_callbacks/surface_capture_callback_ipc_interface_code.h"
|
|
||||||
|
|
||||||
namespace OHOS {
|
|
||||||
namespace Rosen {
|
|
||||||
class RSISurfaceCaptureCallbackInterfaceCodeAccessVerifier : public RSInterfaceCodeAccessVerifierBase {
|
|
||||||
public:
|
|
||||||
/*
|
|
||||||
* specify the enum class of the associated interface code (i.e. CodeEnumType) here
|
|
||||||
* note that term **CodeEnumType** should not be changed
|
|
||||||
*/
|
|
||||||
using CodeEnumType = RSISurfaceCaptureCallbackInterfaceCode;
|
|
||||||
static inline const std::string codeEnumTypeName_{"RSISurfaceCaptureCallbackInterfaceCode"};
|
|
||||||
|
|
||||||
/* specify constructor and destructor here */
|
|
||||||
RSISurfaceCaptureCallbackInterfaceCodeAccessVerifier();
|
|
||||||
~RSISurfaceCaptureCallbackInterfaceCodeAccessVerifier() noexcept override = default;
|
|
||||||
|
|
||||||
protected:
|
|
||||||
/* specify exclusive verification rules here */
|
|
||||||
bool IsExclusiveVerificationPassed(CodeUnderlyingType code) override;
|
|
||||||
|
|
||||||
private:
|
|
||||||
DISALLOW_COPY_AND_MOVE(RSISurfaceCaptureCallbackInterfaceCodeAccessVerifier);
|
|
||||||
};
|
|
||||||
} // namespace Rosen
|
|
||||||
} // namespace OHOS
|
|
||||||
#endif // ROSEN_RENDER_SERVICE_BASE_ISURFACE_CAPTURE_CALLBACK_INTERFACE_CODE_ACCESS_VERIFIER_H
|
|
@ -1,39 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (c) 2023 Huawei Device Co., Ltd.
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "ipc_callbacks/buffer_available_callback_ipc_interface_code_access_verifier.h"
|
|
||||||
|
|
||||||
namespace OHOS {
|
|
||||||
namespace Rosen {
|
|
||||||
RSIBufferAvailableCallbackInterfaceCodeAccessVerifier::RSIBufferAvailableCallbackInterfaceCodeAccessVerifier()
|
|
||||||
{
|
|
||||||
CheckCodeUnderlyingTypeStandardized<CodeEnumType>(codeEnumTypeName_);
|
|
||||||
}
|
|
||||||
|
|
||||||
bool RSIBufferAvailableCallbackInterfaceCodeAccessVerifier::IsExclusiveVerificationPassed(CodeUnderlyingType code)
|
|
||||||
{
|
|
||||||
bool hasPermission = true;
|
|
||||||
switch (code) {
|
|
||||||
case static_cast<CodeUnderlyingType>(CodeEnumType::ON_BUFFER_AVAILABLE): {
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
default: {
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return hasPermission;
|
|
||||||
}
|
|
||||||
} // namespace Rosen
|
|
||||||
} // namespace OHOS
|
|
@ -22,11 +22,6 @@ namespace Rosen {
|
|||||||
int RSBufferAvailableCallbackStub::OnRemoteRequest(
|
int RSBufferAvailableCallbackStub::OnRemoteRequest(
|
||||||
uint32_t code, MessageParcel& data, MessageParcel& reply, MessageOption& option)
|
uint32_t code, MessageParcel& data, MessageParcel& reply, MessageOption& option)
|
||||||
{
|
{
|
||||||
if (!securityManager_.IsInterfaceCodeAccessible(code)) {
|
|
||||||
RS_LOGE("RSBufferAvailableCallbackStub::OnRemoteRequest no permission to access codeID=%{public}u.", code);
|
|
||||||
return ERR_INVALID_STATE;
|
|
||||||
}
|
|
||||||
|
|
||||||
auto token = data.ReadInterfaceToken();
|
auto token = data.ReadInterfaceToken();
|
||||||
if (token != RSIBufferAvailableCallback::GetDescriptor()) {
|
if (token != RSIBufferAvailableCallback::GetDescriptor()) {
|
||||||
return ERR_INVALID_STATE;
|
return ERR_INVALID_STATE;
|
||||||
@ -46,8 +41,5 @@ int RSBufferAvailableCallbackStub::OnRemoteRequest(
|
|||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
const RSInterfaceCodeSecurityManager RSBufferAvailableCallbackStub::securityManager_ = \
|
|
||||||
RSInterfaceCodeSecurityManager::CreateInstance<RSIBufferAvailableCallbackInterfaceCodeAccessVerifier>();
|
|
||||||
} // namespace Rosen
|
} // namespace Rosen
|
||||||
} // namespace OHOS
|
} // namespace OHOS
|
||||||
|
@ -19,8 +19,7 @@
|
|||||||
#include <iremote_stub.h>
|
#include <iremote_stub.h>
|
||||||
#include "common/rs_macros.h"
|
#include "common/rs_macros.h"
|
||||||
#include "ipc_callbacks/buffer_available_callback.h"
|
#include "ipc_callbacks/buffer_available_callback.h"
|
||||||
#include "ipc_callbacks/buffer_available_callback_ipc_interface_code_access_verifier.h"
|
#include "ipc_callbacks/buffer_available_callback_ipc_interface_code.h"
|
||||||
#include "ipc_security/rs_ipc_interface_code_security_manager.h"
|
|
||||||
|
|
||||||
namespace OHOS {
|
namespace OHOS {
|
||||||
namespace Rosen {
|
namespace Rosen {
|
||||||
@ -30,9 +29,6 @@ public:
|
|||||||
~RSBufferAvailableCallbackStub() = default;
|
~RSBufferAvailableCallbackStub() = default;
|
||||||
|
|
||||||
int OnRemoteRequest(uint32_t code, MessageParcel& data, MessageParcel& reply, MessageOption& option) override;
|
int OnRemoteRequest(uint32_t code, MessageParcel& data, MessageParcel& reply, MessageOption& option) override;
|
||||||
|
|
||||||
private:
|
|
||||||
static const RSInterfaceCodeSecurityManager securityManager_;
|
|
||||||
};
|
};
|
||||||
} // namespace Rosen
|
} // namespace Rosen
|
||||||
} // namespace OHOS
|
} // namespace OHOS
|
||||||
|
@ -1,40 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (c) 2023 Huawei Device Co., Ltd.
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "ipc_callbacks/buffer_clear_callback_ipc_interface_code_access_verifier.h"
|
|
||||||
|
|
||||||
namespace OHOS {
|
|
||||||
namespace Rosen {
|
|
||||||
RSIBufferClearCallbackInterfaceCodeAccessVerifier::RSIBufferClearCallbackInterfaceCodeAccessVerifier()
|
|
||||||
{
|
|
||||||
CheckCodeUnderlyingTypeStandardized<CodeEnumType>(codeEnumTypeName_);
|
|
||||||
}
|
|
||||||
|
|
||||||
bool RSIBufferClearCallbackInterfaceCodeAccessVerifier::IsExclusiveVerificationPassed(CodeUnderlyingType code)
|
|
||||||
{
|
|
||||||
bool hasPermission = true;
|
|
||||||
switch (code) {
|
|
||||||
case static_cast<CodeUnderlyingType>(CodeEnumType::ON_BUFFER_CLEAR): {
|
|
||||||
/* to implement access interception */
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
default: {
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return hasPermission;
|
|
||||||
}
|
|
||||||
} // namespace Rosen
|
|
||||||
} // namespace OHOS
|
|
@ -22,11 +22,6 @@ namespace Rosen {
|
|||||||
int RSBufferClearCallbackStub::OnRemoteRequest(
|
int RSBufferClearCallbackStub::OnRemoteRequest(
|
||||||
uint32_t code, MessageParcel& data, MessageParcel& reply, MessageOption& option)
|
uint32_t code, MessageParcel& data, MessageParcel& reply, MessageOption& option)
|
||||||
{
|
{
|
||||||
if (!securityManager_.IsInterfaceCodeAccessible(code)) {
|
|
||||||
RS_LOGE("RSBufferClearCallbackStub::OnRemoteRequest no permission to access codeID=%{public}u.", code);
|
|
||||||
return ERR_INVALID_STATE;
|
|
||||||
}
|
|
||||||
|
|
||||||
auto token = data.ReadInterfaceToken();
|
auto token = data.ReadInterfaceToken();
|
||||||
if (token != RSIBufferClearCallback::GetDescriptor()) {
|
if (token != RSIBufferClearCallback::GetDescriptor()) {
|
||||||
return ERR_INVALID_STATE;
|
return ERR_INVALID_STATE;
|
||||||
@ -46,8 +41,5 @@ int RSBufferClearCallbackStub::OnRemoteRequest(
|
|||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
const RSInterfaceCodeSecurityManager RSBufferClearCallbackStub::securityManager_ = \
|
|
||||||
RSInterfaceCodeSecurityManager::CreateInstance<RSIBufferClearCallbackInterfaceCodeAccessVerifier>();
|
|
||||||
} // namespace Rosen
|
} // namespace Rosen
|
||||||
} // namespace OHOS
|
} // namespace OHOS
|
||||||
|
@ -19,8 +19,7 @@
|
|||||||
#include <iremote_stub.h>
|
#include <iremote_stub.h>
|
||||||
#include "common/rs_macros.h"
|
#include "common/rs_macros.h"
|
||||||
#include "ipc_callbacks/buffer_clear_callback.h"
|
#include "ipc_callbacks/buffer_clear_callback.h"
|
||||||
#include "ipc_callbacks/buffer_clear_callback_ipc_interface_code_access_verifier.h"
|
#include "ipc_callbacks/buffer_clear_callback_ipc_interface_code.h"
|
||||||
#include "ipc_security/rs_ipc_interface_code_security_manager.h"
|
|
||||||
|
|
||||||
namespace OHOS {
|
namespace OHOS {
|
||||||
namespace Rosen {
|
namespace Rosen {
|
||||||
@ -30,9 +29,6 @@ public:
|
|||||||
~RSBufferClearCallbackStub() = default;
|
~RSBufferClearCallbackStub() = default;
|
||||||
|
|
||||||
int OnRemoteRequest(uint32_t code, MessageParcel& data, MessageParcel& reply, MessageOption& option) override;
|
int OnRemoteRequest(uint32_t code, MessageParcel& data, MessageParcel& reply, MessageOption& option) override;
|
||||||
|
|
||||||
private:
|
|
||||||
static const RSInterfaceCodeSecurityManager securityManager_;
|
|
||||||
};
|
};
|
||||||
} // namespace Rosen
|
} // namespace Rosen
|
||||||
} // namespace OHOS
|
} // namespace OHOS
|
||||||
|
@ -22,11 +22,6 @@ namespace Rosen {
|
|||||||
int RSHgmConfigChangeCallbackStub::OnRemoteRequest(
|
int RSHgmConfigChangeCallbackStub::OnRemoteRequest(
|
||||||
uint32_t code, MessageParcel& data, MessageParcel& reply, MessageOption& option)
|
uint32_t code, MessageParcel& data, MessageParcel& reply, MessageOption& option)
|
||||||
{
|
{
|
||||||
if (!securityManager_.IsInterfaceCodeAccessible(code)) {
|
|
||||||
RS_LOGE("RSHgmConfigChangeCallbackStub::OnRemoteRequest no permission to access codeID=%{public}u.", code);
|
|
||||||
return ERR_INVALID_STATE;
|
|
||||||
}
|
|
||||||
|
|
||||||
auto token = data.ReadInterfaceToken();
|
auto token = data.ReadInterfaceToken();
|
||||||
if (token != RSIHgmConfigChangeCallback::GetDescriptor()) {
|
if (token != RSIHgmConfigChangeCallback::GetDescriptor()) {
|
||||||
return ERR_INVALID_STATE;
|
return ERR_INVALID_STATE;
|
||||||
@ -58,8 +53,5 @@ int RSHgmConfigChangeCallbackStub::OnRemoteRequest(
|
|||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
const RSInterfaceCodeSecurityManager RSHgmConfigChangeCallbackStub::securityManager_ = \
|
|
||||||
RSInterfaceCodeSecurityManager::CreateInstance<RSIHgmConfigChangeCallbackInterfaceCodeAccessVerifier>();
|
|
||||||
} // namespace Rosen
|
} // namespace Rosen
|
||||||
} // namespace OHOS
|
} // namespace OHOS
|
||||||
|
@ -20,8 +20,7 @@
|
|||||||
|
|
||||||
#include "common/rs_macros.h"
|
#include "common/rs_macros.h"
|
||||||
#include "ipc_callbacks/rs_ihgm_config_change_callback.h"
|
#include "ipc_callbacks/rs_ihgm_config_change_callback.h"
|
||||||
#include "ipc_callbacks/rs_ihgm_config_change_callback_ipc_interface_code_access_verifier.h"
|
#include "ipc_callbacks/rs_ihgm_config_change_callback_ipc_interface_code.h"
|
||||||
#include "ipc_security/rs_ipc_interface_code_security_manager.h"
|
|
||||||
|
|
||||||
namespace OHOS {
|
namespace OHOS {
|
||||||
namespace Rosen {
|
namespace Rosen {
|
||||||
@ -31,9 +30,6 @@ public:
|
|||||||
~RSHgmConfigChangeCallbackStub() = default;
|
~RSHgmConfigChangeCallbackStub() = default;
|
||||||
|
|
||||||
int OnRemoteRequest(uint32_t code, MessageParcel& data, MessageParcel& reply, MessageOption& option) override;
|
int OnRemoteRequest(uint32_t code, MessageParcel& data, MessageParcel& reply, MessageOption& option) override;
|
||||||
|
|
||||||
private:
|
|
||||||
static const RSInterfaceCodeSecurityManager securityManager_;
|
|
||||||
};
|
};
|
||||||
} // namespace Rosen
|
} // namespace Rosen
|
||||||
} // namespace OHOS
|
} // namespace OHOS
|
||||||
|
@ -1,40 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (c) 2023 Huawei Device Co., Ltd.
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "ipc_callbacks/iapplication_agent_ipc_interface_code_access_verifier.h"
|
|
||||||
|
|
||||||
namespace OHOS {
|
|
||||||
namespace Rosen {
|
|
||||||
IApplicationAgentInterfaceCodeAccessVerifier::IApplicationAgentInterfaceCodeAccessVerifier()
|
|
||||||
{
|
|
||||||
CheckCodeUnderlyingTypeStandardized<CodeEnumType>(codeEnumTypeName_);
|
|
||||||
}
|
|
||||||
|
|
||||||
bool IApplicationAgentInterfaceCodeAccessVerifier::IsExclusiveVerificationPassed(CodeUnderlyingType code)
|
|
||||||
{
|
|
||||||
bool hasPermission = true;
|
|
||||||
switch (code) {
|
|
||||||
case static_cast<CodeUnderlyingType>(CodeEnumType::COMMIT_TRANSACTION): {
|
|
||||||
/* to implement access interception */
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
default: {
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return hasPermission;
|
|
||||||
}
|
|
||||||
} // namespace Rosen
|
|
||||||
} // namespace OHOS
|
|
@ -23,11 +23,6 @@ namespace Rosen {
|
|||||||
int RSApplicationAgentStub::OnRemoteRequest(
|
int RSApplicationAgentStub::OnRemoteRequest(
|
||||||
uint32_t code, MessageParcel& data, MessageParcel& reply, MessageOption& option)
|
uint32_t code, MessageParcel& data, MessageParcel& reply, MessageOption& option)
|
||||||
{
|
{
|
||||||
if (!securityManager_.IsInterfaceCodeAccessible(code)) {
|
|
||||||
RS_LOGE("RSApplicationAgentStub::OnRemoteRequest no permission to access codeID=%{public}u.", code);
|
|
||||||
return ERR_INVALID_STATE;
|
|
||||||
}
|
|
||||||
|
|
||||||
auto token = data.ReadInterfaceToken();
|
auto token = data.ReadInterfaceToken();
|
||||||
if (token != IApplicationAgent::GetDescriptor()) {
|
if (token != IApplicationAgent::GetDescriptor()) {
|
||||||
return ERR_INVALID_STATE;
|
return ERR_INVALID_STATE;
|
||||||
@ -47,8 +42,5 @@ int RSApplicationAgentStub::OnRemoteRequest(
|
|||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
const RSInterfaceCodeSecurityManager RSApplicationAgentStub::securityManager_ = \
|
|
||||||
RSInterfaceCodeSecurityManager::CreateInstance<IApplicationAgentInterfaceCodeAccessVerifier>();
|
|
||||||
} // namespace Rosen
|
} // namespace Rosen
|
||||||
} // namespace OHOS
|
} // namespace OHOS
|
||||||
|
@ -20,8 +20,7 @@
|
|||||||
#include <iremote_stub.h>
|
#include <iremote_stub.h>
|
||||||
|
|
||||||
#include "ipc_callbacks/iapplication_agent.h"
|
#include "ipc_callbacks/iapplication_agent.h"
|
||||||
#include "ipc_callbacks/iapplication_agent_ipc_interface_code_access_verifier.h"
|
#include "ipc_callbacks/iapplication_agent_ipc_interface_code.h"
|
||||||
#include "ipc_security/rs_ipc_interface_code_security_manager.h"
|
|
||||||
|
|
||||||
namespace OHOS {
|
namespace OHOS {
|
||||||
namespace Rosen {
|
namespace Rosen {
|
||||||
@ -31,9 +30,6 @@ public:
|
|||||||
~RSApplicationAgentStub() = default;
|
~RSApplicationAgentStub() = default;
|
||||||
|
|
||||||
int OnRemoteRequest(uint32_t code, MessageParcel& data, MessageParcel& reply, MessageOption& option) override;
|
int OnRemoteRequest(uint32_t code, MessageParcel& data, MessageParcel& reply, MessageOption& option) override;
|
||||||
|
|
||||||
private:
|
|
||||||
static const RSInterfaceCodeSecurityManager securityManager_;
|
|
||||||
};
|
};
|
||||||
} // namespace Rosen
|
} // namespace Rosen
|
||||||
} // namespace OHOS
|
} // namespace OHOS
|
||||||
|
@ -1,48 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (c) 2023 Huawei Device Co., Ltd.
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "ipc_callbacks/rs_ihgm_config_change_callback_ipc_interface_code_access_verifier.h"
|
|
||||||
|
|
||||||
namespace OHOS {
|
|
||||||
namespace Rosen {
|
|
||||||
RSIHgmConfigChangeCallbackInterfaceCodeAccessVerifier::RSIHgmConfigChangeCallbackInterfaceCodeAccessVerifier()
|
|
||||||
{
|
|
||||||
CheckCodeUnderlyingTypeStandardized<CodeEnumType>(codeEnumTypeName_);
|
|
||||||
}
|
|
||||||
|
|
||||||
bool RSIHgmConfigChangeCallbackInterfaceCodeAccessVerifier::IsExclusiveVerificationPassed(CodeUnderlyingType code)
|
|
||||||
{
|
|
||||||
bool hasPermission = true;
|
|
||||||
switch (code) {
|
|
||||||
case static_cast<CodeUnderlyingType>(CodeEnumType::ON_HGM_CONFIG_CHANGED): {
|
|
||||||
/* to implement access interception */
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case static_cast<CodeUnderlyingType>(CodeEnumType::ON_HGM_REFRESH_RATE_MODE_CHANGED): {
|
|
||||||
/* to implement access interception */
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case static_cast<CodeUnderlyingType>(CodeEnumType::ON_HGM_REFRESH_RATE_CHANGED): {
|
|
||||||
/* to implement access interception */
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
default: {
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return hasPermission;
|
|
||||||
}
|
|
||||||
} // namespace Rosen
|
|
||||||
} // namespace OHOS
|
|
@ -1,40 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (c) 2023 Huawei Device Co., Ltd.
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "ipc_callbacks/rs_iocclusion_change_callback_ipc_interface_code_access_verifier.h"
|
|
||||||
|
|
||||||
namespace OHOS {
|
|
||||||
namespace Rosen {
|
|
||||||
RSIOcclusionChangeCallbackInterfaceCodeAccessVerifier::RSIOcclusionChangeCallbackInterfaceCodeAccessVerifier()
|
|
||||||
{
|
|
||||||
CheckCodeUnderlyingTypeStandardized<CodeEnumType>(codeEnumTypeName_);
|
|
||||||
}
|
|
||||||
|
|
||||||
bool RSIOcclusionChangeCallbackInterfaceCodeAccessVerifier::IsExclusiveVerificationPassed(CodeUnderlyingType code)
|
|
||||||
{
|
|
||||||
bool hasPermission = true;
|
|
||||||
switch (code) {
|
|
||||||
case static_cast<CodeUnderlyingType>(CodeEnumType::ON_OCCLUSION_VISIBLE_CHANGED): {
|
|
||||||
hasPermission = IsSystemCalling(codeEnumTypeName_ + "::ON_OCCLUSION_VISIBLE_CHANGED");
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
default: {
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return hasPermission;
|
|
||||||
}
|
|
||||||
} // namespace Rosen
|
|
||||||
} // namespace OHOS
|
|
@ -1,42 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (c) 2023 Huawei Device Co., Ltd.
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "ipc_callbacks/rs_isurface_occlusion_change_callback_ipc_interface_code_access_verifier.h"
|
|
||||||
|
|
||||||
namespace OHOS {
|
|
||||||
namespace Rosen {
|
|
||||||
RSISurfaceOcclusionChangeCallbackInterfaceCodeAccessVerifier::
|
|
||||||
RSISurfaceOcclusionChangeCallbackInterfaceCodeAccessVerifier()
|
|
||||||
{
|
|
||||||
CheckCodeUnderlyingTypeStandardized<CodeEnumType>(codeEnumTypeName_);
|
|
||||||
}
|
|
||||||
|
|
||||||
bool RSISurfaceOcclusionChangeCallbackInterfaceCodeAccessVerifier::IsExclusiveVerificationPassed(
|
|
||||||
CodeUnderlyingType code)
|
|
||||||
{
|
|
||||||
bool hasPermission = true;
|
|
||||||
switch (code) {
|
|
||||||
case static_cast<CodeUnderlyingType>(CodeEnumType::ON_SURFACE_OCCLUSION_VISIBLE_CHANGED): {
|
|
||||||
/* to implement access interception */
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
default: {
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return hasPermission;
|
|
||||||
}
|
|
||||||
} // namespace Rosen
|
|
||||||
} // namespace OHOS
|
|
@ -1,42 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (c) 2024 Huawei Device Co., Ltd.
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "ipc_callbacks/rs_iuiextension_callback_ipc_interface_code_access_verifier.h"
|
|
||||||
|
|
||||||
namespace OHOS {
|
|
||||||
namespace Rosen {
|
|
||||||
RSIUIExtensionCallbackInterfaceCodeAccessVerifier::
|
|
||||||
RSIUIExtensionCallbackInterfaceCodeAccessVerifier()
|
|
||||||
{
|
|
||||||
CheckCodeUnderlyingTypeStandardized<CodeEnumType>(codeEnumTypeName_);
|
|
||||||
}
|
|
||||||
|
|
||||||
bool RSIUIExtensionCallbackInterfaceCodeAccessVerifier::IsExclusiveVerificationPassed(
|
|
||||||
CodeUnderlyingType code)
|
|
||||||
{
|
|
||||||
bool hasPermission = false;
|
|
||||||
switch (code) {
|
|
||||||
case static_cast<CodeUnderlyingType>(CodeEnumType::ON_UIEXTENSION): {
|
|
||||||
hasPermission = IsSystemCalling(codeEnumTypeName_ + "::ON_UIEXTENSION");
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
default: {
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return hasPermission;
|
|
||||||
}
|
|
||||||
} // namespace Rosen
|
|
||||||
} // namespace OHOS
|
|
@ -22,11 +22,6 @@ namespace Rosen {
|
|||||||
int RSOcclusionChangeCallbackStub::OnRemoteRequest(
|
int RSOcclusionChangeCallbackStub::OnRemoteRequest(
|
||||||
uint32_t code, MessageParcel& data, MessageParcel& reply, MessageOption& option)
|
uint32_t code, MessageParcel& data, MessageParcel& reply, MessageOption& option)
|
||||||
{
|
{
|
||||||
if (!securityManager_.IsInterfaceCodeAccessible(code)) {
|
|
||||||
RS_LOGE("RSOcclusionChangeCallbackStub::OnRemoteRequest no permission to access codeID=%{public}u.", code);
|
|
||||||
return ERR_INVALID_STATE;
|
|
||||||
}
|
|
||||||
|
|
||||||
auto token = data.ReadInterfaceToken();
|
auto token = data.ReadInterfaceToken();
|
||||||
if (token != RSIOcclusionChangeCallback::GetDescriptor()) {
|
if (token != RSIOcclusionChangeCallback::GetDescriptor()) {
|
||||||
return ERR_INVALID_STATE;
|
return ERR_INVALID_STATE;
|
||||||
@ -47,8 +42,5 @@ int RSOcclusionChangeCallbackStub::OnRemoteRequest(
|
|||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
const RSInterfaceCodeSecurityManager RSOcclusionChangeCallbackStub::securityManager_ = \
|
|
||||||
RSInterfaceCodeSecurityManager::CreateInstance<RSIOcclusionChangeCallbackInterfaceCodeAccessVerifier>();
|
|
||||||
} // namespace Rosen
|
} // namespace Rosen
|
||||||
} // namespace OHOS
|
} // namespace OHOS
|
||||||
|
@ -19,8 +19,7 @@
|
|||||||
#include <iremote_stub.h>
|
#include <iremote_stub.h>
|
||||||
#include "common/rs_macros.h"
|
#include "common/rs_macros.h"
|
||||||
#include "ipc_callbacks/rs_iocclusion_change_callback.h"
|
#include "ipc_callbacks/rs_iocclusion_change_callback.h"
|
||||||
#include "ipc_callbacks/rs_iocclusion_change_callback_ipc_interface_code_access_verifier.h"
|
#include "ipc_callbacks/rs_iocclusion_change_callback_ipc_interface_code.h"
|
||||||
#include "ipc_security/rs_ipc_interface_code_security_manager.h"
|
|
||||||
|
|
||||||
namespace OHOS {
|
namespace OHOS {
|
||||||
namespace Rosen {
|
namespace Rosen {
|
||||||
@ -30,9 +29,6 @@ public:
|
|||||||
~RSOcclusionChangeCallbackStub() = default;
|
~RSOcclusionChangeCallbackStub() = default;
|
||||||
|
|
||||||
int OnRemoteRequest(uint32_t code, MessageParcel& data, MessageParcel& reply, MessageOption& option) override;
|
int OnRemoteRequest(uint32_t code, MessageParcel& data, MessageParcel& reply, MessageOption& option) override;
|
||||||
|
|
||||||
private:
|
|
||||||
static const RSInterfaceCodeSecurityManager securityManager_;
|
|
||||||
};
|
};
|
||||||
} // namespace Rosen
|
} // namespace Rosen
|
||||||
} // namespace OHOS
|
} // namespace OHOS
|
||||||
|
@ -1,40 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (c) 2024 Huawei Device Co., Ltd.
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "ipc_callbacks/rs_surface_buffer_callback_ipc_interface_code_access_verifier.h"
|
|
||||||
|
|
||||||
namespace OHOS {
|
|
||||||
namespace Rosen {
|
|
||||||
RSISurfaceBufferCallbackInterfaceCodeAccessVerifier::RSISurfaceBufferCallbackInterfaceCodeAccessVerifier()
|
|
||||||
{
|
|
||||||
CheckCodeUnderlyingTypeStandardized<CodeEnumType>(codeEnumTypeName_);
|
|
||||||
}
|
|
||||||
|
|
||||||
bool RSISurfaceBufferCallbackInterfaceCodeAccessVerifier::IsExclusiveVerificationPassed(CodeUnderlyingType code)
|
|
||||||
{
|
|
||||||
bool hasPermission = true;
|
|
||||||
switch (code) {
|
|
||||||
case static_cast<CodeUnderlyingType>(CodeEnumType::ON_FINISH): {
|
|
||||||
/* to implement access interception */
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
default: {
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return hasPermission;
|
|
||||||
}
|
|
||||||
} // namespace Rosen
|
|
||||||
} // namespace OHOS
|
|
@ -21,11 +21,6 @@ namespace Rosen {
|
|||||||
int RSSurfaceBufferCallbackStub::OnRemoteRequest(
|
int RSSurfaceBufferCallbackStub::OnRemoteRequest(
|
||||||
uint32_t code, MessageParcel& data, MessageParcel& reply, MessageOption& option)
|
uint32_t code, MessageParcel& data, MessageParcel& reply, MessageOption& option)
|
||||||
{
|
{
|
||||||
if (!securityManager_.IsInterfaceCodeAccessible(code)) {
|
|
||||||
RS_LOGE("RSSurfaceBufferCallbackStub::OnRemoteRequest no permission to access codeID=%{public}u.", code);
|
|
||||||
return ERR_INVALID_STATE;
|
|
||||||
}
|
|
||||||
|
|
||||||
auto token = data.ReadInterfaceToken();
|
auto token = data.ReadInterfaceToken();
|
||||||
if (token != RSISurfaceBufferCallback::GetDescriptor()) {
|
if (token != RSISurfaceBufferCallback::GetDescriptor()) {
|
||||||
ROSEN_LOGE("RSSurfaceBufferCallbackStub: token ERR_INVALID_STATE");
|
ROSEN_LOGE("RSSurfaceBufferCallbackStub: token ERR_INVALID_STATE");
|
||||||
@ -53,8 +48,5 @@ int RSSurfaceBufferCallbackStub::OnRemoteRequest(
|
|||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
const RSInterfaceCodeSecurityManager RSSurfaceBufferCallbackStub::securityManager_ = \
|
|
||||||
RSInterfaceCodeSecurityManager::CreateInstance<RSISurfaceBufferCallbackInterfaceCodeAccessVerifier>();
|
|
||||||
} // namespace Rosen
|
} // namespace Rosen
|
||||||
} // namespace OHOS
|
} // namespace OHOS
|
||||||
|
@ -19,8 +19,7 @@
|
|||||||
#include <iremote_stub.h>
|
#include <iremote_stub.h>
|
||||||
#include "common/rs_macros.h"
|
#include "common/rs_macros.h"
|
||||||
#include "ipc_callbacks/rs_surface_buffer_callback.h"
|
#include "ipc_callbacks/rs_surface_buffer_callback.h"
|
||||||
#include "ipc_callbacks/rs_surface_buffer_callback_ipc_interface_code_access_verifier.h"
|
#include "ipc_callbacks/rs_surface_buffer_callback_ipc_interface_code.h"
|
||||||
#include "ipc_security/rs_ipc_interface_code_security_manager.h"
|
|
||||||
|
|
||||||
namespace OHOS {
|
namespace OHOS {
|
||||||
namespace Rosen {
|
namespace Rosen {
|
||||||
@ -30,9 +29,6 @@ public:
|
|||||||
~RSSurfaceBufferCallbackStub() = default;
|
~RSSurfaceBufferCallbackStub() = default;
|
||||||
|
|
||||||
int OnRemoteRequest(uint32_t code, MessageParcel& data, MessageParcel& reply, MessageOption& option) override;
|
int OnRemoteRequest(uint32_t code, MessageParcel& data, MessageParcel& reply, MessageOption& option) override;
|
||||||
|
|
||||||
private:
|
|
||||||
static const RSInterfaceCodeSecurityManager securityManager_;
|
|
||||||
};
|
};
|
||||||
} // namespace Rosen
|
} // namespace Rosen
|
||||||
} // namespace OHOS
|
} // namespace OHOS
|
||||||
|
@ -22,12 +22,6 @@ namespace Rosen {
|
|||||||
int RSSurfaceOcclusionChangeCallbackStub::OnRemoteRequest(
|
int RSSurfaceOcclusionChangeCallbackStub::OnRemoteRequest(
|
||||||
uint32_t code, MessageParcel& data, MessageParcel& reply, MessageOption& option)
|
uint32_t code, MessageParcel& data, MessageParcel& reply, MessageOption& option)
|
||||||
{
|
{
|
||||||
if (!securityManager_.IsInterfaceCodeAccessible(code)) {
|
|
||||||
RS_LOGE("RSSurfaceOcclusionChangeCallbackStub::OnRemoteRequest "
|
|
||||||
"no permission to access codeID=%{public}u.", code);
|
|
||||||
return ERR_INVALID_STATE;
|
|
||||||
}
|
|
||||||
|
|
||||||
auto token = data.ReadInterfaceToken();
|
auto token = data.ReadInterfaceToken();
|
||||||
if (token != RSISurfaceOcclusionChangeCallback::GetDescriptor()) {
|
if (token != RSISurfaceOcclusionChangeCallback::GetDescriptor()) {
|
||||||
return ERR_INVALID_STATE;
|
return ERR_INVALID_STATE;
|
||||||
@ -49,8 +43,5 @@ int RSSurfaceOcclusionChangeCallbackStub::OnRemoteRequest(
|
|||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
const RSInterfaceCodeSecurityManager RSSurfaceOcclusionChangeCallbackStub::securityManager_ = \
|
|
||||||
RSInterfaceCodeSecurityManager::CreateInstance<RSISurfaceOcclusionChangeCallbackInterfaceCodeAccessVerifier>();
|
|
||||||
} // namespace Rosen
|
} // namespace Rosen
|
||||||
} // namespace OHOS
|
} // namespace OHOS
|
||||||
|
@ -19,8 +19,7 @@
|
|||||||
#include <iremote_stub.h>
|
#include <iremote_stub.h>
|
||||||
#include "common/rs_macros.h"
|
#include "common/rs_macros.h"
|
||||||
#include "ipc_callbacks/rs_isurface_occlusion_change_callback.h"
|
#include "ipc_callbacks/rs_isurface_occlusion_change_callback.h"
|
||||||
#include "ipc_callbacks/rs_isurface_occlusion_change_callback_ipc_interface_code_access_verifier.h"
|
#include "ipc_callbacks/rs_isurface_occlusion_change_callback_ipc_interface_code.h"
|
||||||
#include "ipc_security/rs_ipc_interface_code_security_manager.h"
|
|
||||||
|
|
||||||
namespace OHOS {
|
namespace OHOS {
|
||||||
namespace Rosen {
|
namespace Rosen {
|
||||||
@ -30,9 +29,6 @@ public:
|
|||||||
~RSSurfaceOcclusionChangeCallbackStub() = default;
|
~RSSurfaceOcclusionChangeCallbackStub() = default;
|
||||||
|
|
||||||
int OnRemoteRequest(uint32_t code, MessageParcel& data, MessageParcel& reply, MessageOption& option) override;
|
int OnRemoteRequest(uint32_t code, MessageParcel& data, MessageParcel& reply, MessageOption& option) override;
|
||||||
|
|
||||||
private:
|
|
||||||
static const RSInterfaceCodeSecurityManager securityManager_;
|
|
||||||
};
|
};
|
||||||
} // namespace Rosen
|
} // namespace Rosen
|
||||||
} // namespace OHOS
|
} // namespace OHOS
|
||||||
|
@ -22,11 +22,6 @@ namespace Rosen {
|
|||||||
int RSUIExtensionCallbackStub::OnRemoteRequest(
|
int RSUIExtensionCallbackStub::OnRemoteRequest(
|
||||||
uint32_t code, MessageParcel& data, MessageParcel& reply, MessageOption& option)
|
uint32_t code, MessageParcel& data, MessageParcel& reply, MessageOption& option)
|
||||||
{
|
{
|
||||||
if (!securityManager_.IsInterfaceCodeAccessible(code)) {
|
|
||||||
RS_LOGE("RSUIExtensionCallbackStub::OnRemoteRequest no permission to access codeID=%{public}u.", code);
|
|
||||||
return ERR_INVALID_STATE;
|
|
||||||
}
|
|
||||||
|
|
||||||
auto token = data.ReadInterfaceToken();
|
auto token = data.ReadInterfaceToken();
|
||||||
if (token != RSIUIExtensionCallback::GetDescriptor()) {
|
if (token != RSIUIExtensionCallback::GetDescriptor()) {
|
||||||
return ERR_INVALID_STATE;
|
return ERR_INVALID_STATE;
|
||||||
@ -48,8 +43,5 @@ int RSUIExtensionCallbackStub::OnRemoteRequest(
|
|||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
const RSInterfaceCodeSecurityManager RSUIExtensionCallbackStub::securityManager_ = \
|
|
||||||
RSInterfaceCodeSecurityManager::CreateInstance<RSIUIExtensionCallbackInterfaceCodeAccessVerifier>();
|
|
||||||
} // namespace Rosen
|
} // namespace Rosen
|
||||||
} // namespace OHOS
|
} // namespace OHOS
|
||||||
|
@ -19,8 +19,7 @@
|
|||||||
#include <iremote_stub.h>
|
#include <iremote_stub.h>
|
||||||
#include "common/rs_macros.h"
|
#include "common/rs_macros.h"
|
||||||
#include "ipc_callbacks/rs_iuiextension_callback.h"
|
#include "ipc_callbacks/rs_iuiextension_callback.h"
|
||||||
#include "ipc_callbacks/rs_iuiextension_callback_ipc_interface_code_access_verifier.h"
|
#include "ipc_callbacks/rs_iuiextension_callback_ipc_interface_code.h"
|
||||||
#include "ipc_security/rs_ipc_interface_code_security_manager.h"
|
|
||||||
|
|
||||||
namespace OHOS {
|
namespace OHOS {
|
||||||
namespace Rosen {
|
namespace Rosen {
|
||||||
@ -30,9 +29,6 @@ public:
|
|||||||
~RSUIExtensionCallbackStub() = default;
|
~RSUIExtensionCallbackStub() = default;
|
||||||
|
|
||||||
int OnRemoteRequest(uint32_t code, MessageParcel& data, MessageParcel& reply, MessageOption& option) override;
|
int OnRemoteRequest(uint32_t code, MessageParcel& data, MessageParcel& reply, MessageOption& option) override;
|
||||||
|
|
||||||
private:
|
|
||||||
static const RSInterfaceCodeSecurityManager securityManager_;
|
|
||||||
};
|
};
|
||||||
} // namespace Rosen
|
} // namespace Rosen
|
||||||
} // namespace OHOS
|
} // namespace OHOS
|
||||||
|
@ -1,40 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (c) 2023 Huawei Device Co., Ltd.
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "ipc_callbacks/screen_change_callback_ipc_interface_code_access_verifier.h"
|
|
||||||
|
|
||||||
namespace OHOS {
|
|
||||||
namespace Rosen {
|
|
||||||
RSIScreenChangeCallbackInterfaceCodeAccessVerifier::RSIScreenChangeCallbackInterfaceCodeAccessVerifier()
|
|
||||||
{
|
|
||||||
CheckCodeUnderlyingTypeStandardized<CodeEnumType>(codeEnumTypeName_);
|
|
||||||
}
|
|
||||||
|
|
||||||
bool RSIScreenChangeCallbackInterfaceCodeAccessVerifier::IsExclusiveVerificationPassed(CodeUnderlyingType code)
|
|
||||||
{
|
|
||||||
bool hasPermission = true;
|
|
||||||
switch (code) {
|
|
||||||
case static_cast<CodeUnderlyingType>(CodeEnumType::ON_SCREEN_CHANGED): {
|
|
||||||
hasPermission = IsSystemCalling(codeEnumTypeName_ + "::ON_SCREEN_CHANGED");
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
default: {
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return hasPermission;
|
|
||||||
}
|
|
||||||
} // namespace Rosen
|
|
||||||
} // namespace OHOS
|
|
@ -20,11 +20,6 @@ namespace Rosen {
|
|||||||
int RSScreenChangeCallbackStub::OnRemoteRequest(
|
int RSScreenChangeCallbackStub::OnRemoteRequest(
|
||||||
uint32_t code, MessageParcel& data, MessageParcel& reply, MessageOption& option)
|
uint32_t code, MessageParcel& data, MessageParcel& reply, MessageOption& option)
|
||||||
{
|
{
|
||||||
if (!securityManager_.IsInterfaceCodeAccessible(code)) {
|
|
||||||
RS_LOGE("RSScreenChangeCallbackStub::OnRemoteRequest no permission to access codeID=%{public}u.", code);
|
|
||||||
return ERR_INVALID_STATE;
|
|
||||||
}
|
|
||||||
|
|
||||||
auto token = data.ReadInterfaceToken();
|
auto token = data.ReadInterfaceToken();
|
||||||
if (token != RSIScreenChangeCallback::GetDescriptor()) {
|
if (token != RSIScreenChangeCallback::GetDescriptor()) {
|
||||||
return ERR_INVALID_STATE;
|
return ERR_INVALID_STATE;
|
||||||
@ -46,8 +41,5 @@ int RSScreenChangeCallbackStub::OnRemoteRequest(
|
|||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
const RSInterfaceCodeSecurityManager RSScreenChangeCallbackStub::securityManager_ = \
|
|
||||||
RSInterfaceCodeSecurityManager::CreateInstance<RSIScreenChangeCallbackInterfaceCodeAccessVerifier>();
|
|
||||||
} // namespace Rosen
|
} // namespace Rosen
|
||||||
} // namespace OHOS
|
} // namespace OHOS
|
||||||
|
@ -19,8 +19,7 @@
|
|||||||
#include <iremote_stub.h>
|
#include <iremote_stub.h>
|
||||||
#include "common/rs_macros.h"
|
#include "common/rs_macros.h"
|
||||||
#include "ipc_callbacks/screen_change_callback.h"
|
#include "ipc_callbacks/screen_change_callback.h"
|
||||||
#include "ipc_callbacks/screen_change_callback_ipc_interface_code_access_verifier.h"
|
#include "ipc_callbacks/screen_change_callback_ipc_interface_code.h"
|
||||||
#include "ipc_security/rs_ipc_interface_code_security_manager.h"
|
|
||||||
|
|
||||||
namespace OHOS {
|
namespace OHOS {
|
||||||
namespace Rosen {
|
namespace Rosen {
|
||||||
@ -30,9 +29,6 @@ public:
|
|||||||
~RSScreenChangeCallbackStub() = default;
|
~RSScreenChangeCallbackStub() = default;
|
||||||
|
|
||||||
int OnRemoteRequest(uint32_t code, MessageParcel& data, MessageParcel& reply, MessageOption& option) override;
|
int OnRemoteRequest(uint32_t code, MessageParcel& data, MessageParcel& reply, MessageOption& option) override;
|
||||||
|
|
||||||
private:
|
|
||||||
static const RSInterfaceCodeSecurityManager securityManager_;
|
|
||||||
};
|
};
|
||||||
} // namespace Rosen
|
} // namespace Rosen
|
||||||
} // namespace OHOS
|
} // namespace OHOS
|
||||||
|
@ -1,40 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (c) 2023 Huawei Device Co., Ltd.
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "ipc_callbacks/surface_capture_callback_ipc_interface_code_access_verifier.h"
|
|
||||||
|
|
||||||
namespace OHOS {
|
|
||||||
namespace Rosen {
|
|
||||||
RSISurfaceCaptureCallbackInterfaceCodeAccessVerifier::RSISurfaceCaptureCallbackInterfaceCodeAccessVerifier()
|
|
||||||
{
|
|
||||||
CheckCodeUnderlyingTypeStandardized<CodeEnumType>(codeEnumTypeName_);
|
|
||||||
}
|
|
||||||
|
|
||||||
bool RSISurfaceCaptureCallbackInterfaceCodeAccessVerifier::IsExclusiveVerificationPassed(CodeUnderlyingType code)
|
|
||||||
{
|
|
||||||
bool hasPermission = true;
|
|
||||||
switch (code) {
|
|
||||||
case static_cast<CodeUnderlyingType>(CodeEnumType::ON_SURFACE_CAPTURE): {
|
|
||||||
/* to implement access interception */
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
default: {
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return hasPermission;
|
|
||||||
}
|
|
||||||
} // namespace Rosen
|
|
||||||
} // namespace OHOS
|
|
@ -21,11 +21,6 @@ namespace Rosen {
|
|||||||
int RSSurfaceCaptureCallbackStub::OnRemoteRequest(
|
int RSSurfaceCaptureCallbackStub::OnRemoteRequest(
|
||||||
uint32_t code, MessageParcel& data, MessageParcel& reply, MessageOption& option)
|
uint32_t code, MessageParcel& data, MessageParcel& reply, MessageOption& option)
|
||||||
{
|
{
|
||||||
if (!securityManager_.IsInterfaceCodeAccessible(code)) {
|
|
||||||
RS_LOGE("RSSurfaceCaptureCallbackStub::OnRemoteRequest no permission to access codeID=%{public}u.", code);
|
|
||||||
return ERR_INVALID_STATE;
|
|
||||||
}
|
|
||||||
|
|
||||||
auto token = data.ReadInterfaceToken();
|
auto token = data.ReadInterfaceToken();
|
||||||
if (token != RSISurfaceCaptureCallback::GetDescriptor()) {
|
if (token != RSISurfaceCaptureCallback::GetDescriptor()) {
|
||||||
ROSEN_LOGE("RSSurfaceCaptureCallbackStub: token ERR_INVALID_STATE");
|
ROSEN_LOGE("RSSurfaceCaptureCallbackStub: token ERR_INVALID_STATE");
|
||||||
@ -47,8 +42,5 @@ int RSSurfaceCaptureCallbackStub::OnRemoteRequest(
|
|||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
const RSInterfaceCodeSecurityManager RSSurfaceCaptureCallbackStub::securityManager_ = \
|
|
||||||
RSInterfaceCodeSecurityManager::CreateInstance<RSISurfaceCaptureCallbackInterfaceCodeAccessVerifier>();
|
|
||||||
} // namespace Rosen
|
} // namespace Rosen
|
||||||
} // namespace OHOS
|
} // namespace OHOS
|
||||||
|
@ -19,8 +19,7 @@
|
|||||||
#include <iremote_stub.h>
|
#include <iremote_stub.h>
|
||||||
#include "common/rs_macros.h"
|
#include "common/rs_macros.h"
|
||||||
#include "ipc_callbacks/surface_capture_callback.h"
|
#include "ipc_callbacks/surface_capture_callback.h"
|
||||||
#include "ipc_callbacks/surface_capture_callback_ipc_interface_code_access_verifier.h"
|
#include "ipc_callbacks/surface_capture_callback_ipc_interface_code.h"
|
||||||
#include "ipc_security/rs_ipc_interface_code_security_manager.h"
|
|
||||||
|
|
||||||
namespace OHOS {
|
namespace OHOS {
|
||||||
namespace Rosen {
|
namespace Rosen {
|
||||||
@ -30,9 +29,6 @@ public:
|
|||||||
~RSSurfaceCaptureCallbackStub() = default;
|
~RSSurfaceCaptureCallbackStub() = default;
|
||||||
|
|
||||||
int OnRemoteRequest(uint32_t code, MessageParcel& data, MessageParcel& reply, MessageOption& option) override;
|
int OnRemoteRequest(uint32_t code, MessageParcel& data, MessageParcel& reply, MessageOption& option) override;
|
||||||
|
|
||||||
private:
|
|
||||||
static const RSInterfaceCodeSecurityManager securityManager_;
|
|
||||||
};
|
};
|
||||||
} // namespace Rosen
|
} // namespace Rosen
|
||||||
} // namespace OHOS
|
} // namespace OHOS
|
||||||
|
@ -54,7 +54,6 @@ group("test") {
|
|||||||
"render_service_base/fuzztest/rsframereport_fuzzer:fuzztest",
|
"render_service_base/fuzztest/rsframereport_fuzzer:fuzztest",
|
||||||
"render_service_base/fuzztest/rsfunctionaldelegate_fuzzer:fuzztest",
|
"render_service_base/fuzztest/rsfunctionaldelegate_fuzzer:fuzztest",
|
||||||
"render_service_base/fuzztest/rsgpuoverdrawcanvaslistener_fuzzer:fuzztest",
|
"render_service_base/fuzztest/rsgpuoverdrawcanvaslistener_fuzzer:fuzztest",
|
||||||
"render_service_base/fuzztest/rsisurfaceocclusionchangecallbackipcinterfacecodeaccessverifier_fuzzer:fuzztest",
|
|
||||||
"render_service_base/fuzztest/rslineargradientblurshaderfilter_fuzzer:fuzztest",
|
"render_service_base/fuzztest/rslineargradientblurshaderfilter_fuzzer:fuzztest",
|
||||||
"render_service_base/fuzztest/rslistenedcanvas_fuzzer:fuzztest",
|
"render_service_base/fuzztest/rslistenedcanvas_fuzzer:fuzztest",
|
||||||
"render_service_base/fuzztest/rslog_fuzzer:fuzztest",
|
"render_service_base/fuzztest/rslog_fuzzer:fuzztest",
|
||||||
|
@ -13,6 +13,7 @@
|
|||||||
|
|
||||||
import("//build/test.gni")
|
import("//build/test.gni")
|
||||||
import("//foundation/graphic/graphic_2d/graphic_config.gni")
|
import("//foundation/graphic/graphic_2d/graphic_config.gni")
|
||||||
|
import("$graphic_2d_root/rosen/modules/render_service_base/config.gni")
|
||||||
|
|
||||||
module_output_path = "graphic/rosen_engine/render_service/transaction"
|
module_output_path = "graphic/rosen_engine/render_service/transaction"
|
||||||
|
|
||||||
@ -20,6 +21,7 @@ group("unittest") {
|
|||||||
testonly = true
|
testonly = true
|
||||||
|
|
||||||
deps = [
|
deps = [
|
||||||
|
":RSIRenderServiceConnectionIpcInterfaceCodeAccessVerifierTest",
|
||||||
":RSRenderServiceConnectionStubTest",
|
":RSRenderServiceConnectionStubTest",
|
||||||
":RSRenderServiceStubTest",
|
":RSRenderServiceStubTest",
|
||||||
]
|
]
|
||||||
@ -30,6 +32,28 @@ config("pipeline_test") {
|
|||||||
include_dirs = [ "$graphic_2d_root/rosen/modules/render_service/core" ]
|
include_dirs = [ "$graphic_2d_root/rosen/modules/render_service/core" ]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
## Build RSIRenderServiceConnectionIpcInterfaceCodeAccessVerifierTest
|
||||||
|
ohos_unittest("RSIRenderServiceConnectionIpcInterfaceCodeAccessVerifierTest") {
|
||||||
|
module_out_path = module_output_path
|
||||||
|
sources = [
|
||||||
|
"rs_irender_service_connection_ipc_interface_code_access_verifier_test.cpp",
|
||||||
|
]
|
||||||
|
deps = [ ":rs_test_common" ]
|
||||||
|
external_deps = []
|
||||||
|
if (defined(global_parts_info) && defined(global_parts_info.sensors_sensor)) {
|
||||||
|
external_deps += [ "sensor:sensor_interface_native" ]
|
||||||
|
}
|
||||||
|
defines = []
|
||||||
|
defines += gpu_defines
|
||||||
|
if (defined(enable_ipc_security) && enable_ipc_security) {
|
||||||
|
defines += [ "ENABLE_IPC_SECURITY" ]
|
||||||
|
external_deps += [
|
||||||
|
"access_token:libaccesstoken_sdk",
|
||||||
|
"access_token:libtokenid_sdk",
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
## Build RSRenderServiceConnectionStubTest
|
## Build RSRenderServiceConnectionStubTest
|
||||||
ohos_unittest("RSRenderServiceConnectionStubTest") {
|
ohos_unittest("RSRenderServiceConnectionStubTest") {
|
||||||
module_out_path = module_output_path
|
module_out_path = module_output_path
|
||||||
@ -63,6 +87,7 @@ config("rs_test_common_public_config") {
|
|||||||
"$graphic_2d_root/rosen/modules/hyper_graphic_manager/core/config",
|
"$graphic_2d_root/rosen/modules/hyper_graphic_manager/core/config",
|
||||||
"$graphic_2d_root/rosen/modules/render_service/core",
|
"$graphic_2d_root/rosen/modules/render_service/core",
|
||||||
"$graphic_2d_root/rosen/modules/render_service_client/core",
|
"$graphic_2d_root/rosen/modules/render_service_client/core",
|
||||||
|
"$graphic_2d_root/rosen/modules/render_service_base/include",
|
||||||
"$graphic_2d_root/rosen/modules/render_service_base/src",
|
"$graphic_2d_root/rosen/modules/render_service_base/src",
|
||||||
"$graphic_2d_root/rosen/test/include",
|
"$graphic_2d_root/rosen/test/include",
|
||||||
"$memmgr_plugin_root/interface/innerkits/include",
|
"$memmgr_plugin_root/interface/innerkits/include",
|
||||||
|
@ -0,0 +1,221 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2024 Huawei Device Co., Ltd.
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <gtest/gtest.h>
|
||||||
|
#include "platform/ohos/rs_irender_service_connection_ipc_interface_code_access_verifier.h"
|
||||||
|
|
||||||
|
namespace OHOS::Rosen {
|
||||||
|
class RSIRenderServiceConnectionIpcInterfaceCodeAccessVerifierTest : public testing::Test {
|
||||||
|
public:
|
||||||
|
static void SetUpTestCase();
|
||||||
|
static void TearDownTestCase();
|
||||||
|
void SetUp() override;
|
||||||
|
void TearDown() override;
|
||||||
|
};
|
||||||
|
|
||||||
|
void RSIRenderServiceConnectionIpcInterfaceCodeAccessVerifierTest::SetUpTestCase() {}
|
||||||
|
void RSIRenderServiceConnectionIpcInterfaceCodeAccessVerifierTest::TearDownTestCase() {}
|
||||||
|
void RSIRenderServiceConnectionIpcInterfaceCodeAccessVerifierTest::SetUp() {}
|
||||||
|
void RSIRenderServiceConnectionIpcInterfaceCodeAccessVerifierTest::TearDown() {}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @tc.name: IsInterfaceCodeAccessibleTest001
|
||||||
|
* @tc.desc: test
|
||||||
|
* @tc.type: FUNC
|
||||||
|
* @tc.require: issue#IAS6LQ
|
||||||
|
*/
|
||||||
|
HWTEST_F(RSIRenderServiceConnectionIpcInterfaceCodeAccessVerifierTest, IsInterfaceCodeAccessibleTest001,
|
||||||
|
testing::ext::TestSize.Level1)
|
||||||
|
{
|
||||||
|
auto verifier = std::make_unique<RSIRenderServiceConnectionInterfaceCodeAccessVerifier>();
|
||||||
|
CodeUnderlyingType code = 0;
|
||||||
|
ASSERT_EQ(verifier->IsInterfaceCodeAccessible(code), true);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @tc.name: IsSystemCallingTest001
|
||||||
|
* @tc.desc: test
|
||||||
|
* @tc.type: FUNC
|
||||||
|
* @tc.require: issue#IAS6LQ
|
||||||
|
*/
|
||||||
|
HWTEST_F(RSIRenderServiceConnectionIpcInterfaceCodeAccessVerifierTest, IsSystemCallingTest001,
|
||||||
|
testing::ext::TestSize.Level1)
|
||||||
|
{
|
||||||
|
auto verifier = std::make_unique<RSIRenderServiceConnectionInterfaceCodeAccessVerifier>();
|
||||||
|
const std::string callingCode = "test";
|
||||||
|
ASSERT_EQ(verifier->IsSystemCalling(callingCode), true);
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef ENABLE_IPC_SECURITY
|
||||||
|
/**
|
||||||
|
* @tc.name: CheckNativePermissionTest001
|
||||||
|
* @tc.desc: test
|
||||||
|
* @tc.type: FUNC
|
||||||
|
* @tc.require: issue#IAS6LQ
|
||||||
|
*/
|
||||||
|
HWTEST_F(RSIRenderServiceConnectionIpcInterfaceCodeAccessVerifierTest, CheckNativePermissionTest001,
|
||||||
|
testing::ext::TestSize.Level1)
|
||||||
|
{
|
||||||
|
auto verifier = std::make_unique<RSIRenderServiceConnectionInterfaceCodeAccessVerifier>();
|
||||||
|
CodeUnderlyingType interfaceName =
|
||||||
|
static_cast<CodeUnderlyingType>(RSIRenderServiceConnectionInterfaceCode::TAKE_SURFACE_CAPTURE);
|
||||||
|
auto permissions = verifier->GetPermissions(interfaceName);
|
||||||
|
auto tokenID = verifier->GetTokenID();
|
||||||
|
for (auto& permission : permissions) {
|
||||||
|
ASSERT_EQ(verifier->CheckNativePermission(tokenID, permission), false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @tc.name: CheckHapPermissionTest001
|
||||||
|
* @tc.desc: test
|
||||||
|
* @tc.type: FUNC
|
||||||
|
* @tc.require: issue#IAS6LQ
|
||||||
|
*/
|
||||||
|
HWTEST_F(RSIRenderServiceConnectionIpcInterfaceCodeAccessVerifierTest, CheckHapPermissionTest001,
|
||||||
|
testing::ext::TestSize.Level1)
|
||||||
|
{
|
||||||
|
auto verifier = std::make_unique<RSIRenderServiceConnectionInterfaceCodeAccessVerifier>();
|
||||||
|
CodeUnderlyingType interfaceName =
|
||||||
|
static_cast<CodeUnderlyingType>(RSIRenderServiceConnectionInterfaceCode::TAKE_SURFACE_CAPTURE);
|
||||||
|
auto permissions = verifier->GetPermissions(interfaceName);
|
||||||
|
auto tokenID = verifier->GetTokenID();
|
||||||
|
for (auto& permission : permissions) {
|
||||||
|
ASSERT_EQ(verifier->CheckHapPermission(tokenID, permission), false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @tc.name: PermissionEnumToStringTest001
|
||||||
|
* @tc.desc: test
|
||||||
|
* @tc.type: FUNC
|
||||||
|
* @tc.require: issue#IAS6LQ
|
||||||
|
*/
|
||||||
|
HWTEST_F(RSIRenderServiceConnectionIpcInterfaceCodeAccessVerifierTest, PermissionEnumToStringTest001,
|
||||||
|
testing::ext::TestSize.Level1)
|
||||||
|
{
|
||||||
|
auto verifier = std::make_unique<RSIRenderServiceConnectionInterfaceCodeAccessVerifier>();
|
||||||
|
PermissionType permission = PermissionType::CAPTURE_SCREEN;
|
||||||
|
ASSERT_TRUE(verifier->PermissionEnumToString(permission) != "unknown");
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @tc.name: AddPermissionTest001
|
||||||
|
* @tc.desc: test
|
||||||
|
* @tc.type: FUNC
|
||||||
|
* @tc.require: issue#IAS6LQ
|
||||||
|
*/
|
||||||
|
HWTEST_F(RSIRenderServiceConnectionIpcInterfaceCodeAccessVerifierTest, AddPermissionTest001,
|
||||||
|
testing::ext::TestSize.Level1)
|
||||||
|
{
|
||||||
|
auto verifier = std::make_unique<RSIRenderServiceConnectionInterfaceCodeAccessVerifier>();
|
||||||
|
CodeUnderlyingType interfaceName = 0;
|
||||||
|
const std::string newPermission = "CAPTURE_SCREEN";
|
||||||
|
ASSERT_EQ(verifier->AddPermission(interfaceName, newPermission), true);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @tc.name: GetPermissionsTest001
|
||||||
|
* @tc.desc: test
|
||||||
|
* @tc.type: FUNC
|
||||||
|
* @tc.require: issue#IAS6LQ
|
||||||
|
*/
|
||||||
|
HWTEST_F(RSIRenderServiceConnectionIpcInterfaceCodeAccessVerifierTest, GetPermissionsTest001,
|
||||||
|
testing::ext::TestSize.Level1)
|
||||||
|
{
|
||||||
|
auto verifier = std::make_unique<RSIRenderServiceConnectionInterfaceCodeAccessVerifier>();
|
||||||
|
CodeUnderlyingType interfaceName = 0;
|
||||||
|
const std::string newPermission = "CAPTURE_SCREEN";
|
||||||
|
auto ret = verifier->GetPermissions(interfaceName);
|
||||||
|
ASSERT_EQ(ret.empty(), true);
|
||||||
|
verifier->AddPermission(interfaceName, newPermission);
|
||||||
|
ret = verifier->GetPermissions(interfaceName);
|
||||||
|
ASSERT_EQ(ret.empty(), false);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @tc.name: GetInterfacePermissionSizeTest001
|
||||||
|
* @tc.desc: test
|
||||||
|
* @tc.type: FUNC
|
||||||
|
* @tc.require: issue#IAS6LQ
|
||||||
|
*/
|
||||||
|
HWTEST_F(RSIRenderServiceConnectionIpcInterfaceCodeAccessVerifierTest, GetInterfacePermissionSizeTest001,
|
||||||
|
testing::ext::TestSize.Level1)
|
||||||
|
{
|
||||||
|
auto verifier = std::make_unique<RSIRenderServiceConnectionInterfaceCodeAccessVerifier>();
|
||||||
|
bool isPermissionSizeEmpty = (verifier->GetInterfacePermissionSize() == 0);
|
||||||
|
EXPECT_FALSE(isPermissionSizeEmpty);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @tc.name: IsSystemAppTest001
|
||||||
|
* @tc.desc: test
|
||||||
|
* @tc.type: FUNC
|
||||||
|
* @tc.require: issue#IAS6LQ
|
||||||
|
*/
|
||||||
|
HWTEST_F(RSIRenderServiceConnectionIpcInterfaceCodeAccessVerifierTest, IsSystemAppTest001,
|
||||||
|
testing::ext::TestSize.Level1)
|
||||||
|
{
|
||||||
|
auto verifier = std::make_unique<RSIRenderServiceConnectionInterfaceCodeAccessVerifier>();
|
||||||
|
ASSERT_EQ(verifier->IsSystemApp(), false);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @tc.name: CheckPermissionTest001
|
||||||
|
* @tc.desc: test
|
||||||
|
* @tc.type: FUNC
|
||||||
|
* @tc.require: issue#IAS6LQ
|
||||||
|
*/
|
||||||
|
HWTEST_F(RSIRenderServiceConnectionIpcInterfaceCodeAccessVerifierTest, CheckPermissionTest001,
|
||||||
|
testing::ext::TestSize.Level1)
|
||||||
|
{
|
||||||
|
auto verifier = std::make_unique<RSIRenderServiceConnectionInterfaceCodeAccessVerifier>();
|
||||||
|
CodeUnderlyingType code = 0;
|
||||||
|
ASSERT_EQ(verifier->CheckPermission(code), true);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @tc.name: IsStylusServiceCallingTest001
|
||||||
|
* @tc.desc: test
|
||||||
|
* @tc.type: FUNC
|
||||||
|
* @tc.require: issue#IAS6LQ
|
||||||
|
*/
|
||||||
|
HWTEST_F(RSIRenderServiceConnectionIpcInterfaceCodeAccessVerifierTest, IsStylusServiceCallingTest001,
|
||||||
|
testing::ext::TestSize.Level1)
|
||||||
|
{
|
||||||
|
auto verifier = std::make_unique<RSIRenderServiceConnectionInterfaceCodeAccessVerifier>();
|
||||||
|
const std::string callingCode = "test";
|
||||||
|
#ifdef ENABLE_IPC_SECURITY
|
||||||
|
ASSERT_EQ(verifier->IsStylusServiceCalling(callingCode), false);
|
||||||
|
#else
|
||||||
|
ASSERT_EQ(verifier->IsStylusServiceCalling(callingCode), true);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @tc.name: IsCommonVerificationPassedTest001
|
||||||
|
* @tc.desc: test
|
||||||
|
* @tc.type: FUNC
|
||||||
|
* @tc.require: issue#IAS6LQ
|
||||||
|
*/
|
||||||
|
HWTEST_F(RSIRenderServiceConnectionIpcInterfaceCodeAccessVerifierTest, IsCommonVerificationPassedTest001,
|
||||||
|
testing::ext::TestSize.Level1)
|
||||||
|
{
|
||||||
|
auto verifier = std::make_unique<RSIRenderServiceConnectionInterfaceCodeAccessVerifier>();
|
||||||
|
CodeUnderlyingType code = 0;
|
||||||
|
ASSERT_EQ(verifier->IsCommonVerificationPassed(code), true);
|
||||||
|
}
|
||||||
|
} // namespace OHOS::Rosen
|
@ -1,61 +0,0 @@
|
|||||||
# Copyright (c) 2024 Huawei Device Co., Ltd.
|
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
# you may not use this file except in compliance with the License.
|
|
||||||
# You may obtain a copy of the License at
|
|
||||||
#
|
|
||||||
# http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
#
|
|
||||||
# Unless required by applicable law or agreed to in writing, software
|
|
||||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
# See the License for the specific language governing permissions and
|
|
||||||
# limitations under the License.
|
|
||||||
|
|
||||||
#####################hydra-fuzz###################
|
|
||||||
import("//build/config/features.gni")
|
|
||||||
import("//build/test.gni")
|
|
||||||
module_output_path = "graphic_2d/graphic_2d"
|
|
||||||
|
|
||||||
##############################fuzztest##########################################
|
|
||||||
ohos_fuzztest(
|
|
||||||
"RSIsurfaceOcclusionChangeCallbackIpcInterfaceCodeAccessVerifierFuzzTest") {
|
|
||||||
module_out_path = module_output_path
|
|
||||||
fuzz_config_file = "../../../../../test/render_service/render_service_base/fuzztest/rsisurfaceocclusionchangecallbackipcinterfacecodeaccessverifier_fuzzer"
|
|
||||||
include_dirs = [
|
|
||||||
"../../../../../modules/render_service_base/src",
|
|
||||||
"../../../../../modules/2d_graphics/include",
|
|
||||||
"../../../../../modules/render_service_base/include",
|
|
||||||
]
|
|
||||||
deps = [
|
|
||||||
"../../../../../modules/2d_graphics:2d_graphics",
|
|
||||||
"../../../../../modules/render_service:librender_service",
|
|
||||||
"../../../../../modules/render_service_base:librender_service_base",
|
|
||||||
"../../../../../modules/render_service_base:librender_service_base_static",
|
|
||||||
"../../../../../modules/render_service_client:librender_service_client",
|
|
||||||
"../../../../../modules/render_service_client:render_service_client_src",
|
|
||||||
]
|
|
||||||
external_deps = [
|
|
||||||
"c_utils:utils",
|
|
||||||
"hilog:libhilog",
|
|
||||||
]
|
|
||||||
cflags = [
|
|
||||||
"-g",
|
|
||||||
"-O0",
|
|
||||||
"-Wno-unused-variable",
|
|
||||||
"-fno-omit-frame-pointer",
|
|
||||||
"-Dprivate=public",
|
|
||||||
"-Dprotected=public",
|
|
||||||
]
|
|
||||||
sources = [ "rsisurfaceocclusionchangecallbackipcinterfacecodeaccessverifier_fuzzer.cpp" ]
|
|
||||||
}
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
group("fuzztest") {
|
|
||||||
testonly = true
|
|
||||||
deps = []
|
|
||||||
deps += [
|
|
||||||
# deps file
|
|
||||||
":RSIsurfaceOcclusionChangeCallbackIpcInterfaceCodeAccessVerifierFuzzTest",
|
|
||||||
]
|
|
||||||
}
|
|
||||||
###############################################################################
|
|
@ -1,14 +0,0 @@
|
|||||||
# Copyright (c) 2024 Huawei Device Co., Ltd.
|
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
# you may not use this file except in compliance with the License.
|
|
||||||
# You may obtain a copy of the License at
|
|
||||||
#
|
|
||||||
# http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
#
|
|
||||||
# Unless required by applicable law or agreed to in writing, software
|
|
||||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
# See the License for the specific language governing permissions and
|
|
||||||
# limitations under the License.
|
|
||||||
|
|
||||||
FUZZ
|
|
@ -1,25 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<!-- Copyright (c) 2024 Huawei Device Co., Ltd.
|
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
you may not use this file except in compliance with the License.
|
|
||||||
You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
||||||
-->
|
|
||||||
<fuzz_config>
|
|
||||||
<fuzztest>
|
|
||||||
<!-- maximum length of a test input -->
|
|
||||||
<max_len>1000</max_len>
|
|
||||||
<!-- maximum total time in seconds to run the fuzzer -->
|
|
||||||
<max_total_time>300</max_total_time>
|
|
||||||
<!-- memory usage limit in Mb -->
|
|
||||||
<rss_limit_mb>4096</rss_limit_mb>
|
|
||||||
</fuzztest>
|
|
||||||
</fuzz_config>
|
|
@ -1,78 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (c) 2024 Huawei Device Co., Ltd.
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "rsisurfaceocclusionchangecallbackipcinterfacecodeaccessverifier_fuzzer.h"
|
|
||||||
|
|
||||||
#include <climits>
|
|
||||||
#include <cstddef>
|
|
||||||
#include <cstdint>
|
|
||||||
#include <cstdio>
|
|
||||||
#include <cstdlib>
|
|
||||||
#include <fcntl.h>
|
|
||||||
#include <hilog/log.h>
|
|
||||||
#include <securec.h>
|
|
||||||
#include <unistd.h>
|
|
||||||
|
|
||||||
#include "ipc_callbacks/rs_isurface_occlusion_change_callback_ipc_interface_code_access_verifier.h"
|
|
||||||
|
|
||||||
namespace OHOS {
|
|
||||||
namespace Rosen {
|
|
||||||
namespace {
|
|
||||||
const uint8_t* g_data = nullptr;
|
|
||||||
size_t g_size = 0;
|
|
||||||
size_t g_pos;
|
|
||||||
} // namespace
|
|
||||||
|
|
||||||
template<class T>
|
|
||||||
T GetData()
|
|
||||||
{
|
|
||||||
T object {};
|
|
||||||
size_t objectSize = sizeof(object);
|
|
||||||
if (g_data == nullptr || objectSize > g_size - g_pos) {
|
|
||||||
return object;
|
|
||||||
}
|
|
||||||
errno_t ret = memcpy_s(&object, objectSize, g_data + g_pos, objectSize);
|
|
||||||
if (ret != EOK) {
|
|
||||||
return {};
|
|
||||||
}
|
|
||||||
g_pos += objectSize;
|
|
||||||
return object;
|
|
||||||
}
|
|
||||||
bool DoSomethingInterestingWithMyAPI(const uint8_t* data, size_t size)
|
|
||||||
{
|
|
||||||
if (data == nullptr) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
// initialize
|
|
||||||
g_data = data;
|
|
||||||
g_size = size;
|
|
||||||
g_pos = 0;
|
|
||||||
uint32_t code = GetData<uint32_t>();
|
|
||||||
RSISurfaceOcclusionChangeCallbackInterfaceCodeAccessVerifier
|
|
||||||
rsISurfaceOcclusionChangeCallbackInterfaceCodeAccessVerifier;
|
|
||||||
rsISurfaceOcclusionChangeCallbackInterfaceCodeAccessVerifier.IsExclusiveVerificationPassed(code);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
} // namespace Rosen
|
|
||||||
} // namespace OHOS
|
|
||||||
|
|
||||||
/* Fuzzer entry point */
|
|
||||||
extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size)
|
|
||||||
{
|
|
||||||
/* Run your code on data */
|
|
||||||
OHOS::Rosen::DoSomethingInterestingWithMyAPI(data, size);
|
|
||||||
return 0;
|
|
||||||
}
|
|
@ -1,20 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (c) 2024 Huawei Device Co., Ltd.
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
#ifndef RSISURFACEOCCLUSIONCHANGECALLBACKIPCINTERFACECODEACCESSVERIFIER_FUZZER_H
|
|
||||||
#define RSISURFACEOCCLUSIONCHANGECALLBACKIPCINTERFACECODEACCESSVERIFIER_FUZZER_H
|
|
||||||
|
|
||||||
#define FUZZ_PROJECT_NAME "rsisurfaceocclusionchangecallbackipcinterfacecodeaccessverifier_fuzzer"
|
|
||||||
|
|
||||||
#endif // RSISURFACEOCCLUSIONCHANGECALLBACKIPCINTERFACECODEACCESSVERIFIER_FUZZER_H
|
|
@ -27,7 +27,6 @@ ohos_unittest("RSRenderServiceBaseIpcCallBacksTest") {
|
|||||||
"buffer_clear_callback_stub_test.cpp",
|
"buffer_clear_callback_stub_test.cpp",
|
||||||
"hgm_config_change_callback_proxy_test.cpp",
|
"hgm_config_change_callback_proxy_test.cpp",
|
||||||
"hgm_config_change_callback_stub_test.cpp",
|
"hgm_config_change_callback_stub_test.cpp",
|
||||||
"rs_ihgm_config_change_callback_ipc_interface_code_access_verifier_test.cpp",
|
|
||||||
"rs_occlusion_change_callback_proxy_test.cpp",
|
"rs_occlusion_change_callback_proxy_test.cpp",
|
||||||
"rs_occlusion_change_callback_stub_test.cpp",
|
"rs_occlusion_change_callback_stub_test.cpp",
|
||||||
"rs_rt_refresh_callback_test.cpp",
|
"rs_rt_refresh_callback_test.cpp",
|
||||||
|
@ -57,7 +57,6 @@ HWTEST_F(RSBufferAvailableCallbackStubTest, OnRemoteRequest001, TestSize.Level1)
|
|||||||
int res = rsBufferAvailableCallbackStub->OnRemoteRequest(code, data, reply, option);
|
int res = rsBufferAvailableCallbackStub->OnRemoteRequest(code, data, reply, option);
|
||||||
EXPECT_TRUE(res == ERR_INVALID_STATE);
|
EXPECT_TRUE(res == ERR_INVALID_STATE);
|
||||||
code = static_cast<uint32_t>(RSIBufferAvailableCallbackInterfaceCode::ON_BUFFER_AVAILABLE);
|
code = static_cast<uint32_t>(RSIBufferAvailableCallbackInterfaceCode::ON_BUFFER_AVAILABLE);
|
||||||
EXPECT_TRUE(RSBufferAvailableCallbackStubMock::securityManager_.IsInterfaceCodeAccessible(code));
|
|
||||||
|
|
||||||
res = rsBufferAvailableCallbackStub->OnRemoteRequest(code, data, reply, option);
|
res = rsBufferAvailableCallbackStub->OnRemoteRequest(code, data, reply, option);
|
||||||
EXPECT_TRUE(res == ERR_INVALID_STATE);
|
EXPECT_TRUE(res == ERR_INVALID_STATE);
|
||||||
@ -77,7 +76,6 @@ HWTEST_F(RSBufferAvailableCallbackStubTest, OnRemoteRequest002, TestSize.Level1)
|
|||||||
auto rsBufferAvailableCallbackStub = std::make_shared<RSBufferAvailableCallbackStubMock>();
|
auto rsBufferAvailableCallbackStub = std::make_shared<RSBufferAvailableCallbackStubMock>();
|
||||||
auto code = static_cast<uint32_t>(RSIBufferAvailableCallbackInterfaceCode::ON_BUFFER_AVAILABLE);
|
auto code = static_cast<uint32_t>(RSIBufferAvailableCallbackInterfaceCode::ON_BUFFER_AVAILABLE);
|
||||||
data.WriteInterfaceToken(RSIBufferAvailableCallback::GetDescriptor());
|
data.WriteInterfaceToken(RSIBufferAvailableCallback::GetDescriptor());
|
||||||
EXPECT_TRUE(RSBufferAvailableCallbackStubMock::securityManager_.IsInterfaceCodeAccessible(code));
|
|
||||||
|
|
||||||
int res = rsBufferAvailableCallbackStub->OnRemoteRequest(code, data, reply, option);
|
int res = rsBufferAvailableCallbackStub->OnRemoteRequest(code, data, reply, option);
|
||||||
EXPECT_TRUE(res == ERR_NONE);
|
EXPECT_TRUE(res == ERR_NONE);
|
||||||
|
@ -57,7 +57,6 @@ HWTEST_F(RSBufferClearCallbackStubTest, OnRemoteRequest001, TestSize.Level1)
|
|||||||
int res = rsBufferClearCallbackStub->OnRemoteRequest(code, data, reply, option);
|
int res = rsBufferClearCallbackStub->OnRemoteRequest(code, data, reply, option);
|
||||||
EXPECT_TRUE(res == ERR_INVALID_STATE);
|
EXPECT_TRUE(res == ERR_INVALID_STATE);
|
||||||
code = static_cast<uint32_t>(RSIBufferClearCallbackInterfaceCode::ON_BUFFER_CLEAR);
|
code = static_cast<uint32_t>(RSIBufferClearCallbackInterfaceCode::ON_BUFFER_CLEAR);
|
||||||
EXPECT_TRUE(RSBufferClearCallbackStubMock::securityManager_.IsInterfaceCodeAccessible(code));
|
|
||||||
|
|
||||||
res = rsBufferClearCallbackStub->OnRemoteRequest(code, data, reply, option);
|
res = rsBufferClearCallbackStub->OnRemoteRequest(code, data, reply, option);
|
||||||
EXPECT_TRUE(res == ERR_INVALID_STATE);
|
EXPECT_TRUE(res == ERR_INVALID_STATE);
|
||||||
@ -77,7 +76,6 @@ HWTEST_F(RSBufferClearCallbackStubTest, OnRemoteRequest002, TestSize.Level1)
|
|||||||
auto rsBufferClearCallbackStub = std::make_shared<RSBufferClearCallbackStubMock>();
|
auto rsBufferClearCallbackStub = std::make_shared<RSBufferClearCallbackStubMock>();
|
||||||
auto code = static_cast<uint32_t>(RSIBufferClearCallbackInterfaceCode::ON_BUFFER_CLEAR);
|
auto code = static_cast<uint32_t>(RSIBufferClearCallbackInterfaceCode::ON_BUFFER_CLEAR);
|
||||||
data.WriteInterfaceToken(RSIBufferClearCallback::GetDescriptor());
|
data.WriteInterfaceToken(RSIBufferClearCallback::GetDescriptor());
|
||||||
EXPECT_TRUE(RSBufferClearCallbackStubMock::securityManager_.IsInterfaceCodeAccessible(code));
|
|
||||||
|
|
||||||
int res = rsBufferClearCallbackStub->OnRemoteRequest(code, data, reply, option);
|
int res = rsBufferClearCallbackStub->OnRemoteRequest(code, data, reply, option);
|
||||||
EXPECT_TRUE(res == ERR_NONE);
|
EXPECT_TRUE(res == ERR_NONE);
|
||||||
|
@ -117,7 +117,6 @@ HWTEST_F(RSHgmConfigChangeCallbackStubTest, OnRemoteRequest004, TestSize.Level1)
|
|||||||
auto code = static_cast<uint32_t>(RSIHgmConfigChangeCallbackInterfaceCode::ON_HGM_CONFIG_CHANGED);
|
auto code = static_cast<uint32_t>(RSIHgmConfigChangeCallbackInterfaceCode::ON_HGM_CONFIG_CHANGED);
|
||||||
data.WriteInterfaceToken(RSIHgmConfigChangeCallback::GetDescriptor());
|
data.WriteInterfaceToken(RSIHgmConfigChangeCallback::GetDescriptor());
|
||||||
|
|
||||||
EXPECT_TRUE(RSHgmConfigChangeCallbackStubMock::securityManager_.IsInterfaceCodeAccessible(code));
|
|
||||||
int res = stub->OnRemoteRequest(code, data, reply, option);
|
int res = stub->OnRemoteRequest(code, data, reply, option);
|
||||||
EXPECT_EQ(ERR_NONE, res);
|
EXPECT_EQ(ERR_NONE, res);
|
||||||
}
|
}
|
||||||
@ -135,7 +134,6 @@ HWTEST_F(RSHgmConfigChangeCallbackStubTest, OnRemoteRequest005, TestSize.Level1)
|
|||||||
auto code = static_cast<uint32_t>(RSIHgmConfigChangeCallbackInterfaceCode::ON_HGM_REFRESH_RATE_MODE_CHANGED);
|
auto code = static_cast<uint32_t>(RSIHgmConfigChangeCallbackInterfaceCode::ON_HGM_REFRESH_RATE_MODE_CHANGED);
|
||||||
data.WriteInterfaceToken(RSIHgmConfigChangeCallback::GetDescriptor());
|
data.WriteInterfaceToken(RSIHgmConfigChangeCallback::GetDescriptor());
|
||||||
|
|
||||||
EXPECT_TRUE(RSHgmConfigChangeCallbackStubMock::securityManager_.IsInterfaceCodeAccessible(code));
|
|
||||||
int res = stub->OnRemoteRequest(code, data, reply, option);
|
int res = stub->OnRemoteRequest(code, data, reply, option);
|
||||||
EXPECT_EQ(ERR_NONE, res);
|
EXPECT_EQ(ERR_NONE, res);
|
||||||
}
|
}
|
||||||
@ -153,7 +151,6 @@ HWTEST_F(RSHgmConfigChangeCallbackStubTest, OnRemoteRequest006, TestSize.Level1)
|
|||||||
auto code = static_cast<uint32_t>(RSIHgmConfigChangeCallbackInterfaceCode::ON_HGM_REFRESH_RATE_CHANGED);
|
auto code = static_cast<uint32_t>(RSIHgmConfigChangeCallbackInterfaceCode::ON_HGM_REFRESH_RATE_CHANGED);
|
||||||
data.WriteInterfaceToken(RSIHgmConfigChangeCallback::GetDescriptor());
|
data.WriteInterfaceToken(RSIHgmConfigChangeCallback::GetDescriptor());
|
||||||
|
|
||||||
EXPECT_TRUE(RSHgmConfigChangeCallbackStubMock::securityManager_.IsInterfaceCodeAccessible(code));
|
|
||||||
int res = stub->OnRemoteRequest(code, data, reply, option);
|
int res = stub->OnRemoteRequest(code, data, reply, option);
|
||||||
EXPECT_EQ(ERR_NONE, res);
|
EXPECT_EQ(ERR_NONE, res);
|
||||||
}
|
}
|
||||||
|
@ -1,84 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (c) 2024 Huawei Device Co., Ltd.
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "gtest/gtest.h"
|
|
||||||
#include "ipc_callbacks/rs_ihgm_config_change_callback_ipc_interface_code_access_verifier.h"
|
|
||||||
|
|
||||||
using namespace testing;
|
|
||||||
using namespace testing::ext;
|
|
||||||
|
|
||||||
namespace OHOS::Rosen {
|
|
||||||
class RSIHgmConfigChangeCallbackInterfaceCodeAccessVerifierTest : public testing::Test {
|
|
||||||
public:
|
|
||||||
static void SetUpTestCase();
|
|
||||||
static void TearDownTestCase();
|
|
||||||
void SetUp() override;
|
|
||||||
void TearDown() override;
|
|
||||||
};
|
|
||||||
|
|
||||||
void RSIHgmConfigChangeCallbackInterfaceCodeAccessVerifierTest::SetUpTestCase() {}
|
|
||||||
void RSIHgmConfigChangeCallbackInterfaceCodeAccessVerifierTest::TearDownTestCase() {}
|
|
||||||
void RSIHgmConfigChangeCallbackInterfaceCodeAccessVerifierTest::SetUp() {}
|
|
||||||
void RSIHgmConfigChangeCallbackInterfaceCodeAccessVerifierTest::TearDown() {}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @tc.name: IsExclusiveVerificationPassed001
|
|
||||||
* @tc.desc: Verify function IsExclusiveVerificationPassed incorrect code
|
|
||||||
* @tc.type: FUNC
|
|
||||||
*/
|
|
||||||
HWTEST_F(RSIHgmConfigChangeCallbackInterfaceCodeAccessVerifierTest, IsExclusiveVerificationPassed001, TestSize.Level1)
|
|
||||||
{
|
|
||||||
RSIHgmConfigChangeCallbackInterfaceCodeAccessVerifier verifier;
|
|
||||||
ASSERT_TRUE(verifier.IsExclusiveVerificationPassed(-1));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @tc.name: IsExclusiveVerificationPassed002
|
|
||||||
* @tc.desc: Verify function IsExclusiveVerificationPassed code: ON_HGM_CONFIG_CHANGED
|
|
||||||
* @tc.type: FUNC
|
|
||||||
*/
|
|
||||||
HWTEST_F(RSIHgmConfigChangeCallbackInterfaceCodeAccessVerifierTest, IsExclusiveVerificationPassed002, TestSize.Level1)
|
|
||||||
{
|
|
||||||
auto code = static_cast<CodeUnderlyingType>(RSIHgmConfigChangeCallbackInterfaceCode::ON_HGM_CONFIG_CHANGED);
|
|
||||||
RSIHgmConfigChangeCallbackInterfaceCodeAccessVerifier verifier;
|
|
||||||
ASSERT_TRUE(verifier.IsExclusiveVerificationPassed(code));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @tc.name: IsExclusiveVerificationPassed003
|
|
||||||
* @tc.desc: Verify function IsExclusiveVerificationPassed code: ON_HGM_REFRESH_RATE_MODE_CHANGED
|
|
||||||
* @tc.type: FUNC
|
|
||||||
*/
|
|
||||||
HWTEST_F(RSIHgmConfigChangeCallbackInterfaceCodeAccessVerifierTest, IsExclusiveVerificationPassed003, TestSize.Level1)
|
|
||||||
{
|
|
||||||
auto code =
|
|
||||||
static_cast<CodeUnderlyingType>(RSIHgmConfigChangeCallbackInterfaceCode::ON_HGM_REFRESH_RATE_MODE_CHANGED);
|
|
||||||
RSIHgmConfigChangeCallbackInterfaceCodeAccessVerifier verifier;
|
|
||||||
ASSERT_TRUE(verifier.IsExclusiveVerificationPassed(code));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @tc.name: IsExclusiveVerificationPassed004
|
|
||||||
* @tc.desc: Verify function IsExclusiveVerificationPassed code: ON_HGM_REFRESH_RATE_CHANGED
|
|
||||||
* @tc.type: FUNC
|
|
||||||
*/
|
|
||||||
HWTEST_F(RSIHgmConfigChangeCallbackInterfaceCodeAccessVerifierTest, IsExclusiveVerificationPassed004, TestSize.Level1)
|
|
||||||
{
|
|
||||||
auto code = static_cast<CodeUnderlyingType>(RSIHgmConfigChangeCallbackInterfaceCode::ON_HGM_REFRESH_RATE_CHANGED);
|
|
||||||
RSIHgmConfigChangeCallbackInterfaceCodeAccessVerifier verifier;
|
|
||||||
ASSERT_TRUE(verifier.IsExclusiveVerificationPassed(code));
|
|
||||||
}
|
|
||||||
|
|
||||||
} // namespace OHOS::Rosen
|
|
@ -57,7 +57,6 @@ HWTEST_F(RSOcclusionChangeCallbackStubTest, OnRemoteRequest001, TestSize.Level1)
|
|||||||
int res = rsOcclusionChangeCallbackStub->OnRemoteRequest(code, data, reply, option);
|
int res = rsOcclusionChangeCallbackStub->OnRemoteRequest(code, data, reply, option);
|
||||||
EXPECT_TRUE(res == ERR_INVALID_STATE);
|
EXPECT_TRUE(res == ERR_INVALID_STATE);
|
||||||
code = static_cast<uint32_t>(RSIOcclusionChangeCallbackInterfaceCode::ON_OCCLUSION_VISIBLE_CHANGED);
|
code = static_cast<uint32_t>(RSIOcclusionChangeCallbackInterfaceCode::ON_OCCLUSION_VISIBLE_CHANGED);
|
||||||
EXPECT_TRUE(RSOcclusionChangeCallbackStubMock::securityManager_.IsInterfaceCodeAccessible(code));
|
|
||||||
|
|
||||||
res = rsOcclusionChangeCallbackStub->OnRemoteRequest(code, data, reply, option);
|
res = rsOcclusionChangeCallbackStub->OnRemoteRequest(code, data, reply, option);
|
||||||
EXPECT_TRUE(res == ERR_INVALID_STATE);
|
EXPECT_TRUE(res == ERR_INVALID_STATE);
|
||||||
@ -77,7 +76,6 @@ HWTEST_F(RSOcclusionChangeCallbackStubTest, OnRemoteRequest002, TestSize.Level1)
|
|||||||
auto rsOcclusionChangeCallbackStub = std::make_shared<RSOcclusionChangeCallbackStubMock>();
|
auto rsOcclusionChangeCallbackStub = std::make_shared<RSOcclusionChangeCallbackStubMock>();
|
||||||
auto code = static_cast<uint32_t>(RSIOcclusionChangeCallbackInterfaceCode::ON_OCCLUSION_VISIBLE_CHANGED);
|
auto code = static_cast<uint32_t>(RSIOcclusionChangeCallbackInterfaceCode::ON_OCCLUSION_VISIBLE_CHANGED);
|
||||||
data.WriteInterfaceToken(RSIOcclusionChangeCallback::GetDescriptor());
|
data.WriteInterfaceToken(RSIOcclusionChangeCallback::GetDescriptor());
|
||||||
EXPECT_TRUE(RSOcclusionChangeCallbackStubMock::securityManager_.IsInterfaceCodeAccessible(code));
|
|
||||||
|
|
||||||
int res = rsOcclusionChangeCallbackStub->OnRemoteRequest(code, data, reply, option);
|
int res = rsOcclusionChangeCallbackStub->OnRemoteRequest(code, data, reply, option);
|
||||||
EXPECT_TRUE(res == ERR_NONE);
|
EXPECT_TRUE(res == ERR_NONE);
|
||||||
@ -96,7 +94,6 @@ HWTEST_F(RSOcclusionChangeCallbackStubTest, OnRemoteRequest003, TestSize.Level1)
|
|||||||
auto rsOcclusionChangeCallbackStub = std::make_shared<RSOcclusionChangeCallbackStubMock>();
|
auto rsOcclusionChangeCallbackStub = std::make_shared<RSOcclusionChangeCallbackStubMock>();
|
||||||
uint32_t code = 1;
|
uint32_t code = 1;
|
||||||
data.WriteInterfaceToken(RSIOcclusionChangeCallback::GetDescriptor());
|
data.WriteInterfaceToken(RSIOcclusionChangeCallback::GetDescriptor());
|
||||||
EXPECT_TRUE(RSOcclusionChangeCallbackStubMock::securityManager_.IsInterfaceCodeAccessible(code));
|
|
||||||
int res = rsOcclusionChangeCallbackStub->OnRemoteRequest(code, data, reply, option);
|
int res = rsOcclusionChangeCallbackStub->OnRemoteRequest(code, data, reply, option);
|
||||||
EXPECT_TRUE(res != ERR_NONE);
|
EXPECT_TRUE(res != ERR_NONE);
|
||||||
}
|
}
|
||||||
|
@ -81,7 +81,6 @@ HWTEST_F(RSSurfaceOcclusionChangeCallbackStubTest, OnRemoteRequest002, TestSize.
|
|||||||
|
|
||||||
uint32_t code =
|
uint32_t code =
|
||||||
static_cast<uint32_t>(RSISurfaceOcclusionChangeCallbackInterfaceCode::ON_SURFACE_OCCLUSION_VISIBLE_CHANGED);
|
static_cast<uint32_t>(RSISurfaceOcclusionChangeCallbackInterfaceCode::ON_SURFACE_OCCLUSION_VISIBLE_CHANGED);
|
||||||
EXPECT_TRUE(RSSurfaceOcclusionChangeCallbackStubMock::securityManager_.IsInterfaceCodeAccessible(code));
|
|
||||||
|
|
||||||
int res = stub->OnRemoteRequest(code, data, reply, option);
|
int res = stub->OnRemoteRequest(code, data, reply, option);
|
||||||
ASSERT_EQ(res, ERR_INVALID_STATE);
|
ASSERT_EQ(res, ERR_INVALID_STATE);
|
||||||
@ -121,7 +120,6 @@ HWTEST_F(RSSurfaceOcclusionChangeCallbackStubTest, OnRemoteRequest004, TestSize.
|
|||||||
uint32_t code =
|
uint32_t code =
|
||||||
static_cast<uint32_t>(RSISurfaceOcclusionChangeCallbackInterfaceCode::ON_SURFACE_OCCLUSION_VISIBLE_CHANGED);
|
static_cast<uint32_t>(RSISurfaceOcclusionChangeCallbackInterfaceCode::ON_SURFACE_OCCLUSION_VISIBLE_CHANGED);
|
||||||
data.WriteInterfaceToken(RSISurfaceOcclusionChangeCallback::GetDescriptor());
|
data.WriteInterfaceToken(RSISurfaceOcclusionChangeCallback::GetDescriptor());
|
||||||
EXPECT_TRUE(RSSurfaceOcclusionChangeCallbackStubMock::securityManager_.IsInterfaceCodeAccessible(code));
|
|
||||||
|
|
||||||
int res = stub->OnRemoteRequest(code, data, reply, option);
|
int res = stub->OnRemoteRequest(code, data, reply, option);
|
||||||
ASSERT_EQ(res, ERR_NONE);
|
ASSERT_EQ(res, ERR_NONE);
|
||||||
|
@ -57,7 +57,6 @@ HWTEST_F(RSUIExtensionCallbackStubTest, OnRemoteRequest001, TestSize.Level1)
|
|||||||
int res = rsUiExtensionCallbackStub->OnRemoteRequest(code, data, reply, option);
|
int res = rsUiExtensionCallbackStub->OnRemoteRequest(code, data, reply, option);
|
||||||
EXPECT_TRUE(res == ERR_INVALID_STATE);
|
EXPECT_TRUE(res == ERR_INVALID_STATE);
|
||||||
code = static_cast<uint32_t>(RSIUIExtensionCallbackInterfaceCode::ON_UIEXTENSION);
|
code = static_cast<uint32_t>(RSIUIExtensionCallbackInterfaceCode::ON_UIEXTENSION);
|
||||||
EXPECT_TRUE(RSUIExtensionCallbackStubMock::securityManager_.IsInterfaceCodeAccessible(code));
|
|
||||||
|
|
||||||
res = rsUiExtensionCallbackStub->OnRemoteRequest(code, data, reply, option);
|
res = rsUiExtensionCallbackStub->OnRemoteRequest(code, data, reply, option);
|
||||||
EXPECT_TRUE(res == ERR_INVALID_STATE);
|
EXPECT_TRUE(res == ERR_INVALID_STATE);
|
||||||
@ -77,7 +76,6 @@ HWTEST_F(RSUIExtensionCallbackStubTest, OnRemoteRequest002, TestSize.Level1)
|
|||||||
auto rsUiExtensionCallbackStub = std::make_shared<RSUIExtensionCallbackStubMock>();
|
auto rsUiExtensionCallbackStub = std::make_shared<RSUIExtensionCallbackStubMock>();
|
||||||
auto code = static_cast<uint32_t>(RSIUIExtensionCallbackInterfaceCode::ON_UIEXTENSION);
|
auto code = static_cast<uint32_t>(RSIUIExtensionCallbackInterfaceCode::ON_UIEXTENSION);
|
||||||
data.WriteInterfaceToken(RSIUIExtensionCallback::GetDescriptor());
|
data.WriteInterfaceToken(RSIUIExtensionCallback::GetDescriptor());
|
||||||
EXPECT_TRUE(RSUIExtensionCallbackStubMock::securityManager_.IsInterfaceCodeAccessible(code));
|
|
||||||
|
|
||||||
int res = rsUiExtensionCallbackStub->OnRemoteRequest(code, data, reply, option);
|
int res = rsUiExtensionCallbackStub->OnRemoteRequest(code, data, reply, option);
|
||||||
EXPECT_TRUE(res == ERR_NONE);
|
EXPECT_TRUE(res == ERR_NONE);
|
||||||
|
@ -55,7 +55,6 @@ HWTEST_F(RSScreenChangeCallbackStubTest, OnRemoteRequest001, TestSize.Level1)
|
|||||||
ASSERT_NE(rsScreenChangeCallbackStub, nullptr);
|
ASSERT_NE(rsScreenChangeCallbackStub, nullptr);
|
||||||
auto code = static_cast<uint32_t>(RSIScreenChangeCallbackInterfaceCode::ON_SCREEN_CHANGED);
|
auto code = static_cast<uint32_t>(RSIScreenChangeCallbackInterfaceCode::ON_SCREEN_CHANGED);
|
||||||
data.WriteInterfaceToken(RSIScreenChangeCallback::GetDescriptor());
|
data.WriteInterfaceToken(RSIScreenChangeCallback::GetDescriptor());
|
||||||
EXPECT_TRUE(RSScreenChangeCallbackStubMock::securityManager_.IsInterfaceCodeAccessible(code));
|
|
||||||
int res = rsScreenChangeCallbackStub->OnRemoteRequest(code, data, reply, option);
|
int res = rsScreenChangeCallbackStub->OnRemoteRequest(code, data, reply, option);
|
||||||
EXPECT_TRUE(res == ERR_NONE);
|
EXPECT_TRUE(res == ERR_NONE);
|
||||||
}
|
}
|
||||||
@ -90,7 +89,6 @@ HWTEST_F(RSScreenChangeCallbackStubTest, OnRemoteRequest003, TestSize.Level1)
|
|||||||
auto rsScreenChangeCallbackStub = std::make_shared<RSScreenChangeCallbackStubMock>();
|
auto rsScreenChangeCallbackStub = std::make_shared<RSScreenChangeCallbackStubMock>();
|
||||||
ASSERT_NE(rsScreenChangeCallbackStub, nullptr);
|
ASSERT_NE(rsScreenChangeCallbackStub, nullptr);
|
||||||
uint32_t code = static_cast<uint32_t>(RSIScreenChangeCallbackInterfaceCode::ON_SCREEN_CHANGED);
|
uint32_t code = static_cast<uint32_t>(RSIScreenChangeCallbackInterfaceCode::ON_SCREEN_CHANGED);
|
||||||
EXPECT_TRUE(RSScreenChangeCallbackStubMock::securityManager_.IsInterfaceCodeAccessible(code));
|
|
||||||
int res = rsScreenChangeCallbackStub->OnRemoteRequest(code, data, reply, option);
|
int res = rsScreenChangeCallbackStub->OnRemoteRequest(code, data, reply, option);
|
||||||
EXPECT_TRUE(res == ERR_INVALID_STATE);
|
EXPECT_TRUE(res == ERR_INVALID_STATE);
|
||||||
}
|
}
|
||||||
|
@ -63,7 +63,6 @@ HWTEST_F(RSSurfaceCaptureCallbackStubTest, OnRemoteRequest001, TestSize.Level1)
|
|||||||
MessageOption option;
|
MessageOption option;
|
||||||
|
|
||||||
uint32_t code = static_cast<uint32_t>(RSISurfaceCaptureCallbackInterfaceCode::ON_SURFACE_CAPTURE);
|
uint32_t code = static_cast<uint32_t>(RSISurfaceCaptureCallbackInterfaceCode::ON_SURFACE_CAPTURE);
|
||||||
EXPECT_TRUE(RSSurfaceCaptureCallbackStubMock::securityManager_.IsInterfaceCodeAccessible(code));
|
|
||||||
|
|
||||||
int res = stub->OnRemoteRequest(code, data, reply, option);
|
int res = stub->OnRemoteRequest(code, data, reply, option);
|
||||||
ASSERT_EQ(res, ERR_INVALID_STATE);
|
ASSERT_EQ(res, ERR_INVALID_STATE);
|
||||||
|
@ -26,17 +26,7 @@ ohos_unittest("RSRenderServiceBaseMemoryTest") {
|
|||||||
defines += [ "USE_ROSEN_DRAWING" ]
|
defines += [ "USE_ROSEN_DRAWING" ]
|
||||||
}
|
}
|
||||||
|
|
||||||
if (defined(enable_ipc_security) && enable_ipc_security) {
|
|
||||||
defines += [ "ENABLE_IPC_SECURITY" ]
|
|
||||||
external_deps += [
|
|
||||||
"access_token:libaccesstoken_sdk",
|
|
||||||
"access_token:libtokenid_sdk",
|
|
||||||
"ipc:ipc_core",
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
|
||||||
sources = [
|
sources = [
|
||||||
"rs_interface_code_access_verifier_base_test.cpp",
|
|
||||||
"rs_memory_graphic_test.cpp",
|
"rs_memory_graphic_test.cpp",
|
||||||
"rs_memory_track_test.cpp",
|
"rs_memory_track_test.cpp",
|
||||||
"rs_tag_tracker_test.cpp",
|
"rs_tag_tracker_test.cpp",
|
||||||
|
@ -1,257 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (c) 2023 Huawei Device Co., Ltd.
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <gtest/gtest.h>
|
|
||||||
#include "ipc_security/rs_ipc_interface_code_access_verifier_base.h"
|
|
||||||
#include "platform/ohos/rs_irender_service_connection_ipc_interface_code_access_verifier.h"
|
|
||||||
#include "ipc_callbacks/buffer_available_callback_ipc_interface_code_access_verifier.h"
|
|
||||||
|
|
||||||
namespace OHOS::Rosen {
|
|
||||||
class RSInterfaceCodeAccessVerifierBaseTest : public testing::Test {
|
|
||||||
public:
|
|
||||||
static void SetUpTestCase();
|
|
||||||
static void TearDownTestCase();
|
|
||||||
void SetUp() override;
|
|
||||||
void TearDown() override;
|
|
||||||
};
|
|
||||||
|
|
||||||
void RSInterfaceCodeAccessVerifierBaseTest::SetUpTestCase() {}
|
|
||||||
void RSInterfaceCodeAccessVerifierBaseTest::TearDownTestCase() {}
|
|
||||||
void RSInterfaceCodeAccessVerifierBaseTest::SetUp() {}
|
|
||||||
void RSInterfaceCodeAccessVerifierBaseTest::TearDown() {}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @tc.name: IsSystemCallingTest
|
|
||||||
* @tc.desc: test
|
|
||||||
* @tc.type: FUNC
|
|
||||||
* @tc.require:
|
|
||||||
*/
|
|
||||||
HWTEST_F(RSInterfaceCodeAccessVerifierBaseTest, IsSystemCallingTest, testing::ext::TestSize.Level1)
|
|
||||||
{
|
|
||||||
auto verifier = std::make_unique<RSIBufferAvailableCallbackInterfaceCodeAccessVerifier>();
|
|
||||||
const std::string callingCode = "test";
|
|
||||||
ASSERT_EQ(verifier->IsSystemCalling(callingCode), true);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @tc.name: CheckPermissionTest001
|
|
||||||
* @tc.desc: test
|
|
||||||
* @tc.type: FUNC
|
|
||||||
* @tc.require:
|
|
||||||
*/
|
|
||||||
HWTEST_F(RSInterfaceCodeAccessVerifierBaseTest, CheckPermissionTest001, testing::ext::TestSize.Level1)
|
|
||||||
{
|
|
||||||
auto verifier = std::make_unique<RSIBufferAvailableCallbackInterfaceCodeAccessVerifier>();
|
|
||||||
CodeUnderlyingType code = 0;
|
|
||||||
ASSERT_EQ(verifier->CheckPermission(code), true);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @tc.name: IsCommonVerificationPassedTest
|
|
||||||
* @tc.desc: test
|
|
||||||
* @tc.type: FUNC
|
|
||||||
* @tc.require:
|
|
||||||
*/
|
|
||||||
HWTEST_F(RSInterfaceCodeAccessVerifierBaseTest, IsCommonVerificationPassedTest, testing::ext::TestSize.Level1)
|
|
||||||
{
|
|
||||||
auto verifier = std::make_unique<RSIBufferAvailableCallbackInterfaceCodeAccessVerifier>();
|
|
||||||
CodeUnderlyingType code = 0;
|
|
||||||
ASSERT_EQ(verifier->IsCommonVerificationPassed(code), true);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @tc.name: IsStylusServiceCallingTest
|
|
||||||
* @tc.desc: test
|
|
||||||
* @tc.type: FUNC
|
|
||||||
* @tc.require:IAOZFC
|
|
||||||
*/
|
|
||||||
HWTEST_F(RSInterfaceCodeAccessVerifierBaseTest, IsStylusServiceCallingTest, testing::ext::TestSize.Level1)
|
|
||||||
{
|
|
||||||
const std::string callingCode = "RSInterfaceCodeAccessVerifierBaseTest::IsStylusServiceCallingTest";
|
|
||||||
auto verifier = std::make_unique<RSIBufferAvailableCallbackInterfaceCodeAccessVerifier>();
|
|
||||||
ASSERT_EQ(verifier->IsStylusServiceCalling(callingCode), true);
|
|
||||||
}
|
|
||||||
#ifdef ENABLE_IPC_SECURITY
|
|
||||||
/**
|
|
||||||
* @tc.name: IsInterfaceCodeAccessibleTest001
|
|
||||||
* @tc.desc: test
|
|
||||||
* @tc.type: FUNC
|
|
||||||
* @tc.require:
|
|
||||||
*/
|
|
||||||
HWTEST_F(RSInterfaceCodeAccessVerifierBaseTest, IsInterfaceCodeAccessibleTest001, testing::ext::TestSize.Level1)
|
|
||||||
{
|
|
||||||
CodeUnderlyingType code = 0;
|
|
||||||
auto verifier = std::make_unique<RSIBufferAvailableCallbackInterfaceCodeAccessVerifier>();
|
|
||||||
ASSERT_EQ(verifier->IsInterfaceCodeAccessible(code), true);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @tc.name: IsInterfaceCodeAccessibleTest002
|
|
||||||
* @tc.desc: test
|
|
||||||
* @tc.type: FUNC
|
|
||||||
* @tc.require:
|
|
||||||
*/
|
|
||||||
HWTEST_F(RSInterfaceCodeAccessVerifierBaseTest, IsInterfaceCodeAccessibleTest002, testing::ext::TestSize.Level1)
|
|
||||||
{
|
|
||||||
CodeUnderlyingType code = 0;
|
|
||||||
auto verifier = std::make_unique<RSIBufferAvailableCallbackInterfaceCodeAccessVerifier>();
|
|
||||||
ASSERT_EQ(verifier->IsInterfaceCodeAccessible(code), true);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @tc.name: CheckNativePermissionTest
|
|
||||||
* @tc.desc: test
|
|
||||||
* @tc.type: FUNC
|
|
||||||
* @tc.require:
|
|
||||||
*/
|
|
||||||
HWTEST_F(RSInterfaceCodeAccessVerifierBaseTest, CheckNativePermissionTest, testing::ext::TestSize.Level1)
|
|
||||||
{
|
|
||||||
CodeUnderlyingType interfaceName = 1.0;
|
|
||||||
auto verifier = std::make_unique<RSIBufferAvailableCallbackInterfaceCodeAccessVerifier>();
|
|
||||||
auto permissions = verifier->GetPermissions(interfaceName);
|
|
||||||
auto tokenID = verifier->GetTokenID();
|
|
||||||
for (auto& permission : permissions) {
|
|
||||||
ASSERT_EQ(verifier->CheckNativePermission(tokenID, permission), true);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @tc.name: CheckHapPermissionTest
|
|
||||||
* @tc.desc: test
|
|
||||||
* @tc.type: FUNC
|
|
||||||
* @tc.require:
|
|
||||||
*/
|
|
||||||
HWTEST_F(RSInterfaceCodeAccessVerifierBaseTest, CheckHapPermissionTest, testing::ext::TestSize.Level1)
|
|
||||||
{
|
|
||||||
CodeUnderlyingType interfaceName = 1.0;
|
|
||||||
auto verifier = std::make_unique<RSIBufferAvailableCallbackInterfaceCodeAccessVerifier>();
|
|
||||||
auto permissions = verifier->GetPermissions(interfaceName);
|
|
||||||
auto tokenID = verifier->GetTokenID();
|
|
||||||
for (auto& permission : permissions) {
|
|
||||||
ASSERT_EQ(verifier->CheckHapPermission(tokenID, permission), true);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @tc.name: CheckPermissionTest002
|
|
||||||
* @tc.desc: test
|
|
||||||
* @tc.type: FUNC
|
|
||||||
* @tc.require:
|
|
||||||
*/
|
|
||||||
HWTEST_F(RSInterfaceCodeAccessVerifierBaseTest, CheckPermissionTest002, testing::ext::TestSize.Level1)
|
|
||||||
{
|
|
||||||
CodeUnderlyingType code = 0;
|
|
||||||
auto verifier = std::make_unique<RSIBufferAvailableCallbackInterfaceCodeAccessVerifier>();
|
|
||||||
ASSERT_EQ(verifier->CheckPermission(code), true);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @tc.name: PermissionEnumToStringTest001
|
|
||||||
* @tc.desc: test
|
|
||||||
* @tc.type: FUNC
|
|
||||||
* @tc.require:
|
|
||||||
*/
|
|
||||||
HWTEST_F(RSInterfaceCodeAccessVerifierBaseTest, PermissionEnumToStringTest001, testing::ext::TestSize.Level1)
|
|
||||||
{
|
|
||||||
PermissionType permission = PermissionType::CAPTURE_SCREEN;
|
|
||||||
auto verifier = std::make_unique<RSIBufferAvailableCallbackInterfaceCodeAccessVerifier>();
|
|
||||||
ASSERT_TRUE(verifier->PermissionEnumToString(permission) != "unknown");
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @tc.name: AddPermissionTest
|
|
||||||
* @tc.desc: test
|
|
||||||
* @tc.type: FUNC
|
|
||||||
* @tc.require:
|
|
||||||
*/
|
|
||||||
HWTEST_F(RSInterfaceCodeAccessVerifierBaseTest, AddPermissionTest, testing::ext::TestSize.Level1)
|
|
||||||
{
|
|
||||||
CodeUnderlyingType interfaceName = 1.0;
|
|
||||||
const std::string newPermission = "CAPTURE_SCREEN";
|
|
||||||
auto verifier = std::make_unique<RSIBufferAvailableCallbackInterfaceCodeAccessVerifier>();
|
|
||||||
ASSERT_EQ(verifier->AddPermission(interfaceName, newPermission), true);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @tc.name: GetPermissionsTest
|
|
||||||
* @tc.desc: test
|
|
||||||
* @tc.type: FUNC
|
|
||||||
* @tc.require:
|
|
||||||
*/
|
|
||||||
HWTEST_F(RSInterfaceCodeAccessVerifierBaseTest, GetPermissionsTest, testing::ext::TestSize.Level1)
|
|
||||||
{
|
|
||||||
CodeUnderlyingType interfaceName = 1.0;
|
|
||||||
const std::string newPermission = "CAPTURE_SCREEN";
|
|
||||||
auto verifier = std::make_unique<RSIBufferAvailableCallbackInterfaceCodeAccessVerifier>();
|
|
||||||
auto ret = verifier->GetPermissions(interfaceName);
|
|
||||||
ASSERT_EQ(ret.empty(), true);
|
|
||||||
verifier->AddPermission(interfaceName, newPermission);
|
|
||||||
ret = verifier->GetPermissions(interfaceName);
|
|
||||||
ASSERT_EQ(ret.empty(), false);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @tc.name: GetInterfacePermissionSizeTest
|
|
||||||
* @tc.desc: test
|
|
||||||
* @tc.type: FUNC
|
|
||||||
* @tc.require:
|
|
||||||
*/
|
|
||||||
HWTEST_F(RSInterfaceCodeAccessVerifierBaseTest, GetInterfacePermissionSizeTest, testing::ext::TestSize.Level1)
|
|
||||||
{
|
|
||||||
auto verifier = std::make_unique<RSIBufferAvailableCallbackInterfaceCodeAccessVerifier>();
|
|
||||||
ASSERT_EQ(verifier->GetInterfacePermissionSize(), 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @tc.name: IsSystemAppTest
|
|
||||||
* @tc.desc: test
|
|
||||||
* @tc.type: FUNC
|
|
||||||
* @tc.require:
|
|
||||||
*/
|
|
||||||
HWTEST_F(RSInterfaceCodeAccessVerifierBaseTest, IsSystemAppTest, testing::ext::TestSize.Level1)
|
|
||||||
{
|
|
||||||
auto verifier = std::make_unique<RSIBufferAvailableCallbackInterfaceCodeAccessVerifier>();
|
|
||||||
ASSERT_EQ(verifier->IsSystemApp(), false);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @tc.name: IsSystemCallingTest001
|
|
||||||
* @tc.desc: test
|
|
||||||
* @tc.type: FUNC
|
|
||||||
* @tc.require:
|
|
||||||
*/
|
|
||||||
HWTEST_F(RSInterfaceCodeAccessVerifierBaseTest, IsSystemCallingTest001, testing::ext::TestSize.Level1)
|
|
||||||
{
|
|
||||||
const std::string callingCode = "RSIOcclusionChangeCallbackInterfaceCode::ON_OCCLUSION_VISIBLE_CHANGED";
|
|
||||||
auto verifier = std::make_unique<RSIBufferAvailableCallbackInterfaceCodeAccessVerifier>();
|
|
||||||
bool res = verifier->IsSystemCalling(callingCode);
|
|
||||||
ASSERT_EQ(res, true);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @tc.name: IsStylusServiceCallingTest001
|
|
||||||
* @tc.desc: test
|
|
||||||
* @tc.type: FUNC
|
|
||||||
* @tc.require:IAOZFC
|
|
||||||
*/
|
|
||||||
HWTEST_F(RSInterfaceCodeAccessVerifierBaseTest, IsStylusServiceCallingTest001, testing::ext::TestSize.Level1)
|
|
||||||
{
|
|
||||||
const std::string callingCode = "RSInterfaceCodeAccessVerifierBaseTest::IsStylusServiceCallingTest001";
|
|
||||||
auto verifier = std::make_unique<RSIBufferAvailableCallbackInterfaceCodeAccessVerifier>();
|
|
||||||
ASSERT_EQ(verifier->IsStylusServiceCalling(callingCode), false);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
} // namespace OHOS::Rosen
|
|
Loading…
Reference in New Issue
Block a user