mirror of
https://github.com/eried/portapack-mayhem.git
synced 2025-01-13 00:09:43 -05:00
Expose filesystem errors on Writer.
This commit is contained in:
parent
8655b6d915
commit
87505f833b
@ -26,6 +26,9 @@
|
|||||||
|
|
||||||
#include "event_m0.hpp"
|
#include "event_m0.hpp"
|
||||||
|
|
||||||
|
#include "file.hpp"
|
||||||
|
#include "optional.hpp"
|
||||||
|
|
||||||
#include <cstdint>
|
#include <cstdint>
|
||||||
#include <cstddef>
|
#include <cstddef>
|
||||||
#include <utility>
|
#include <utility>
|
||||||
@ -33,6 +36,7 @@
|
|||||||
class Writer {
|
class Writer {
|
||||||
public:
|
public:
|
||||||
virtual bool write(const void* const buffer, const size_t bytes) = 0;
|
virtual bool write(const void* const buffer, const size_t bytes) = 0;
|
||||||
|
virtual Optional<std::filesystem::filesystem_error> error() const = 0;
|
||||||
virtual ~Writer() = default;
|
virtual ~Writer() = default;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -44,6 +44,14 @@ public:
|
|||||||
return file.write(buffer, bytes);
|
return file.write(buffer, bytes);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Optional<std::filesystem::filesystem_error> error() const override {
|
||||||
|
if( file.bad() ) {
|
||||||
|
return { file.error() };
|
||||||
|
} else {
|
||||||
|
return { };
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
File file;
|
File file;
|
||||||
};
|
};
|
||||||
@ -71,6 +79,14 @@ public:
|
|||||||
return success;
|
return success;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Optional<std::filesystem::filesystem_error> error() const override {
|
||||||
|
if( file.bad() ) {
|
||||||
|
return { file.error() };
|
||||||
|
} else {
|
||||||
|
return { };
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
struct fmt_pcm_t {
|
struct fmt_pcm_t {
|
||||||
constexpr fmt_pcm_t(
|
constexpr fmt_pcm_t(
|
||||||
|
Loading…
Reference in New Issue
Block a user