From b304bc013ef8022131ef0a146f20c6bad7ac45d5 Mon Sep 17 00:00:00 2001 From: Kieran Bingham Date: Wed, 16 Jun 2021 10:34:07 +0100 Subject: libcamera/base: Move File to base library The File abstraction is a base helper and not part of the libcamera API. Move it to to allow usage by users of the base library. Reviewed-by: Hirokazu Honda Reviewed-by: Paul Elder Reviewed-by: Laurent Pinchart Signed-off-by: Kieran Bingham --- include/libcamera/internal/file.h | 78 ---------------------------------- include/libcamera/internal/meson.build | 1 - 2 files changed, 79 deletions(-) delete mode 100644 include/libcamera/internal/file.h (limited to 'include/libcamera/internal') diff --git a/include/libcamera/internal/file.h b/include/libcamera/internal/file.h deleted file mode 100644 index 44621ceb..00000000 --- a/include/libcamera/internal/file.h +++ /dev/null @@ -1,78 +0,0 @@ -/* SPDX-License-Identifier: LGPL-2.1-or-later */ -/* - * Copyright (C) 2020, Google Inc. - * - * file.h - File I/O operations - */ -#ifndef __LIBCAMERA_INTERNAL_FILE_H__ -#define __LIBCAMERA_INTERNAL_FILE_H__ - -#include -#include -#include - -#include - -#include - -namespace libcamera { - -class File -{ -public: - enum MapFlag { - MapNoOption = 0, - MapPrivate = (1 << 0), - }; - - enum OpenMode { - NotOpen = 0, - ReadOnly = (1 << 0), - WriteOnly = (1 << 1), - ReadWrite = ReadOnly | WriteOnly, - }; - - File(const std::string &name); - File(); - ~File(); - - const std::string &fileName() const { return name_; } - void setFileName(const std::string &name); - bool exists() const; - - bool open(OpenMode mode); - bool isOpen() const { return fd_ != -1; } - OpenMode openMode() const { return mode_; } - void close(); - - int error() const { return error_; } - ssize_t size() const; - - off_t pos() const; - off_t seek(off_t pos); - - ssize_t read(const Span &data); - ssize_t write(const Span &data); - - Span map(off_t offset = 0, ssize_t size = -1, - MapFlag flags = MapNoOption); - bool unmap(uint8_t *addr); - - static bool exists(const std::string &name); - -private: - LIBCAMERA_DISABLE_COPY(File) - - void unmapAll(); - - std::string name_; - int fd_; - OpenMode mode_; - - int error_; - std::map maps_; -}; - -} /* namespace libcamera */ - -#endif /* __LIBCAMERA_INTERNAL_FILE_H__ */ diff --git a/include/libcamera/internal/meson.build b/include/libcamera/internal/meson.build index cf664fc9..60e9775b 100644 --- a/include/libcamera/internal/meson.build +++ b/include/libcamera/internal/meson.build @@ -23,7 +23,6 @@ libcamera_internal_headers = files([ 'device_enumerator_sysfs.h', 'device_enumerator_udev.h', 'event_notifier.h', - 'file.h', 'formats.h', 'ipa_manager.h', 'ipa_module.h', -- cgit v1.2.1