Duplicated code in plugin loader
authorPrzemyslaw Ciezkowski <p.ciezkowski@samsung.com>
Mon, 19 Nov 2012 14:13:06 +0000 (15:13 +0100)
committerGerrit Code Review <gerrit2@kim11>
Mon, 3 Dec 2012 09:29:05 +0000 (18:29 +0900)
[Issue#] N/A
[Bug] Duplicated code for retrieving allowed features.
[Cause] N/A
[Solution] Moved duplicated code to PluginContainerSupport class.
[Verification] Run a widget which requires plugins.

Change-Id: I3b76ed18c0376a70975e3f6e98740e4b7671a556

src/plugin-loading/js_page_session.cpp
src/plugin-loading/plugin_container_support.cpp
src/plugin-loading/plugin_container_support.h

index 311ee7f..32453a2 100644 (file)
@@ -219,26 +219,8 @@ void JSPageSession::Impl::installRequestedFeatures()
 {
     LogInfo("Installing requested widget features...");
 
-    //TODO it have to return LIST NOT SET!!!
-    WidgetDAOReadOnly widgetDao(m_widgetHandle);
-    DbWidgetFeatureSet features = widgetDao.getFeaturesList();
-
-    std::list<std::string> allowedFeatures;
-
-    FOREACH(it, features)
-    {
-        LogInfo("Loading api-feature: " << it->name);
-        if (it->rejected) {
-            LogWarning("Api-feature was rejected by ace. (Api-feature name: "
-                       << it->name << ")" );
-            continue;
-        }
-
-        allowedFeatures.push_back(DPL::ToUTF8String(it->name));
-    }
-
-    auto widgetType =  widgetDao.getWidgetType();
-
+    std::list<std::string> allowedFeatures =
+            m_pluginsSupport->getAllowedFeatures(m_widgetHandle);
     PluginContainerSupport::PluginsList allowedPlugins;
 
     FOREACH(feature, allowedFeatures)
index b91e4dc..282ec48 100644 (file)
@@ -52,7 +52,7 @@ PluginContainerSupport::~PluginContainerSupport()
     m_standardFeatureList.clear();
 }
 
-void PluginContainerSupport::readAllowedPlugins(int widgetHandle)
+std::list<std::string> PluginContainerSupport::getAllowedFeatures(int widgetHandle) const
 {
     //TODO it has to return LIST NOT SET!!!
     WidgetDAOReadOnly widgetDao(widgetHandle);
@@ -69,9 +69,12 @@ void PluginContainerSupport::readAllowedPlugins(int widgetHandle)
 
         allowedFeatures.push_back(DPL::ToUTF8String(it->name));
     }
+    return allowedFeatures;
+}
 
-    auto widgetType =  widgetDao.getWidgetType();
-
+void PluginContainerSupport::readAllowedPlugins(int widgetHandle)
+{
+    std::list<std::string> allowedFeatures = getAllowedFeatures(widgetHandle);
     FeatureData* dt = NULL;
     std::map<FeatureHandle, FeatureData> featureDataList = FeatureDAOReadOnly::GetFeatures(allowedFeatures);
     DeviceCapList deviceCapabilities = FeatureDAOReadOnly::GetDevCapWithFeatureHandle();
index 5192bcd..1211318 100644 (file)
@@ -72,6 +72,7 @@ public:
     PluginContainerSupport();
 
     bool isInitialized() { return m_initialized; }
+    std::list<std::string> getAllowedFeatures(int widgetHandle) const;
     void readAllowedPlugins(int widgetHandle);
 
     FeaturesList getStandardFeatures() const;