|
Name |
|
Date |
Size |
#Lines |
LOC |
| .. | | - | - |
| figures/ | | 12-May-2024 | - | | |
| frameworks/ | | 12-May-2024 | - | 16,542 | 13,215 |
| interfaces/ | | 12-May-2024 | - | 4,003 | 2,134 |
| sa_profile/ | | 12-May-2024 | - | 253 | 114 |
| services/ | | 12-May-2024 | - | 20,616 | 14,503 |
| test/ | | 12-May-2024 | - | 3,640 | 2,622 |
| utils/ | | 12-May-2024 | - | 2,100 | 1,412 |
| .clang-format | D | 12-May-2024 | 7.2 KiB | 173 | 172 |
| .gitignore | D | 12-May-2024 | 65 | 4 | 4 |
| CMakeLists.txt | D | 12-May-2024 | 20.4 KiB | 332 | 320 |
| LICENSE | D | 12-May-2024 | 9.9 KiB | 177 | 150 |
| OAT.xml | D | 12-May-2024 | 4.2 KiB | 67 | 15 |
| README.md | D | 12-May-2024 | 973 | 37 | 25 |
| README_zh.md | D | 12-May-2024 | 8.9 KiB | 197 | 166 |
| bundle.json | D | 12-May-2024 | 5.3 KiB | 114 | 113 |
| netmanager_base_config.gni | D | 12-May-2024 | 1.9 KiB | 43 | 39 |
README_zh.md
1# Net Manager<a name="EN-US_TOPIC_0000001105058232"></a>
2
3- [简介](#简介)
4- [目录](#目录)
5- [约束](#约束)
6- [接口说明](#接口说明)
7- [使用说明](#使用说明)
8- [相关仓](#相关仓)
9
10
11
12## 简介
13
14网络管理介绍:
15
16 网络管理模块作为电话子系统可裁剪部件,主要分为连接管理、策略管理、流量管理、网络共享、VPN管理、网络共享以及以太网连接等模块;如图1:网络管理架构图;
17
18**图 1** 网络管理架构图
19
20
21
22## 目录
23
24```
25foundation/communication/netmanager_base/
26├─figures
27├─frameworks
28│ ├─js
29│ │ └─napi
30│ │ ├─common
31│ │ ├─netconn
32│ │ │ ├─include
33│ │ │ └─src
34│ │ ├─netpolicy
35│ │ │ ├─include
36│ │ │ └─src
37│ │ └─netstats
38│ │ ├─include
39│ │ └─src
40│ └─native
41│ ├─dnsresolverclient
42│ │ └─src
43│ │ └─proxy
44│ ├─netconnclient
45│ │ └─src
46│ │ └─proxy
47│ ├─netmanagernative
48│ ├─netpolicyclient
49│ │ └─src
50│ │ └─proxy
51│ └─netstatsclient
52│ └─src
53│ └─proxy
54├─interfaces
55│ └─innerkits
56│ ├─dnsresolverclient
57│ │ └─include
58│ │ └─proxy
59│ ├─include
60│ ├─netconnclient
61│ │ └─include
62│ │ └─proxy
63│ ├─netmanagernative
64│ │ └─include
65│ ├─netpolicyclient
66│ │ └─include
67│ │ └─proxy
68│ └─netstatsclient
69│ └─include
70│ └─proxy
71├─sa_profile
72├─services
73│ ├─common
74│ │ ├─include
75│ │ └─src
76│ ├─dnsresolvermanager
77│ │ ├─include
78│ │ │ └─stub
79│ │ └─src
80│ │ └─stub
81│ ├─etc
82│ │ └─init
83│ ├─netconnmanager
84│ │ ├─include
85│ │ │ └─stub
86│ │ └─src
87│ │ └─stub
88│ ├─netdcontroller
89│ │ ├─include
90│ │ └─src
91│ ├─netmanagernative
92│ │ ├─include
93│ │ └─src
94│ ├─netpolicymanager
95│ │ ├─include
96│ │ │ └─stub
97│ │ └─src
98│ │ └─stub
99│ └─netstatsmanager
100│ ├─include
101│ │ └─stub
102│ └─src
103│ └─stub
104├─test
105│ ├─dnsresolvermanager
106│ │ └─unittest
107│ │ └─dns_resolver_manager_test
108│ ├─netconnmanager
109│ │ ├─mock
110│ │ └─unittest
111│ │ └─net_conn_manager_test
112│ ├─netmanagernative
113│ │ └─unittest
114│ ├─netpolicymanager
115│ │ └─unittest
116│ │ └─net_policy_manager_test
117│ └─netstatsmanager
118│ └─unittest
119│ └─net_stats_manager_test
120└─utils
121 └─log
122 ├─include
123 └─src
124```
125
126## 约束
127
128- 开发语言:C++
129- 软件层,需要以下子系统和服务配合使用:蜂窝数据、WiFi系统、安全子系统、软总线子系统、USB子系统、电源管理子系统等;
130- 硬件层,需要搭载的设备支持以下硬件:可以进行独立蜂窝通信的Modem以及SIM卡;
131
132## 接口说明
133
134| 接口名 | 接口说明 | 所需权限 |
135| :----------------------------------------------------------- | ------------------------------- | ---------------------------------- |
136| `function` [setUidPolicy](#1.2) `(uid: number, policy: NetUidPolicy, callback: AsyncCallback<NetPolicyResultCode>): void` | 设置UID与对应的策略信息 | `ohos.permission.GET_NETWORK_INFO` |
137| `function` [setUidPolicy](#1.3) `(uid: number, policy: NetUidPolicy): Promise<NetPolicyResultCode>` | 设置UID与对应的策略信息 | `ohos.permission.GET_NETWORK_INFO` |
138| `function` [getUidPolicy](#1.4) `(uid: number, callback: AsyncCallback<NetUidPolicy>): void` | 根据UID获取对应的策略信息 | `ohos.permission.GET_NETWORK_INFO` |
139| `function` [getUidPolicy](#1.5) `(uid: number): Promise<NetUidPolicy>` | 根据UID获取对应的策略信息 | `ohos.permission.GET_NETWORK_INFO` |
140| `function` [getUids](#1.6) `(policy: NetUidPolicy, callback: AsyncCallback<Array<uint32>>): void` | 获取使用该策略信息的UID | `ohos.permission.GET_NETWORK_INFO` |
141| `function` [getUids](#1.7) `(policy: NetUidPolicy): Promise<Array<uint32>>` | 获取使用该策略信息的UID | `ohos.permission.GET_NETWORK_INFO` |
142| `function` [isUidNetAccess](#1.8) `(uid: number, metered: boolean, callback: AsyncCallback<boolean>): void` | 根据UID与跃点情况确定是否可访问 | `ohos.permission.GET_NETWORK_INFO` |
143| `function` [isUidNetAccess](#1.9) `(uid: number, metered: boolean): Promise<boolean>` | 根据UID与跃点情况确定是否可访问 | `ohos.permission.GET_NETWORK_INFO` |
144| `function` [isUidNetAccess](#1.10) `(uid: number, ifaceName: string, callback: AsyncCallback<boolean>): void` | 根据UID与接口名确定是否可访问 | `ohos.permission.GET_NETWORK_INFO` |
145| `function` [isUidNetAccess](#1.11) `(uid: number, ifaceName: string): Promise<boolean>` | 根据UID与接口名确定是否可访问 | `ohos.permission.GET_NETWORK_INFO` |
146| `function` [SetInterfaceConfiguration](#1.12) `(iface: string, ic: InterfaceConfiguration, callback: AsyncCallback<number>): void` | 设置网络接口配置信息 | `ohos.permission.GET_NETWORK_INFO` |
147| `function` [SetInterfaceConfiguration](#1.13) `(iface: string, ic: InterfaceConfiguration): Promise<number>` | 设置网络接口配置信息 | `ohos.permission.GET_NETWORK_INFO` |
148| `function` [GetInterfaceConfiguration](#1.14) `(iface: string, callback: AsyncCallback<InterfaceConfiguration>): void` | 获得该接口的配置信息 | `ohos.permission.GET_NETWORK_INFO` |
149| `function` [GetInterfaceConfiguration](#1.15) `(iface: string): Promise<InterfaceConfiguration>` | 获得该接口的配置信息 | `ohos.permission.GET_NETWORK_INFO` |
150| `function` [Whether2Activate](#1.16) `(iface: string, callback: AsyncCallback<number>): void` | 判断接口是否已激活 | `ohos.permission.GET_NETWORK_INFO` |
151| `function` [Whether2Activate](#1.17) `(iface: string): Promise<number>` | 判断接口是否已激活 | `ohos.permission.GET_NETWORK_INFO` |
152| `function` [GetActivateInterfaces](#1.18) `(callback: AsyncCallback<Array<string>>): void` | 获取活动的网络接口 | `ohos.permission.GET_NETWORK_INFO` |
153| `function` [GetActivateInterfaces](#1.19) `(void): Promise<Array<string>>` | 获取活动的网络接口 | `ohos.permission.GET_NETWORK_INFO` |
154| `function` [GetAddressesByName](#1.20) `(hostName: string, callback: AsyncCallback<Array<string>>): void` | 根据域名获取地址信息 | `ohos.permission.GET_NETWORK_INFO` |
155| `function` [GetAddressesByName](#1.21) `(hostName: string): Promise<Array<string>>` | 根据域名获取地址信息 | `ohos.permission.GET_NETWORK_INFO` |
156
157## 使用说明
158
159以设置UID与对应的策略信息setUidPolicy接口为例:
160
161`setUidPolicy(uid: number, policy: NetUidPolicy, callback: AsyncCallback<NetPolicyResultCode>): void`
162
163设置UID与对应的策略信息,以`callback`的方式异步返回执行结果。
164
165* 参数
166
167 | 参数名 | 类型 | 必填 | 说明 |
168 | ---------- | ------------------------------------------------------------ | :--- | ------------------------------------------------------------ |
169 | `uid ` | `number` | 是 | UID |
170 | `policy ` | [NetUidPolicy](#NetUidPolicy) | 是 | 对应的策略信息 |
171 | `callback` | `AsyncCallback<`[NetPolicyResultCode](#NetPolicyResultCode)`>` | 是 | 设置UID与对应的策略信息的异步回调方法,回调值类型详情见[NetPolicyResultCode](#NetPolicyResultCode)说明。 |
172
173
174
175* 示例
176
177 ```js
178 netpolicy.setUidPolicy(100, 200, (err,data) => {
179 if(err){
180 console.log("data.setUidPolicy = "+ err);
181 return;
182 }
183 console.log("data.setUidPolicy success setUidPolicy = "+ data );
184 });
185 ```
186
187## 相关仓
188
189netmanager_base
190
191netmanager_ext
192
193[电话服务子系统](https://gitee.com/openharmony/docs/blob/master/zh-cn/readme/%E7%94%B5%E8%AF%9D%E6%9C%8D%E5%8A%A1%E5%AD%90%E7%B3%BB%E7%BB%9F.md)
194
195[ telephony_cellular_data](https://gitee.com/openharmony/telephony_cellular_data/blob/master/README.md)
196
197