blob: 9df554f9929bb0a9a9ed6f4615ff2c9a917d97cf [file] [log] [blame]
/* SPDX-License-Identifier: LGPL-2.1-or-later */
/*
* Copyright (C) 2021, Google Inc.
*
* camera_hal_config.h - Camera HAL configuration file manager
*/
#pragma once
#include <map>
#include <string>
#include <libcamera/base/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();
};