summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>2019-02-09 00:09:13 +0200
committerLaurent Pinchart <laurent.pinchart@ideasonboard.com>2019-02-11 11:23:51 +0200
commitd8f2ed7d0d7f0de7184916da59cd2097529bd1c9 (patch)
tree2cc1f062e19bf7ef874b3b2a410f7cd13dd01e48 /src
parentfd38fa66c38e80ca0974ca9aba2a0009f886028f (diff)
libcamera: pipeline_handler: Reorder member declaration order
Reorder the member declaration order in the PipelineHandler class to match the control flow order, and to declare variables after methods according to the coding style. Update the documentation accordingly, preserving the order within the public, protected and private sections, but grouping related methods together between the sections. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>
Diffstat (limited to 'src')
-rw-r--r--src/libcamera/include/pipeline_handler.h10
-rw-r--r--src/libcamera/pipeline_handler.cpp101
2 files changed, 55 insertions, 56 deletions
diff --git a/src/libcamera/include/pipeline_handler.h b/src/libcamera/include/pipeline_handler.h
index 7f2ec297..4363dcd8 100644
--- a/src/libcamera/include/pipeline_handler.h
+++ b/src/libcamera/include/pipeline_handler.h
@@ -42,6 +42,8 @@ public:
PipelineHandler(CameraManager *manager);
virtual ~PipelineHandler();
+ virtual bool match(DeviceEnumerator *enumerator) = 0;
+
virtual std::map<Stream *, StreamConfiguration>
streamConfiguration(Camera *camera, std::vector<Stream *> &streams) = 0;
virtual int configureStreams(Camera *camera,
@@ -55,20 +57,18 @@ public:
virtual int queueRequest(const Camera *camera, Request *request) = 0;
- virtual bool match(DeviceEnumerator *enumerator) = 0;
-
protected:
- CameraManager *manager_;
-
void registerCamera(std::shared_ptr<Camera> camera);
void hotplugMediaDevice(MediaDevice *media);
CameraData *cameraData(const Camera *camera);
void setCameraData(const Camera *camera, std::unique_ptr<CameraData> data);
+ CameraManager *manager_;
+
private:
- virtual void disconnect();
void mediaDeviceDisconnected(MediaDevice *media);
+ virtual void disconnect();
std::vector<std::weak_ptr<Camera>> cameras_;
std::map<const Camera *, std::unique_ptr<CameraData>> cameraData_;
diff --git a/src/libcamera/pipeline_handler.cpp b/src/libcamera/pipeline_handler.cpp
index cc2d4643..4e111d6d 100644
--- a/src/libcamera/pipeline_handler.cpp
+++ b/src/libcamera/pipeline_handler.cpp
@@ -75,6 +75,36 @@ PipelineHandler::~PipelineHandler()
{
};
+/**
+ * \fn PipelineHandler::match(DeviceEnumerator *enumerator)
+ * \brief Match media devices and create camera instances
+ * \param enumerator The enumerator providing all media devices found in the
+ * system
+ *
+ * This function is the main entry point of the pipeline handler. It is called
+ * by the camera manager with the \a enumerator passed as an argument. It shall
+ * acquire from the \a enumerator all the media devices it needs for a single
+ * pipeline, create one or multiple Camera instances and register them with the
+ * camera manager.
+ *
+ * If all media devices needed by the pipeline handler are found, they must all
+ * be acquired by a call to MediaDevice::acquire(). This function shall then
+ * create the corresponding Camera instances, store them internally, and return
+ * true. Otherwise it shall not acquire any media device (or shall release all
+ * the media devices is has acquired by calling MediaDevice::release()) and
+ * return false.
+ *
+ * If multiple instances of a pipeline are available in the system, the
+ * PipelineHandler class will be instanciated once per instance, and its match()
+ * function called for every instance. Each call shall acquire media devices for
+ * one pipeline instance, until all compatible media devices are exhausted.
+ *
+ * If this function returns true, a new instance of the pipeline handler will
+ * be created and its match() function called.
+ *
+ * \return true if media devices have been acquired and camera instances
+ * created, or false otherwise
+ */
/**
* \fn PipelineHandler::streamConfiguration()
@@ -177,46 +207,6 @@ PipelineHandler::~PipelineHandler()
*/
/**
- * \fn PipelineHandler::match(DeviceEnumerator *enumerator)
- * \brief Match media devices and create camera instances
- * \param enumerator The enumerator providing all media devices found in the
- * system
- *
- * This function is the main entry point of the pipeline handler. It is called
- * by the camera manager with the \a enumerator passed as an argument. It shall
- * acquire from the \a enumerator all the media devices it needs for a single
- * pipeline, create one or multiple Camera instances and register them with the
- * camera manager.
- *
- * If all media devices needed by the pipeline handler are found, they must all
- * be acquired by a call to MediaDevice::acquire(). This function shall then
- * create the corresponding Camera instances, store them internally, and return
- * true. Otherwise it shall not acquire any media device (or shall release all
- * the media devices is has acquired by calling MediaDevice::release()) and
- * return false.
- *
- * If multiple instances of a pipeline are available in the system, the
- * PipelineHandler class will be instanciated once per instance, and its match()
- * function called for every instance. Each call shall acquire media devices for
- * one pipeline instance, until all compatible media devices are exhausted.
- *
- * If this function returns true, a new instance of the pipeline handler will
- * be created and its match() function called.
- *
- * \return true if media devices have been acquired and camera instances
- * created, or false otherwise
- */
-
-/**
- * \var PipelineHandler::manager_
- * \brief The Camera manager associated with the pipeline handler
- *
- * The camera manager pointer is stored in the pipeline handler for the
- * convenience of pipeline handler implementations. It remains valid and
- * constant for the whole lifetime of the pipeline handler.
- */
-
-/**
* \brief Register a camera to the camera manager and pipeline handler
* \param[in] camera The camera to be added
*
@@ -247,6 +237,17 @@ void PipelineHandler::hotplugMediaDevice(MediaDevice *media)
}
/**
+ * \brief Slot for the MediaDevice disconnected signal
+ */
+void PipelineHandler::mediaDeviceDisconnected(MediaDevice *media)
+{
+ if (cameras_.empty())
+ return;
+
+ disconnect();
+}
+
+/**
* \brief Device disconnection handler
*
* This virtual function is called to notify the pipeline handler that the
@@ -273,17 +274,6 @@ void PipelineHandler::disconnect()
}
/**
- * \brief Slot for the MediaDevice disconnected signal
- */
-void PipelineHandler::mediaDeviceDisconnected(MediaDevice *media)
-{
- if (cameras_.empty())
- return;
-
- disconnect();
-}
-
-/**
* \brief Retrieve the pipeline-specific data associated with a Camera
* \param camera The camera whose data to retrieve
*
@@ -332,6 +322,15 @@ void PipelineHandler::setCameraData(const Camera *camera,
}
/**
+ * \var PipelineHandler::manager_
+ * \brief The Camera manager associated with the pipeline handler
+ *
+ * The camera manager pointer is stored in the pipeline handler for the
+ * convenience of pipeline handler implementations. It remains valid and
+ * constant for the whole lifetime of the pipeline handler.
+ */
+
+/**
* \class PipelineHandlerFactory
* \brief Registration of PipelineHandler classes and creation of instances
*