From 6a8582dc20eedeba90431fa1ab1ba2ee432f5bbc Mon Sep 17 00:00:00 2001 From: Laurent Pinchart Date: Mon, 3 Aug 2020 02:10:28 +0300 Subject: libcamera: file: Turn MapFlag and OpenModeFlag into enum class Add type safety by turning the MapFlag and OpenModeFlag enum into enum class. Signed-off-by: Laurent Pinchart Reviewed-by: Jacopo Mondi --- src/ipa/vimc/vimc.cpp | 2 +- src/libcamera/base/file.cpp | 34 +++++++++++++++++----------------- src/libcamera/ipa_manager.cpp | 2 +- src/libcamera/ipa_module.cpp | 6 +++--- 4 files changed, 22 insertions(+), 22 deletions(-) (limited to 'src') diff --git a/src/ipa/vimc/vimc.cpp b/src/ipa/vimc/vimc.cpp index 2f575853..0c0ee006 100644 --- a/src/ipa/vimc/vimc.cpp +++ b/src/ipa/vimc/vimc.cpp @@ -62,7 +62,7 @@ int IPAVimc::init(const IPASettings &settings) << settings.configurationFile; File conf(settings.configurationFile); - if (!conf.open(File::ReadOnly)) { + if (!conf.open(File::OpenModeFlag::ReadOnly)) { LOG(IPAVimc, Error) << "Failed to open configuration file"; return -EINVAL; } diff --git a/src/libcamera/base/file.cpp b/src/libcamera/base/file.cpp index 1c5879b3..ae4be1f9 100644 --- a/src/libcamera/base/file.cpp +++ b/src/libcamera/base/file.cpp @@ -45,9 +45,9 @@ LOG_DEFINE_CATEGORY(File) /** * \enum File::MapFlag * \brief Flags for the File::map() function - * \var File::MapNoOption + * \var File::MapFlag::NoOption * \brief No option (used as default value) - * \var File::MapPrivate + * \var File::MapFlag::Private * \brief The memory region is mapped as private, changes are not reflected in * the file constents */ @@ -60,13 +60,13 @@ LOG_DEFINE_CATEGORY(File) /** * \enum File::OpenModeFlag * \brief Mode in which a file is opened - * \var File::NotOpen + * \var File::OpenModeFlag::NotOpen * \brief The file is not open - * \var File::ReadOnly + * \var File::OpenModeFlag::ReadOnly * \brief The file is open for reading - * \var File::WriteOnly + * \var File::OpenModeFlag::WriteOnly * \brief The file is open for writing - * \var File::ReadWrite + * \var File::OpenModeFlag::ReadWrite * \brief The file is open for reading and writing */ @@ -83,7 +83,7 @@ LOG_DEFINE_CATEGORY(File) * before performing I/O operations. */ File::File(const std::string &name) - : name_(name), fd_(-1), mode_(NotOpen), error_(0) + : name_(name), fd_(-1), mode_(OpenModeFlag::NotOpen), error_(0) { } @@ -94,7 +94,7 @@ File::File(const std::string &name) * setFileName(). */ File::File() - : fd_(-1), mode_(NotOpen), error_(0) + : fd_(-1), mode_(OpenModeFlag::NotOpen), error_(0) { } @@ -173,8 +173,8 @@ bool File::open(File::OpenMode mode) return false; } - int flags = static_cast(mode & ReadWrite) - 1; - if (mode & WriteOnly) + int flags = static_cast(mode & OpenModeFlag::ReadWrite) - 1; + if (mode & OpenModeFlag::WriteOnly) flags |= O_CREAT; fd_ = ::open(name_.c_str(), flags, 0666); @@ -214,7 +214,7 @@ void File::close() ::close(fd_); fd_ = -1; - mode_ = NotOpen; + mode_ = OpenModeFlag::NotOpen; } /** @@ -374,8 +374,8 @@ ssize_t File::write(const Span &data) * offset until the end of the file. * * The mapping memory protection is controlled by the file open mode, unless \a - * flags contains MapPrivate in which case the region is mapped in read/write - * mode. + * flags contains MapFlag::Private in which case the region is mapped in + * read/write mode. * * The error() status is updated. * @@ -398,14 +398,14 @@ Span File::map(off_t offset, ssize_t size, File::MapFlags flags) size -= offset; } - int mmapFlags = flags & MapPrivate ? MAP_PRIVATE : MAP_SHARED; + int mmapFlags = flags & MapFlag::Private ? MAP_PRIVATE : MAP_SHARED; int prot = 0; - if (mode_ & ReadOnly) + if (mode_ & OpenModeFlag::ReadOnly) prot |= PROT_READ; - if (mode_ & WriteOnly) + if (mode_ & OpenModeFlag::WriteOnly) prot |= PROT_WRITE; - if (flags & MapPrivate) + if (flags & MapFlag::Private) prot |= PROT_WRITE; void *map = mmap(NULL, size, prot, mmapFlags, fd_, offset); diff --git a/src/libcamera/ipa_manager.cpp b/src/libcamera/ipa_manager.cpp index 55840896..771150ba 100644 --- a/src/libcamera/ipa_manager.cpp +++ b/src/libcamera/ipa_manager.cpp @@ -285,7 +285,7 @@ bool IPAManager::isSignatureValid([[maybe_unused]] IPAModule *ipa) const } File file{ ipa->path() }; - if (!file.open(File::ReadOnly)) + if (!file.open(File::OpenModeFlag::ReadOnly)) return false; Span data = file.map(); diff --git a/src/libcamera/ipa_module.cpp b/src/libcamera/ipa_module.cpp index adfb8d40..7c52ad8d 100644 --- a/src/libcamera/ipa_module.cpp +++ b/src/libcamera/ipa_module.cpp @@ -275,7 +275,7 @@ IPAModule::~IPAModule() int IPAModule::loadIPAModuleInfo() { File file{ libPath_ }; - if (!file.open(File::ReadOnly)) { + if (!file.open(File::OpenModeFlag::ReadOnly)) { LOG(IPAModule, Error) << "Failed to open IPA library: " << strerror(-file.error()); return file.error(); @@ -317,13 +317,13 @@ int IPAModule::loadIPAModuleInfo() /* Load the signature. Failures are not fatal. */ File sign{ libPath_ + ".sign" }; - if (!sign.open(File::ReadOnly)) { + if (!sign.open(File::OpenModeFlag::ReadOnly)) { LOG(IPAModule, Debug) << "IPA module " << libPath_ << " is not signed"; return 0; } - data = sign.map(0, -1, File::MapPrivate); + data = sign.map(0, -1, File::MapFlag::Private); signature_.resize(data.size()); memcpy(signature_.data(), data.data(), data.size()); -- cgit v1.2.1