libcamera  v0.0.0
Supporting cameras in Linux since 2019
Public Member Functions | List of all members
libcamera::IPAInterfaceWrapper Class Reference

Wrap an IPAInterface and expose it as an ipa_context. More...

Inheritance diagram for libcamera::IPAInterfaceWrapper:
ipa_context

Public Member Functions

 IPAInterfaceWrapper (std::unique_ptr< IPAInterface > interface)
 Construct an IPAInterfaceWrapper wrapping interface. More...
 

Additional Inherited Members

- Public Attributes inherited from ipa_context
const struct ipa_context_opsops
 The IPA context operations.
 

Detailed Description

Wrap an IPAInterface and expose it as an ipa_context.

This class implements the ipa_context API based on a provided IPAInterface. It helps IPAs that implement the IPAInterface API to provide the external ipa_context API.

To use the wrapper, an IPA module simple creates a new instance of its IPAInterface implementation, and passes it to the constructor of the IPAInterfaceWrapper. As IPAInterfaceWrapper inherits from ipa_context, the constructed wrapper can then be directly returned from the IPA module's ipaCreate() function.

class MyIPA : public IPAInterface
{
...
};
{
return new IPAInterfaceWrapper(std::make_unique<MyIPA>());
}
IPAInterfaceWrapper(std::unique_ptr< IPAInterface > interface)
Construct an IPAInterfaceWrapper wrapping interface.
Definition: ipa_interface_wrapper.cpp:61
struct ipa_context * ipaCreate()
Entry point to the IPA modules.
IPA module context of execution.
Definition: ipa_interface.h:17

The wrapper takes ownership of the IPAInterface and will automatically delete it when the wrapper is destroyed.

Constructor & Destructor Documentation

◆ IPAInterfaceWrapper()

libcamera::IPAInterfaceWrapper::IPAInterfaceWrapper ( std::unique_ptr< IPAInterface interface)

Construct an IPAInterfaceWrapper wrapping interface.

Parameters
[in]interfaceThe interface to wrap

The documentation for this class was generated from the following files: