diff options
author | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2020-07-25 02:17:48 +0300 |
---|---|---|
committer | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2021-08-03 10:55:26 +0300 |
commit | 49862904f6cc707d300fab079ffe8173bf24d5d4 (patch) | |
tree | dae3f1d10c0eb7370ff7d948c356c5c012d11484 | |
parent | f7c6b1228bb0073ebdcab04599e96de0ace31064 (diff) |
libcamera: file: Use Flags<> class for map flags
Use the newly introduced Flags<> class to store a bitfield of
File::MapFlag in a type-safe way.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>
Reviewed-by: Jacopo Mondi <jacopo@jmondi.org>
-rw-r--r-- | include/libcamera/base/file.h | 5 | ||||
-rw-r--r-- | src/libcamera/base/file.cpp | 7 |
2 files changed, 10 insertions, 2 deletions
diff --git a/include/libcamera/base/file.h b/include/libcamera/base/file.h index 7dd1559d..452a658b 100644 --- a/include/libcamera/base/file.h +++ b/include/libcamera/base/file.h @@ -15,6 +15,7 @@ #include <libcamera/base/private.h> #include <libcamera/base/class.h> +#include <libcamera/base/flags.h> #include <libcamera/base/span.h> namespace libcamera { @@ -27,6 +28,8 @@ public: MapPrivate = (1 << 0), }; + using MapFlags = Flags<MapFlag>; + enum OpenMode { NotOpen = 0, ReadOnly = (1 << 0), @@ -57,7 +60,7 @@ public: ssize_t write(const Span<const uint8_t> &data); Span<uint8_t> map(off_t offset = 0, ssize_t size = -1, - MapFlag flags = MapNoOption); + MapFlags flags = MapNoOption); bool unmap(uint8_t *addr); static bool exists(const std::string &name); diff --git a/src/libcamera/base/file.cpp b/src/libcamera/base/file.cpp index 073666fa..944918f2 100644 --- a/src/libcamera/base/file.cpp +++ b/src/libcamera/base/file.cpp @@ -53,6 +53,11 @@ LOG_DEFINE_CATEGORY(File) */ /** + * \typedef File::MapFlags + * \brief A bitwise combination of File::MapFlag values + */ + +/** * \enum File::OpenMode * \brief Mode in which a file is opened * \var File::NotOpen @@ -371,7 +376,7 @@ ssize_t File::write(const Span<const uint8_t> &data) * * \return The mapped memory on success, or an empty span otherwise */ -Span<uint8_t> File::map(off_t offset, ssize_t size, enum File::MapFlag flags) +Span<uint8_t> File::map(off_t offset, ssize_t size, File::MapFlags flags) { if (!isOpen()) { error_ = -EBADF; |