From 68afc6c3f9d81fb1e4f6d86ae1d33d0b09f12d39 Mon Sep 17 00:00:00 2001 From: pxd2022 Date: Mon, 25 Mar 2024 08:22:03 +0000 Subject: [PATCH] add mapper_service_1_2 Signed-off-by: pxd2022 --- display/buffer/hdi_service/BUILD.gn | 25 +++++++++++++ .../hdi_service/include/mapper_service.h | 8 ++-- .../hdi_service/include/mapper_service_1_2.h | 37 +++++++++++++++++++ .../buffer/hdi_service/src/mapper_service.cpp | 4 +- .../hdi_service/src/mapper_service_1_2.cpp | 31 ++++++++++++++++ 5 files changed, 99 insertions(+), 6 deletions(-) create mode 100644 display/buffer/hdi_service/include/mapper_service_1_2.h create mode 100644 display/buffer/hdi_service/src/mapper_service_1_2.cpp diff --git a/display/buffer/hdi_service/BUILD.gn b/display/buffer/hdi_service/BUILD.gn index 62879ed5cd..e2d64ac59a 100644 --- a/display/buffer/hdi_service/BUILD.gn +++ b/display/buffer/hdi_service/BUILD.gn @@ -19,6 +19,7 @@ group("hdf_display_buffer_service") { ":liballocator_service_1.0", ":libmapper_driver_1.0", ":libmapper_service_1.0", + ":libmapper_service_1.2", ":libmetadata_driver_1.1", ":libmetadata_service_1.1", ] @@ -94,6 +95,30 @@ ohos_shared_library("libmapper_service_1.0") { part_name = "drivers_peripheral_display" } +ohos_shared_library("libmapper_service_1.2") { + include_dirs = [ "include" ] + sources = [ "src/mapper_service_1_2.cpp" ] + + deps = [ ":libmapper_service_1.0" ] + + external_deps = [ + "c_utils:utils", + "drivers_interface_display:display_buffer_idl_headers_1.2", + "graphic_surface:buffer_handle", + "hdf_core:libhdf_ipc_adapter", + "hdf_core:libhdf_utils", + "hdf_core:libhdi", + "hilog:libhilog", + "hitrace:hitrace_meter", + "ipc:ipc_single", + ] + + install_images = [ chipset_base_dir ] + subsystem_name = "hdf" + innerapi_tags = [ "passthrough_indirect" ] + part_name = "drivers_peripheral_display" +} + ohos_shared_library("libmapper_driver_1.0") { sources = [ "src/mapper_driver.cpp" ] diff --git a/display/buffer/hdi_service/include/mapper_service.h b/display/buffer/hdi_service/include/mapper_service.h index e20ddad2ec..9920830da1 100644 --- a/display/buffer/hdi_service/include/mapper_service.h +++ b/display/buffer/hdi_service/include/mapper_service.h @@ -13,8 +13,8 @@ * limitations under the License. */ -#ifndef OHOS_HDI_DISPLAY_BUFFER_V1_2_MAPPER_SERVICE_H -#define OHOS_HDI_DISPLAY_BUFFER_V1_2_MAPPER_SERVICE_H +#ifndef OHOS_HDI_DISPLAY_BUFFER_V1_0_MAPPER_SERVICE_H +#define OHOS_HDI_DISPLAY_BUFFER_V1_0_MAPPER_SERVICE_H #include "idisplay_buffer_vdi.h" #include "v1_2/display_buffer_type.h" @@ -24,7 +24,7 @@ namespace OHOS { namespace HDI { namespace Display { namespace Buffer { -namespace V1_2 { +namespace V1_0 { using OHOS::HDI::Display::Buffer::V1_2::IDisplayBufferVdi; using OHOS::HDI::Display::Buffer::V1_2::CreateDisplayBufferVdiFunc; using OHOS::HDI::Display::Buffer::V1_2::DestroyDisplayBufferVdiFunc; @@ -38,7 +38,7 @@ public: int32_t Unmap(const sptr& handle) override; int32_t FlushCache(const sptr& handle) override; int32_t InvalidateCache(const sptr& handle) override; - int32_t GetImageLayout(const sptr& handle, ImageLayout& layout) override; + int32_t GetImageLayout(const sptr& handle, V1_2::ImageLayout& layout) override; private: int32_t LoadVdi(); diff --git a/display/buffer/hdi_service/include/mapper_service_1_2.h b/display/buffer/hdi_service/include/mapper_service_1_2.h new file mode 100644 index 0000000000..36d3c299fc --- /dev/null +++ b/display/buffer/hdi_service/include/mapper_service_1_2.h @@ -0,0 +1,37 @@ +/* + * 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 OHOS_HDI_DISPLAY_BUFFER_V1_2_MAPPER_SERVICE_H +#define OHOS_HDI_DISPLAY_BUFFER_V1_2_MAPPER_SERVICE_H + +#include "mapper_service.h" + +namespace OHOS { +namespace HDI { +namespace Display { +namespace Buffer { +namespace V1_2 { +class MapperService : public V1_0::MapperService { +public: + MapperService() = default; + ~MapperService() = default; +}; +} // namespace V1_2 +} // namespace Buffer +} // namespace Display +} // namespace HDI +} // namespace OHOS + +#endif // OHOS_HDI_DISPLAY_BUFFER_V1_0_MAPPER_SERVICE_H diff --git a/display/buffer/hdi_service/src/mapper_service.cpp b/display/buffer/hdi_service/src/mapper_service.cpp index cddbe82d2a..75954eed64 100644 --- a/display/buffer/hdi_service/src/mapper_service.cpp +++ b/display/buffer/hdi_service/src/mapper_service.cpp @@ -32,7 +32,7 @@ namespace OHOS { namespace HDI { namespace Display { namespace Buffer { -namespace V1_2 { +namespace V1_0 { extern "C" Buffer::V1_2::IMapper* MapperImplGetInstance(void) { return new (std::nothrow) MapperService(); @@ -155,7 +155,7 @@ int32_t MapperService::InvalidateCache(const sptr& handle) return ret; } -int32_t MapperService::GetImageLayout(const sptr& handle, ImageLayout& layout) +int32_t MapperService::GetImageLayout(const sptr& handle, V1_2::ImageLayout& layout) { CHECK_NULLPOINTER_RETURN_VALUE(handle, HDF_FAILURE); CHECK_NULLPOINTER_RETURN_VALUE(vdiImpl_, HDF_FAILURE); diff --git a/display/buffer/hdi_service/src/mapper_service_1_2.cpp b/display/buffer/hdi_service/src/mapper_service_1_2.cpp new file mode 100644 index 0000000000..5a78d459bb --- /dev/null +++ b/display/buffer/hdi_service/src/mapper_service_1_2.cpp @@ -0,0 +1,31 @@ +/* + * 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 "mapper_service_1_2.h" + +namespace OHOS { +namespace HDI { +namespace Display { +namespace Buffer { +namespace V1_2 { +extern "C" Buffer::V1_2::IMapper* MapperImplGetInstance(void) +{ + return new (std::nothrow) MapperService(); +} +} // namespace V1_2 +} // namespace Buffer +} // namespace Display +} // namespace HDI +} // namespace OHOS -- Gitee