summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/lc-compliance/environment.cpp20
-rw-r--r--src/lc-compliance/environment.h31
-rw-r--r--src/lc-compliance/meson.build1
3 files changed, 52 insertions, 0 deletions
diff --git a/src/lc-compliance/environment.cpp b/src/lc-compliance/environment.cpp
new file mode 100644
index 00000000..9e24b5e3
--- /dev/null
+++ b/src/lc-compliance/environment.cpp
@@ -0,0 +1,20 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+/*
+ * Copyright (C) 2021, Collabora Ltd.
+ *
+ * environment.cpp - Common environment for tests
+ */
+
+#include "environment.h"
+
+Environment *Environment::get()
+{
+ static Environment instance;
+ return &instance;
+}
+
+void Environment::setup(CameraManager *cm, std::string cameraId)
+{
+ cm_ = cm;
+ cameraId_ = cameraId;
+}
diff --git a/src/lc-compliance/environment.h b/src/lc-compliance/environment.h
new file mode 100644
index 00000000..1c7d9a55
--- /dev/null
+++ b/src/lc-compliance/environment.h
@@ -0,0 +1,31 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+/*
+ * Copyright (C) 2021, Collabora Ltd.
+ *
+ * environment.h - Common environment for tests
+ */
+#ifndef __LC_COMPLIANCE_ENVIRONMENT_H__
+#define __LC_COMPLIANCE_ENVIRONMENT_H__
+
+#include <libcamera/libcamera.h>
+
+using namespace libcamera;
+
+class Environment
+{
+public:
+ static Environment *get();
+
+ void setup(CameraManager *cm, std::string cameraId);
+
+ const std::string &cameraId() const { return cameraId_; }
+ CameraManager *cm() const { return cm_; }
+
+private:
+ Environment() = default;
+
+ std::string cameraId_;
+ CameraManager *cm_;
+};
+
+#endif /* __LC_COMPLIANCE_ENVIRONMENT_H__ */
diff --git a/src/lc-compliance/meson.build b/src/lc-compliance/meson.build
index f3a7cbde..3e7bdb03 100644
--- a/src/lc-compliance/meson.build
+++ b/src/lc-compliance/meson.build
@@ -12,6 +12,7 @@ lc_compliance_enabled = true
lc_compliance_sources = files([
'../cam/event_loop.cpp',
'../cam/options.cpp',
+ 'environment.cpp',
'main.cpp',
'results.cpp',
'simple_capture.cpp',