1 /* 2 * Copyright (c) 2021-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 COMMUNICATIONNETSTACK_SOCKET_ASYNC_WORK_H 17 #define COMMUNICATIONNETSTACK_SOCKET_ASYNC_WORK_H 18 19 #include "napi/native_api.h" 20 #include "nocopyable.h" 21 22 namespace OHOS::NetStack::Socket { 23 class SocketAsyncWork final { 24 public: 25 DISALLOW_COPY_AND_MOVE(SocketAsyncWork); 26 27 /* executor */ 28 static void ExecUdpBind(napi_env env, void *data); 29 30 static void ExecUdpSend(napi_env env, void *data); 31 32 static void ExecUdpAddMembership(napi_env env, void *data); 33 34 static void ExecUdpDropMembership(napi_env env, void *data); 35 36 static void ExecSetMulticastTTL(napi_env env, void *data); 37 38 static void ExecGetMulticastTTL(napi_env env, void *data); 39 40 static void ExecSetLoopbackMode(napi_env env, void *data); 41 42 static void ExecGetLoopbackMode(napi_env env, void *data); 43 44 static void ExecTcpBind(napi_env env, void *data); 45 46 static void ExecConnect(napi_env env, void *data); 47 48 static void ExecTcpSend(napi_env env, void *data); 49 50 static void ExecClose(napi_env env, void *data); 51 52 static void ExecGetState(napi_env env, void *data); 53 54 static void ExecGetRemoteAddress(napi_env env, void *data); 55 56 static void ExecGetLocalAddress(napi_env env, void *data); 57 58 static void ExecTcpSetExtraOptions(napi_env env, void *data); 59 60 static void ExecUdpSetExtraOptions(napi_env env, void *data); 61 62 static void ExecTcpGetSocketFd(napi_env env, void *data); 63 64 static void ExecUdpGetSocketFd(napi_env env, void *data); 65 66 static void ExecTcpConnectionSend(napi_env env, void *data); 67 68 static void ExecTcpConnectionGetRemoteAddress(napi_env env, void *data); 69 70 static void ExecTcpConnectionGetLocalAddress(napi_env env, void *data); 71 72 static void ExecTcpConnectionClose(napi_env env, void *data); 73 74 static void ExecTcpServerListen(napi_env env, void *data); 75 76 static void ExecTcpServerSetExtraOptions(napi_env env, void *data); 77 78 static void ExecTcpServerGetState(napi_env env, void *data); 79 80 static void ExecTcpServerGetLocalAddress(napi_env env, void *data); 81 82 static void ExecLocalSocketBind(napi_env env, void *data); 83 84 static void ExecLocalSocketConnect(napi_env env, void *data); 85 86 static void ExecLocalSocketSend(napi_env env, void *data); 87 88 static void ExecLocalSocketClose(napi_env env, void *data); 89 90 static void ExecLocalSocketGetState(napi_env env, void *data); 91 92 static void ExecLocalSocketGetLocalAddress(napi_env env, void *data); 93 94 static void ExecLocalSocketGetSocketFd(napi_env env, void *data); 95 96 static void ExecLocalSocketSetExtraOptions(napi_env env, void *data); 97 98 static void ExecLocalSocketGetExtraOptions(napi_env env, void *data); 99 100 static void ExecLocalSocketServerListen(napi_env env, void *data); 101 102 static void ExecLocalSocketServerEnd(napi_env env, void *data); 103 104 static void ExecLocalSocketServerGetState(napi_env env, void *data); 105 106 static void ExecLocalSocketServerGetLocalAddress(napi_env env, void *data); 107 108 static void ExecLocalSocketServerSetExtraOptions(napi_env env, void *data); 109 110 static void ExecLocalSocketServerGetExtraOptions(napi_env env, void *data); 111 112 static void ExecLocalSocketConnectionSend(napi_env env, void *data); 113 114 static void ExecLocalSocketConnectionClose(napi_env env, void *data); 115 116 static void ExecLocalSocketConnectionGetLocalAddress(napi_env env, void *data); 117 118 /* callback */ 119 static void BindCallback(napi_env env, napi_status status, void *data); 120 121 static void UdpSendCallback(napi_env env, napi_status status, void *data); 122 123 static void UdpAddMembershipCallback(napi_env env, napi_status status, void *data); 124 125 static void UdpDropMembershipCallback(napi_env env, napi_status status, void *data); 126 127 static void UdpSetMulticastTTLCallback(napi_env env, napi_status status, void *data); 128 129 static void UdpGetMulticastTTLCallback(napi_env env, napi_status status, void *data); 130 131 static void UdpSetLoopbackModeCallback(napi_env env, napi_status status, void *data); 132 133 static void UdpGetLoopbackModeCallback(napi_env env, napi_status status, void *data); 134 135 static void ConnectCallback(napi_env env, napi_status status, void *data); 136 137 static void TcpSendCallback(napi_env env, napi_status status, void *data); 138 139 static void CloseCallback(napi_env env, napi_status status, void *data); 140 141 static void GetStateCallback(napi_env env, napi_status status, void *data); 142 143 static void GetRemoteAddressCallback(napi_env env, napi_status status, void *data); 144 145 static void GetLocalAddressCallback(napi_env env, napi_status status, void *data); 146 147 static void TcpSetExtraOptionsCallback(napi_env env, napi_status status, void *data); 148 149 static void UdpSetExtraOptionsCallback(napi_env env, napi_status status, void *data); 150 151 static void TcpGetSocketFdCallback(napi_env env, napi_status status, void *data); 152 153 static void UdpGetSocketFdCallback(napi_env env, napi_status status, void *data); 154 155 static void TcpConnectionSendCallback(napi_env env, napi_status status, void *data); 156 157 static void TcpConnectionCloseCallback(napi_env env, napi_status status, void *data); 158 159 static void TcpConnectionGetRemoteAddressCallback(napi_env env, napi_status status, void *data); 160 161 static void TcpConnectionGetLocalAddressCallback(napi_env env, napi_status status, void *data); 162 163 static void ListenCallback(napi_env env, napi_status status, void *data); 164 165 static void TcpServerSetExtraOptionsCallback(napi_env env, napi_status status, void *data); 166 167 static void TcpServerGetStateCallback(napi_env env, napi_status status, void *data); 168 169 static void TcpServerGetLocalAddressCallback(napi_env env, napi_status status, void *data); 170 171 static void LocalSocketBindCallback(napi_env env, napi_status status, void *data); 172 173 static void LocalSocketConnectCallback(napi_env env, napi_status status, void *data); 174 175 static void LocalSocketSendCallback(napi_env env, napi_status status, void *data); 176 177 static void LocalSocketCloseCallback(napi_env env, napi_status status, void *data); 178 179 static void LocalSocketGetStateCallback(napi_env env, napi_status status, void *data); 180 181 static void LocalSocketGetLocalAddressCallback(napi_env env, napi_status status, void *data); 182 183 static void LocalSocketGetSocketFdCallback(napi_env env, napi_status status, void *data); 184 185 static void LocalSocketSetExtraOptionsCallback(napi_env env, napi_status status, void *data); 186 187 static void LocalSocketGetExtraOptionsCallback(napi_env env, napi_status status, void *data); 188 189 static void LocalSocketServerListenCallback(napi_env env, napi_status status, void *data); 190 191 static void LocalSocketServerEndCallback(napi_env env, napi_status status, void *data); 192 193 static void LocalSocketServerGetStateCallback(napi_env env, napi_status status, void *data); 194 195 static void LocalSocketServerGetLocalAddressCallback(napi_env env, napi_status status, void *data); 196 197 static void LocalSocketServerSetExtraOptionsCallback(napi_env env, napi_status status, void *data); 198 199 static void LocalSocketServerGetExtraOptionsCallback(napi_env env, napi_status status, void *data); 200 201 static void LocalSocketConnectionSendCallback(napi_env env, napi_status status, void *data); 202 203 static void LocalSocketConnectionCloseCallback(napi_env env, napi_status status, void *data); 204 205 static void LocalSocketConnectionGetLocalAddressCallback(napi_env env, napi_status status, void *data); 206 }; 207 } // namespace OHOS::NetStack::Socket 208 209 #endif /* COMMUNICATIONNETSTACK_SOCKET_ASYNC_WORK_H */ 210