MCPcopy Create free account
hub / github.com/SFML/SFML / makeError

Function makeError

src/SFML/Network/Sftp.cpp:240–344  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

238}
239
240sf::Sftp::Result makeError(LIBSSH2_SESSION* session, LIBSSH2_SFTP* sftp = nullptr)
241{
242 using Value = sf::Sftp::Result::Value;
243
244 char* ptr{};
245 auto length = 0;
246 const auto error = libssh2_session_last_error(session, &ptr, &length, 0);
247 const auto size = static_cast<std::size_t>(length);
248
249 switch (error)
250 {
251 case LIBSSH2_ERROR_BANNER_RECV:
252 return sf::Sftp::Result(Value::BannerReceive, {ptr, size});
253 case LIBSSH2_ERROR_BANNER_SEND:
254 return sf::Sftp::Result(Value::BannerSend, {ptr, size});
255 case LIBSSH2_ERROR_INVALID_MAC:
256 return sf::Sftp::Result(Value::InvalidMac, {ptr, size});
257 case LIBSSH2_ERROR_KEX_FAILURE:
258 return sf::Sftp::Result(Value::KeyExchangeFailure, {ptr, size});
259 case LIBSSH2_ERROR_ALLOC:
260 return sf::Sftp::Result(Value::AllocationFailure, {ptr, size});
261 case LIBSSH2_ERROR_SOCKET_SEND:
262 return sf::Sftp::Result(Value::SocketSend, {ptr, size});
263 case LIBSSH2_ERROR_KEY_EXCHANGE_FAILURE:
264 return sf::Sftp::Result(Value::KeyExchangeFailure, {ptr, size});
265 case LIBSSH2_ERROR_TIMEOUT:
266 return sf::Sftp::Result(Value::Timeout, {ptr, size});
267 case LIBSSH2_ERROR_HOSTKEY_INIT:
268 return sf::Sftp::Result(Value::HostKeyInitialization, {ptr, size});
269 case LIBSSH2_ERROR_HOSTKEY_SIGN:
270 return sf::Sftp::Result(Value::HostKeySign, {ptr, size});
271 case LIBSSH2_ERROR_DECRYPT:
272 return sf::Sftp::Result(Value::DecryptError, {ptr, size});
273 case LIBSSH2_ERROR_SOCKET_DISCONNECT:
274 return sf::Sftp::Result(Value::Disconnected, {ptr, size});
275 case LIBSSH2_ERROR_PROTO:
276 return sf::Sftp::Result(Value::ProtocolError, {ptr, size});
277 case LIBSSH2_ERROR_PASSWORD_EXPIRED:
278 return sf::Sftp::Result(Value::PasswordExpired, {ptr, size});
279 case LIBSSH2_ERROR_FILE:
280 return sf::Sftp::Result(Value::FileError, {ptr, size});
281 case LIBSSH2_ERROR_METHOD_NONE:
282 return sf::Sftp::Result(Value::MethodNone, {ptr, size});
283 case LIBSSH2_ERROR_AUTHENTICATION_FAILED:
284 return sf::Sftp::Result(Value::AuthenticationFailed, {ptr, size});
285 case LIBSSH2_ERROR_PUBLICKEY_UNVERIFIED:
286 return sf::Sftp::Result(Value::PublicKeyUnverified, {ptr, size});
287 case LIBSSH2_ERROR_CHANNEL_OUTOFORDER:
288 return sf::Sftp::Result(Value::ChannelOutOfOrder, {ptr, size});
289 case LIBSSH2_ERROR_CHANNEL_FAILURE:
290 return sf::Sftp::Result(Value::ChannelFailure, {ptr, size});
291 case LIBSSH2_ERROR_CHANNEL_REQUEST_DENIED:
292 return sf::Sftp::Result(Value::ChannelRequestDenied, {ptr, size});
293 case LIBSSH2_ERROR_CHANNEL_UNKNOWN:
294 return sf::Sftp::Result(Value::ChannelUnknown, {ptr, size});
295 case LIBSSH2_ERROR_CHANNEL_WINDOW_EXCEEDED:
296 return sf::Sftp::Result(Value::ChannelWindowExceeded, {ptr, size});
297 case LIBSSH2_ERROR_CHANNEL_PACKET_EXCEEDED:

Callers 12

initializeSftpMethod · 0.85
connectMethod · 0.85
loginMethod · 0.85
resolvePathMethod · 0.85
getAttributesMethod · 0.85
getDirectoryListingMethod · 0.85
createDirectoryMethod · 0.85
deleteDirectoryMethod · 0.85
renameMethod · 0.85
deleteFileMethod · 0.85
downloadMethod · 0.85
uploadMethod · 0.85

Calls 1

makeSftpErrorFunction · 0.85

Tested by

no test coverage detected