• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2022 Huawei Device Co., Ltd.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 
16 #ifndef COMMUNICATIONNETMANAGERBASE_CONNECTION_MODULE_H
17 #define COMMUNICATIONNETMANAGERBASE_CONNECTION_MODULE_H
18 
19 #include <napi/native_api.h>
20 
21 namespace OHOS::NetManagerStandard {
22 class ConnectionModule final {
23 public:
24     static constexpr const char *FUNCTION_GET_DEFAULT_NET = "getDefaultNet";
25     static constexpr const char *FUNCTION_GET_DEFAULT_NET_SYNC = "getDefaultNetSync";
26     static constexpr const char *FUNCTION_HAS_DEFAULT_NET = "hasDefaultNet";
27     static constexpr const char *FUNCTION_IS_DEFAULT_NET_METERED = "isDefaultNetMetered";
28     static constexpr const char *FUNCTION_GET_NET_CAPABILITIES = "getNetCapabilities";
29     static constexpr const char *FUNCTION_GET_CONNECTION_PROPERTIES = "getConnectionProperties";
30     static constexpr const char *FUNCTION_CREATE_NET_CONNECTION = "createNetConnection";
31     static constexpr const char *FUNCTION_GET_ADDRESSES_BY_NAME = "getAddressesByName";
32     static constexpr const char *FUNCTION_GET_ALL_NETS = "getAllNets";
33     static constexpr const char *FUNCTION_ENABLE_AIRPLANE_MODE = "enableAirplaneMode";
34     static constexpr const char *FUNCTION_DISABLE_AIRPLANE_MODE = "disableAirplaneMode";
35     static constexpr const char *FUNCTION_REPORT_NET_CONNECTED = "reportNetConnected";
36     static constexpr const char *FUNCTION_REPORT_NET_DISCONNECTED = "reportNetDisconnected";
37     static constexpr const char *FUNCTION_GET_GLOBAL_HTTP_PROXY = "getGlobalHttpProxy";
38     static constexpr const char *FUNCTION_SET_GLOBAL_HTTP_PROXY = "setGlobalHttpProxy";
39     static constexpr const char *FUNCTION_GET_APP_NET = "getAppNet";
40     static constexpr const char *FUNCTION_SET_APP_NET = "setAppNet";
41     static constexpr const char *INTERFACE_NET_CONNECTION = "NetConnection";
42     static constexpr const char *INTERFACE_NET_CAP = "NetCap";
43     static constexpr const char *INTERFACE_NET_BEAR_TYPE = "NetBearType";
44 
45     static napi_value InitConnectionModule(napi_env env, napi_value exports);
46 
47     class NetHandleInterface final {
48     public:
49         static constexpr const char *PROPERTY_NET_ID = "netId";
50         static constexpr const char *FUNCTION_GET_ADDRESSES_BY_NAME = "getAddressesByName";
51         static constexpr const char *FUNCTION_GET_ADDRESS_BY_NAME = "getAddressByName";
52         static constexpr const char *FUNCTION_BIND_SOCKET = "bindSocket";
53 
54         static napi_value GetAddressesByName(napi_env env, napi_callback_info info);
55         static napi_value GetAddressByName(napi_env env, napi_callback_info info);
56         static napi_value BindSocket(napi_env env, napi_callback_info info);
57     };
58 
59     class NetConnectionInterface final {
60     public:
61         static constexpr const char *FUNCTION_ON = "on";
62         static constexpr const char *FUNCTION_REGISTER = "register";
63         static constexpr const char *FUNCTION_UNREGISTER = "unregister";
64 
65         static napi_value On(napi_env env, napi_callback_info info);
66         static napi_value Register(napi_env env, napi_callback_info info);
67         static napi_value Unregister(napi_env env, napi_callback_info info);
68     };
69 
70 private:
71     static void InitProperties(napi_env env, napi_value exports);
72 
73     static napi_value GetDefaultNet(napi_env env, napi_callback_info info);
74     static napi_value GetDefaultNetSync(napi_env env, napi_callback_info info);
75     static napi_value CreateNetConnection(napi_env env, napi_callback_info info);
76     static napi_value GetAddressesByName(napi_env env, napi_callback_info info);
77     static napi_value HasDefaultNet(napi_env env, napi_callback_info info);
78     static napi_value IsDefaultNetMetered(napi_env env, napi_callback_info info);
79     static napi_value GetNetCapabilities(napi_env env, napi_callback_info info);
80     static napi_value GetConnectionProperties(napi_env env, napi_callback_info info);
81     static napi_value GetAllNets(napi_env env, napi_callback_info info);
82     static napi_value EnableAirplaneMode(napi_env env, napi_callback_info info);
83     static napi_value DisableAirplaneMode(napi_env env, napi_callback_info info);
84     static napi_value ReportNetConnected(napi_env env, napi_callback_info info);
85     static napi_value ReportNetDisconnected(napi_env env, napi_callback_info info);
86     static napi_value GetGlobalHttpProxy(napi_env env, napi_callback_info info);
87     static napi_value SetGlobalHttpProxy(napi_env env, napi_callback_info info);
88     static napi_value GetAppNet(napi_env env, napi_callback_info info);
89     static napi_value SetAppNet(napi_env env, napi_callback_info info);
90 };
91 } // namespace OHOS::NetManagerStandard
92 
93 #endif /* COMMUNICATIONNETMANAGERBASE_CONNECTION_MODULE_H */
94