39 IPAManager *
self = cm->
_d()->ipaManager();
40 IPAModule *m =
self->module(pipe, minVersion, maxVersion);
44 std::unique_ptr<T> proxy = std::make_unique<T>(m, !
self->isSignatureValid(m));
45 if (!proxy->isValid()) {
46 LOG(IPAManager, Error) <<
"Failed to load proxy";
61 void parseDir(
const char *libDir,
unsigned int maxDepth,
62 std::vector<std::string> &files);
63 unsigned int addDir(
const char *libDir,
unsigned int maxDepth = 0);
68 bool isSignatureValid(
IPAModule *ipa)
const;
70 std::vector<IPAModule *> modules_;
73 static const uint8_t publicKeyData_[];
74 static const PubKey pubKey_;
Public key signature verification.
#define LOG(category, severity)
Log a message.
Internal camera manager support.
const T * _d() const
Retrieve the private data instance.
Definition: class.h:94
Image Processing Algorithm interface.
Top-level libcamera namespace.
Definition: backtrace.h:17
Manager for IPA modules.
Definition: ipa_manager.h:27
Image Processing Algorithm module information.
static const PubKey & pubKey()
Retrieve the IPA module signing public key.
Definition: ipa_manager.h:54
CameraManager * cameraManager() const
Retrieve the CameraManager that this pipeline handler belongs to.
Definition: pipeline_handler.h:70
#define LOG_DECLARE_CATEGORY(name)
Declare a category of log messages.
Wrapper around IPA module shared object.
Definition: ipa_module.h:23
Create and manage cameras based on a set of media devices.
Definition: pipeline_handler.h:33
Provide access and manage all cameras in the system.
Definition: camera_manager.h:23
Image Processing Algorithm module.
static 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:34
Public key wrapper for signature verification.
Definition: pub_key.h:22
Create pipelines and cameras from a set of media devices.