diff options
-rw-r--r-- | include/libcamera/base/file.h | 4 | ||||
-rw-r--r-- | src/libcamera/base/file.cpp | 9 |
2 files changed, 10 insertions, 3 deletions
diff --git a/include/libcamera/base/file.h b/include/libcamera/base/file.h index 452a658b..eebb2402 100644 --- a/include/libcamera/base/file.h +++ b/include/libcamera/base/file.h @@ -30,13 +30,15 @@ public: using MapFlags = Flags<MapFlag>; - enum OpenMode { + enum OpenModeFlag { NotOpen = 0, ReadOnly = (1 << 0), WriteOnly = (1 << 1), ReadWrite = ReadOnly | WriteOnly, }; + using OpenMode = Flags<OpenModeFlag>; + File(const std::string &name); File(); ~File(); diff --git a/src/libcamera/base/file.cpp b/src/libcamera/base/file.cpp index 944918f2..1c5879b3 100644 --- a/src/libcamera/base/file.cpp +++ b/src/libcamera/base/file.cpp @@ -58,7 +58,7 @@ LOG_DEFINE_CATEGORY(File) */ /** - * \enum File::OpenMode + * \enum File::OpenModeFlag * \brief Mode in which a file is opened * \var File::NotOpen * \brief The file is not open @@ -71,6 +71,11 @@ LOG_DEFINE_CATEGORY(File) */ /** + * \typedef File::OpenMode + * \brief A bitwise combination of File::OpenModeFlag values + */ + +/** * \brief Construct a File to represent the file \a name * \param[in] name The file name * @@ -168,7 +173,7 @@ bool File::open(File::OpenMode mode) return false; } - int flags = (mode & ReadWrite) - 1; + int flags = static_cast<OpenMode::Type>(mode & ReadWrite) - 1; if (mode & WriteOnly) flags |= O_CREAT; |