[{"id":17588,"web_url":"https://patchwork.libcamera.org/comment/17588/","msgid":"<YMrE8/J0ZF/DpLWn@pendragon.ideasonboard.com>","date":"2021-06-17T03:43:47","subject":"Re: [libcamera-devel] [PATCH 5/6] libcamera-platform: Move File to\n\tplatform library","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"Hi Kieran,\n\nThank you for the patch.\n\nOn Wed, Jun 16, 2021 at 04:11:51PM +0100, Kieran Bingham wrote:\n> The File abstraction is a platform helper and not part of the libcamera\n> API.  Move it to the platform library to allow usage when reading and\n> writing to files.\n> \n> Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n> ---\n>  include/libcamera/internal/meson.build          | 1 -\n>  include/libcamera/{internal => platform}/file.h | 6 +++---\n>  include/libcamera/platform/meson.build          | 1 +\n>  src/ipa/vimc/vimc.cpp                           | 3 +--\n>  src/{libcamera => libcamera-platform}/file.cpp  | 4 ++--\n>  src/libcamera-platform/meson.build              | 1 +\n>  src/libcamera/ipa_manager.cpp                   | 2 +-\n>  src/libcamera/ipa_module.cpp                    | 2 +-\n>  src/libcamera/meson.build                       | 1 -\n>  src/libcamera/sysfs.cpp                         | 3 +--\n>  test/file.cpp                                   | 2 +-\n>  test/hotplug-cameras.cpp                        | 3 +--\n>  12 files changed, 13 insertions(+), 16 deletions(-)\n>  rename include/libcamera/{internal => platform}/file.h (91%)\n>  rename src/{libcamera => libcamera-platform}/file.cpp (99%)\n> \n> diff --git a/include/libcamera/internal/meson.build b/include/libcamera/internal/meson.build\n> index 1ff16f54a68b..1187cc1f63e4 100644\n> --- a/include/libcamera/internal/meson.build\n> +++ b/include/libcamera/internal/meson.build\n> @@ -23,7 +23,6 @@ libcamera_internal_headers = files([\n>      'device_enumerator_sysfs.h',\n>      'device_enumerator_udev.h',\n>      'event_notifier.h',\n> -    'file.h',\n\nOK, not you have to move span.h too :-)\n\nWith that,\n\nReviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n\n>      'formats.h',\n>      'ipa_manager.h',\n>      'ipa_module.h',\n> diff --git a/include/libcamera/internal/file.h b/include/libcamera/platform/file.h\n> similarity index 91%\n> rename from include/libcamera/internal/file.h\n> rename to include/libcamera/platform/file.h\n> index f0b313a5faae..68108ff6039d 100644\n> --- a/include/libcamera/internal/file.h\n> +++ b/include/libcamera/platform/file.h\n> @@ -4,8 +4,8 @@\n>   *\n>   * file.h - File I/O operations\n>   */\n> -#ifndef __LIBCAMERA_INTERNAL_FILE_H__\n> -#define __LIBCAMERA_INTERNAL_FILE_H__\n> +#ifndef __LIBCAMERA_PLATFORM_FILE_H__\n> +#define __LIBCAMERA_PLATFORM_FILE_H__\n>  \n>  #include <map>\n>  #include <string>\n> @@ -74,4 +74,4 @@ private:\n>  \n>  } /* namespace libcamera */\n>  \n> -#endif /* __LIBCAMERA_INTERNAL_FILE_H__ */\n> +#endif /* __LIBCAMERA_PLATFORM_FILE_H__ */\n> diff --git a/include/libcamera/platform/meson.build b/include/libcamera/platform/meson.build\n> index a0f89523f2b2..a5da16554f6e 100644\n> --- a/include/libcamera/platform/meson.build\n> +++ b/include/libcamera/platform/meson.build\n> @@ -6,6 +6,7 @@ libcamera_platform_headers = files([\n>      'bound_method.h',\n>      'event_dispatcher.h',\n>      'event_dispatcher_poll.h',\n> +    'file.h',\n>      'log.h',\n>      'message.h',\n>      'object.h',\n> diff --git a/src/ipa/vimc/vimc.cpp b/src/ipa/vimc/vimc.cpp\n> index 64ed51097065..1c7632bdb53b 100644\n> --- a/src/ipa/vimc/vimc.cpp\n> +++ b/src/ipa/vimc/vimc.cpp\n> @@ -17,10 +17,9 @@\n>  #include <libcamera/ipa/ipa_interface.h>\n>  #include <libcamera/ipa/ipa_module_info.h>\n>  \n> +#include <libcamera/platform/file.h>\n>  #include <libcamera/platform/log.h>\n>  \n> -#include \"libcamera/internal/file.h\"\n> -\n>  namespace libcamera {\n>  \n>  LOG_DEFINE_CATEGORY(IPAVimc)\n> diff --git a/src/libcamera/file.cpp b/src/libcamera-platform/file.cpp\n> similarity index 99%\n> rename from src/libcamera/file.cpp\n> rename to src/libcamera-platform/file.cpp\n> index c554074c2e51..6ac33659a7ae 100644\n> --- a/src/libcamera/file.cpp\n> +++ b/src/libcamera-platform/file.cpp\n> @@ -5,7 +5,7 @@\n>   * file.cpp - File I/O operations\n>   */\n>  \n> -#include \"libcamera/internal/file.h\"\n> +#include <libcamera/platform/file.h>\n>  \n>  #include <errno.h>\n>  #include <fcntl.h>\n> @@ -17,7 +17,7 @@\n>  #include <libcamera/platform/log.h>\n>  \n>  /**\n> - * \\file file.h\n> + * \\file platform/file.h\n>   * \\brief File I/O operations\n>   */\n>  \n> diff --git a/src/libcamera-platform/meson.build b/src/libcamera-platform/meson.build\n> index afdc4465da28..78d7d894a63f 100644\n> --- a/src/libcamera-platform/meson.build\n> +++ b/src/libcamera-platform/meson.build\n> @@ -4,6 +4,7 @@ libcamera_platform_sources = files([\n>      'bound_method.cpp',\n>      'event_dispatcher.cpp',\n>      'event_dispatcher_poll.cpp',\n> +    'file.cpp',\n>      'log.cpp',\n>      'message.cpp',\n>      'object.cpp',\n> diff --git a/src/libcamera/ipa_manager.cpp b/src/libcamera/ipa_manager.cpp\n> index 122811e2bcae..f3fcc20806fa 100644\n> --- a/src/libcamera/ipa_manager.cpp\n> +++ b/src/libcamera/ipa_manager.cpp\n> @@ -12,10 +12,10 @@\n>  #include <string.h>\n>  #include <sys/types.h>\n>  \n> +#include <libcamera/platform/file.h>\n>  #include <libcamera/platform/log.h>\n>  #include <libcamera/platform/utils.h>\n>  \n> -#include \"libcamera/internal/file.h\"\n>  #include \"libcamera/internal/ipa_module.h\"\n>  #include \"libcamera/internal/ipa_proxy.h\"\n>  #include \"libcamera/internal/pipeline_handler.h\"\n> diff --git a/src/libcamera/ipa_module.cpp b/src/libcamera/ipa_module.cpp\n> index a615ca91257e..093046c7ab17 100644\n> --- a/src/libcamera/ipa_module.cpp\n> +++ b/src/libcamera/ipa_module.cpp\n> @@ -23,10 +23,10 @@\n>  \n>  #include <libcamera/span.h>\n>  \n> +#include <libcamera/platform/file.h>\n>  #include <libcamera/platform/log.h>\n>  #include <libcamera/platform/utils.h>\n>  \n> -#include \"libcamera/internal/file.h\"\n>  #include \"libcamera/internal/pipeline_handler.h\"\n>  \n>  /**\n> diff --git a/src/libcamera/meson.build b/src/libcamera/meson.build\n> index f83ca4b1f6aa..9e2d1fd634aa 100644\n> --- a/src/libcamera/meson.build\n> +++ b/src/libcamera/meson.build\n> @@ -17,7 +17,6 @@ libcamera_sources = files([\n>      'device_enumerator.cpp',\n>      'device_enumerator_sysfs.cpp',\n>      'event_notifier.cpp',\n> -    'file.cpp',\n>      'file_descriptor.cpp',\n>      'formats.cpp',\n>      'framebuffer_allocator.cpp',\n> diff --git a/src/libcamera/sysfs.cpp b/src/libcamera/sysfs.cpp\n> index dea00b072519..939abefdf775 100644\n> --- a/src/libcamera/sysfs.cpp\n> +++ b/src/libcamera/sysfs.cpp\n> @@ -12,10 +12,9 @@\n>  #include <sys/stat.h>\n>  #include <sys/sysmacros.h>\n>  \n> +#include <libcamera/platform/file.h>\n>  #include <libcamera/platform/log.h>\n>  \n> -#include \"libcamera/internal/file.h\"\n> -\n>  /**\n>   * \\file sysfs.h\n>   * \\brief Miscellaneous utility functions to access sysfs\n> diff --git a/test/file.cpp b/test/file.cpp\n> index b80667ae5b2f..cdbfd9fa6d0b 100644\n> --- a/test/file.cpp\n> +++ b/test/file.cpp\n> @@ -13,7 +13,7 @@\n>  #include <sys/types.h>\n>  #include <unistd.h>\n>  \n> -#include \"libcamera/internal/file.h\"\n> +#include <libcamera/platform/file.h>\n>  \n>  #include \"test.h\"\n>  \n> diff --git a/test/hotplug-cameras.cpp b/test/hotplug-cameras.cpp\n> index 514718214317..96aad8351cf9 100644\n> --- a/test/hotplug-cameras.cpp\n> +++ b/test/hotplug-cameras.cpp\n> @@ -15,11 +15,10 @@\n>  #include <libcamera/camera_manager.h>\n>  \n>  #include <libcamera/platform/event_dispatcher.h>\n> +#include <libcamera/platform/file.h>\n>  #include <libcamera/platform/thread.h>\n>  #include <libcamera/platform/timer.h>\n>  \n> -#include \"libcamera/internal/file.h\"\n> -\n>  #include \"test.h\"\n>  \n>  using namespace libcamera;","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 96762C3218\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu, 17 Jun 2021 03:44:11 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 1770A6893F;\n\tThu, 17 Jun 2021 05:44:11 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 1526460296\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 17 Jun 2021 05:44:09 +0200 (CEST)","from pendragon.ideasonboard.com (62-78-145-57.bb.dnainternet.fi\n\t[62.78.145.57])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 822DCE53;\n\tThu, 17 Jun 2021 05:44:08 +0200 (CEST)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"M92gyEvY\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1623901448;\n\tbh=nWMeF7ERpt6c9pt3dazoyPcw/7/ZhYgAtGpOrxp+oMs=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=M92gyEvYOlTIse5D/t4P/c9GtpZCt3DD1KqYKPH862ge/Ht9yCRAJdlppwUlLjYZA\n\tsptVjCIPZid7BiZoBBUl5ofUjEy+HnuS5TYJ2YZnMNPASc9D/lpEbTmbNodI07MxDG\n\th9mdH72o/WF/gLhybYnUbGeD+58m+2sJO+fcnq+c=","Date":"Thu, 17 Jun 2021 06:43:47 +0300","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Message-ID":"<YMrE8/J0ZF/DpLWn@pendragon.ideasonboard.com>","References":"<20210616151152.3856595-1-kieran.bingham@ideasonboard.com>\n\t<20210616151152.3856595-6-kieran.bingham@ideasonboard.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<20210616151152.3856595-6-kieran.bingham@ideasonboard.com>","Subject":"Re: [libcamera-devel] [PATCH 5/6] libcamera-platform: Move File to\n\tplatform library","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","Cc":"libcamera devel <libcamera-devel@lists.libcamera.org>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":17601,"web_url":"https://patchwork.libcamera.org/comment/17601/","msgid":"<6be772d0-48fe-6e01-3831-f8bbfa0ddc82@ideasonboard.com>","date":"2021-06-17T05:54:42","subject":"Re: [libcamera-devel] [PATCH 5/6] libcamera-platform: Move File to\n\tplatform library","submitter":{"id":86,"url":"https://patchwork.libcamera.org/api/people/86/","name":"Umang Jain","email":"umang.jain@ideasonboard.com"},"content":"Hi Kieran,\n\nOn 6/16/21 8:41 PM, Kieran Bingham wrote:\n> The File abstraction is a platform helper and not part of the libcamera\n> API.  Move it to the platform library to allow usage when reading and\n> writing to files.\n>\n> Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\nReviewed-by: Umang Jain <umang.jain@ideasonboard.com>\n> ---\n>   include/libcamera/internal/meson.build          | 1 -\n>   include/libcamera/{internal => platform}/file.h | 6 +++---\n>   include/libcamera/platform/meson.build          | 1 +\n>   src/ipa/vimc/vimc.cpp                           | 3 +--\n>   src/{libcamera => libcamera-platform}/file.cpp  | 4 ++--\n>   src/libcamera-platform/meson.build              | 1 +\n>   src/libcamera/ipa_manager.cpp                   | 2 +-\n>   src/libcamera/ipa_module.cpp                    | 2 +-\n>   src/libcamera/meson.build                       | 1 -\n>   src/libcamera/sysfs.cpp                         | 3 +--\n>   test/file.cpp                                   | 2 +-\n>   test/hotplug-cameras.cpp                        | 3 +--\n>   12 files changed, 13 insertions(+), 16 deletions(-)\n>   rename include/libcamera/{internal => platform}/file.h (91%)\n>   rename src/{libcamera => libcamera-platform}/file.cpp (99%)\n>\n> diff --git a/include/libcamera/internal/meson.build b/include/libcamera/internal/meson.build\n> index 1ff16f54a68b..1187cc1f63e4 100644\n> --- a/include/libcamera/internal/meson.build\n> +++ b/include/libcamera/internal/meson.build\n> @@ -23,7 +23,6 @@ libcamera_internal_headers = files([\n>       'device_enumerator_sysfs.h',\n>       'device_enumerator_udev.h',\n>       'event_notifier.h',\n> -    'file.h',\n>       'formats.h',\n>       'ipa_manager.h',\n>       'ipa_module.h',\n> diff --git a/include/libcamera/internal/file.h b/include/libcamera/platform/file.h\n> similarity index 91%\n> rename from include/libcamera/internal/file.h\n> rename to include/libcamera/platform/file.h\n> index f0b313a5faae..68108ff6039d 100644\n> --- a/include/libcamera/internal/file.h\n> +++ b/include/libcamera/platform/file.h\n> @@ -4,8 +4,8 @@\n>    *\n>    * file.h - File I/O operations\n>    */\n> -#ifndef __LIBCAMERA_INTERNAL_FILE_H__\n> -#define __LIBCAMERA_INTERNAL_FILE_H__\n> +#ifndef __LIBCAMERA_PLATFORM_FILE_H__\n> +#define __LIBCAMERA_PLATFORM_FILE_H__\n>   \n>   #include <map>\n>   #include <string>\n> @@ -74,4 +74,4 @@ private:\n>   \n>   } /* namespace libcamera */\n>   \n> -#endif /* __LIBCAMERA_INTERNAL_FILE_H__ */\n> +#endif /* __LIBCAMERA_PLATFORM_FILE_H__ */\n> diff --git a/include/libcamera/platform/meson.build b/include/libcamera/platform/meson.build\n> index a0f89523f2b2..a5da16554f6e 100644\n> --- a/include/libcamera/platform/meson.build\n> +++ b/include/libcamera/platform/meson.build\n> @@ -6,6 +6,7 @@ libcamera_platform_headers = files([\n>       'bound_method.h',\n>       'event_dispatcher.h',\n>       'event_dispatcher_poll.h',\n> +    'file.h',\n>       'log.h',\n>       'message.h',\n>       'object.h',\n> diff --git a/src/ipa/vimc/vimc.cpp b/src/ipa/vimc/vimc.cpp\n> index 64ed51097065..1c7632bdb53b 100644\n> --- a/src/ipa/vimc/vimc.cpp\n> +++ b/src/ipa/vimc/vimc.cpp\n> @@ -17,10 +17,9 @@\n>   #include <libcamera/ipa/ipa_interface.h>\n>   #include <libcamera/ipa/ipa_module_info.h>\n>   \n> +#include <libcamera/platform/file.h>\n>   #include <libcamera/platform/log.h>\n>   \n> -#include \"libcamera/internal/file.h\"\n> -\n>   namespace libcamera {\n>   \n>   LOG_DEFINE_CATEGORY(IPAVimc)\n> diff --git a/src/libcamera/file.cpp b/src/libcamera-platform/file.cpp\n> similarity index 99%\n> rename from src/libcamera/file.cpp\n> rename to src/libcamera-platform/file.cpp\n> index c554074c2e51..6ac33659a7ae 100644\n> --- a/src/libcamera/file.cpp\n> +++ b/src/libcamera-platform/file.cpp\n> @@ -5,7 +5,7 @@\n>    * file.cpp - File I/O operations\n>    */\n>   \n> -#include \"libcamera/internal/file.h\"\n> +#include <libcamera/platform/file.h>\n>   \n>   #include <errno.h>\n>   #include <fcntl.h>\n> @@ -17,7 +17,7 @@\n>   #include <libcamera/platform/log.h>\n>   \n>   /**\n> - * \\file file.h\n> + * \\file platform/file.h\n>    * \\brief File I/O operations\n>    */\n>   \n> diff --git a/src/libcamera-platform/meson.build b/src/libcamera-platform/meson.build\n> index afdc4465da28..78d7d894a63f 100644\n> --- a/src/libcamera-platform/meson.build\n> +++ b/src/libcamera-platform/meson.build\n> @@ -4,6 +4,7 @@ libcamera_platform_sources = files([\n>       'bound_method.cpp',\n>       'event_dispatcher.cpp',\n>       'event_dispatcher_poll.cpp',\n> +    'file.cpp',\n>       'log.cpp',\n>       'message.cpp',\n>       'object.cpp',\n> diff --git a/src/libcamera/ipa_manager.cpp b/src/libcamera/ipa_manager.cpp\n> index 122811e2bcae..f3fcc20806fa 100644\n> --- a/src/libcamera/ipa_manager.cpp\n> +++ b/src/libcamera/ipa_manager.cpp\n> @@ -12,10 +12,10 @@\n>   #include <string.h>\n>   #include <sys/types.h>\n>   \n> +#include <libcamera/platform/file.h>\n>   #include <libcamera/platform/log.h>\n>   #include <libcamera/platform/utils.h>\n>   \n> -#include \"libcamera/internal/file.h\"\n>   #include \"libcamera/internal/ipa_module.h\"\n>   #include \"libcamera/internal/ipa_proxy.h\"\n>   #include \"libcamera/internal/pipeline_handler.h\"\n> diff --git a/src/libcamera/ipa_module.cpp b/src/libcamera/ipa_module.cpp\n> index a615ca91257e..093046c7ab17 100644\n> --- a/src/libcamera/ipa_module.cpp\n> +++ b/src/libcamera/ipa_module.cpp\n> @@ -23,10 +23,10 @@\n>   \n>   #include <libcamera/span.h>\n>   \n> +#include <libcamera/platform/file.h>\n>   #include <libcamera/platform/log.h>\n>   #include <libcamera/platform/utils.h>\n>   \n> -#include \"libcamera/internal/file.h\"\n>   #include \"libcamera/internal/pipeline_handler.h\"\n>   \n>   /**\n> diff --git a/src/libcamera/meson.build b/src/libcamera/meson.build\n> index f83ca4b1f6aa..9e2d1fd634aa 100644\n> --- a/src/libcamera/meson.build\n> +++ b/src/libcamera/meson.build\n> @@ -17,7 +17,6 @@ libcamera_sources = files([\n>       'device_enumerator.cpp',\n>       'device_enumerator_sysfs.cpp',\n>       'event_notifier.cpp',\n> -    'file.cpp',\n>       'file_descriptor.cpp',\n>       'formats.cpp',\n>       'framebuffer_allocator.cpp',\n> diff --git a/src/libcamera/sysfs.cpp b/src/libcamera/sysfs.cpp\n> index dea00b072519..939abefdf775 100644\n> --- a/src/libcamera/sysfs.cpp\n> +++ b/src/libcamera/sysfs.cpp\n> @@ -12,10 +12,9 @@\n>   #include <sys/stat.h>\n>   #include <sys/sysmacros.h>\n>   \n> +#include <libcamera/platform/file.h>\n>   #include <libcamera/platform/log.h>\n>   \n> -#include \"libcamera/internal/file.h\"\n> -\n>   /**\n>    * \\file sysfs.h\n>    * \\brief Miscellaneous utility functions to access sysfs\n> diff --git a/test/file.cpp b/test/file.cpp\n> index b80667ae5b2f..cdbfd9fa6d0b 100644\n> --- a/test/file.cpp\n> +++ b/test/file.cpp\n> @@ -13,7 +13,7 @@\n>   #include <sys/types.h>\n>   #include <unistd.h>\n>   \n> -#include \"libcamera/internal/file.h\"\n> +#include <libcamera/platform/file.h>\n>   \n>   #include \"test.h\"\n>   \n> diff --git a/test/hotplug-cameras.cpp b/test/hotplug-cameras.cpp\n> index 514718214317..96aad8351cf9 100644\n> --- a/test/hotplug-cameras.cpp\n> +++ b/test/hotplug-cameras.cpp\n> @@ -15,11 +15,10 @@\n>   #include <libcamera/camera_manager.h>\n>   \n>   #include <libcamera/platform/event_dispatcher.h>\n> +#include <libcamera/platform/file.h>\n>   #include <libcamera/platform/thread.h>\n>   #include <libcamera/platform/timer.h>\n>   \n> -#include \"libcamera/internal/file.h\"\n> -\n>   #include \"test.h\"\n>   \n>   using namespace libcamera;","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 98045C3218\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu, 17 Jun 2021 05:54:50 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id F24DF6893F;\n\tThu, 17 Jun 2021 07:54:49 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id AD1FE60296\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 17 Jun 2021 07:54:48 +0200 (CEST)","from [192.168.0.107] (unknown [103.238.109.26])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 9DC4FE53;\n\tThu, 17 Jun 2021 07:54:47 +0200 (CEST)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"AukJJ5oG\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1623909288;\n\tbh=lBEl32PddU6+PaqCuQDMDP4yuWKeRBC689p3ukIQSDA=;\n\th=Subject:To:References:From:Date:In-Reply-To:From;\n\tb=AukJJ5oGxA+PsjYBiYFAz+EizAxs1okGAQlcOFUGVYc6Kt3sDRiAgap/QD6sv7JUQ\n\tcNM/lJ8r9vYKj3qDJXLHrmijJryWsH4jZ7lEo/gD46qoxKwbKXBZisRO+ImevuTtsa\n\tY2d6rLzKTbU6IPpgEJhIxvFVULmrd145fKY3tT+s=","To":"Kieran Bingham <kieran.bingham@ideasonboard.com>,\n\tlibcamera devel <libcamera-devel@lists.libcamera.org>","References":"<20210616151152.3856595-1-kieran.bingham@ideasonboard.com>\n\t<20210616151152.3856595-6-kieran.bingham@ideasonboard.com>","From":"Umang Jain <umang.jain@ideasonboard.com>","Message-ID":"<6be772d0-48fe-6e01-3831-f8bbfa0ddc82@ideasonboard.com>","Date":"Thu, 17 Jun 2021 11:24:42 +0530","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101\n\tThunderbird/78.10.2","MIME-Version":"1.0","In-Reply-To":"<20210616151152.3856595-6-kieran.bingham@ideasonboard.com>","Content-Type":"text/plain; charset=utf-8; format=flowed","Content-Transfer-Encoding":"7bit","Content-Language":"en-US","Subject":"Re: [libcamera-devel] [PATCH 5/6] libcamera-platform: Move File to\n\tplatform library","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":17607,"web_url":"https://patchwork.libcamera.org/comment/17607/","msgid":"<f10f17d5-d4e1-6347-0e62-d8ab1df8b213@ideasonboard.com>","date":"2021-06-17T07:36:01","subject":"Re: [libcamera-devel] [PATCH 5/6] libcamera-platform: Move File to\n\tplatform library","submitter":{"id":4,"url":"https://patchwork.libcamera.org/api/people/4/","name":"Kieran Bingham","email":"kieran.bingham@ideasonboard.com"},"content":"Hi Laurent,\n\nOn 17/06/2021 04:43, Laurent Pinchart wrote:\n> Hi Kieran,\n> \n> Thank you for the patch.\n> \n> On Wed, Jun 16, 2021 at 04:11:51PM +0100, Kieran Bingham wrote:\n>> The File abstraction is a platform helper and not part of the libcamera\n>> API.  Move it to the platform library to allow usage when reading and\n>> writing to files.\n>>\n>> Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n>> ---\n>>  include/libcamera/internal/meson.build          | 1 -\n>>  include/libcamera/{internal => platform}/file.h | 6 +++---\n>>  include/libcamera/platform/meson.build          | 1 +\n>>  src/ipa/vimc/vimc.cpp                           | 3 +--\n>>  src/{libcamera => libcamera-platform}/file.cpp  | 4 ++--\n>>  src/libcamera-platform/meson.build              | 1 +\n>>  src/libcamera/ipa_manager.cpp                   | 2 +-\n>>  src/libcamera/ipa_module.cpp                    | 2 +-\n>>  src/libcamera/meson.build                       | 1 -\n>>  src/libcamera/sysfs.cpp                         | 3 +--\n>>  test/file.cpp                                   | 2 +-\n>>  test/hotplug-cameras.cpp                        | 3 +--\n>>  12 files changed, 13 insertions(+), 16 deletions(-)\n>>  rename include/libcamera/{internal => platform}/file.h (91%)\n>>  rename src/{libcamera => libcamera-platform}/file.cpp (99%)\n>>\n>> diff --git a/include/libcamera/internal/meson.build b/include/libcamera/internal/meson.build\n>> index 1ff16f54a68b..1187cc1f63e4 100644\n>> --- a/include/libcamera/internal/meson.build\n>> +++ b/include/libcamera/internal/meson.build\n>> @@ -23,7 +23,6 @@ libcamera_internal_headers = files([\n>>      'device_enumerator_sysfs.h',\n>>      'device_enumerator_udev.h',\n>>      'event_notifier.h',\n>> -    'file.h',\n> \n> OK, not you have to move span.h too :-)\n> \n\nAyee - both span.h and class.h it seems.\n\n\n\n> With that,\n> \n> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n> \n>>      'formats.h',\n>>      'ipa_manager.h',\n>>      'ipa_module.h',\n>> diff --git a/include/libcamera/internal/file.h b/include/libcamera/platform/file.h\n>> similarity index 91%\n>> rename from include/libcamera/internal/file.h\n>> rename to include/libcamera/platform/file.h\n>> index f0b313a5faae..68108ff6039d 100644\n>> --- a/include/libcamera/internal/file.h\n>> +++ b/include/libcamera/platform/file.h\n>> @@ -4,8 +4,8 @@\n>>   *\n>>   * file.h - File I/O operations\n>>   */\n>> -#ifndef __LIBCAMERA_INTERNAL_FILE_H__\n>> -#define __LIBCAMERA_INTERNAL_FILE_H__\n>> +#ifndef __LIBCAMERA_PLATFORM_FILE_H__\n>> +#define __LIBCAMERA_PLATFORM_FILE_H__\n>>  \n>>  #include <map>\n>>  #include <string>\n>> @@ -74,4 +74,4 @@ private:\n>>  \n>>  } /* namespace libcamera */\n>>  \n>> -#endif /* __LIBCAMERA_INTERNAL_FILE_H__ */\n>> +#endif /* __LIBCAMERA_PLATFORM_FILE_H__ */\n>> diff --git a/include/libcamera/platform/meson.build b/include/libcamera/platform/meson.build\n>> index a0f89523f2b2..a5da16554f6e 100644\n>> --- a/include/libcamera/platform/meson.build\n>> +++ b/include/libcamera/platform/meson.build\n>> @@ -6,6 +6,7 @@ libcamera_platform_headers = files([\n>>      'bound_method.h',\n>>      'event_dispatcher.h',\n>>      'event_dispatcher_poll.h',\n>> +    'file.h',\n>>      'log.h',\n>>      'message.h',\n>>      'object.h',\n>> diff --git a/src/ipa/vimc/vimc.cpp b/src/ipa/vimc/vimc.cpp\n>> index 64ed51097065..1c7632bdb53b 100644\n>> --- a/src/ipa/vimc/vimc.cpp\n>> +++ b/src/ipa/vimc/vimc.cpp\n>> @@ -17,10 +17,9 @@\n>>  #include <libcamera/ipa/ipa_interface.h>\n>>  #include <libcamera/ipa/ipa_module_info.h>\n>>  \n>> +#include <libcamera/platform/file.h>\n>>  #include <libcamera/platform/log.h>\n>>  \n>> -#include \"libcamera/internal/file.h\"\n>> -\n>>  namespace libcamera {\n>>  \n>>  LOG_DEFINE_CATEGORY(IPAVimc)\n>> diff --git a/src/libcamera/file.cpp b/src/libcamera-platform/file.cpp\n>> similarity index 99%\n>> rename from src/libcamera/file.cpp\n>> rename to src/libcamera-platform/file.cpp\n>> index c554074c2e51..6ac33659a7ae 100644\n>> --- a/src/libcamera/file.cpp\n>> +++ b/src/libcamera-platform/file.cpp\n>> @@ -5,7 +5,7 @@\n>>   * file.cpp - File I/O operations\n>>   */\n>>  \n>> -#include \"libcamera/internal/file.h\"\n>> +#include <libcamera/platform/file.h>\n>>  \n>>  #include <errno.h>\n>>  #include <fcntl.h>\n>> @@ -17,7 +17,7 @@\n>>  #include <libcamera/platform/log.h>\n>>  \n>>  /**\n>> - * \\file file.h\n>> + * \\file platform/file.h\n>>   * \\brief File I/O operations\n>>   */\n>>  \n>> diff --git a/src/libcamera-platform/meson.build b/src/libcamera-platform/meson.build\n>> index afdc4465da28..78d7d894a63f 100644\n>> --- a/src/libcamera-platform/meson.build\n>> +++ b/src/libcamera-platform/meson.build\n>> @@ -4,6 +4,7 @@ libcamera_platform_sources = files([\n>>      'bound_method.cpp',\n>>      'event_dispatcher.cpp',\n>>      'event_dispatcher_poll.cpp',\n>> +    'file.cpp',\n>>      'log.cpp',\n>>      'message.cpp',\n>>      'object.cpp',\n>> diff --git a/src/libcamera/ipa_manager.cpp b/src/libcamera/ipa_manager.cpp\n>> index 122811e2bcae..f3fcc20806fa 100644\n>> --- a/src/libcamera/ipa_manager.cpp\n>> +++ b/src/libcamera/ipa_manager.cpp\n>> @@ -12,10 +12,10 @@\n>>  #include <string.h>\n>>  #include <sys/types.h>\n>>  \n>> +#include <libcamera/platform/file.h>\n>>  #include <libcamera/platform/log.h>\n>>  #include <libcamera/platform/utils.h>\n>>  \n>> -#include \"libcamera/internal/file.h\"\n>>  #include \"libcamera/internal/ipa_module.h\"\n>>  #include \"libcamera/internal/ipa_proxy.h\"\n>>  #include \"libcamera/internal/pipeline_handler.h\"\n>> diff --git a/src/libcamera/ipa_module.cpp b/src/libcamera/ipa_module.cpp\n>> index a615ca91257e..093046c7ab17 100644\n>> --- a/src/libcamera/ipa_module.cpp\n>> +++ b/src/libcamera/ipa_module.cpp\n>> @@ -23,10 +23,10 @@\n>>  \n>>  #include <libcamera/span.h>\n>>  \n>> +#include <libcamera/platform/file.h>\n>>  #include <libcamera/platform/log.h>\n>>  #include <libcamera/platform/utils.h>\n>>  \n>> -#include \"libcamera/internal/file.h\"\n>>  #include \"libcamera/internal/pipeline_handler.h\"\n>>  \n>>  /**\n>> diff --git a/src/libcamera/meson.build b/src/libcamera/meson.build\n>> index f83ca4b1f6aa..9e2d1fd634aa 100644\n>> --- a/src/libcamera/meson.build\n>> +++ b/src/libcamera/meson.build\n>> @@ -17,7 +17,6 @@ libcamera_sources = files([\n>>      'device_enumerator.cpp',\n>>      'device_enumerator_sysfs.cpp',\n>>      'event_notifier.cpp',\n>> -    'file.cpp',\n>>      'file_descriptor.cpp',\n>>      'formats.cpp',\n>>      'framebuffer_allocator.cpp',\n>> diff --git a/src/libcamera/sysfs.cpp b/src/libcamera/sysfs.cpp\n>> index dea00b072519..939abefdf775 100644\n>> --- a/src/libcamera/sysfs.cpp\n>> +++ b/src/libcamera/sysfs.cpp\n>> @@ -12,10 +12,9 @@\n>>  #include <sys/stat.h>\n>>  #include <sys/sysmacros.h>\n>>  \n>> +#include <libcamera/platform/file.h>\n>>  #include <libcamera/platform/log.h>\n>>  \n>> -#include \"libcamera/internal/file.h\"\n>> -\n>>  /**\n>>   * \\file sysfs.h\n>>   * \\brief Miscellaneous utility functions to access sysfs\n>> diff --git a/test/file.cpp b/test/file.cpp\n>> index b80667ae5b2f..cdbfd9fa6d0b 100644\n>> --- a/test/file.cpp\n>> +++ b/test/file.cpp\n>> @@ -13,7 +13,7 @@\n>>  #include <sys/types.h>\n>>  #include <unistd.h>\n>>  \n>> -#include \"libcamera/internal/file.h\"\n>> +#include <libcamera/platform/file.h>\n>>  \n>>  #include \"test.h\"\n>>  \n>> diff --git a/test/hotplug-cameras.cpp b/test/hotplug-cameras.cpp\n>> index 514718214317..96aad8351cf9 100644\n>> --- a/test/hotplug-cameras.cpp\n>> +++ b/test/hotplug-cameras.cpp\n>> @@ -15,11 +15,10 @@\n>>  #include <libcamera/camera_manager.h>\n>>  \n>>  #include <libcamera/platform/event_dispatcher.h>\n>> +#include <libcamera/platform/file.h>\n>>  #include <libcamera/platform/thread.h>\n>>  #include <libcamera/platform/timer.h>\n>>  \n>> -#include \"libcamera/internal/file.h\"\n>> -\n>>  #include \"test.h\"\n>>  \n>>  using namespace libcamera;\n>","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id B796CC3218\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu, 17 Jun 2021 07:36:07 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 26E4268944;\n\tThu, 17 Jun 2021 09:36:07 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 5FFD560297\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 17 Jun 2021 09:36:05 +0200 (CEST)","from [192.168.0.20]\n\t(cpc89244-aztw30-2-0-cust3082.18-1.cable.virginm.net [86.31.172.11])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id C9471E53;\n\tThu, 17 Jun 2021 09:36:04 +0200 (CEST)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"OCjQ9map\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1623915365;\n\tbh=h6wfAiOg0f9Eb1pQKNV/QqL3CBn2JQHQ8Vk56J8p3+w=;\n\th=Reply-To:Subject:To:Cc:References:From:Date:In-Reply-To:From;\n\tb=OCjQ9map5cZi5890mUP0IugKXiVTos7Yjxiz5+4OEs3VD6PqTAgQeN6J4uyzmv4jt\n\t7z7ov9YbVM/d/lDvB7GiF6Pck9PXLp0+YOg4NcwnCIuUOuyGbFPrvQFmYIrdGBloWJ\n\tCdD+C3WWA5QhyYR5G1c04CuNzaKIA4YALxPvfRKg=","To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","References":"<20210616151152.3856595-1-kieran.bingham@ideasonboard.com>\n\t<20210616151152.3856595-6-kieran.bingham@ideasonboard.com>\n\t<YMrE8/J0ZF/DpLWn@pendragon.ideasonboard.com>","From":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Organization":"Ideas on Board","Message-ID":"<f10f17d5-d4e1-6347-0e62-d8ab1df8b213@ideasonboard.com>","Date":"Thu, 17 Jun 2021 08:36:01 +0100","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101\n\tThunderbird/78.8.1","MIME-Version":"1.0","In-Reply-To":"<YMrE8/J0ZF/DpLWn@pendragon.ideasonboard.com>","Content-Type":"text/plain; charset=utf-8","Content-Language":"en-GB","Content-Transfer-Encoding":"7bit","Subject":"Re: [libcamera-devel] [PATCH 5/6] libcamera-platform: Move File to\n\tplatform library","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","Reply-To":"kieran.bingham@ideasonboard.com","Cc":"libcamera devel <libcamera-devel@lists.libcamera.org>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}}]