davix
Data Structures | Macros | Enumerations | Functions
davixstatusrequest.hpp File Reference

Error report system of davix. More...

#include <string>
#include <utils/davix_types.hpp>
#include <iostream>

Data Structures

class  Davix::DavixError
 Davix Error Handler. More...
 
class  Davix::DavixException
 Davix Exception class. More...
 

Macros

#define TRY_DAVIX   try
 
#define CATCH_DAVIX(err)
 

Enumerations

enum  Davix::StatusCode::Code {
  Davix::StatusCode::OK = 0x000 , Davix::StatusCode::PartialDone = 0x001 , Davix::StatusCode::WebDavPropertiesParsingError = 0x002 , Davix::StatusCode::UriParsingError = 0x003 ,
  Davix::StatusCode::SessionCreationError = 0x004 , Davix::StatusCode::NameResolutionFailure = 0x005 , Davix::StatusCode::ConnectionProblem = 0x006 , Davix::StatusCode::RedirectionNeeded = 0x007 ,
  Davix::StatusCode::ConnectionTimeout = 0x008 , Davix::StatusCode::OperationTimeout = 0x009 , Davix::StatusCode::OperationNonSupported = 0x00a , Davix::StatusCode::IsNotADirectory = 0x00b ,
  Davix::StatusCode::InvalidFileHandle = 0x00c , Davix::StatusCode::AlreadyRunning = 0x00d , Davix::StatusCode::AuthenticationError = 0x00e , Davix::StatusCode::AuthentificationError = AuthenticationError ,
  Davix::StatusCode::LoginPasswordError = 0x00f , Davix::StatusCode::CredentialNotFound = 0x010 , Davix::StatusCode::PermissionRefused = 0x011 , Davix::StatusCode::FileNotFound = 0x012 ,
  Davix::StatusCode::IsADirectory = 0x013 , Davix::StatusCode::SystemError = 0x014 , Davix::StatusCode::FileExist = 0x015 , Davix::StatusCode::InvalidArgument = 0x016 ,
  Davix::StatusCode::InvalidServerResponse = 0x017 , Davix::StatusCode::SSLError = 0x018 , Davix::StatusCode::CredDecryptionError = 0x019 , Davix::StatusCode::Canceled = 0x020 ,
  Davix::StatusCode::DelegationError = 0x021 , Davix::StatusCode::RemoteError = 0x022 , Davix::StatusCode::ParsingError = 0x23 , Davix::StatusCode::InvalidHook = 0x24 ,
  Davix::StatusCode::TimeoutRedirectionError = 0x25 , Davix::StatusCode::TooManyRedirects = 0x26 , Davix::StatusCode::InsufficientStorage = 0x27 , Davix::StatusCode::EnvVarNotSet = 0x28 ,
  Davix::StatusCode::UnknownError = 0x100 , Davix::StatusCode::UnknowError = UnknownError
}
 

Functions

void Davix::checkDavixError (DavixError **err)
 

Detailed Description

Error report system of davix.

Author
Devresse Adrien, CERN

Macro Definition Documentation

◆ CATCH_DAVIX

#define CATCH_DAVIX (   err)
Value:
catch(DavixException & e){ \
e.toDavixError(err); \
}catch(std::exception & e){ \
DavixError::setupError(err, " ", StatusCode::SystemError, std::string("System Error ").append(e.what())); \
}catch(...){ \
DavixError::setupError(err, " ", StatusCode::UnknownError, std::string("Unknown Error .... report this")); \
}

Enumeration Type Documentation

◆ Code

Common Error code of Davix See DavixError for more details

Enumerator
OK 

No Error report.

PartialDone 

Request executed partially.

WebDavPropertiesParsingError 

Error in the Webdav properties parsing.

UriParsingError 

Error in the Webdav properties parsing.

SessionCreationError 

impossible to create a session

NameResolutionFailure 

DNS resolution failure.

ConnectionProblem 

Impossible to connect, host down or network problem.

RedirectionNeeded 

redirection is needed manually

ConnectionTimeout 

Impossible to connect, host down or network problem.

OperationTimeout 

operation timeout

OperationNonSupported 

this operation is not supported

IsNotADirectory 

Action impossible, is a directory or a collection.

InvalidFileHandle 

Invalid file descriptor.

AlreadyRunning 

Request already running.

AuthenticationError 

Authentication Error.

AuthentificationError 

Misspelled - kept for backward compatibility.

LoginPasswordError 

Wrong Login and/or Password.

CredentialNotFound 

Impossible to find specified credential.

PermissionRefused 

Permission deny, Authorisation problem ( EACCESS, EPERM )

FileNotFound 

File not found (ENOENT )

IsADirectory 

This file is not a regular file but a directory ( EISDIR )

SystemError 

System call related error.

FileExist 

File already exist ( EEXIST )

InvalidArgument 

Invalid argument from user ( EINVAL )

InvalidServerResponse 

Server answer problem ( > 500 )

SSLError 

SSL/TLS layer Error.

CredDecryptionError 

Impossible to decrypt client credential for usage.

Canceled 

Operation canceled.

DelegationError 

Delegation error.

RemoteError 

Remote error. Used for third party copies: it means the destination failed.

ParsingError 

Generic Parsing Error.

InvalidHook 

Invalid Hook type.

TimeoutRedirectionError 

Connection timeout during a redirection.

TooManyRedirects 

Too many redirects.

InsufficientStorage 

Insufficient storage.

EnvVarNotSet 

Environment Variable Missing.

UnknownError 

Undefined error.

UnknowError 

Misspelled - kept for backward compatibility.