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_ASYNC_WORK_H 17 #define COMMUNICATIONNETMANAGERBASE_CONNECTION_ASYNC_WORK_H 18 19 #include <napi/native_api.h> 20 #include <napi/native_node_api.h> 21 22 namespace OHOS::NetManagerStandard { 23 class ConnectionAsyncWork final { 24 public: 25 ConnectionAsyncWork() = delete; 26 27 ~ConnectionAsyncWork() = delete; 28 29 static void ExecGetDefaultNet(napi_env env, void *data); 30 31 static void GetDefaultNetCallback(napi_env env, napi_status status, void *data); 32 33 static void ExecHasDefaultNet(napi_env env, void *data); 34 35 static void HasDefaultNetCallback(napi_env env, napi_status status, void *data); 36 37 static void ExecIsDefaultNetMetered(napi_env env, void *data); 38 39 static void IsDefaultNetMeteredCallback(napi_env env, napi_status status, void *data); 40 41 static void ExecGetNetCapabilities(napi_env env, void *data); 42 43 static void GetNetCapabilitiesCallback(napi_env env, napi_status status, void *data); 44 45 static void ExecGetConnectionProperties(napi_env env, void *data); 46 47 static void GetConnectionPropertiesCallback(napi_env env, napi_status status, void *data); 48 49 static void ExecGetAddressesByName(napi_env env, void *data); 50 51 static void GetAddressesByNameCallback(napi_env env, napi_status status, void *data); 52 53 static void ExecGetAllNets(napi_env env, void *data); 54 55 static void GetAllNetsCallback(napi_env env, napi_status status, void *data); 56 57 static void ExecEnableAirplaneMode(napi_env env, void *data); 58 59 static void EnableAirplaneModeCallback(napi_env env, napi_status status, void *data); 60 61 static void ExecDisableAirplaneMode(napi_env env, void *data); 62 63 static void DisableAirplaneModeCallback(napi_env env, napi_status status, void *data); 64 65 static void ExecReportNetConnected(napi_env env, void *data); 66 67 static void ReportNetConnectedCallback(napi_env env, napi_status status, void *data); 68 69 static void ExecReportNetDisconnected(napi_env env, void *data); 70 71 static void ReportNetDisconnectedCallback(napi_env env, napi_status status, void *data); 72 73 static void ExecGetDefaultHttpProxy(napi_env env, void *data); 74 75 static void GetDefaultHttpProxyCallback(napi_env env, napi_status status, void *data); 76 77 static void ExecGetGlobalHttpProxy(napi_env env, void *data); 78 79 static void GetGlobalHttpProxyCallback(napi_env env, napi_status status, void *data); 80 81 static void ExecSetGlobalHttpProxy(napi_env env, void *data); 82 83 static void SetGlobalHttpProxyCallback(napi_env env, napi_status status, void *data); 84 85 static void ExecGetAppNet(napi_env env, void *data); 86 87 static void GetAppNetCallback(napi_env env, napi_status status, void *data); 88 89 static void ExecSetAppNet(napi_env env, void *data); 90 91 static void SetAppNetCallback(napi_env env, napi_status status, void *data); 92 93 static void ExecSetInterfaceUp(napi_env env, void *data); 94 95 static void SetInterfaceUpCallback(napi_env env, napi_status status, void *data); 96 97 static void ExecSetInterfaceIpAddr(napi_env env, void *data); 98 99 static void SetInterfaceIpAddrCallback(napi_env env, napi_status status, void *data); 100 101 static void ExecAddNetworkRoute(napi_env env, void *data); 102 103 static void AddNetworkRouteCallback(napi_env env, napi_status status, void *data); 104 105 static void ExecGetNetInterfaceConfiguration(napi_env env, void *data); 106 107 static void GetNetInterfaceConfigurationCallback(napi_env env, napi_status status, void *data); 108 109 static void ExecRegisterNetSupplier(napi_env env, void *data); 110 111 static void RegisterNetSupplierCallback(napi_env env, napi_status status, void *data); 112 113 static void ExecUnregisterNetSupplier(napi_env env, void *data); 114 115 static void UnregisterNetSupplierCallback(napi_env env, napi_status status, void *data); 116 117 static void ExecSetCustomDNSRule(napi_env env, void *data); 118 119 static void SetCustomDNSRuleCallback(napi_env env, napi_status status, void *data); 120 121 static void ExecDeleteCustomDNSRule(napi_env env, void *data); 122 123 static void DeleteCustomDNSRuleCallback(napi_env env, napi_status status, void *data); 124 125 static void ExecDeleteCustomDNSRules(napi_env env, void *data); 126 127 static void DeleteCustomDNSRulesCallback(napi_env env, napi_status status, void *data); 128 129 static void ExecFactoryResetNetwork(napi_env env, void *data); 130 131 static void FactoryResetNetworkCallback(napi_env env, napi_status status, void *data); 132 133 class NetHandleAsyncWork final { 134 public: 135 NetHandleAsyncWork() = delete; 136 137 ~NetHandleAsyncWork() = delete; 138 139 static void ExecGetAddressByName(napi_env env, void *data); 140 141 static void GetAddressByNameCallback(napi_env env, napi_status status, void *data); 142 143 static void ExecGetAddressesByName(napi_env env, void *data); 144 145 static void GetAddressesByNameCallback(napi_env env, napi_status status, void *data); 146 147 static void ExecBindSocket(napi_env env, void *data); 148 149 static void BindSocketCallback(napi_env env, napi_status status, void *data); 150 }; 151 152 class NetConnectionAsyncWork final { 153 public: 154 NetConnectionAsyncWork() = delete; 155 156 ~NetConnectionAsyncWork() = delete; 157 158 static void ExecRegister(napi_env env, void *data); 159 160 static void RegisterCallback(napi_env env, napi_status status, void *data); 161 162 static void ExecUnregister(napi_env env, void *data); 163 164 static void UnregisterCallback(napi_env env, napi_status status, void *data); 165 }; 166 167 class NetInterfaceAsyncWork final { 168 public: 169 NetInterfaceAsyncWork() = delete; 170 171 ~NetInterfaceAsyncWork() = delete; 172 173 static void ExecIfaceRegister(napi_env env, void *data); 174 175 static void IfaceRegisterCallback(napi_env env, napi_status status, void *data); 176 177 static void ExecIfaceUnregister(napi_env env, void *data); 178 179 static void IfaceUnregisterCallback(napi_env env, napi_status status, void *data); 180 }; 181 }; 182 } // namespace OHOS::NetManagerStandard 183 184 #endif /* COMMUNICATIONNETMANAGERBASE_CONNECTION_ASYNC_WORK_H */ 185