• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (c) 2022-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("../../common/config/common.gni")
16
17config("edm_config") {
18  cflags = [ "-Wno-error=implicit-fallthrough" ]
19  include_dirs = [
20    "include",
21    "include/connection",
22    "include/database",
23    "include/strategy",
24    "../../framework/extension/include",
25    "../edm_plugin/include",
26    "../edm_plugin/include/network",
27    "../edm_plugin/include/network/executer",
28    "../edm_plugin/include/network/rule",
29    "../edm_plugin/include/utils",
30  ]
31}
32
33ohos_shared_library("edmservice") {
34  sources = [
35    "../edm_plugin/src/utils/install_param_serializer.cpp",
36    "../edm_plugin/src/utils/installer_callback.cpp",
37    "../edm_plugin/src/utils/operate_device_param_serializer.cpp",
38    "../edm_plugin/src/utils/password_policy_serializer.cpp",
39    "../edm_plugin/src/utils/uninstall_param_serializer.cpp",
40    "./src/admin.cpp",
41    "./src/admin_manager.cpp",
42    "./src/admin_policies_storage_rdb.cpp",
43    "./src/application_state_observer.cpp",
44    "./src/connection/enterprise_admin_connection.cpp",
45    "./src/connection/enterprise_admin_proxy.cpp",
46    "./src/connection/enterprise_bundle_connection.cpp",
47    "./src/connection/enterprise_conn_manager.cpp",
48    "./src/connection/enterprise_update_connection.cpp",
49    "./src/database/edm_rdb_data_manager.cpp",
50    "./src/database/edm_rdb_open_callback.cpp",
51    "./src/device_policies_storage_rdb.cpp",
52    "./src/enterprise_device_mgr_ability.cpp",
53    "./src/enterprise_device_mgr_stub.cpp",
54    "./src/permission_manager.cpp",
55    "./src/plugin_manager.cpp",
56    "./src/policy_manager.cpp",
57    "./src/strategy/enhance_execute_strategy.cpp",
58    "./src/strategy/single_execute_strategy.cpp",
59    "./src/super_admin.cpp",
60    "./src/user_policy_manager.cpp",
61  ]
62  public_configs = [
63    ":edm_config",
64    "../../common/config:coverage_flags",
65  ]
66
67  defines = []
68
69  if (target_cpu == "arm64") {
70    defines += [ "_ARM64_" ]
71    print("defines _ARM64_")
72  }
73
74  external_deps = [
75    "ability_base:want",
76    "ability_runtime:app_manager",
77    "ability_runtime:extension_manager",
78    "ability_runtime:wantagent_innerkits",
79    "access_token:libaccesstoken_sdk",
80    "access_token:libtokenid_sdk",
81    "bundle_framework:appexecfwk_base",
82    "bundle_framework:appexecfwk_core",
83    "cJSON:cjson",
84    "c_utils:utils",
85    "hilog:libhilog",
86    "init:libbegetutil",
87    "ipc:ipc_core",
88    "jsoncpp:jsoncpp",
89    "relational_store:native_rdb",
90    "safwk:system_ability_fwk",
91    "samgr:samgr_proxy",
92    "user_auth_framework:userauth_client",
93  ]
94  if (enterprise_device_management_support_all) {
95    defines += [ "EDM_SUPPORT_ALL_ENABLE" ]
96    sources += [
97      "../edm_plugin/src/allowed_install_bundles_plugin.cpp",
98      "../edm_plugin/src/bundle_install_plugin.cpp",
99      "../edm_plugin/src/disallow_modify_datetime_plugin.cpp",
100      "../edm_plugin/src/disallowed_install_bundles_plugin.cpp",
101      "../edm_plugin/src/disallowed_uninstall_bundles_plugin.cpp",
102      "../edm_plugin/src/get_device_encryption_status_plugin.cpp",
103      "../edm_plugin/src/get_device_info_plugin.cpp",
104      "../edm_plugin/src/get_device_name_plugin.cpp",
105      "../edm_plugin/src/get_device_serial_plugin.cpp",
106      "../edm_plugin/src/get_display_version_plugin.cpp",
107      "../edm_plugin/src/get_security_patch_tag_plugin.cpp",
108      "../edm_plugin/src/install_plugin.cpp",
109      "../edm_plugin/src/ntp_server_plugin.cpp",
110      "../edm_plugin/src/operate_device_plugin.cpp",
111      "../edm_plugin/src/password_policy_plugin.cpp",
112      "../edm_plugin/src/power_policy_plugin.cpp",
113      "../edm_plugin/src/screen_off_time_plugin.cpp",
114      "../edm_plugin/src/uninstall_plugin.cpp",
115    ]
116    if (time_service_edm_enable) {
117      external_deps += [ "time_service:time_client" ]
118      sources += [ "../edm_plugin/src/set_datetime_plugin.cpp" ]
119    }
120
121    if (os_account_edm_enable) {
122      external_deps += [
123        "os_account:libaccountkits",
124        "os_account:os_account_innerkits",
125      ]
126      sources += [
127        "../edm_plugin/src/add_os_account_plugin.cpp",
128        "../edm_plugin/src/disallow_add_local_account_plugin.cpp",
129        "../edm_plugin/src/disallow_add_os_account_by_user_plugin.cpp",
130      ]
131    }
132
133    if (screenlock_mgr_edm_enable) {
134      external_deps += [ "screenlock_mgr:screenlock_client" ]
135      sources += [ "../edm_plugin/src/lock_screen_plugin.cpp" ]
136    }
137
138    if (power_manager_edm_enable) {
139      external_deps += [ "power_manager:powermgr_client" ]
140      sources += [
141        "../edm_plugin/src/reboot_plugin.cpp",
142        "../edm_plugin/src/shutdown_plugin.cpp",
143      ]
144    }
145
146    if (update_service_edm_enable) {
147      external_deps += [ "update_service:updateservicekits" ]
148      sources += [ "../edm_plugin/src/reset_factory_plugin.cpp" ]
149    }
150
151    if (wifi_edm_enable) {
152      external_deps += [ "wifi:wifi_sdk" ]
153      sources += [
154        "../edm_plugin/src/is_wifi_active_plugin.cpp",
155        "../edm_plugin/src/set_wifi_disabled_plugin.cpp",
156        "../edm_plugin/src/set_wifi_profile_plugin.cpp",
157        "../edm_plugin/src/utils/wifi_device_config_serializer.cpp",
158      ]
159      defines += [ "WIFI_EDM_ENABLE" ]
160    }
161
162    if (netmanager_base_edm_enable && netmanager_ext_edm_enable) {
163      external_deps += [
164        "netmanager_base:net_conn_manager_if",
165        "netmanager_base:netsys_controller",
166        "netmanager_ext:ethernet_manager_if",
167      ]
168      sources += [
169        "../edm_plugin/src/disabled_network_interface_plugin.cpp",
170        "../edm_plugin/src/domain_filter_rule_plugin.cpp",
171        "../edm_plugin/src/firewall_rule_plugin.cpp",
172        "../edm_plugin/src/get_all_network_interfaces_plugin.cpp",
173        "../edm_plugin/src/get_ip_address_plugin.cpp",
174        "../edm_plugin/src/get_mac_plugin.cpp",
175        "../edm_plugin/src/global_proxy_plugin.cpp",
176        "../edm_plugin/src/iptables_rule_plugin.cpp",
177        "../edm_plugin/src/network/executer/domain_executer.cpp",
178        "../edm_plugin/src/network/executer/executer_factory.cpp",
179        "../edm_plugin/src/network/executer/executer_utils.cpp",
180        "../edm_plugin/src/network/executer/firewall_executer.cpp",
181        "../edm_plugin/src/network/executer/iexecuter.cpp",
182        "../edm_plugin/src/network/iptables_manager.cpp",
183        "../edm_plugin/src/network/rule/chain_rule.cpp",
184        "../edm_plugin/src/network/rule/domain_chain_rule.cpp",
185        "../edm_plugin/src/network/rule/firewall_chain_rule.cpp",
186        "../edm_plugin/src/network/rule/rule_utils.cpp",
187        "../edm_plugin/src/utils/domain_filter_rule_serializer.cpp",
188        "../edm_plugin/src/utils/firewall_rule_serializer.cpp",
189        "../edm_plugin/src/utils/http_proxy_serializer.cpp",
190      ]
191    }
192
193    if (ability_runtime_edm_enable) {
194      external_deps += [ "ability_runtime:ability_manager" ]
195      sources += [
196        "../edm_plugin/src/disallowed_running_bundles_plugin.cpp",
197        "../edm_plugin/src/manage_auto_start_apps_plugin.cpp",
198      ]
199    }
200
201    if (certificate_manager_edm_enable) {
202      external_deps += [ "certificate_manager:cert_manager_sdk" ]
203      sources += [ "../edm_plugin/src/user_cert_plugin.cpp" ]
204    }
205
206    if (drivers_interface_usb_edm_enable && usb_manager_edm_enable) {
207      external_deps += [
208        "drivers_interface_usb:libusb_proxy_1.0",
209        "usb_manager:usbsrv_client",
210      ]
211      sources += [
212        "../edm_plugin/src/allowed_usb_devices_plugin.cpp",
213        "../edm_plugin/src/disable_usb_plugin.cpp",
214        "../edm_plugin/src/utils/array_usb_device_id_serializer.cpp",
215      ]
216    }
217
218    if (drivers_interface_usb_edm_enable && storage_service_edm_enable &&
219        usb_manager_edm_enable) {
220      external_deps += [ "storage_service:storage_manager_sa_proxy" ]
221      sources += [ "../edm_plugin/src/usb_read_only_plugin.cpp" ]
222    }
223
224    if (audio_framework_edm_enable) {
225      external_deps += [ "audio_framework:audio_client" ]
226      sources += [
227        "../edm_plugin/src/disable_hdc_plugin.cpp",
228        "../edm_plugin/src/disable_microphone_plugin.cpp",
229        "../edm_plugin/src/disable_printer_plugin.cpp",
230        "../edm_plugin/src/fingerprint_auth_plugin.cpp",
231      ]
232    }
233
234    if (common_event_service_edm_enable) {
235      external_deps += [ "common_event_service:cesfwk_innerkits" ]
236      sources += [ "../edm_plugin/src/set_browser_policies_plugin.cpp" ]
237      defines += [ "COMMON_EVENT_SERVICE_EDM_ENABLE" ]
238    }
239
240    if (bluetooth_edm_enable) {
241      external_deps += [ "bluetooth:btframework" ]
242      sources += [
243        "../edm_plugin/src/allowed_bluetooth_devices_plugin.cpp",
244        "../edm_plugin/src/disable_bluetooth_plugin.cpp",
245        "../edm_plugin/src/get_bluetooth_info_plugin.cpp",
246      ]
247    }
248
249    if (location_edm_enable) {
250      external_deps += [ "location:locator_sdk" ]
251      sources += [ "../edm_plugin/src/location_policy_plugin.cpp" ]
252    }
253
254    if (telephony_core_edm_enable) {
255      external_deps += [ "core_service:tel_core_service_api" ]
256      defines += [ "TELEPHONY_CORE_EDM_ENABLE" ]
257    }
258  }
259
260  deps = [
261    "../../common/external:edm_external_adapters",
262    "../../common/native:edm_commom",
263    "../../interfaces/inner_api:edmservice_kits",
264    "../../interfaces/inner_api/plugin_kits:plugin_kits",
265  ]
266
267  shlib_type = "sa"
268
269  sanitize = {
270    boundary_sanitize = true
271    cfi = true
272    cfi_cross_dso = true
273    debug = false
274    integer_overflow = true
275    ubsan = true
276  }
277  branch_protector_ret = "pac_ret"
278  subsystem_name = "customization"
279  part_name = "enterprise_device_management"
280}
281