• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2022-2023 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 enum NetConnectionType {
23     PARAMETER_ZERO = 0,
24     PARAMETER_SPECIFIER,
25     PARAMETER_TIMEOUT,
26     PARAMETER_ERROR,
27 };
28 
29 class ConnectionModule final {
30 public:
31     static constexpr const char *FUNCTION_GET_DEFAULT_NET = "getDefaultNet";
32     static constexpr const char *FUNCTION_GET_DEFAULT_NET_SYNC = "getDefaultNetSync";
33     static constexpr const char *FUNCTION_HAS_DEFAULT_NET = "hasDefaultNet";
34     static constexpr const char *FUNCTION_HAS_DEFAULT_NET_SYNC = "hasDefaultNetSync";
35     static constexpr const char *FUNCTION_IS_DEFAULT_NET_METERED = "isDefaultNetMetered";
36     static constexpr const char *FUNCTION_IS_DEFAULT_NET_METERED_SYNC = "isDefaultNetMeteredSync";
37     static constexpr const char *FUNCTION_GET_NET_CAPABILITIES = "getNetCapabilities";
38     static constexpr const char *FUNCTION_GET_NET_CAPABILITIES_SYNC = "getNetCapabilitiesSync";
39     static constexpr const char *FUNCTION_GET_CONNECTION_PROPERTIES = "getConnectionProperties";
40     static constexpr const char *FUNCTION_GET_CONNECTION_PROPERTIES_SYNC = "getConnectionPropertiesSync";
41     static constexpr const char *FUNCTION_CREATE_NET_CONNECTION = "createNetConnection";
42     static constexpr const char *FUNCTION_GET_ADDRESSES_BY_NAME = "getAddressesByName";
43     static constexpr const char *FUNCTION_GET_ALL_NETS = "getAllNets";
44     static constexpr const char *FUNCTION_GET_ALL_NETS_SYNC = "getAllNetsSync";
45     static constexpr const char *FUNCTION_ENABLE_AIRPLANE_MODE = "enableAirplaneMode";
46     static constexpr const char *FUNCTION_DISABLE_AIRPLANE_MODE = "disableAirplaneMode";
47     static constexpr const char *FUNCTION_REPORT_NET_CONNECTED = "reportNetConnected";
48     static constexpr const char *FUNCTION_REPORT_NET_DISCONNECTED = "reportNetDisconnected";
49     static constexpr const char *FUNCTION_GET_DEFAULT_HTTP_PROXY = "getDefaultHttpProxy";
50     static constexpr const char *FUNCTION_GET_GLOBAL_HTTP_PROXY = "getGlobalHttpProxy";
51     static constexpr const char *FUNCTION_SET_GLOBAL_HTTP_PROXY = "setGlobalHttpProxy";
52     static constexpr const char *FUNCTION_SET_CUSTOM_DNS_RULE = "addCustomDnsRule";
53     static constexpr const char *FUNCTION_DELETE_CUSTOM_DNS_RULE = "removeCustomDnsRule";
54     static constexpr const char *FUNCTION_DELETE_CUSTOM_DNS_RULES = "clearCustomDnsRules";
55     static constexpr const char *FUNCTION_SET_APP_HTTP_PROXY = "setAppHttpProxy";
56     static constexpr const char *FUNCTION_GET_APP_NET = "getAppNet";
57     static constexpr const char *FUNCTION_GET_APP_NET_SYNC = "getAppNetSync";
58     static constexpr const char *FUNCTION_SET_APP_NET = "setAppNet";
59     static constexpr const char *INTERFACE_NET_CONNECTION = "NetConnection";
60     static constexpr const char *INTERFACE_NET_CAP = "NetCap";
61     static constexpr const char *INTERFACE_NET_BEAR_TYPE = "NetBearType";
62     static constexpr const char *FUNCTION_FACTORY_RESET_NETWORK = "factoryReset";
63     static constexpr const char *FUNCTION_FACTORY_RESET_NETWORK_SYNC = "factoryResetNetworkSync";
64     static constexpr const char *FUNCTION_SET_PAC_URL = "setPacUrl";
65     static constexpr const char *FUNCTION_GET_PAC_URL = "getPacUrl";
66     static constexpr const char *FUNCTION_SET_INTERFACE_UP = "setInterfaceUp";
67     static constexpr const char *FUNCTION_SET_INTERFACE_IP_ADDRESS = "setNetInterfaceIpAddress";
68     static constexpr const char *FUNCTION_ADD_NETWORK_ROUTE = "addNetworkRoute";
69     static constexpr const char *FUNCTION_CREATE_NET_INTERFACE = "createNetInterface";
70     static constexpr const char *INTERFACE_NET_INTERFACE = "NetInterface";
71     static constexpr const char *FUNCTION_GET_INTERFACE_CONFIG = "getNetInterfaceConfiguration";
72     static constexpr const char *FUNCTION_REGISTER_NET_SUPPLIER = "registerNetSupplier";
73     static constexpr const char *FUNCTION_UNREGISTER_NET_SUPPLIER = "unregisterNetSupplier";
74 
75     static napi_value InitConnectionModule(napi_env env, napi_value exports);
76 
77     class NetConnectionInterface final {
78     public:
79         static constexpr const char *FUNCTION_ON = "on";
80         static constexpr const char *FUNCTION_REGISTER = "register";
81         static constexpr const char *FUNCTION_UNREGISTER = "unregister";
82 
83         static napi_value On(napi_env env, napi_callback_info info);
84         static napi_value Register(napi_env env, napi_callback_info info);
85         static napi_value Unregister(napi_env env, napi_callback_info info);
86     };
87 
88     class NetInterfaceInterface final {
89     public:
90         static constexpr const char *FUNCTION_ON = "on";
91         static constexpr const char *FUNCTION_REGISTER = "register";
92         static constexpr const char *FUNCTION_UNREGISTER = "unregister";
93 
94         static napi_value On(napi_env env, napi_callback_info info);
95         static napi_value Register(napi_env env, napi_callback_info info);
96         static napi_value Unregister(napi_env env, napi_callback_info info);
97     };
98 
99 private:
100     static void InitClasses(napi_env env, napi_value exports);
101     static void InitProperties(napi_env env, napi_value exports);
102 
103     static napi_value GetDefaultNet(napi_env env, napi_callback_info info);
104     static napi_value GetDefaultNetSync(napi_env env, napi_callback_info info);
105     static napi_value CreateNetConnection(napi_env env, napi_callback_info info);
106     static napi_value GetAddressesByName(napi_env env, napi_callback_info info);
107     static napi_value HasDefaultNet(napi_env env, napi_callback_info info);
108     static napi_value HasDefaultNetSync(napi_env env, napi_callback_info info);
109     static napi_value IsDefaultNetMetered(napi_env env, napi_callback_info info);
110     static napi_value IsDefaultNetMeteredSync(napi_env env, napi_callback_info info);
111     static napi_value GetNetCapabilities(napi_env env, napi_callback_info info);
112     static napi_value GetNetCapabilitiesSync(napi_env env, napi_callback_info info);
113     static napi_value GetConnectionProperties(napi_env env, napi_callback_info info);
114     static napi_value GetConnectionPropertiesSync(napi_env env, napi_callback_info info);
115     static napi_value GetAllNets(napi_env env, napi_callback_info info);
116     static napi_value GetAllNetsSync(napi_env env, napi_callback_info info);
117     static napi_value EnableAirplaneMode(napi_env env, napi_callback_info info);
118     static napi_value DisableAirplaneMode(napi_env env, napi_callback_info info);
119     static napi_value ReportNetConnected(napi_env env, napi_callback_info info);
120     static napi_value ReportNetDisconnected(napi_env env, napi_callback_info info);
121     static napi_value GetDefaultHttpProxy(napi_env env, napi_callback_info info);
122     static napi_value GetGlobalHttpProxy(napi_env env, napi_callback_info info);
123     static napi_value SetGlobalHttpProxy(napi_env env, napi_callback_info info);
124     static napi_value AddCustomDnsRule(napi_env env, napi_callback_info info);
125     static napi_value RemoveCustomDnsRule(napi_env env, napi_callback_info info);
126     static napi_value ClearCustomDnsRules(napi_env env, napi_callback_info info);
127     static napi_value SetAppHttpProxy(napi_env env, napi_callback_info info);
128     static napi_value GetAppNet(napi_env env, napi_callback_info info);
129     static napi_value GetAppNetSync(napi_env env, napi_callback_info info);
130     static napi_value SetAppNet(napi_env env, napi_callback_info info);
131     static napi_value FactoryResetNetwork(napi_env env, napi_callback_info info);
132     static napi_value FactoryResetNetworkSync(napi_env env, napi_callback_info info);
133     static napi_value SetPacUrl(napi_env env, napi_callback_info info);
134     static napi_value GetPacUrl(napi_env env, napi_callback_info info);
135     static napi_value SetInterfaceUp(napi_env env, napi_callback_info info);
136     static napi_value SetNetInterfaceIpAddress(napi_env env, napi_callback_info info);
137     static napi_value AddNetworkRoute(napi_env env, napi_callback_info info);
138     static napi_value CreateNetInterface(napi_env env, napi_callback_info info);
139     static napi_value GetNetInterfaceConfiguration(napi_env env, napi_callback_info info);
140     static napi_value RegisterNetSupplier(napi_env env, napi_callback_info info);
141     static napi_value UnregisterNetSupplier(napi_env env, napi_callback_info info);
142 };
143 } // namespace OHOS::NetManagerStandard
144 
145 #endif /* COMMUNICATIONNETMANAGERBASE_CONNECTION_MODULE_H */
146