libcamera: IPAManager: remove instance() and make createIPA() static

As the only usage of IPAManager::instance() is by the pipeline handlers
to call IPAManager::createIPA(), remove the former and make the latter
static. Update the pipeline handlers and tests accordingly.

Signed-off-by: Paul Elder <paul.elder@ideasonboard.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>
This commit is contained in:
Paul Elder
2020-06-08 17:11:26 +09:00
parent 46d544345c
commit 6e730695de
6 changed files with 10 additions and 26 deletions
+3 -17
View File
@@ -99,8 +99,7 @@ IPAManager *IPAManager::self_ = nullptr;
* \brief Construct an IPAManager instance
*
* The IPAManager class is meant to only be instantiated once, by the
* CameraManager. Pipeline handlers shall use the instance() function to access
* the IPAManager instance.
* CameraManager.
*/
IPAManager::IPAManager()
{
@@ -159,19 +158,6 @@ IPAManager::~IPAManager()
self_ = nullptr;
}
/**
* \brief Retrieve the IPA manager instance
*
* The IPAManager is constructed by the CameraManager. This function shall be
* used to retrieve the single instance of the manager.
*
* \return The IPA manager instance
*/
IPAManager *IPAManager::instance()
{
return self_;
}
/**
* \brief Identify shared library objects within a directory
* \param[in] libDir The directory to search for shared objects
@@ -273,7 +259,7 @@ std::unique_ptr<IPAProxy> IPAManager::createIPA(PipelineHandler *pipe,
{
IPAModule *m = nullptr;
for (IPAModule *module : modules_) {
for (IPAModule *module : self_->modules_) {
if (module->match(pipe, minVersion, maxVersion)) {
m = module;
break;
@@ -289,7 +275,7 @@ std::unique_ptr<IPAProxy> IPAManager::createIPA(PipelineHandler *pipe,
*
* \todo Implement a better proxy selection
*/
const char *proxyName = isSignatureValid(m)
const char *proxyName = self_->isSignatureValid(m)
? "IPAProxyThread" : "IPAProxyLinux";
IPAProxyFactory *pf = nullptr;