12dc7c57fSopenharmony_ci# Copyright (c) 2024 Huawei Device Co., Ltd.
22dc7c57fSopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
32dc7c57fSopenharmony_ci# you may not use this file except in compliance with the License.
42dc7c57fSopenharmony_ci# You may obtain a copy of the License at
52dc7c57fSopenharmony_ci#
62dc7c57fSopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
72dc7c57fSopenharmony_ci#
82dc7c57fSopenharmony_ci# Unless required by applicable law or agreed to in writing, software
92dc7c57fSopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
102dc7c57fSopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
112dc7c57fSopenharmony_ci# See the License for the specific language governing permissions and
122dc7c57fSopenharmony_ci# limitations under the License.
132dc7c57fSopenharmony_ci
142dc7c57fSopenharmony_ciimport("//base/notification/common_event_service/event.gni")
152dc7c57fSopenharmony_ciimport("//build/ohos.gni")
162dc7c57fSopenharmony_ci
172dc7c57fSopenharmony_cicflags = []
182dc7c57fSopenharmony_ci
192dc7c57fSopenharmony_ciconfig("native_module_config") {
202dc7c57fSopenharmony_ci  visibility = [ ":*" ]
212dc7c57fSopenharmony_ci
222dc7c57fSopenharmony_ci  include_dirs = []
232dc7c57fSopenharmony_ci
242dc7c57fSopenharmony_ci  if (target_cpu == "arm") {
252dc7c57fSopenharmony_ci    cflags += [ "-DBINDER_IPC_32BIT" ]
262dc7c57fSopenharmony_ci  }
272dc7c57fSopenharmony_ci}
282dc7c57fSopenharmony_ci
292dc7c57fSopenharmony_ciohos_shared_library("cj_common_event_manager_ffi") {
302dc7c57fSopenharmony_ci  sanitize = {
312dc7c57fSopenharmony_ci    integer_overflow = true
322dc7c57fSopenharmony_ci    ubsan = true
332dc7c57fSopenharmony_ci    boundary_sanitize = true
342dc7c57fSopenharmony_ci    cfi = true
352dc7c57fSopenharmony_ci    cfi_cross_dso = true
362dc7c57fSopenharmony_ci    debug = false
372dc7c57fSopenharmony_ci  }
382dc7c57fSopenharmony_ci  branch_protector_ret = "pac_ret"
392dc7c57fSopenharmony_ci
402dc7c57fSopenharmony_ci  include_dirs = [
412dc7c57fSopenharmony_ci    "../napi/common_event/include",
422dc7c57fSopenharmony_ci    "../../../interfaces/inner_api",
432dc7c57fSopenharmony_ci  ]
442dc7c57fSopenharmony_ci
452dc7c57fSopenharmony_ci  configs = [ ":native_module_config" ]
462dc7c57fSopenharmony_ci
472dc7c57fSopenharmony_ci  if (!build_ohos_sdk) {
482dc7c57fSopenharmony_ci    deps = [
492dc7c57fSopenharmony_ci      "../../../frameworks/core:cesfwk_core",
502dc7c57fSopenharmony_ci      "../../../frameworks/native:cesfwk_innerkits",
512dc7c57fSopenharmony_ci    ]
522dc7c57fSopenharmony_ci
532dc7c57fSopenharmony_ci    external_deps = [
542dc7c57fSopenharmony_ci      "ability_base:base",
552dc7c57fSopenharmony_ci      "ability_base:want",
562dc7c57fSopenharmony_ci      "ability_runtime:ability_manager",
572dc7c57fSopenharmony_ci      "ability_runtime:abilitykit_native",
582dc7c57fSopenharmony_ci      "ability_runtime:napi_base_context",
592dc7c57fSopenharmony_ci      "c_utils:utils",
602dc7c57fSopenharmony_ci      "hilog:libhilog",
612dc7c57fSopenharmony_ci      "napi:cj_bind_ffi",
622dc7c57fSopenharmony_ci      "napi:cj_bind_native",
632dc7c57fSopenharmony_ci    ]
642dc7c57fSopenharmony_ci
652dc7c57fSopenharmony_ci    sources = [
662dc7c57fSopenharmony_ci      "src/common_event.cpp",
672dc7c57fSopenharmony_ci      "src/common_event_manager_ffi.cpp",
682dc7c57fSopenharmony_ci      "src/common_event_manager_impl.cpp",
692dc7c57fSopenharmony_ci      "src/parameter_parse.cpp",
702dc7c57fSopenharmony_ci      "src/subscribe_info.cpp",
712dc7c57fSopenharmony_ci      "src/subscriber.cpp",
722dc7c57fSopenharmony_ci    ]
732dc7c57fSopenharmony_ci  } else {
742dc7c57fSopenharmony_ci    sources = [ "src/common_event_manager_mock.cpp" ]
752dc7c57fSopenharmony_ci  }
762dc7c57fSopenharmony_ci
772dc7c57fSopenharmony_ci  innerapi_tags = [ "platformsdk" ]
782dc7c57fSopenharmony_ci  subsystem_name = "notification"
792dc7c57fSopenharmony_ci  part_name = "common_event_service"
802dc7c57fSopenharmony_ci}
81