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("../../../dsoftbus.gni")
15
16native_source_path = rebase_path("$dsoftbus_root_path")
17trans_session_sdk_src = [
18  "$dsoftbus_sdk_path/transmission/session/src/client_trans_session_callback.c",
19  "$dsoftbus_sdk_path/transmission/session/src/client_trans_session_manager.c",
20  "$dsoftbus_sdk_path/transmission/session/src/client_trans_message_service.c",
21  "$dsoftbus_sdk_path/transmission/session/src/client_trans_session_service.c",
22  "$dsoftbus_sdk_path/transmission/session/src/client_trans_socket_service.c",
23  "$dsoftbus_sdk_path/transmission/session/src/client_trans_socket_manager.c",
24]
25
26broadcast_dep_dir = "dsoftbus_enhance/interfaces/kits/broadcast"
27enhanced_kits_broadcast = exec_script("$dsoftbus_root_path/check_sub_module.py",
28                                      [
29                                        "$native_source_path",
30                                        "$broadcast_dep_dir",
31                                      ],
32                                      "value")
33if (defined(ohos_lite)) {
34  trans_session_sdk_inc = [
35    "$dsoftbus_sdk_path/transmission/session/include",
36    "$dsoftbus_root_path/interfaces/inner_kits/transport",
37    "$dsoftbus_root_path/sdk/transmission/trans_channel/statistics/include",
38    "$dsoftbus_root_path/sdk/transmission/trans_channel/udp/file/include",
39    "//third_party/cJSON",
40    "$dsoftbus_root_path/components/nstackx/nstackx_core/dfile/interfaces",
41  ]
42  trans_session_sdk_src += [
43    "$dsoftbus_root_path/sdk/transmission/session/cpp/src/session_set_timer_virtual.c",
44    "$dsoftbus_root_path/sdk/transmission/session/cpp/src/session_ipc_adapter_virtual.c",
45  ]
46} else {
47  trans_session_sdk_inc = [
48    "$dsoftbus_sdk_path/transmission/session/include",
49    "$dsoftbus_sdk_path/transmission/session/cpp/include",
50    "$dsoftbus_sdk_path/transmission/session/cpp/src",
51    "$dsoftbus_root_path/interfaces/inner_kits/transport",
52    "$dsoftbus_root_path/sdk/transmission/trans_channel/statistics/include",
53    "$dsoftbus_root_path/sdk/transmission/trans_channel/udp/file/include",
54  ]
55
56  trans_session_sdk_src += [
57    "$dsoftbus_root_path/sdk/transmission/session/cpp/src/session_callback_mock.cpp",
58    "$dsoftbus_root_path/sdk/transmission/session/cpp/src/session_impl.cpp",
59    "$dsoftbus_root_path/sdk/transmission/session/cpp/src/session_mock.cpp",
60    "$dsoftbus_root_path/sdk/transmission/session/cpp/src/session_service_impl.cpp",
61    "$dsoftbus_root_path/sdk/transmission/session/cpp/src/session_ipc_adapter.cpp",
62  ]
63
64  if (defined(global_parts_info) &&
65      defined(global_parts_info.hiviewdfx_hicollie)) {
66    trans_session_sdk_src += [
67      "$dsoftbus_sdk_path/transmission/session/cpp/src/session_set_timer.cpp",
68    ]
69  } else {
70    trans_session_sdk_src += [ "$dsoftbus_sdk_path/transmission/session/cpp/src/session_set_timer_virtual.c" ]
71  }
72
73  broadcast_dep_dir = "dsoftbus_enhance/core/broadcast/notification_message"
74  enhanced_broadcast = exec_script("$dsoftbus_root_path/check_sub_module.py",
75                                   [
76                                     "$native_source_path",
77                                     "$broadcast_dep_dir",
78                                   ],
79                                   "value")
80  if (enhanced_broadcast) {
81    import(
82        "$dsoftbus_root_path/dsoftbus_enhance/sdk/transmission/trans_channel/ble_broadcast/broadcast_sdk.gni")
83
84    trans_session_sdk_src += broadcast_sdk_sources
85    trans_session_sdk_inc += broadcast_sdk_include_dirs
86  } else {
87    trans_session_sdk_inc +=
88        [ "$dsoftbus_root_path/core/transmission/broadcast/include" ]
89    trans_session_sdk_src += [ "$dsoftbus_root_path/core/transmission/broadcast/src/trans_spec_object_proxy.cpp" ]
90  }
91}
92
93dep_schema = "dsoftbus_enhance/sdk/transmission/session/src"
94schema_enhanced = exec_script("$dsoftbus_root_path/check_sub_module.py",
95                              [
96                                "$native_source_path",
97                                "$dep_schema",
98                              ],
99                              "value")
100
101if (schema_enhanced) {
102  import(
103      "../../../dsoftbus_enhance/sdk/transmission/session/src/trans_schema.gni")
104
105  trans_session_sdk_src += schema_src
106  trans_session_sdk_inc += schema_inc
107}
108
109dep_dir = "dsoftbus_enhance/sdk/transmission/session"
110enhanced_socket = exec_script("$dsoftbus_root_path/check_sub_module.py",
111                              [
112                                "$native_source_path",
113                                "$dep_dir",
114                              ],
115                              "value")
116if (enhanced_socket) {
117  trans_session_sdk_src += [ "$dsoftbus_root_path/dsoftbus_enhance/sdk/transmission/session/src/client_trans_socket_option_ext.c" ]
118  trans_session_sdk_inc += [
119    "$dsoftbus_root_path/dsoftbus_enhance/interfaces/kits/transport",
120    "$dsoftbus_root_path/sdk/transmission/session/include",
121  ]
122} else {
123  trans_session_sdk_src += [ "$dsoftbus_root_path/sdk/transmission/session/src/client_trans_socket_option.c" ]
124  trans_session_sdk_inc += [
125    "$dsoftbus_root_path/interfaces/kits/transport",
126    "$dsoftbus_root_path/sdk/transmission/session/include",
127  ]
128}
129