error_handler.cpp
Go to the documentation of this file.
1 
9 /*****************************************************************************
10 ** Cross platform
11 *****************************************************************************/
12 
13 #include <ecl/config/ecl.hpp>
14 
15 /*****************************************************************************
16 ** Includes
17 *****************************************************************************/
18 
19 #include <errno.h>
20 #include <ecl/errors/handlers.hpp>
21 #include "../../../include/ecl/devices/detail/error_handler.hpp"
22 
23 /*****************************************************************************
24 ** Namespaces
25 *****************************************************************************/
26 
27 namespace ecl {
28 namespace devices {
29 
30 /*****************************************************************************
31 ** Implementation [Exception Handlers]
32 *****************************************************************************/
33 
35  int error_result = errno;
36  switch (error_result) {
37  case ( EINVAL ) : return ecl::Error(ecl::InvalidArgError);
38  case ( EACCES ) : return ecl::Error(ecl::PermissionsError);
39  case ( EFBIG ) : case (EOVERFLOW) :
41  case ( EINTR ) : return ecl::Error(ecl::InterruptedError);
42  case ( EISDIR ) : return ecl::Error(ecl::InvalidObjectError);
43  case ( ELOOP ) : return ecl::Error(ecl::SystemFailureError);
44  case ( EMFILE ) : return ecl::Error(ecl::OutOfResourcesError);
45  case ( ENFILE ) : return ecl::Error(ecl::OutOfResourcesError);
46  case ( ENAMETOOLONG ) : return ecl::Error(ecl::InvalidArgError);
47  case ( ENOMEM ) : return ecl::Error(ecl::MemoryError);
48  case ( ENOSPC ) : return ecl::Error(ecl::OutOfResourcesError);
49  case ( ENOTDIR ): return ecl::Error(ecl::InvalidObjectError);
50  case ( EROFS ) : return ecl::Error(ecl::PermissionsError);
51  case ( ETXTBSY ): return ecl::Error(ecl::UsageError);
52  default : return ecl::Error(ecl::UnknownError);
53  }
54 }
55 
56 
58  int error_result = errno;
59  switch (error_result) {
60  case ( EAGAIN ) : return ecl::Error(ecl::BlockingError);
61  case ( EBADF ) : case (EINVAL)
63  case ( EFAULT ) : return ecl::Error(ecl::OutOfRangeError);
64  case ( EFBIG ) : return ecl::Error(ecl::MemoryError);
65  case ( EINTR ) : return ecl::Error(ecl::InterruptedError);
66  case ( EIO ) : return ecl::Error(ecl::SystemFailureError);
67  case ( ENOSPC ) : return ecl::Error(ecl::OutOfResourcesError);
68  case ( EPIPE ) : return ecl::Error(ecl::PermissionsError);
69  default : return ecl::Error(ecl::UnknownError);
70  }
71 }
72 
73 
75  int error_result = errno;
76  switch (error_result) {
77  case ( EAGAIN ) : return ecl::Error(ecl::BlockingError);
78  case ( EBADF ) : case (EINVAL)
80  case ( EFAULT ) : return ecl::Error(ecl::OutOfRangeError);
81  case ( EINTR ) : return ecl::Error(ecl::InterruptedError);
82  case ( EIO ) : return ecl::Error(ecl::SystemFailureError);
83  case ( EISDIR ) : return ecl::Error(ecl::InvalidObjectError);
84  default : return ecl::Error(ecl::UnknownError);
85  }
86 }
88  int error_result = errno;
89  switch (error_result) {
90  case ( EBADF ) : return ecl::Error(ecl::InvalidArgError);
91  case ( EIO ) : return ecl::Error(ecl::CloseError);
92  case ( EROFS ) : case ( EINVAL )
94  default : return ecl::Error(ecl::UnknownError);
95  }
96 }
98  int error_result = errno;
99  switch (error_result) {
100  case ( EBADF ) : return ecl::Error(ecl::InvalidArgError);
101  case ( EIO ) : return ecl::Error(ecl::SystemFailureError);
102  case ( EINTR ) : return ecl::Error(ecl::InterruptedError);
103  default : return ecl::Error(ecl::UnknownError);
104  }
105 }
106 
107 } // namespace devices
108 } // namespace ecl
ecl::Error read_error()
Embedded control libraries.
InvalidObjectError
InterruptedError
PermissionsError
CloseError
InvalidArgError
NotSupportedError
UnknownError
OutOfRangeError
BlockingError
ecl::Error write_error()
ecl::Error open_error()
OutOfResourcesError
ecl::Error sync_error()
UsageError
ecl::Error close_error()
SystemFailureError
MemoryError


ecl_devices
Author(s): Daniel Stonier
autogenerated on Mon Jun 10 2019 13:08:45