summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>2020-07-25 02:17:48 +0300
committerLaurent Pinchart <laurent.pinchart@ideasonboard.com>2021-08-03 10:55:26 +0300
commit49862904f6cc707d300fab079ffe8173bf24d5d4 (patch)
treedae3f1d10c0eb7370ff7d948c356c5c012d11484
parentf7c6b1228bb0073ebdcab04599e96de0ace31064 (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.h5
-rw-r--r--src/libcamera/base/file.cpp7
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;