From 2f848d6beb8a8f049810e117186cac78f7eded1e Mon Sep 17 00:00:00 2001
From: Vivien Didelot <vivien.didelot@savoirfairelinux.com>
Date: Wed, 11 Jun 2014 17:00:29 -0400
Subject: [PATCH] video_device_monitor: hide getCapabilities

This patch moves away the getCapabilities implementation, allowing the
monitor to get rid of the V4L2 specific getters for channel, size and
rate lists.

Refs #49517

Change-Id: Ic4a3e939e762493f54c733bcc5a71e7e34816434
---
 .../src/video/v4l2/video_device_monitor.cpp   | 28 ++++++++-----------
 daemon/src/video/video_device_monitor.cpp     | 12 --------
 daemon/src/video/video_device_monitor.h       |  4 ---
 3 files changed, 11 insertions(+), 33 deletions(-)

diff --git a/daemon/src/video/v4l2/video_device_monitor.cpp b/daemon/src/video/v4l2/video_device_monitor.cpp
index 4e3524cd14..f490e777c4 100644
--- a/daemon/src/video/v4l2/video_device_monitor.cpp
+++ b/daemon/src/video/v4l2/video_device_monitor.cpp
@@ -424,27 +424,21 @@ VideoDeviceMonitor::getDeviceList() const
     return monitorImpl_->getDeviceList();
 }
 
-std::vector<std::string>
-VideoDeviceMonitor::getChannelList(const std::string &dev) const
-{
-    return monitorImpl_->getChannelList(dev);
-}
+/*
+ * Interface for a single device.
+ */
 
-std::vector<std::string>
-VideoDeviceMonitor::getSizeList(const std::string &dev, const std::string &channel) const
+VideoCapabilities
+VideoDeviceMonitor::getCapabilities(const std::string& name) const
 {
-    return monitorImpl_->getSizeList(dev, channel);
-}
+    VideoCapabilities cap;
 
-std::vector<std::string>
-VideoDeviceMonitor::getRateList(const std::string &dev, const std::string &channel, const std::string &size) const
-{
-    return monitorImpl_->getRateList(dev, channel, size);
-}
+    for (const auto& chan : monitorImpl_->getChannelList(name))
+        for (const auto& size : monitorImpl_->getSizeList(name, chan))
+            cap[chan][size] = monitorImpl_->getRateList(name, chan, size);
 
-/*
- * Interface for a single device.
- */
+    return cap;
+}
 
 std::map<std::string, std::string>
 VideoDeviceMonitor::deviceToSettings(const VideoDevice& dev) const
diff --git a/daemon/src/video/video_device_monitor.cpp b/daemon/src/video/video_device_monitor.cpp
index cef448048c..24fb237203 100644
--- a/daemon/src/video/video_device_monitor.cpp
+++ b/daemon/src/video/video_device_monitor.cpp
@@ -44,18 +44,6 @@ using namespace sfl_video;
  * Interface for a single device.
  */
 
-VideoCapabilities
-VideoDeviceMonitor::getCapabilities(const std::string& name) const
-{
-    VideoCapabilities cap;
-
-    for (const auto& chan : getChannelList(name))
-        for (const auto& size : getSizeList(name, chan))
-            cap[chan][size] = getRateList(name, chan, size);
-
-    return cap;
-}
-
 VideoDeviceMonitor::VideoDevice
 VideoDeviceMonitor::defaultPreferences(const std::string& name) const
 {
diff --git a/daemon/src/video/video_device_monitor.h b/daemon/src/video/video_device_monitor.h
index 6b488d650f..176b36de56 100644
--- a/daemon/src/video/video_device_monitor.h
+++ b/daemon/src/video/video_device_monitor.h
@@ -106,10 +106,6 @@ class VideoDeviceMonitor : public Serializable
         std::vector<VideoDevice>::iterator lookupDevice(const std::string& name);
         std::vector<VideoDevice>::const_iterator lookupDevice(const std::string& name) const;
 
-        std::vector<std::string> getChannelList(const std::string& name) const;
-        std::vector<std::string> getSizeList(const std::string& name, const std::string& channel) const;
-        std::vector<std::string> getRateList(const std::string& name, const std::string& channel, const std::string& size) const;
-
         bool validatePreference(const VideoDevice& dev) const;
         std::map<std::string, std::string> deviceToSettings(const VideoDevice& dev) const;
         static void addDeviceToSequence(const VideoDevice& dev, Conf::SequenceNode& seq);
-- 
GitLab