summaryrefslogtreecommitdiff
path: root/src/android/camera_hal_config.h
diff options
context:
space:
mode:
authorJacopo Mondi <jacopo@jmondi.org>2021-03-23 15:14:28 +0100
committerJacopo Mondi <jacopo@jmondi.org>2021-05-25 15:21:59 +0200
commit07c2a4257d9ef3bae35af1848f9f36ac8ce8044d (patch)
tree01f5eca1598af8fcdb061cc9670252cdee48b087 /src/android/camera_hal_config.h
parent6570f85454e2ef6ef07680f088fa01ad675bf16e (diff)
android: Add CameraHalConfig class
Add a CameraHalConfig class to the Android Camera3 HAL layer. Signed-off-by: Jacopo Mondi <jacopo@jmondi.org> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Hirokazu Honda <hiroh@chromium.org>
Diffstat (limited to 'src/android/camera_hal_config.h')
-rw-r--r--src/android/camera_hal_config.h40
1 files changed, 40 insertions, 0 deletions
diff --git a/src/android/camera_hal_config.h b/src/android/camera_hal_config.h
new file mode 100644
index 00000000..0555c6da
--- /dev/null
+++ b/src/android/camera_hal_config.h
@@ -0,0 +1,40 @@
+/* SPDX-License-Identifier: LGPL-2.1-or-later */
+/*
+ * Copyright (C) 2021, Google Inc.
+ *
+ * camera_hal_config.h - Camera HAL configuration file manager
+ */
+#ifndef __ANDROID_CAMERA_HAL_CONFIG_H__
+#define __ANDROID_CAMERA_HAL_CONFIG_H__
+
+#include <filesystem>
+#include <map>
+#include <string>
+
+#include <libcamera/class.h>
+
+struct CameraConfigData {
+ int facing = -1;
+ int rotation = -1;
+};
+
+class CameraHalConfig final : public libcamera::Extensible
+{
+ LIBCAMERA_DECLARE_PRIVATE()
+
+public:
+ CameraHalConfig();
+
+ bool exists() const { return exists_; }
+ bool isValid() const { return valid_; }
+
+ const CameraConfigData *cameraConfigData(const std::string &cameraId) const;
+
+private:
+ bool exists_;
+ bool valid_;
+ std::map<std::string, CameraConfigData> cameras_;
+
+ int parseConfigurationFile();
+};
+#endif /* __ANDROID_CAMERA_HAL_CONFIG_H__ */