• Home
Name
Date
Size
#Lines
LOC

..--

figures/12-May-2024-

frameworks/12-May-2024-16,54213,215

interfaces/12-May-2024-4,0032,134

sa_profile/12-May-2024-253114

services/12-May-2024-20,61614,503

test/12-May-2024-3,6402,622

utils/12-May-2024-2,1001,412

.clang-formatD12-May-20247.2 KiB173172

.gitignoreD12-May-202465 44

CMakeLists.txtD12-May-202420.4 KiB332320

LICENSED12-May-20249.9 KiB177150

OAT.xmlD12-May-20244.2 KiB6715

README.mdD12-May-2024973 3725

README_zh.mdD12-May-20248.9 KiB197166

bundle.jsonD12-May-20245.3 KiB114113

netmanager_base_config.gniD12-May-20241.9 KiB4339

README.md

1# communication_netmanager_base
2
3#### Description
4{**When you're done, you can delete the content in this README and update the file with details for others getting started with your repository**}
5
6#### Software Architecture
7Software architecture description
8
9#### Installation
10
111.  xxxx
122.  xxxx
133.  xxxx
14
15#### Instructions
16
171.  xxxx
182.  xxxx
193.  xxxx
20
21#### Contribution
22
231.  Fork the repository
242.  Create Feat_xxx branch
253.  Commit your code
264.  Create Pull Request
27
28
29#### Gitee Feature
30
311.  You can use Readme\_XXX.md to support different languages, such as Readme\_en.md, Readme\_zh.md
322.  Gitee blog [blog.gitee.com](https://blog.gitee.com)
333.  Explore open source project [https://gitee.com/explore](https://gitee.com/explore)
344.  The most valuable open source project [GVP](https://gitee.com/gvp)
355.  The manual of Gitee [https://gitee.com/help](https://gitee.com/help)
366.  The most popular members  [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)
37

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![net_conn_manager_arch_zh](figures/net_conn_manager_arch_zh.png)
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