[libcamera-devel] [PATCH 08/16] libcamera/base: Move class helpers to the base library

Kieran Bingham kieran.bingham at ideasonboard.com
Fri Jun 25 03:35:31 CEST 2021


Move the class support infrastructure to the base library.

Signed-off-by: Kieran Bingham <kieran.bingham at ideasonboard.com>
---
 include/libcamera/{ => base}/class.h            | 0
 include/libcamera/base/meson.build              | 1 +
 include/libcamera/buffer.h                      | 3 ++-
 include/libcamera/camera.h                      | 3 ++-
 include/libcamera/camera_manager.h              | 3 ++-
 include/libcamera/controls.h                    | 3 ++-
 include/libcamera/framebuffer_allocator.h       | 2 +-
 include/libcamera/internal/buffer.h             | 3 ++-
 include/libcamera/internal/byte_stream_buffer.h | 3 ++-
 include/libcamera/internal/camera_sensor.h      | 3 ++-
 include/libcamera/internal/file.h               | 3 ++-
 include/libcamera/internal/log.h                | 3 +--
 include/libcamera/internal/media_object.h       | 2 +-
 include/libcamera/internal/pipeline_handler.h   | 3 ++-
 include/libcamera/internal/v4l2_subdevice.h     | 3 ++-
 include/libcamera/internal/v4l2_videodevice.h   | 3 ++-
 include/libcamera/meson.build                   | 1 -
 include/libcamera/request.h                     | 3 ++-
 src/android/camera_buffer.h                     | 3 ++-
 src/android/camera_capabilities.h               | 3 ++-
 src/android/camera_hal_config.h                 | 2 +-
 src/libcamera/{ => base}/class.cpp              | 2 +-
 src/libcamera/base/meson.build                  | 1 +
 src/libcamera/meson.build                       | 1 -
 24 files changed, 35 insertions(+), 22 deletions(-)
 rename include/libcamera/{ => base}/class.h (100%)
 rename src/libcamera/{ => base}/class.cpp (99%)

diff --git a/include/libcamera/class.h b/include/libcamera/base/class.h
similarity index 100%
rename from include/libcamera/class.h
rename to include/libcamera/base/class.h
diff --git a/include/libcamera/base/meson.build b/include/libcamera/base/meson.build
index 9f0ba6b0e10c..2db756c504c9 100644
--- a/include/libcamera/base/meson.build
+++ b/include/libcamera/base/meson.build
@@ -3,6 +3,7 @@
 libcamera_base_include_dir = libcamera_include_dir / 'base'
 
 libcamera_base_headers = files([
+    'class.h',
     'utils.h',
 ])
 
diff --git a/include/libcamera/buffer.h b/include/libcamera/buffer.h
index e0af00900409..323d1cba41a9 100644
--- a/include/libcamera/buffer.h
+++ b/include/libcamera/buffer.h
@@ -10,7 +10,8 @@
 #include <stdint.h>
 #include <vector>
 
-#include <libcamera/class.h>
+#include <libcamera/base/class.h>
+
 #include <libcamera/file_descriptor.h>
 
 namespace libcamera {
diff --git a/include/libcamera/camera.h b/include/libcamera/camera.h
index d71641805c0a..ea0914009c2b 100644
--- a/include/libcamera/camera.h
+++ b/include/libcamera/camera.h
@@ -12,7 +12,8 @@
 #include <stdint.h>
 #include <string>
 
-#include <libcamera/class.h>
+#include <libcamera/base/class.h>
+
 #include <libcamera/controls.h>
 #include <libcamera/object.h>
 #include <libcamera/request.h>
diff --git a/include/libcamera/camera_manager.h b/include/libcamera/camera_manager.h
index c2f0b786da8e..5deede035115 100644
--- a/include/libcamera/camera_manager.h
+++ b/include/libcamera/camera_manager.h
@@ -12,7 +12,8 @@
 #include <sys/types.h>
 #include <vector>
 
-#include <libcamera/class.h>
+#include <libcamera/base/class.h>
+
 #include <libcamera/object.h>
 #include <libcamera/signal.h>
 
diff --git a/include/libcamera/controls.h b/include/libcamera/controls.h
index 1c9b37e617bc..f62b6cf055d6 100644
--- a/include/libcamera/controls.h
+++ b/include/libcamera/controls.h
@@ -14,7 +14,8 @@
 #include <unordered_map>
 #include <vector>
 
-#include <libcamera/class.h>
+#include <libcamera/base/class.h>
+
 #include <libcamera/geometry.h>
 #include <libcamera/span.h>
 
diff --git a/include/libcamera/framebuffer_allocator.h b/include/libcamera/framebuffer_allocator.h
index 0c85631a1da2..cbc9ce101889 100644
--- a/include/libcamera/framebuffer_allocator.h
+++ b/include/libcamera/framebuffer_allocator.h
@@ -11,7 +11,7 @@
 #include <memory>
 #include <vector>
 
-#include <libcamera/class.h>
+#include <libcamera/base/class.h>
 
 namespace libcamera {
 
diff --git a/include/libcamera/internal/buffer.h b/include/libcamera/internal/buffer.h
index 9da1fbd12c27..91dd24969385 100644
--- a/include/libcamera/internal/buffer.h
+++ b/include/libcamera/internal/buffer.h
@@ -10,7 +10,8 @@
 #include <sys/mman.h>
 #include <vector>
 
-#include <libcamera/class.h>
+#include <libcamera/base/class.h>
+
 #include <libcamera/buffer.h>
 #include <libcamera/span.h>
 
diff --git a/include/libcamera/internal/byte_stream_buffer.h b/include/libcamera/internal/byte_stream_buffer.h
index 866cb9b0b2a6..7eefb1a71f07 100644
--- a/include/libcamera/internal/byte_stream_buffer.h
+++ b/include/libcamera/internal/byte_stream_buffer.h
@@ -11,7 +11,8 @@
 #include <stdint.h>
 #include <type_traits>
 
-#include <libcamera/class.h>
+#include <libcamera/base/class.h>
+
 #include <libcamera/span.h>
 
 namespace libcamera {
diff --git a/include/libcamera/internal/camera_sensor.h b/include/libcamera/internal/camera_sensor.h
index e133ebf45bf7..7bc540619721 100644
--- a/include/libcamera/internal/camera_sensor.h
+++ b/include/libcamera/internal/camera_sensor.h
@@ -11,7 +11,8 @@
 #include <string>
 #include <vector>
 
-#include <libcamera/class.h>
+#include <libcamera/base/class.h>
+
 #include <libcamera/controls.h>
 #include <libcamera/geometry.h>
 #include <libcamera/ipa/core_ipa_interface.h>
diff --git a/include/libcamera/internal/file.h b/include/libcamera/internal/file.h
index f0b313a5faae..44621ceb4c19 100644
--- a/include/libcamera/internal/file.h
+++ b/include/libcamera/internal/file.h
@@ -11,7 +11,8 @@
 #include <string>
 #include <sys/types.h>
 
-#include <libcamera/class.h>
+#include <libcamera/base/class.h>
+
 #include <libcamera/span.h>
 
 namespace libcamera {
diff --git a/include/libcamera/internal/log.h b/include/libcamera/internal/log.h
index 9c2beab6a33a..82e55a623e04 100644
--- a/include/libcamera/internal/log.h
+++ b/include/libcamera/internal/log.h
@@ -10,8 +10,7 @@
 #include <chrono>
 #include <sstream>
 
-#include <libcamera/class.h>
-
+#include <libcamera/base/class.h>
 #include <libcamera/base/utils.h>
 
 namespace libcamera {
diff --git a/include/libcamera/internal/media_object.h b/include/libcamera/internal/media_object.h
index 1c82c27928a8..2f5d33e1903e 100644
--- a/include/libcamera/internal/media_object.h
+++ b/include/libcamera/internal/media_object.h
@@ -12,7 +12,7 @@
 
 #include <linux/media.h>
 
-#include <libcamera/class.h>
+#include <libcamera/base/class.h>
 
 namespace libcamera {
 
diff --git a/include/libcamera/internal/pipeline_handler.h b/include/libcamera/internal/pipeline_handler.h
index 31dadf285a58..8beb6b76dd3f 100644
--- a/include/libcamera/internal/pipeline_handler.h
+++ b/include/libcamera/internal/pipeline_handler.h
@@ -15,7 +15,8 @@
 #include <sys/types.h>
 #include <vector>
 
-#include <libcamera/class.h>
+#include <libcamera/base/class.h>
+
 #include <libcamera/controls.h>
 #include <libcamera/object.h>
 #include <libcamera/stream.h>
diff --git a/include/libcamera/internal/v4l2_subdevice.h b/include/libcamera/internal/v4l2_subdevice.h
index d2b9ca55439e..d07dd6b444d0 100644
--- a/include/libcamera/internal/v4l2_subdevice.h
+++ b/include/libcamera/internal/v4l2_subdevice.h
@@ -11,7 +11,8 @@
 #include <string>
 #include <vector>
 
-#include <libcamera/class.h>
+#include <libcamera/base/class.h>
+
 #include <libcamera/geometry.h>
 
 #include "libcamera/internal/formats.h"
diff --git a/include/libcamera/internal/v4l2_videodevice.h b/include/libcamera/internal/v4l2_videodevice.h
index 7938343bba8d..227d015e8937 100644
--- a/include/libcamera/internal/v4l2_videodevice.h
+++ b/include/libcamera/internal/v4l2_videodevice.h
@@ -16,8 +16,9 @@
 
 #include <linux/videodev2.h>
 
+#include <libcamera/base/class.h>
+
 #include <libcamera/buffer.h>
-#include <libcamera/class.h>
 #include <libcamera/geometry.h>
 #include <libcamera/pixel_format.h>
 #include <libcamera/signal.h>
diff --git a/include/libcamera/meson.build b/include/libcamera/meson.build
index 1fa1bf4a4e78..7cba3de6ca96 100644
--- a/include/libcamera/meson.build
+++ b/include/libcamera/meson.build
@@ -5,7 +5,6 @@ libcamera_public_headers = files([
     'buffer.h',
     'camera.h',
     'camera_manager.h',
-    'class.h',
     'compiler.h',
     'controls.h',
     'file_descriptor.h',
diff --git a/include/libcamera/request.h b/include/libcamera/request.h
index 5596901ddd8e..00c646fea7f2 100644
--- a/include/libcamera/request.h
+++ b/include/libcamera/request.h
@@ -13,7 +13,8 @@
 #include <string>
 #include <unordered_set>
 
-#include <libcamera/class.h>
+#include <libcamera/base/class.h>
+
 #include <libcamera/controls.h>
 #include <libcamera/signal.h>
 
diff --git a/src/android/camera_buffer.h b/src/android/camera_buffer.h
index c88124b2b3f3..e850c4e36668 100644
--- a/src/android/camera_buffer.h
+++ b/src/android/camera_buffer.h
@@ -9,7 +9,8 @@
 
 #include <hardware/camera3.h>
 
-#include <libcamera/class.h>
+#include <libcamera/base/class.h>
+
 #include <libcamera/span.h>
 
 class CameraBuffer final : public libcamera::Extensible
diff --git a/src/android/camera_capabilities.h b/src/android/camera_capabilities.h
index f511607bbd90..4f5be82595d6 100644
--- a/src/android/camera_capabilities.h
+++ b/src/android/camera_capabilities.h
@@ -11,8 +11,9 @@
 #include <memory>
 #include <vector>
 
+#include <libcamera/base/class.h>
+
 #include <libcamera/camera.h>
-#include <libcamera/class.h>
 #include <libcamera/formats.h>
 #include <libcamera/geometry.h>
 
diff --git a/src/android/camera_hal_config.h b/src/android/camera_hal_config.h
index 97dc69c1def5..a79d5d6c42dc 100644
--- a/src/android/camera_hal_config.h
+++ b/src/android/camera_hal_config.h
@@ -10,7 +10,7 @@
 #include <map>
 #include <string>
 
-#include <libcamera/class.h>
+#include <libcamera/base/class.h>
 
 struct CameraConfigData {
 	int facing = -1;
diff --git a/src/libcamera/class.cpp b/src/libcamera/base/class.cpp
similarity index 99%
rename from src/libcamera/class.cpp
rename to src/libcamera/base/class.cpp
index 28c35633d7db..165beafc243d 100644
--- a/src/libcamera/class.cpp
+++ b/src/libcamera/base/class.cpp
@@ -5,7 +5,7 @@
  * class.cpp - Utilities and helpers for classes
  */
 
-#include <libcamera/class.h>
+#include <libcamera/base/class.h>
 
 /**
  * \file class.h
diff --git a/src/libcamera/base/meson.build b/src/libcamera/base/meson.build
index 6d9ec37414f8..302a288685d3 100644
--- a/src/libcamera/base/meson.build
+++ b/src/libcamera/base/meson.build
@@ -1,6 +1,7 @@
 # SPDX-License-Identifier: CC0-1.0
 
 libcamera_base_sources = files([
+    'class.cpp',
     'utils.cpp',
 ])
 
diff --git a/src/libcamera/meson.build b/src/libcamera/meson.build
index ac401c25d498..a341004c0c19 100644
--- a/src/libcamera/meson.build
+++ b/src/libcamera/meson.build
@@ -10,7 +10,6 @@ libcamera_sources = files([
     'camera_manager.cpp',
     'camera_sensor.cpp',
     'camera_sensor_properties.cpp',
-    'class.cpp',
     'controls.cpp',
     'control_serializer.cpp',
     'control_validator.cpp',
-- 
2.30.2



More information about the libcamera-devel mailing list