12dc7c57fSopenharmony_ci# Copyright (c) 2023 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_ciconfig("static_subscriber_ipc_public_config") {
182dc7c57fSopenharmony_ci  visibility = [ ":*" ]
192dc7c57fSopenharmony_ci
202dc7c57fSopenharmony_ci  include_dirs = [ "${ces_extension_path}/include/ipc" ]
212dc7c57fSopenharmony_ci}
222dc7c57fSopenharmony_ci
232dc7c57fSopenharmony_ciohos_shared_library("static_subscriber_ipc") {
242dc7c57fSopenharmony_ci  sanitize = {
252dc7c57fSopenharmony_ci    integer_overflow = true
262dc7c57fSopenharmony_ci    ubsan = true
272dc7c57fSopenharmony_ci    boundary_sanitize = true
282dc7c57fSopenharmony_ci    cfi = true
292dc7c57fSopenharmony_ci    cfi_cross_dso = true
302dc7c57fSopenharmony_ci    debug = false
312dc7c57fSopenharmony_ci  }
322dc7c57fSopenharmony_ci  branch_protector_ret = "pac_ret"
332dc7c57fSopenharmony_ci
342dc7c57fSopenharmony_ci  include_dirs = []
352dc7c57fSopenharmony_ci
362dc7c57fSopenharmony_ci  sources = [
372dc7c57fSopenharmony_ci    "${ces_extension_path}/src/ipc/static_subscriber_proxy.cpp",
382dc7c57fSopenharmony_ci    "${ces_extension_path}/src/ipc/static_subscriber_stub.cpp",
392dc7c57fSopenharmony_ci  ]
402dc7c57fSopenharmony_ci
412dc7c57fSopenharmony_ci  configs = []
422dc7c57fSopenharmony_ci  public_configs = [ ":static_subscriber_ipc_public_config" ]
432dc7c57fSopenharmony_ci
442dc7c57fSopenharmony_ci  deps = [ "${ces_native_path}:cesfwk_innerkits" ]
452dc7c57fSopenharmony_ci
462dc7c57fSopenharmony_ci  external_deps = [
472dc7c57fSopenharmony_ci    "ability_base:want",
482dc7c57fSopenharmony_ci    "c_utils:utils",
492dc7c57fSopenharmony_ci    "hilog:libhilog",
502dc7c57fSopenharmony_ci    "ipc:ipc_core",
512dc7c57fSopenharmony_ci  ]
522dc7c57fSopenharmony_ci
532dc7c57fSopenharmony_ci  subsystem_name = "notification"
542dc7c57fSopenharmony_ci  part_name = "common_event_service"
552dc7c57fSopenharmony_ci}
562dc7c57fSopenharmony_ci
572dc7c57fSopenharmony_ciconfig("static_subscriber_extension_public_config") {
582dc7c57fSopenharmony_ci  visibility = [ ":*" ]
592dc7c57fSopenharmony_ci
602dc7c57fSopenharmony_ci  include_dirs = [ "${ces_extension_path}/include" ]
612dc7c57fSopenharmony_ci}
622dc7c57fSopenharmony_ci
632dc7c57fSopenharmony_ciohos_shared_library("static_subscriber_extension") {
642dc7c57fSopenharmony_ci  sanitize = {
652dc7c57fSopenharmony_ci    integer_overflow = true
662dc7c57fSopenharmony_ci    ubsan = true
672dc7c57fSopenharmony_ci    boundary_sanitize = true
682dc7c57fSopenharmony_ci    cfi = true
692dc7c57fSopenharmony_ci    cfi_cross_dso = true
702dc7c57fSopenharmony_ci    debug = false
712dc7c57fSopenharmony_ci  }
722dc7c57fSopenharmony_ci  branch_protector_ret = "pac_ret"
732dc7c57fSopenharmony_ci
742dc7c57fSopenharmony_ci  include_dirs = [
752dc7c57fSopenharmony_ci    "${ability_runtime_path}/interfaces/kits/native/appkit/ability_runtime",
762dc7c57fSopenharmony_ci    "${ability_runtime_path}/interfaces/kits/native/appkit/ability_runtime/context",
772dc7c57fSopenharmony_ci  ]
782dc7c57fSopenharmony_ci
792dc7c57fSopenharmony_ci  sources = [
802dc7c57fSopenharmony_ci    "${ces_extension_path}/src/js_static_subscriber_extension.cpp",
812dc7c57fSopenharmony_ci    "${ces_extension_path}/src/js_static_subscriber_extension_context.cpp",
822dc7c57fSopenharmony_ci    "${ces_extension_path}/src/static_subscriber_extension.cpp",
832dc7c57fSopenharmony_ci    "${ces_extension_path}/src/static_subscriber_extension_context.cpp",
842dc7c57fSopenharmony_ci    "${ces_extension_path}/src/static_subscriber_stub_impl.cpp",
852dc7c57fSopenharmony_ci  ]
862dc7c57fSopenharmony_ci
872dc7c57fSopenharmony_ci  configs = []
882dc7c57fSopenharmony_ci  public_configs = [ ":static_subscriber_extension_public_config" ]
892dc7c57fSopenharmony_ci
902dc7c57fSopenharmony_ci  deps = [
912dc7c57fSopenharmony_ci    ":static_subscriber_ipc",
922dc7c57fSopenharmony_ci    "${ces_native_path}:cesfwk_innerkits",
932dc7c57fSopenharmony_ci  ]
942dc7c57fSopenharmony_ci
952dc7c57fSopenharmony_ci  external_deps = [
962dc7c57fSopenharmony_ci    "ability_base:want",
972dc7c57fSopenharmony_ci    "ability_runtime:ability_context_native",
982dc7c57fSopenharmony_ci    "ability_runtime:ability_manager",
992dc7c57fSopenharmony_ci    "ability_runtime:app_context",
1002dc7c57fSopenharmony_ci    "ability_runtime:extensionkit_native",
1012dc7c57fSopenharmony_ci    "ability_runtime:napi_common",
1022dc7c57fSopenharmony_ci    "ability_runtime:runtime",
1032dc7c57fSopenharmony_ci    "access_token:libaccesstoken_sdk",
1042dc7c57fSopenharmony_ci    "access_token:libtokenid_sdk",
1052dc7c57fSopenharmony_ci    "c_utils:utils",
1062dc7c57fSopenharmony_ci    "eventhandler:libeventhandler",
1072dc7c57fSopenharmony_ci    "hilog:libhilog",
1082dc7c57fSopenharmony_ci    "ipc:ipc_core",
1092dc7c57fSopenharmony_ci    "napi:ace_napi",
1102dc7c57fSopenharmony_ci  ]
1112dc7c57fSopenharmony_ci
1122dc7c57fSopenharmony_ci  subsystem_name = "notification"
1132dc7c57fSopenharmony_ci  part_name = "common_event_service"
1142dc7c57fSopenharmony_ci}
1152dc7c57fSopenharmony_ci
1162dc7c57fSopenharmony_ciconfig("static_subscriber_extension_module_public_config") {
1172dc7c57fSopenharmony_ci  visibility = [ ":*" ]
1182dc7c57fSopenharmony_ci
1192dc7c57fSopenharmony_ci  include_dirs = [ "${ces_extension_path}/include/loader" ]
1202dc7c57fSopenharmony_ci}
1212dc7c57fSopenharmony_ci
1222dc7c57fSopenharmony_ciohos_shared_library("static_subscriber_extension_module") {
1232dc7c57fSopenharmony_ci  sanitize = {
1242dc7c57fSopenharmony_ci    integer_overflow = true
1252dc7c57fSopenharmony_ci    ubsan = true
1262dc7c57fSopenharmony_ci    boundary_sanitize = true
1272dc7c57fSopenharmony_ci    cfi = true
1282dc7c57fSopenharmony_ci    cfi_cross_dso = true
1292dc7c57fSopenharmony_ci    debug = false
1302dc7c57fSopenharmony_ci  }
1312dc7c57fSopenharmony_ci  branch_protector_ret = "pac_ret"
1322dc7c57fSopenharmony_ci
1332dc7c57fSopenharmony_ci  include_dirs = [
1342dc7c57fSopenharmony_ci    "${ability_runtime_path}/interfaces/kits/native/ability/native",
1352dc7c57fSopenharmony_ci    "${ability_runtime_path}/interfaces/kits/native/appkit/ability_runtime",
1362dc7c57fSopenharmony_ci    "${ability_runtime_path}/interfaces/kits/native/appkit/ability_runtime/context",
1372dc7c57fSopenharmony_ci    "${ability_runtime_services_path}/common/include",
1382dc7c57fSopenharmony_ci    "${ces_core_path}/include",
1392dc7c57fSopenharmony_ci  ]
1402dc7c57fSopenharmony_ci
1412dc7c57fSopenharmony_ci  sources = [ "${ces_extension_path}/src/loader/static_subscriber_extension_module_loader.cpp" ]
1422dc7c57fSopenharmony_ci
1432dc7c57fSopenharmony_ci  configs = []
1442dc7c57fSopenharmony_ci  public_configs = [ ":static_subscriber_extension_module_public_config" ]
1452dc7c57fSopenharmony_ci
1462dc7c57fSopenharmony_ci  deps = [ ":static_subscriber_extension" ]
1472dc7c57fSopenharmony_ci
1482dc7c57fSopenharmony_ci  external_deps = [
1492dc7c57fSopenharmony_ci    "ability_base:configuration",
1502dc7c57fSopenharmony_ci    "ability_base:session_info",
1512dc7c57fSopenharmony_ci    "ability_runtime:ability_manager",
1522dc7c57fSopenharmony_ci    "ability_runtime:extensionkit_native",
1532dc7c57fSopenharmony_ci    "bundle_framework:appexecfwk_base",
1542dc7c57fSopenharmony_ci    "bundle_framework:appexecfwk_core",
1552dc7c57fSopenharmony_ci    "c_utils:utils",
1562dc7c57fSopenharmony_ci    "hilog:libhilog",
1572dc7c57fSopenharmony_ci    "ipc:ipc_core",
1582dc7c57fSopenharmony_ci    "napi:ace_napi",
1592dc7c57fSopenharmony_ci  ]
1602dc7c57fSopenharmony_ci
1612dc7c57fSopenharmony_ci  relative_install_dir = "extensionability"
1622dc7c57fSopenharmony_ci  subsystem_name = "notification"
1632dc7c57fSopenharmony_ci  part_name = "common_event_service"
1642dc7c57fSopenharmony_ci}
1652dc7c57fSopenharmony_ci
1662dc7c57fSopenharmony_cigroup("cesfwk_extension") {
1672dc7c57fSopenharmony_ci  deps = [
1682dc7c57fSopenharmony_ci    ":static_subscriber_extension",
1692dc7c57fSopenharmony_ci    ":static_subscriber_extension_module",
1702dc7c57fSopenharmony_ci    ":static_subscriber_ipc",
1712dc7c57fSopenharmony_ci  ]
1722dc7c57fSopenharmony_ci}
173