40 IPAManager *
self = cm->
_d()->ipaManager();
41 IPAModule *m =
self->module(pipe, minVersion, maxVersion);
45 std::unique_ptr<T> proxy = std::make_unique<T>(m, !
self->isSignatureValid(m));
46 if (!proxy->isValid()) {
47 LOG(IPAManager, Error) <<
"Failed to load proxy";
62 void parseDir(
const char *libDir,
unsigned int maxDepth,
63 std::vector<std::string> &files);
64 unsigned int addDir(
const char *libDir,
unsigned int maxDepth = 0);
69 bool isSignatureValid(
IPAModule *ipa)
const;
71 std::vector<std::unique_ptr<IPAModule>> modules_;
74 static const uint8_t publicKeyData_[];
75 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:28
Image Processing Algorithm module information.
static const PubKey & pubKey()
Retrieve the IPA module signing public key.
Definition: ipa_manager.h:55
CameraManager * cameraManager() const
Retrieve the CameraManager that this pipeline handler belongs to.
Definition: pipeline_handler.h:71
#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:24
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:35
Public key wrapper for signature verification.
Definition: pub_key.h:22
Create pipelines and cameras from a set of media devices.