[Release] wrt-commons_0.2.80 submit/tizen_2.0/20121214.013932
authorJihoon Chung <jihoon.chung@samsung.com>
Fri, 14 Dec 2012 01:38:54 +0000 (10:38 +0900)
committerJihoon Chung <jihoon.chung@samsung.com>
Fri, 14 Dec 2012 01:38:54 +0000 (10:38 +0900)
Change-Id: I3ace2eb10ec8b429717c397cb28d41e7a1b48f57

debian/changelog
modules/widget_dao/dao/config_parser_data.cpp
modules/widget_dao/dao/widget_dao.cpp
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
packaging/wrt-commons.spec

index 215553f2af5bfbe8d12113fe43c2eb44cbd9d88d..f1c63cfec3089bdb1572eb0b67a781842c5ecc4d 100644 (file)
@@ -1,3 +1,12 @@
+wrt-commons (0.2.80) unstable; urgency=low
+
+  * Implement privilege database table
+
+  * Git : framework/web/wrt-commons
+  * Tag : wrt-commons_0.2.80
+
+ -- Jihoon Chung <jihoon.chung@samsung.com>  Fri, 14 Dec 2012 10:30:48 +0900
+
 wrt-commons (0.2.79) unstable; urgency=low
 
   * Replacing DbWidgetHandle with WidgetPkgName in SecurityOriginDAO
index 4d0968bb7bb9a563bba1b2604dd227726151abf9..9e2e2a429fa7493b45264e940c2a670cb09ea661 100644 (file)
@@ -299,6 +299,36 @@ bool ConfigParserData::Feature::operator<=(const Feature& other) const
     return paramsList <= other.paramsList;
 }
 
+bool ConfigParserData::Privilege::operator==(const Privilege& other) const
+{
+    return name == other.name;
+}
+
+bool ConfigParserData::Privilege::operator!=(const Privilege& other) const
+{
+    return name != other.name;
+}
+
+bool ConfigParserData::Privilege::operator >(const Privilege& other) const
+{
+    return name > other.name;
+}
+
+bool ConfigParserData::Privilege::operator>=(const Privilege& other) const
+{
+    return name >= other.name;
+}
+
+bool ConfigParserData::Privilege::operator <(const Privilege& other) const
+{
+    return name < other.name;
+}
+
+bool ConfigParserData::Privilege::operator<=(const Privilege& other) const
+{
+    return name < other.name;
+}
+
 bool ConfigParserData::Icon::operator==(const Icon& other) const
 {
     return src == other.src;
index db2e6821d3c9bc43ea9dc53e85df935ed671dcc9..5f8ca9b7144a7b4d882403863aa1a107f2657243 100644 (file)
@@ -338,6 +338,8 @@ void WidgetDAO::registerWidgetInternal(
 
     registerWidgetFeatures(widgetHandle, widgetRegInfo);
 
+    registerWidgetPrivilege(widgetHandle, widgetRegInfo);
+
     registerWidgetWindowModes(widgetHandle, widgetRegInfo);
 
     registerWidgetWarpInfo(widgetHandle, widgetRegInfo);
@@ -629,6 +631,22 @@ void WidgetDAO::registerWidgetFeatures(DbWidgetHandle widgetHandle,
     }
 }
 
+void WidgetDAO::registerWidgetPrivilege(DbWidgetHandle widgetHandle,
+                                        const WidgetRegisterInfo &regInfo)
+{
+    using namespace DPL::DB::ORM;
+    const ConfigParserData& widgetConfigurationInfo = regInfo.configInfo;
+
+    FOREACH(it, widgetConfigurationInfo.privilegeList)
+    {
+        wrt::WidgetPrivilege::Row widgetPrivilege;
+        widgetPrivilege.Set_app_id(widgetHandle);
+        widgetPrivilege.Set_name(it->name);
+
+        DO_INSERT(widgetPrivilege, wrt::WidgetPrivilege)
+    }
+}
+
 void WidgetDAO::updateFeatureRejectStatus(const DbWidgetFeature &widgetFeature){
     // This function could be merged with registerWidgetFeature but it requires desing change:
     // 1. Check "ace step" in installer must be done before "update database step"
index f82ea01a03054ce2d61e0caec2a2de9ef1126e78..918ae0d97097b0e39eba47dac5b2334391af2ed9 100644 (file)
@@ -77,6 +77,22 @@ class ConfigParserData
     };
     typedef std::set<Feature> FeaturesList;
 
+    struct Privilege
+    {
+        Privilege(const DPL::String& _name) : name(_name)
+        {
+        }
+        DPL::String name;
+
+        bool operator==(const Privilege&) const;
+        bool operator!=(const Privilege&) const;
+        bool operator >(const Privilege&) const;
+        bool operator>=(const Privilege&) const;
+        bool operator <(const Privilege&) const;
+        bool operator<=(const Privilege&) const;
+    };
+    typedef std::set<Privilege> PrivilegeList;
+
     struct Icon
     {
         Icon(const DPL::String& _src) : src(_src)
@@ -202,6 +218,7 @@ class ConfigParserData
     DPL::OptionalString authorEmail;
 
     FeaturesList featuresList;
+    PrivilegeList privilegeList;
 
     SettingsList settingsList;
 
index e6776d8e86cff20e5b3c2e661f66f60f58f10123..3f7b819acec3596528c131f77fd268a18db1f7b9 100644 (file)
@@ -175,6 +175,9 @@ class WidgetDAO : public WidgetDAOReadOnly
     static void registerWidgetFeatures(
             DbWidgetHandle widgetHandle,
             const WidgetRegisterInfo &regInfo);
+    static void registerWidgetPrivilege(
+            DbWidgetHandle widgetHandle,
+            const WidgetRegisterInfo &regInfo);
     static void registerWidgetWindowModes(
             DbWidgetHandle widgetHandle,
             const WidgetRegisterInfo &regInfo);
index 9f35e25c7480a384625581b727f83159872d6720..06c12bc45c15d7c1f6eb837a3464677e34d0bcce 100644 (file)
@@ -124,12 +124,20 @@ CREATE_TABLE(FeatureParam)
     COLUMN_NOT_NULL(widget_feature_id,  INTEGER,)
     COLUMN_NOT_NULL(name,         TEXT,)
     COLUMN_NOT_NULL(value,        TEXT,)
-
     TABLE_CONSTRAINTS(
         FOREIGN KEY (widget_feature_id) REFERENCES WidgetFeature (widget_feature_id) ON DELETE CASCADE
     )
 CREATE_TABLE_END()
 
+CREATE_TABLE(WidgetPrivilege)
+    COLUMN_NOT_NULL(widget_privilege_id, INTEGER,        primary key autoincrement)
+    COLUMN_NOT_NULL(app_id,              INT,)
+    COLUMN_NOT_NULL(name,                VARCHAR(256),)
+    TABLE_CONSTRAINTS(
+        FOREIGN KEY (app_id) REFERENCES WidgetInfo (app_id) ON DELETE CASCADE
+    )
+CREATE_TABLE_END()
+
 CREATE_TABLE(WidgetIcon)
     COLUMN_NOT_NULL(icon_id,        INTEGER,   primary key autoincrement)
     COLUMN_NOT_NULL(app_id,         INT,)
index 5bd9057b09769525ca9a0df286f2808b2b3d2c8f..fd89e0078d47bbf203f0def8b28323eaee4cc836 100644 (file)
@@ -1,7 +1,7 @@
-#git:framework/web/wrt-commons wrt-commons 0.2.79
+#git:framework/web/wrt-commons wrt-commons 0.2.80
 Name:       wrt-commons
 Summary:    Wrt common library
-Version:    0.2.79
+Version:    0.2.80
 Release:    1
 Group:      Development/Libraries
 License:    Apache License, Version 2.0