libcamera
v0.7.2
Supporting cameras in Linux since 2019
Toggle main menu visibility
Loading...
Searching...
No Matches
camera_manager.h
Go to the documentation of this file.
1
/* SPDX-License-Identifier: LGPL-2.1-or-later */
2
/*
3
* Copyright (C) 2018, Google Inc.
4
*
5
* Camera management
6
*/
7
8
#pragma once
9
10
#include <memory>
11
#include <string>
12
#include <string_view>
13
#include <sys/types.h>
14
#include <vector>
15
16
#include <libcamera/base/class.h>
17
#include <libcamera/base/object.h>
18
#include <
libcamera/base/signal.h
>
19
20
namespace
libcamera
{
21
22
class
Camera
;
23
24
class
CameraManager :
public
Object,
public
Extensible
25
{
26
LIBCAMERA_DECLARE_PRIVATE()
27
public
:
28
CameraManager();
29
~CameraManager();
30
31
int
start
();
32
void
stop
();
33
34
std::vector<std::shared_ptr<Camera>>
cameras
()
const
;
35
std::shared_ptr<Camera>
get
(std::string_view
id
);
36
37
static
const
std::string &
version
() {
return
version_; }
38
39
Signal<std::shared_ptr<Camera>
>
cameraAdded
;
40
Signal<std::shared_ptr<Camera>
>
cameraRemoved
;
41
42
private
:
43
LIBCAMERA_DISABLE_COPY(CameraManager)
44
45
static
const
std::string version_;
46
static
CameraManager *self_;
47
};
48
49
}
/* namespace libcamera */
libcamera::CameraManager::get
std::shared_ptr< Camera > get(std::string_view id)
Get a camera based on ID.
Definition
camera_manager.cpp:398
libcamera::CameraManager::cameras
std::vector< std::shared_ptr< Camera > > cameras() const
Retrieve all available cameras.
Definition
camera_manager.cpp:378
libcamera::CameraManager::start
int start()
Start the camera manager.
Definition
camera_manager.cpp:338
libcamera::CameraManager::version
static const std::string & version()
Retrieve the libcamera version string.
Definition
camera_manager.h:37
libcamera::CameraManager::stop
void stop()
Stop the camera manager.
Definition
camera_manager.cpp:360
libcamera::CameraManager::cameraAdded
Signal< std::shared_ptr< Camera > > cameraAdded
Notify of a new camera added to the system.
Definition
camera_manager.h:39
libcamera::CameraManager::cameraRemoved
Signal< std::shared_ptr< Camera > > cameraRemoved
Notify of a new camera removed from the system.
Definition
camera_manager.h:40
libcamera::Camera
Camera device.
Definition
camera.h:116
libcamera::Signal
Generic signal and slot communication mechanism.
Definition
signal.h:39
libcamera
Top-level libcamera namespace.
Definition
bound_method.h:15
signal.h
Signal & slot implementation.
include
libcamera
camera_manager.h
Generated by
1.18.0