#ifndef LCAMERA_DEV_SELECTOR_PARSE_H
#define LCAMERA_DEV_SELECTOR_PARSE_H

#include <string>
#include <vector>

namespace lcamera_dev {

enum class SelectorCriterionKind
{
	LibcameraId,
	Index,
	Model,
	ModelSubstr,
	Location,
};

struct SelectorCriterion
{
	SelectorCriterionKind kind = SelectorCriterionKind::LibcameraId;
	std::string value;
};

std::vector<SelectorCriterion> parseDeviceSelector(
	const std::string& deviceSelector);

std::string trimWhitespace(const std::string& text);

} // namespace lcamera_dev

#endif // LCAMERA_DEV_SELECTOR_PARSE_H
