[libcamera-devel] [PATCH 3/3] cam: options: Add support for repeatable options
Jacopo Mondi
jacopo at jmondi.org
Tue Mar 26 11:59:46 CET 2019
Hi Niklas,
On Tue, Mar 26, 2019 at 11:41:23AM +0100, Niklas Söderlund wrote:
> Hi Laurent,
>
> Thanks for your feedback.
>
> On 2019-03-26 08:28:21 +0200, Laurent Pinchart wrote:
> > > - values_[opt] = value;
> > > + if (option.array)
> > > + values_[opt].add(value);
> > > + else
> > > + values_[opt] = value;
> >
> > I would be tempted to overload the [] operator for values_ to just do
> > the right thing depending on the type, but I think it would be bother
> > overkill and confusing. Still tempting to play with the available toys
> > though :-)
>
> Playing with new toys are always fun :-) In this particular instance I
> think overloading [] would just add to the confusion.
>
> > > diff --git a/src/cam/options.h b/src/cam/options.h
> > > index 6a887416c0070c41..1dac15ea90f2ffd2 100644
> > > --- a/src/cam/options.h
> > > +++ b/src/cam/options.h
> > > @@ -36,6 +36,7 @@ struct Option {
> > > const char *argumentName;
> > > const char *help;
> > > KeyValueParser *keyValueParser;
> > > + bool array;
> >
> > Maybe isArray ?
>
> Better, will switch in next version.
>
> >
> > I think the rest is fine. How does the help output look like ?
>
> $ ./cam --help
> Options:
> -c, --camera camera Specify which camera to operate on
> -C, --capture Capture until interrupted by user
> -F, --file[=filename] Write captured frames to disk
> The first '#' character in the file name is expanded to the frame sequence number.
> The default file name is 'frame-#.bin'.
> -f, --format key=value[,key=value,...] ... Set format of the camera's first stream
> height=integer Height in pixels
> id=integer ID of stream
> pixelformat=integer Pixel format
> width=integer Width in pixels
> -h, --help Display this help message
> -l, --list List all cameras
>
> I let you comment on if you like the ... to indicate that an option can
> be repeated and post v2 after that.
>
I might not be paying too much attention, but I missed the three
additiona dots completely. Should we find something more explicit to
indicate an option can be repeated multiple times?
Also, be aware the comment reports "camera's first stream". I assume
this will be changed as well.
Thanks
j
> --
> Regards,
> Niklas Söderlund
> _______________________________________________
> libcamera-devel mailing list
> libcamera-devel at lists.libcamera.org
> https://lists.libcamera.org/listinfo/libcamera-devel
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <https://lists.libcamera.org/pipermail/libcamera-devel/attachments/20190326/9113958c/attachment.sig>
More information about the libcamera-devel
mailing list