diff options
author | Niklas Söderlund <niklas.soderlund@ragnatech.se> | 2020-04-24 01:40:46 +0200 |
---|---|---|
committer | Niklas Söderlund <niklas.soderlund@ragnatech.se> | 2020-05-01 12:24:07 +0200 |
commit | 693ab8816246b032459d3e1c8b1cafa9833a0325 (patch) | |
tree | 85b6ad39ca64d138194681b5493dde107f14cf26 /src/cam/stream_options.h | |
parent | cdf7fbe35e60e9341809446a66a3e0637a74d743 (diff) |
cam: Add helper class to parse stream configuration
Create a new helper class StreamKeyValueParser to parse command line
options describing stream configurations. The goal is to share this new
class between cam and qcam.
Signed-off-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Diffstat (limited to 'src/cam/stream_options.h')
-rw-r--r-- | src/cam/stream_options.h | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/src/cam/stream_options.h b/src/cam/stream_options.h new file mode 100644 index 00000000..577391f0 --- /dev/null +++ b/src/cam/stream_options.h @@ -0,0 +1,32 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ +/* + * Copyright (C) 2020, Raspberry Pi (Trading) Ltd. + * + * stream_options.h - Helper to parse options for streams + */ +#ifndef __CAM_STREAM_OPTIONS_H__ +#define __CAM_STREAM_OPTIONS_H__ + +#include <libcamera/camera.h> + +#include "options.h" + +using namespace libcamera; + +class StreamKeyValueParser : public KeyValueParser +{ +public: + StreamKeyValueParser(); + + KeyValueParser::Options parse(const char *arguments) override; + + static StreamRoles roles(const OptionValue &values); + static int updateConfiguration(CameraConfiguration *config, + const OptionValue &values); + +private: + static bool parseRole(StreamRole *role, + const KeyValueParser::Options &options); +}; + +#endif /* __CAM_STREAM_OPTIONS_H__ */ |