diff --git a/display/buffer/hdi_service/BUILD.gn b/display/buffer/hdi_service/BUILD.gn index 62879ed5cdffba889cb09b82a4f8beea1c429faf..e2d64ac59a1a8947e317dbfe99fa3f054ebfbe09 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 e20ddad2ec6b365e80df2c4079116fca31849d8d..9920830da112fef81ea2d762104b8e38f3ea8ad3 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 0000000000000000000000000000000000000000..36d3c299fcc5f69a3832f2b813c583fc3b01bf0f --- /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 cddbe82d2aad56f1cb2a670f37eec4c77d30ed03..75954eed64c171e5f008c97b17bd29ef4a86290c 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 0000000000000000000000000000000000000000..5a78d459bb4a73c00020df665023138f4ef356bb --- /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