summaryrefslogtreecommitdiff
path: root/src/android/camera_hal_config.h
blob: a79d5d6c42dc4c49dfa7f33a0ac0ea252e717496 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
/* 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 <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();
};
#endif /* __ANDROID_CAMERA_HAL_CONFIG_H__ */