libfilezilla
Loading...
Searching...
No Matches
fsresult.hpp
Go to the documentation of this file.
1#ifndef LIBFILEZILLA_FSRESULT_HEADER
2#define LIBFILEZILLA_FSRESULT_HEADER
3
8#include "private/visibility.hpp"
9
10#include <stdint.h>
11#include <stddef.h>
12
13namespace fz {
14
26{
27public:
28 enum error {
29 ok,
30 none = ok,
31
34
37
40
43
46
49
51 other
52 };
53
54#if FZ_WINDOWS
55 typedef uint32_t raw_t; // DWORD alternative without windows.h
56#else
57 typedef int raw_t;
58#endif
59
60 explicit operator bool() const { return error_ == 0; }
61
62 error error_{};
63
64 raw_t raw_{};
65};
66
77{
78public:
79#if FZ_WINDOWS
80 typedef uint32_t raw_t; // DWORD alternative without windows.h
81#else
82 typedef int raw_t;
83#endif
84
85 enum error {
86 none,
87
90
93
96
98 other
99 };
100
101 explicit rwresult(error e, raw_t raw)
102 : error_(e)
103 , raw_(raw)
104 , value_(-1)
105 {}
106
107 explicit rwresult(size_t value)
108 : value_(value)
109 {}
110
111 explicit operator bool() const { return error_ == 0; }
112
113 error error_{};
114
116 raw_t raw_{};
117
119 size_t value_{};
120};
121}
122
123#endif
Small class to return filesystem errors.
Definition fsresult.hpp:26
error
Definition fsresult.hpp:28
@ noperm
Permission denied.
Definition fsresult.hpp:36
@ nofile
Requested file does not exist or is not a file.
Definition fsresult.hpp:39
@ resource_limit
Dynamic resource utilization, like too many open files.
Definition fsresult.hpp:48
@ invalid
Invalid arguments, syntax error.
Definition fsresult.hpp:33
@ nospace
Out of disk space (physical, or space quota)
Definition fsresult.hpp:45
@ nodir
Requested dir does not exist or is not a dir.
Definition fsresult.hpp:42
Holds the result of read/write operations.
Definition fsresult.hpp:77
error
Definition fsresult.hpp:85
@ wouldblock
The operation would have blocked, but the file descriptor is marked non-blocking.
Definition fsresult.hpp:95
@ invalid
Invalid arguments, syntax error.
Definition fsresult.hpp:89
@ nospace
Out of disk space.
Definition fsresult.hpp:92
The namespace used by libfilezilla.
Definition apply.hpp:17
@ ok
Success, proceed.
@ error
Operationf failed.
bool dispatch(event_base const &ev, F &&f)
Dispatch for simple_event<> based events to simple functors.
Definition event_handler.hpp:199