summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/libcamera/camera.h29
1 files changed, 29 insertions, 0 deletions
diff --git a/include/libcamera/camera.h b/include/libcamera/camera.h
index 0386671c..6038da63 100644
--- a/include/libcamera/camera.h
+++ b/include/libcamera/camera.h
@@ -24,6 +24,35 @@ class Stream;
class StreamConfiguration;
class StreamUsage;
+class CameraConfiguration
+{
+public:
+ using iterator = std::vector<Stream *>::iterator;
+ using const_iterator = std::vector<Stream *>::const_iterator;
+
+ CameraConfiguration();
+
+ iterator begin();
+ iterator end();
+ const_iterator begin() const;
+ const_iterator end() const;
+
+ bool isValid() const;
+ bool isEmpty() const;
+ std::size_t size() const;
+
+ Stream *front();
+ const Stream *front() const;
+
+ Stream *operator[](unsigned int index) const;
+ StreamConfiguration &operator[](Stream *stream);
+ const StreamConfiguration &operator[](Stream *stream) const;
+
+private:
+ std::vector<Stream *> order_;
+ std::map<Stream *, StreamConfiguration> config_;
+};
+
class Camera final
{
public: