1# Copyright (c) 2024 Huawei Device Co., Ltd. 2# Licensed under the Apache License, Version 2.0 (the "License"); 3# you may not use this file except in compliance with the License. 4# You may obtain a copy of the License at 5# 6# http://www.apache.org/licenses/LICENSE-2.0 7# 8# Unless required by applicable law or agreed to in writing, software 9# distributed under the License is distributed on an "AS IS" BASIS, 10# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11# See the License for the specific language governing permissions and 12# limitations under the License. 13 14import("//build/ohos.gni") 15import("../../../config.gni") 16import("../../../ressche_part.gni") 17import("//build/test.gni") 18 19ohos_shared_library("audio_qosmanager") { 20 sanitize = { 21 cfi = true 22 cfi_cross_dso = true 23 cfi_vcall_icall_only = true 24 debug = false 25 integer_overflow = true 26 ubsan = true 27 boundary_sanitize = true 28 } 29 30 include_dirs = [ 31 "include", 32 "../audioschedule/include", 33 "../audioutils/include", 34 "../../../interfaces/inner_api/native/audiocommon/include", 35 ] 36 37 sources = [ "audio_qosmanager.cpp" ] 38 39 cflags = [] 40 deps = [] 41 external_deps = [] 42 43 if (ressche_enable == true) { 44 deps += [ "../audioschedule:audio_schedule" ] 45 external_deps += [ "qos_manager:concurrent_task_client" ] 46 external_deps += [ "qos_manager:qos" ] 47 external_deps += [ 48 "c_utils:utils", 49 "hilog:libhilog", 50 "init:libbegetutil", 51 "ipc:ipc_single", 52 ] 53 cflags += [ "-DQOSMANAGER_ENABLE" ] 54 } 55 56 cflags_cc = cflags 57 cflags_cc += [ "-std=c++20" ] 58 ldflags = [ "-Wl,--exclude-libs=All" ] 59 60 subsystem_name = "multimedia" 61 part_name = "audio_framework" 62} 63 64ohos_unittest("audio_qosmanager_unit_test") { 65 module_out_path = "audio_framework/audio_framework_route/audioqosmanager" 66 67 cflags = [ 68 "-Wall", 69 "-Werror", 70 "-fno-access-control", 71 ] 72 73 include_dirs = [ 74 "include", 75 "../audioschedule/include", 76 "../audioutils/include", 77 "../../../interfaces/inner_api/native/audiocommon/include", 78 ] 79 80 sources = [ 81 "test/unittest/audio_qosmanager_unit_test.cpp", 82 ] 83 84 deps = [ 85 ":audio_qosmanager", 86 "../audioutils:audio_utils" 87 ] 88 89 defines = [] 90 91 external_deps = [ 92 "googletest:gmock", 93 "googletest:gtest", 94 "hilog:libhilog", 95 "init:libbegetutil", 96 ] 97}