ipa: raspberrypi: Return an error code from Algorithm::read()

When encountering errors, the Algorithm::read() function either uses
LOG(Fatal) or throws exceptions from the boost property_tree functions.
To prepare for replacing boost JSON parse with the YamlParser class,
give the Algorithm::read() function the ability to return an error code,
and propagate it all the way to the IPA module init() function.

All algorithm classes return a hardcoded 0 value for now, subsequent
commits will change that.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Naushir Patuck <naush@raspberrypi.com>
Tested-by: Naushir Patuck <naush@raspberrypi.com>
This commit is contained in:
Laurent Pinchart 2022-07-26 02:36:38 +03:00
parent 0c84c67e39
commit f357b1bf6e
31 changed files with 151 additions and 75 deletions

View file

@ -38,7 +38,7 @@ char const *Lux::name() const
return NAME;
}
void Lux::read(boost::property_tree::ptree const &params)
int Lux::read(boost::property_tree::ptree const &params)
{
referenceShutterSpeed_ =
params.get<double>("reference_shutter_speed") * 1.0us;
@ -47,6 +47,7 @@ void Lux::read(boost::property_tree::ptree const &params)
referenceY_ = params.get<double>("reference_Y");
referenceLux_ = params.get<double>("reference_lux");
currentAperture_ = referenceAperture_;
return 0;
}
void Lux::setCurrentAperture(double aperture)