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>
This commit is contained in:
Jacopo Mondi 2021-03-23 15:14:28 +01:00
parent 6570f85454
commit 07c2a4257d
4 changed files with 443 additions and 1 deletions

View file

@ -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__ */