@@ -7,8 +7,6 @@ 
 
 #pragma once
 
-#include <libcamera/camera_manager.h>
-
 #include <memory>
 #include <sys/types.h>
 #include <vector>
@@ -18,6 +16,9 @@ 
 #include <libcamera/base/thread.h>
 #include <libcamera/base/thread_annotations.h>
 
+#include <libcamera/camera_manager.h>
+
+#include "libcamera/internal/global_configuration.h"
 #include "libcamera/internal/process.h"
 
 namespace libcamera {
@@ -38,6 +39,11 @@  public:
 	void addCamera(std::shared_ptr<Camera> camera) LIBCAMERA_TSA_EXCLUDES(mutex_);
 	void removeCamera(std::shared_ptr<Camera> camera) LIBCAMERA_TSA_EXCLUDES(mutex_);
 
+	const GlobalConfiguration &configuration() const
+	{
+		return configuration_;
+	}
+
 	IPAManager *ipaManager() const { return ipaManager_.get(); }
 
 protected:
@@ -65,6 +71,8 @@  private:
 	std::unique_ptr<DeviceEnumerator> enumerator_;
 
 	std::unique_ptr<IPAManager> ipaManager_;
+
+	const GlobalConfiguration configuration_;
 };
 
 } /* namespace libcamera */
@@ -15,6 +15,7 @@ 
 
 #include "libcamera/internal/camera.h"
 #include "libcamera/internal/device_enumerator.h"
+#include "libcamera/internal/global_configuration.h"
 #include "libcamera/internal/ipa_manager.h"
 #include "libcamera/internal/pipeline_handler.h"
 
@@ -258,6 +259,13 @@  void CameraManager::Private::removeCamera(std::shared_ptr<Camera> camera)
 	o->cameraRemoved.emit(camera);
 }
 
+/**
+ * \fn const GlobalConfiguration &CameraManager::Private::configuration() const
+ * \brief Get global configuration bound to the camera manager
+ *
+ * \return Reference to the configuration
+ */
+
 /**
  * \fn CameraManager::Private::ipaManager() const
  * \brief Retrieve the IPAManager