1# Copyright (c) 2023 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("../../../device_status.gni")
15
16config("intention_socket_server_public_config") {
17  include_dirs = [ "include" ]
18}
19
20ohos_source_set("intention_socket_server") {
21  sanitize = {
22    integer_overflow = true
23    ubsan = true
24    boundary_sanitize = true
25    cfi = true
26    cfi_cross_dso = true
27    debug = false
28  }
29
30  branch_protector_ret = "pac_ret"
31
32  defines = device_status_default_defines
33
34  include_dirs = [ "include" ]
35
36  sources = [
37    "src/socket_params.cpp",
38    "src/socket_server.cpp",
39  ]
40
41  public_configs = [ ":intention_socket_server_public_config" ]
42
43  deps = [
44    "${device_status_root_path}/intention/prototype:intention_prototype",
45    "${device_status_root_path}/utils/common:devicestatus_util",
46    "${device_status_root_path}/utils/ipc:devicestatus_ipc",
47  ]
48
49  external_deps = [
50    "access_token:libaccesstoken_sdk",
51    "graphic_2d:librender_service_client",
52    "hilog:libhilog",
53    "image_framework:image_native",
54    "input:libmmi-client",
55  ]
56
57  subsystem_name = "${device_status_subsystem_name}"
58  part_name = "${device_status_part_name}"
59}
60
61config("intention_socket_session_manager_public_config") {
62  include_dirs = [ "include" ]
63}
64
65ohos_source_set("intention_socket_session_manager") {
66  sanitize = {
67    integer_overflow = true
68    ubsan = true
69    boundary_sanitize = true
70    cfi = true
71    cfi_cross_dso = true
72    debug = false
73  }
74
75  branch_protector_ret = "pac_ret"
76
77  defines = device_status_default_defines
78
79  include_dirs = [ "include" ]
80
81  sources = [
82    "src/socket_session.cpp",
83    "src/socket_session_manager.cpp",
84  ]
85
86  public_configs = [ ":intention_socket_session_manager_public_config" ]
87
88  deps = [
89    "${device_status_root_path}/intention/common/epoll:intention_epoll",
90    "${device_status_root_path}/intention/prototype:intention_prototype",
91    "${device_status_root_path}/utils/common:devicestatus_util",
92    "${device_status_root_path}/utils/ipc:devicestatus_ipc",
93  ]
94
95  external_deps = [
96    "ability_runtime:app_manager",
97    "hilog:libhilog",
98    "image_framework:image_native",
99    "input:libmmi-client",
100    "samgr:samgr_proxy",
101  ]
102
103  subsystem_name = "${device_status_subsystem_name}"
104  part_name = "${device_status_part_name}"
105}
106
107config("intention_socket_connection_public_config") {
108  include_dirs = [ "include" ]
109}
110
111ohos_source_set("intention_socket_connection") {
112  sanitize = {
113    integer_overflow = true
114    ubsan = true
115    boundary_sanitize = true
116    cfi = true
117    cfi_cross_dso = true
118    debug = false
119  }
120
121  branch_protector_ret = "pac_ret"
122
123  defines = device_status_default_defines
124
125  include_dirs = [ "include" ]
126
127  sources = [
128    "src/socket_client.cpp",
129    "src/socket_connection.cpp",
130    "src/socket_params.cpp",
131  ]
132
133  public_configs = [ ":intention_socket_connection_public_config" ]
134
135  deps = [
136    "${device_status_root_path}/intention/common/epoll:intention_epoll",
137    "${device_status_root_path}/intention/prototype:intention_prototype",
138    "${device_status_root_path}/utils/common:devicestatus_util",
139    "${device_status_root_path}/utils/ipc:devicestatus_ipc",
140  ]
141
142  external_deps = [
143    "c_utils:utils",
144    "eventhandler:libeventhandler",
145    "hilog:libhilog",
146  ]
147
148  subsystem_name = "${device_status_subsystem_name}"
149  part_name = "${device_status_part_name}"
150}
151