blob: 1a7b6a63ae951e88f72759ba4add5f5b68cc85ed [file] [log] [blame]
/* SPDX-License-Identifier: LGPL-2.1-or-later */
/*
* Copyright (C) 2020, Google Inc.
*
* v4l2_camera_file.h - V4L2 compatibility camera file information
*/
#pragma once
#include <string>
#include <linux/videodev2.h>
class V4L2CameraProxy;
class V4L2CameraFile
{
public:
V4L2CameraFile(int dirfd, const char *path, int efd, bool nonBlocking,
V4L2CameraProxy *proxy);
~V4L2CameraFile();
V4L2CameraProxy *proxy() const { return proxy_; }
bool nonBlocking() const { return nonBlocking_; }
int efd() const { return efd_; }
enum v4l2_priority priority() const { return priority_; }
void setPriority(enum v4l2_priority priority) { priority_ = priority; }
const std::string &description() const;
private:
V4L2CameraProxy *proxy_;
std::string description_;
bool nonBlocking_;
int efd_;
enum v4l2_priority priority_;
};