Disposition attribute in AppControlInfo
authorLukasz Marek <l.marek@samsung.com>
Wed, 13 Mar 2013 14:28:05 +0000 (15:28 +0100)
committerGerrit Code Review <gerrit2@kim11>
Wed, 10 Apr 2013 12:16:20 +0000 (21:16 +0900)
[Issue#] N/A
[Problem] N/A
[Cause] Disposition attribute is only supported in ServiceInfo, but not in AppControlInfo
[Solution] Disposition attribute added to AppControlInfo

Change-Id: Ie2978be6a500bf536ea9b30eb3a289216e160d69

modules/widget_dao/dao/config_parser_data.cpp
modules/widget_dao/dao/widget_dao.cpp
modules/widget_dao/dao/widget_dao_read_only.cpp
modules/widget_dao/include/dpl/wrt-dao-ro/common_dao_types.h
modules/widget_dao/include/dpl/wrt-dao-ro/config_parser_data.h
modules/widget_dao/include/dpl/wrt-dao-rw/widget_dao.h
modules/widget_dao/orm/wrt_db

index 354238d..969e20b 100644 (file)
@@ -387,10 +387,28 @@ bool ConfigParserData::ServiceInfo::operator== (const ServiceInfo& info) const
 
 bool ConfigParserData::ServiceInfo::operator!= (const ServiceInfo& info) const
 {
-    return m_src != info.m_src &&
-           m_operation != info.m_operation &&
-           m_scheme != info.m_scheme &&
-           m_mime != info.m_mime &&
+    return m_src != info.m_src ||
+           m_operation != info.m_operation ||
+           m_scheme != info.m_scheme ||
+           m_mime != info.m_mime ||
+           m_disposition != info.m_disposition;
+}
+
+bool ConfigParserData::AppControlInfo::operator== (const AppControlInfo& info) const
+{
+    return m_src == info.m_src &&
+           m_operation == info.m_operation &&
+           m_uriList == info.m_uriList &&
+           m_mimeList == info.m_mimeList &&
+           m_disposition == info.m_disposition;
+}
+
+bool ConfigParserData::AppControlInfo::operator!= (const AppControlInfo& info) const
+{
+    return m_src != info.m_src ||
+           m_operation != info.m_operation ||
+           m_uriList != info.m_uriList ||
+           m_mimeList != info.m_mimeList ||
            m_disposition != info.m_disposition;
 }
 
index 3c84520..e5ca1af 100644 (file)
@@ -678,7 +678,9 @@ void WidgetDAO::insertApplicationServiceInfo(DbWidgetHandle handle,
                                              DPL::String src,
                                              DPL::String operation,
                                              DPL::String scheme,
-                                             DPL::String mime)
+                                             DPL::String mime,
+                                             unsigned index,
+                                             unsigned disposition)
 {
     using namespace DPL::DB::ORM;
     using namespace DPL::DB::ORM::wrt;
@@ -686,10 +688,12 @@ void WidgetDAO::insertApplicationServiceInfo(DbWidgetHandle handle,
     ApplicationServiceInfo::Row row;
 
     row.Set_app_id(handle);
+    row.Set_service_index(index);
     row.Set_src(src);
     row.Set_operation(operation);
     row.Set_scheme(scheme);
     row.Set_mime(mime);
+    row.Set_disposition(disposition);
 
     DO_INSERT(row, ApplicationServiceInfo);
 }
@@ -706,6 +710,7 @@ void WidgetDAO::registerAppService(DbWidgetHandle widgetHandle,
     {
         ApplicationServiceInfo::Row row;
         row.Set_app_id(widgetHandle);
+        row.Set_service_index(ASIt->m_index);
         row.Set_src(ASIt->m_src);
         row.Set_operation(ASIt->m_operation);
         row.Set_scheme(ASIt->m_scheme);
@@ -720,6 +725,9 @@ void WidgetDAO::registerAppService(DbWidgetHandle widgetHandle,
     {
         DPL::String src       = appControl_it->m_src;
         DPL::String operation = appControl_it->m_operation;
+        unsigned index        = appControl_it->m_index;
+        unsigned disposition  = appControl_it->m_disposition ==
+            ConfigParserData::AppControlInfo::Disposition::INLINE ? 1 : 0;
 
         if (!appControl_it->m_uriList.empty())
         {
@@ -733,14 +741,14 @@ void WidgetDAO::registerAppService(DbWidgetHandle widgetHandle,
                     {
                         DPL::String mime = *mime_it;
 
-                        insertApplicationServiceInfo(widgetHandle, src, operation, scheme, mime);
+                        insertApplicationServiceInfo(widgetHandle, src, operation, scheme, mime, index, disposition);
                     }
                 }
                 else
                 {
                     DPL::String mime = L"";
 
-                    insertApplicationServiceInfo(widgetHandle, src, operation, scheme, mime);
+                    insertApplicationServiceInfo(widgetHandle, src, operation, scheme, mime, index, disposition);
                 }
             }
         }
@@ -754,14 +762,14 @@ void WidgetDAO::registerAppService(DbWidgetHandle widgetHandle,
                 {
                     DPL::String mime = *mime_it;
 
-                    insertApplicationServiceInfo(widgetHandle, src, operation, scheme, mime);
+                    insertApplicationServiceInfo(widgetHandle, src, operation, scheme, mime, index, disposition);
                 }
             }
             else
             {
                 DPL::String mime = L"";
 
-                insertApplicationServiceInfo(widgetHandle, src, operation, scheme, mime);
+                insertApplicationServiceInfo(widgetHandle, src, operation, scheme, mime, index, disposition);
             }
         }
     }
index 6e4feb9..960a322 100755 (executable)
@@ -1092,6 +1092,7 @@ void WidgetDAOReadOnly::getAppServiceList(
             ret.scheme = it->Get_scheme();
             ret.mime = it->Get_mime();
             ret.disposition = static_cast<WidgetApplicationService::Disposition>(it->Get_disposition());
+            ret.index = it->Get_service_index();
             outAppServiceList.push_back(ret);
         }
 
index 5f73a3c..c345fc8 100644 (file)
@@ -368,6 +368,7 @@ struct WidgetApplicationService
     DPL::String scheme;    /* scheme type*/
     DPL::String mime;      /* mime type */
     Disposition disposition;
+    unsigned index;
 
     bool operator== (const WidgetApplicationService& other) const
     {
index 7cdd25c..a37e252 100644 (file)
@@ -176,13 +176,15 @@ class ConfigParserData
             m_operation(operation),
             m_scheme(scheme),
             m_mime(mime),
-            m_disposition(dispos)
+            m_disposition(dispos),
+            m_index(0)
         {}
         DPL::String m_src;
         DPL::String m_operation;
         DPL::String m_scheme;
         DPL::String m_mime;
         Disposition m_disposition;
+        unsigned m_index;
 
         bool operator==(const ServiceInfo&) const;
         bool operator!=(const ServiceInfo&) const;
@@ -190,14 +192,20 @@ class ConfigParserData
 
     struct AppControlInfo
     {
-        AppControlInfo(
-            const DPL::String& operation) :
-            m_operation(operation)
+        enum class Disposition {
+            WINDOW = 0,
+            INLINE
+        };
+        AppControlInfo(const DPL::String& operation) :
+            m_operation(operation),
+            m_index(0)
         {}
         DPL::String m_src;
         DPL::String m_operation;
         std::set <DPL::String> m_uriList;
         std::set <DPL::String> m_mimeList;
+        Disposition m_disposition;
+        unsigned m_index;
 
         bool operator==(const AppControlInfo&) const;
         bool operator!=(const AppControlInfo&) const;
index 0c37d51..73348e9 100644 (file)
@@ -226,7 +226,9 @@ class WidgetDAO : public WidgetDAOReadOnly
                                              DPL::String src,
                                              DPL::String operation,
                                              DPL::String scheme,
-                                             DPL::String mime);
+                                             DPL::String mime,
+                                             unsigned index,
+                                             unsigned disposition);
 };
 } // namespace WrtDB
 
index 196c1cb..0c40a33 100755 (executable)
@@ -314,6 +314,7 @@ CREATE_TABLE_END()
 
 CREATE_TABLE(ApplicationServiceInfo)
     COLUMN_NOT_NULL(app_id,         INT,)
+    COLUMN_NOT_NULL(service_index,  INT,)
     COLUMN_NOT_NULL(src,            TEXT,)
     COLUMN_NOT_NULL(operation,      TEXT,)
     COLUMN_NOT_NULL(scheme,         TEXT,)