[{"id":1474,"web_url":"https://patchwork.libcamera.org/comment/1474/","msgid":"<20190419085424.cajyt4eqdfqhtb4m@uno.localdomain>","date":"2019-04-19T08:54:24","subject":"Re: [libcamera-devel] [PATCH 3/3] libcamera: Include header related\n\tto source file first","submitter":{"id":3,"url":"https://patchwork.libcamera.org/api/people/3/","name":"Jacopo Mondi","email":"jacopo@jmondi.org"},"content":"Hi Laurent,\n   thank you for the effort.\n\nReviewed-by: Jacopo Mondi <jacopo@jmondi.org>\n\nThanks\n  j\n\nOn Thu, Apr 18, 2019 at 06:44:53PM +0300, Laurent Pinchart wrote:\n> Include the header file corresponding to the source file in the very\n> first position. This complies with the Google C++ coding style\n> guideliens, and helps ensuring that the headers are self-contained.\n>\n> Three bugs are already caught by this change (missing includes or\n> forward declarations) in device_enumerator.h, event_dispatcher_poll.h\n> and pipeline_handler.h. Fix them.\n>\n> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n> ---\n>  src/libcamera/buffer.cpp                      | 4 ++--\n>  src/libcamera/camera.cpp                      | 5 +++--\n>  src/libcamera/camera_manager.cpp              | 3 ++-\n>  src/libcamera/camera_sensor.cpp               | 3 ++-\n>  src/libcamera/device_enumerator.cpp           | 3 ++-\n>  src/libcamera/event_dispatcher_poll.cpp       | 3 ++-\n>  src/libcamera/event_notifier.cpp              | 3 ++-\n>  src/libcamera/geometry.cpp                    | 4 ++--\n>  src/libcamera/include/device_enumerator.h     | 3 +++\n>  src/libcamera/include/event_dispatcher_poll.h | 2 ++\n>  src/libcamera/include/pipeline_handler.h      | 1 +\n>  src/libcamera/log.cpp                         | 3 ++-\n>  src/libcamera/media_device.cpp                | 3 ++-\n>  src/libcamera/media_object.cpp                | 3 ++-\n>  src/libcamera/object.cpp                      | 1 +\n>  src/libcamera/pipeline_handler.cpp            | 3 ++-\n>  src/libcamera/request.cpp                     | 3 ++-\n>  src/libcamera/signal.cpp                      | 2 ++\n>  src/libcamera/stream.cpp                      | 4 ++--\n>  src/libcamera/timer.cpp                       | 3 ++-\n>  src/libcamera/utils.cpp                       | 4 ++--\n>  src/libcamera/v4l2_device.cpp                 | 3 ++-\n>  src/libcamera/v4l2_subdevice.cpp              | 3 ++-\n>  23 files changed, 46 insertions(+), 23 deletions(-)\n>\n> diff --git a/src/libcamera/buffer.cpp b/src/libcamera/buffer.cpp\n> index 21abdcce56b9..d86278a8a90a 100644\n> --- a/src/libcamera/buffer.cpp\n> +++ b/src/libcamera/buffer.cpp\n> @@ -5,13 +5,13 @@\n>   * buffer.cpp - Buffer handling\n>   */\n>\n> +#include <libcamera/buffer.h>\n> +\n>  #include <errno.h>\n>  #include <string.h>\n>  #include <sys/mman.h>\n>  #include <unistd.h>\n>\n> -#include <libcamera/buffer.h>\n> -\n>  #include \"log.h\"\n>\n>  /**\n> diff --git a/src/libcamera/camera.cpp b/src/libcamera/camera.cpp\n> index a52769626446..d7a39ca6af12 100644\n> --- a/src/libcamera/camera.cpp\n> +++ b/src/libcamera/camera.cpp\n> @@ -5,9 +5,10 @@\n>   * camera.cpp - Camera device\n>   */\n>\n> -#include <iomanip>\n> -\n>  #include <libcamera/camera.h>\n> +\n> +#include <iomanip>\n> +\n>  #include <libcamera/request.h>\n>  #include <libcamera/stream.h>\n>\n> diff --git a/src/libcamera/camera_manager.cpp b/src/libcamera/camera_manager.cpp\n> index e2473816b252..58d3b0ddb8bb 100644\n> --- a/src/libcamera/camera_manager.cpp\n> +++ b/src/libcamera/camera_manager.cpp\n> @@ -5,8 +5,9 @@\n>   * camera_manager.h - Camera management\n>   */\n>\n> -#include <libcamera/camera.h>\n>  #include <libcamera/camera_manager.h>\n> +\n> +#include <libcamera/camera.h>\n>  #include <libcamera/event_dispatcher.h>\n>\n>  #include \"device_enumerator.h\"\n> diff --git a/src/libcamera/camera_sensor.cpp b/src/libcamera/camera_sensor.cpp\n> index 52bd8f6fb973..8f2eab562b94 100644\n> --- a/src/libcamera/camera_sensor.cpp\n> +++ b/src/libcamera/camera_sensor.cpp\n> @@ -5,13 +5,14 @@\n>   * camera_sensor.cpp - A camera sensor\n>   */\n>\n> +#include \"camera_sensor.h\"\n> +\n>  #include <algorithm>\n>  #include <float.h>\n>  #include <iomanip>\n>  #include <limits.h>\n>  #include <math.h>\n>\n> -#include \"camera_sensor.h\"\n>  #include \"formats.h\"\n>  #include \"v4l2_subdevice.h\"\n>\n> diff --git a/src/libcamera/device_enumerator.cpp b/src/libcamera/device_enumerator.cpp\n> index e7de415b7139..f3f26d98b65e 100644\n> --- a/src/libcamera/device_enumerator.cpp\n> +++ b/src/libcamera/device_enumerator.cpp\n> @@ -5,6 +5,8 @@\n>   * device_enumerator.cpp - Enumeration and matching\n>   */\n>\n> +#include \"device_enumerator.h\"\n> +\n>  #include <fcntl.h>\n>  #include <libudev.h>\n>  #include <string.h>\n> @@ -13,7 +15,6 @@\n>\n>  #include <libcamera/event_notifier.h>\n>\n> -#include \"device_enumerator.h\"\n>  #include \"log.h\"\n>  #include \"media_device.h\"\n>  #include \"utils.h\"\n> diff --git a/src/libcamera/event_dispatcher_poll.cpp b/src/libcamera/event_dispatcher_poll.cpp\n> index a2674ab31135..130b5e20ea09 100644\n> --- a/src/libcamera/event_dispatcher_poll.cpp\n> +++ b/src/libcamera/event_dispatcher_poll.cpp\n> @@ -5,6 +5,8 @@\n>   * event_dispatcher_poll.cpp - Poll-based event dispatcher\n>   */\n>\n> +#include \"event_dispatcher_poll.h\"\n> +\n>  #include <algorithm>\n>  #include <iomanip>\n>  #include <poll.h>\n> @@ -16,7 +18,6 @@\n>  #include <libcamera/event_notifier.h>\n>  #include <libcamera/timer.h>\n>\n> -#include \"event_dispatcher_poll.h\"\n>  #include \"log.h\"\n>\n>  /**\n> diff --git a/src/libcamera/event_notifier.cpp b/src/libcamera/event_notifier.cpp\n> index 0f84e4128169..b32c7ed2d315 100644\n> --- a/src/libcamera/event_notifier.cpp\n> +++ b/src/libcamera/event_notifier.cpp\n> @@ -5,9 +5,10 @@\n>   * event_notifier.cpp - File descriptor event notifier\n>   */\n>\n> +#include <libcamera/event_notifier.h>\n> +\n>  #include <libcamera/camera_manager.h>\n>  #include <libcamera/event_dispatcher.h>\n> -#include <libcamera/event_notifier.h>\n>\n>  /**\n>   * \\file event_notifier.h\n> diff --git a/src/libcamera/geometry.cpp b/src/libcamera/geometry.cpp\n> index a39b85e4e904..c8aa05f54b73 100644\n> --- a/src/libcamera/geometry.cpp\n> +++ b/src/libcamera/geometry.cpp\n> @@ -5,11 +5,11 @@\n>   * geometry.cpp - Geometry-related structures\n>   */\n>\n> +#include <libcamera/geometry.h>\n> +\n>  #include <sstream>\n>  #include <stdint.h>\n>\n> -#include <libcamera/geometry.h>\n> -\n>  /**\n>   * \\file geometry.h\n>   * \\brief Data structures related to geometric objects\n> diff --git a/src/libcamera/include/device_enumerator.h b/src/libcamera/include/device_enumerator.h\n> index 22ed8dedcb06..2801861864b8 100644\n> --- a/src/libcamera/include/device_enumerator.h\n> +++ b/src/libcamera/include/device_enumerator.h\n> @@ -14,6 +14,9 @@\n>\n>  #include <linux/media.h>\n>\n> +struct udev;\n> +struct udev_monitor;\n> +\n>  namespace libcamera {\n>\n>  class EventNotifier;\n> diff --git a/src/libcamera/include/event_dispatcher_poll.h b/src/libcamera/include/event_dispatcher_poll.h\n> index 1c0066c24dc8..14c3eea13b5e 100644\n> --- a/src/libcamera/include/event_dispatcher_poll.h\n> +++ b/src/libcamera/include/event_dispatcher_poll.h\n> @@ -13,6 +13,8 @@\n>  #include <map>\n>  #include <vector>\n>\n> +struct pollfd;\n> +\n>  namespace libcamera {\n>\n>  class EventNotifier;\n> diff --git a/src/libcamera/include/pipeline_handler.h b/src/libcamera/include/pipeline_handler.h\n> index a0862ebf35df..c3f7d4c29205 100644\n> --- a/src/libcamera/include/pipeline_handler.h\n> +++ b/src/libcamera/include/pipeline_handler.h\n> @@ -10,6 +10,7 @@\n>  #include <list>\n>  #include <map>\n>  #include <memory>\n> +#include <set>\n>  #include <string>\n>  #include <vector>\n>\n> diff --git a/src/libcamera/log.cpp b/src/libcamera/log.cpp\n> index 77927ec35b62..ebf553300f5b 100644\n> --- a/src/libcamera/log.cpp\n> +++ b/src/libcamera/log.cpp\n> @@ -5,6 +5,8 @@\n>   * log.cpp - Logging infrastructure\n>   */\n>\n> +#include \"log.h\"\n> +\n>  #include <cstdio>\n>  #include <cstdlib>\n>  #include <ctime>\n> @@ -15,7 +17,6 @@\n>  #include <string.h>\n>  #include <unordered_set>\n>\n> -#include \"log.h\"\n>  #include \"utils.h\"\n>\n>  /**\n> diff --git a/src/libcamera/media_device.cpp b/src/libcamera/media_device.cpp\n> index 9c438ce8b41f..449571fb4b78 100644\n> --- a/src/libcamera/media_device.cpp\n> +++ b/src/libcamera/media_device.cpp\n> @@ -5,6 +5,8 @@\n>   * media_device.cpp - Media device handler\n>   */\n>\n> +#include \"media_device.h\"\n> +\n>  #include <errno.h>\n>  #include <fcntl.h>\n>  #include <string.h>\n> @@ -17,7 +19,6 @@\n>  #include <linux/media.h>\n>\n>  #include \"log.h\"\n> -#include \"media_device.h\"\n>\n>  /**\n>   * \\file media_device.h\n> diff --git a/src/libcamera/media_object.cpp b/src/libcamera/media_object.cpp\n> index bbb8fb64465f..8794ff4578c9 100644\n> --- a/src/libcamera/media_object.cpp\n> +++ b/src/libcamera/media_object.cpp\n> @@ -5,6 +5,8 @@\n>   * media_object.cpp - Media device objects: entities, pads and links\n>   */\n>\n> +#include \"media_object.h\"\n> +\n>  #include <errno.h>\n>  #include <string.h>\n>  #include <unistd.h>\n> @@ -16,7 +18,6 @@\n>\n>  #include \"log.h\"\n>  #include \"media_device.h\"\n> -#include \"media_object.h\"\n>\n>  /**\n>   * \\file media_object.h\n> diff --git a/src/libcamera/object.cpp b/src/libcamera/object.cpp\n> index 826eed6f9b3a..a504ca2c9daf 100644\n> --- a/src/libcamera/object.cpp\n> +++ b/src/libcamera/object.cpp\n> @@ -6,6 +6,7 @@\n>   */\n>\n>  #include <libcamera/object.h>\n> +\n>  #include <libcamera/signal.h>\n>\n>  /**\n> diff --git a/src/libcamera/pipeline_handler.cpp b/src/libcamera/pipeline_handler.cpp\n> index f7a8a1ac3be6..345abca89ab8 100644\n> --- a/src/libcamera/pipeline_handler.cpp\n> +++ b/src/libcamera/pipeline_handler.cpp\n> @@ -5,13 +5,14 @@\n>   * pipeline_handler.cpp - Pipeline handler infrastructure\n>   */\n>\n> +#include \"pipeline_handler.h\"\n> +\n>  #include <libcamera/buffer.h>\n>  #include <libcamera/camera.h>\n>  #include <libcamera/camera_manager.h>\n>\n>  #include \"log.h\"\n>  #include \"media_device.h\"\n> -#include \"pipeline_handler.h\"\n>  #include \"utils.h\"\n>\n>  /**\n> diff --git a/src/libcamera/request.cpp b/src/libcamera/request.cpp\n> index ef65c42f9da7..fa3ee46da440 100644\n> --- a/src/libcamera/request.cpp\n> +++ b/src/libcamera/request.cpp\n> @@ -5,11 +5,12 @@\n>   * request.cpp - Capture request handling\n>   */\n>\n> +#include <libcamera/request.h>\n> +\n>  #include <map>\n>\n>  #include <libcamera/buffer.h>\n>  #include <libcamera/camera.h>\n> -#include <libcamera/request.h>\n>  #include <libcamera/stream.h>\n>\n>  #include \"log.h\"\n> diff --git a/src/libcamera/signal.cpp b/src/libcamera/signal.cpp\n> index f97d68b3e8bf..4cb85ecb0686 100644\n> --- a/src/libcamera/signal.cpp\n> +++ b/src/libcamera/signal.cpp\n> @@ -5,6 +5,8 @@\n>   * signal.cpp - Signal & slot implementation\n>   */\n>\n> +#include <libcamera/signal.h>\n> +\n>  /**\n>   * \\file signal.h\n>   * \\brief Signal & slot implementation\n> diff --git a/src/libcamera/stream.cpp b/src/libcamera/stream.cpp\n> index 06db9797ff7e..0fd0a86e780d 100644\n> --- a/src/libcamera/stream.cpp\n> +++ b/src/libcamera/stream.cpp\n> @@ -5,11 +5,11 @@\n>   * stream.cpp - Video stream for a Camera\n>   */\n>\n> +#include <libcamera/stream.h>\n> +\n>  #include <iomanip>\n>  #include <sstream>\n>\n> -#include <libcamera/stream.h>\n> -\n>  /**\n>   * \\file stream.h\n>   * \\brief Video stream for a Camera\n> diff --git a/src/libcamera/timer.cpp b/src/libcamera/timer.cpp\n> index f42e479b996e..1cce45085c61 100644\n> --- a/src/libcamera/timer.cpp\n> +++ b/src/libcamera/timer.cpp\n> @@ -5,11 +5,12 @@\n>   * timer.cpp - Generic timer\n>   */\n>\n> +#include <libcamera/timer.h>\n> +\n>  #include <time.h>\n>\n>  #include <libcamera/camera_manager.h>\n>  #include <libcamera/event_dispatcher.h>\n> -#include <libcamera/timer.h>\n>\n>  #include \"log.h\"\n>\n> diff --git a/src/libcamera/utils.cpp b/src/libcamera/utils.cpp\n> index e38f32684bb1..66123b189110 100644\n> --- a/src/libcamera/utils.cpp\n> +++ b/src/libcamera/utils.cpp\n> @@ -5,11 +5,11 @@\n>   * utils.cpp - Miscellaneous utility functions\n>   */\n>\n> +#include \"utils.h\"\n> +\n>  #include <string.h>\n>  #include <sys/auxv.h>\n>\n> -#include \"utils.h\"\n> -\n>  /**\n>   * \\file utils.h\n>   * \\brief Miscellaneous utility functions\n> diff --git a/src/libcamera/v4l2_device.cpp b/src/libcamera/v4l2_device.cpp\n> index ccc5fbfc2268..8d8c7887bf71 100644\n> --- a/src/libcamera/v4l2_device.cpp\n> +++ b/src/libcamera/v4l2_device.cpp\n> @@ -5,6 +5,8 @@\n>   * v4l2_device.cpp - V4L2 Device\n>   */\n>\n> +#include \"v4l2_device.h\"\n> +\n>  #include <fcntl.h>\n>  #include <iomanip>\n>  #include <sstream>\n> @@ -21,7 +23,6 @@\n>  #include \"log.h\"\n>  #include \"media_device.h\"\n>  #include \"media_object.h\"\n> -#include \"v4l2_device.h\"\n>\n>  /**\n>   * \\file v4l2_device.h\n> diff --git a/src/libcamera/v4l2_subdevice.cpp b/src/libcamera/v4l2_subdevice.cpp\n> index eaa673e994b9..6fc866a6450b 100644\n> --- a/src/libcamera/v4l2_subdevice.cpp\n> +++ b/src/libcamera/v4l2_subdevice.cpp\n> @@ -5,6 +5,8 @@\n>   * v4l2_subdevice.cpp - V4L2 Subdevice\n>   */\n>\n> +#include \"v4l2_subdevice.h\"\n> +\n>  #include <fcntl.h>\n>  #include <iomanip>\n>  #include <sstream>\n> @@ -19,7 +21,6 @@\n>  #include \"log.h\"\n>  #include \"media_device.h\"\n>  #include \"media_object.h\"\n> -#include \"v4l2_subdevice.h\"\n>\n>  /**\n>   * \\file v4l2_subdevice.h\n> --\n> Regards,\n>\n> Laurent Pinchart\n>\n> _______________________________________________\n> libcamera-devel mailing list\n> libcamera-devel@lists.libcamera.org\n> https://lists.libcamera.org/listinfo/libcamera-devel","headers":{"Return-Path":"<jacopo@jmondi.org>","Received":["from relay1-d.mail.gandi.net (relay1-d.mail.gandi.net\n\t[217.70.183.193])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 95D2D60DB4\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 19 Apr 2019 10:53:31 +0200 (CEST)","from uno.localdomain (2-224-242-101.ip172.fastwebnet.it\n\t[2.224.242.101]) (Authenticated sender: jacopo@jmondi.org)\n\tby relay1-d.mail.gandi.net (Postfix) with ESMTPSA id 06386240005;\n\tFri, 19 Apr 2019 08:53:30 +0000 (UTC)"],"X-Originating-IP":"2.224.242.101","Date":"Fri, 19 Apr 2019 10:54:24 +0200","From":"Jacopo Mondi <jacopo@jmondi.org>","To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","Cc":"libcamera-devel@lists.libcamera.org","Message-ID":"<20190419085424.cajyt4eqdfqhtb4m@uno.localdomain>","References":"<20190418154453.20142-1-laurent.pinchart@ideasonboard.com>\n\t<20190418154453.20142-3-laurent.pinchart@ideasonboard.com>","MIME-Version":"1.0","Content-Type":"multipart/signed; micalg=pgp-sha256;\n\tprotocol=\"application/pgp-signature\"; boundary=\"rmgjvuormdj4pbgd\"","Content-Disposition":"inline","In-Reply-To":"<20190418154453.20142-3-laurent.pinchart@ideasonboard.com>","User-Agent":"NeoMutt/20180716","Subject":"Re: [libcamera-devel] [PATCH 3/3] libcamera: Include header related\n\tto source file first","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.23","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>","X-List-Received-Date":"Fri, 19 Apr 2019 08:53:31 -0000"}}]