On Mon, Oct 17, 2022 at 04:56:25PM +0530, Viresh Kumar wrote:
On 15-10-22, 00:06, Kent Gibson wrote:
If the mutators for each field still exist they may as well be pub.
And they should return Result<&mut Self> so they can be chained, as you suggest.
Wrt the values param (which I would prefer was called props)
Is this fine now ? Rebased over v7.
diff --git a/bindings/rust/libgpiod/src/line_settings.rs b/bindings/rust/libgpiod/src/line_settings.rs index 2c3090132ea5..be50b5b41c5a 100644 --- a/bindings/rust/libgpiod/src/line_settings.rs +++ b/bindings/rust/libgpiod/src/line_settings.rs @@ -70,18 +70,18 @@ impl Settings { }
/// Set line prop setting.
- pub fn set_prop(&mut self, values: &[SettingVal]) -> Result<()> {
for value in values {
match value {
SettingVal::Direction(val) => self.set_direction(*val)?,
SettingVal::EdgeDetection(val) => self.set_edge_detection(*val)?,
SettingVal::Bias(val) => self.set_bias(*val)?,
SettingVal::Drive(val) => self.set_drive(*val)?,
SettingVal::ActiveLow(val) => self.set_active_low(*val),
SettingVal::DebouncePeriod(val) => self.set_debounce_period(*val),
SettingVal::EventClock(val) => self.set_event_clock(*val)?,
SettingVal::OutputValue(val) => self.set_output_value(*val)?,
}
- pub fn set_prop(&mut self, props: &[SettingVal]) -> Result<()> {
^ also &mut Self
Apart from that, yeah that is what I had in mind, as also noted in my forthcoming v7 review.
Cheers, Kent.