26class GlobalConfiguration;
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);
74 bool isSignatureValid(
IPAModule *ipa)
const;
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
Manager for IPA modules.
Definition ipa_manager.h:31
static const PubKey & pubKey()
Retrieve the IPA module signing public key.
Definition ipa_manager.h:60
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
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
const Control< std::string_view > PipelineHandler
The name of the pipeline handler that manages this camera device.o.
Definition camera.h:161
Top-level libcamera namespace.
Definition backtrace.h:17
Public key signature verification.