#ifndef LCAMERA_DEV_SELECTOR_RESOLVE_H
#define LCAMERA_DEV_SELECTOR_RESOLVE_H

#include <cameraIdentity.h>
#include <selectorParse.h>
#include <string>
#include <vector>

namespace lcamera_dev {

CameraIdentityRecord resolveSelectorAgainstRecords(
	const std::vector<SelectorCriterion>& criteria,
	const std::vector<CameraIdentityRecord>& records);

CameraIdentityRecord resolveDeviceSelectorAgainstRecords(
	const std::string& deviceSelector,
	const std::vector<CameraIdentityRecord>& records);

std::string formatCameraListForDiagnostics(
	const std::vector<CameraIdentityRecord>& records);

} // namespace lcamera_dev

#endif // LCAMERA_DEV_SELECTOR_RESOLVE_H
