40 IPAModule *m = module(pipe, minVersion, maxVersion);
44 auto proxy = [&]() -> std::unique_ptr<T> {
45 if (isSignatureValid(m))
46 return std::make_unique<typename T::Threaded>(m, cm_);
48 return std::make_unique<typename T::Isolated>(m, cm_);
51 if (!proxy->isValid()) {
67 void parseDir(
const char *libDir,
unsigned int maxDepth,
68 std::vector<std::string> &files);
69 unsigned int addDir(
const char *libDir,
unsigned int maxDepth = 0);
77 std::vector<std::unique_ptr<IPAModule>> modules_;
80 static const uint8_t publicKeyData_[];
81 static const PubKey pubKey_;
Provide access and manage all cameras in the system.
Definition camera_manager.h:25
Support for global libcamera configuration.
Definition global_configuration.h:23
Manager for IPA modules.
Definition ipa_manager.h:31
std::unique_ptr< T > createIPA(PipelineHandler *pipe, uint32_t minVersion, uint32_t maxVersion)
Create an IPA proxy that matches a given pipeline handler.
Definition ipa_manager.h:37
IPAManager(const CameraManager &cm)
Construct an IPAManager instance.
Definition ipa_manager.cpp:108
static const PubKey & pubKey()
Retrieve the IPA module signing public key.
Definition ipa_manager.h:60
Wrapper around IPA module shared object.
Definition ipa_module.h:24
Create and manage cameras based on a set of media devices.
Definition pipeline_handler.h:36
Public key wrapper for signature verification.
Definition pub_key.h:23
Image Processing Algorithm interface.
Image Processing Algorithm module information.
#define LOG_DECLARE_CATEGORY(name)
Declare a category of log messages.
Definition log.h:51
#define LOG(category, severity)
Log a message.
Definition log.h:129
The IPA (Image Processing Algorithm) namespace.
Definition af.cpp:58
Top-level libcamera namespace.
Definition backtrace.h:17
Public key signature verification.