Store theme info as a raw bundle at db 56/237356/1
authorSangyoon Jang <jeremy.jang@samsung.com>
Mon, 29 Jun 2020 10:46:33 +0000 (19:46 +0900)
committerSangyoon Jang <jeremy.jang@samsung.com>
Mon, 29 Jun 2020 10:46:33 +0000 (19:46 +0900)
Change-Id: I39a8eeb4d5ef48ea84f69fe58f0af94de08cefe9
Signed-off-by: Sangyoon Jang <jeremy.jang@samsung.com>
src/theme_provider/db_manager.cc

index 3c3d31dbb665b827736c9433c8d81c9a10a049db..270158e8d7b132d9a6d6335f4c43ef308db804e4 100644 (file)
@@ -42,11 +42,9 @@ const char kUpdateQuery[] =
 const char kDeleteQuery[] =
     "DELETE FROM theme WHERE id = ?";
 const char kSelectQuery[] =
-    "SELECT id, pkgid, version, tool_version, title, description, preview, "
-    "  resolution, details FROM theme WHERE id = ?";
+    "SELECT details FROM theme WHERE id = ?";
 const char kSelectDefaultQuery[] =
-    "SELECT id, pkgid, version, tool_version, title, description, preview, "
-    "  resolution, details FROM theme WHERE is_default = 'true'";
+    "SELECT details FROM theme WHERE is_default = 'true'";
 const char kSelectIdsQuery[] = "SELECT id FROM theme";
 const char kCreateThemeSettingTableQuery[] =
     "CREATE TABLE IF NOT EXISTS theme_setting (\n"
@@ -100,7 +98,9 @@ bool DbManager::Insert(const tizen_base::Bundle& info) {
     return false;
   if (!stmt->BindString(idx++, info.GetString("is_default")))
     return false;
-  if (!stmt->BindBlob(idx++, info.GetByte("details")))
+  auto raw = const_cast<tizen_base::Bundle&>(info).ToRaw();
+  std::vector<unsigned char> v(raw.first.get(), raw.first.get() + raw.second);
+  if (!stmt->BindBlob(idx++, v))
     return false;
 
   if (stmt->Step() != SQLiteStatement::StepResult::DONE) {
@@ -131,7 +131,9 @@ bool DbManager::Update(const tizen_base::Bundle& info) {
     return false;
   if (!stmt->BindString(idx++, info.GetString("resolution")))
     return false;
-  if (!stmt->BindBlob(idx++, info.GetByte("details")))
+  auto raw = const_cast<tizen_base::Bundle&>(info).ToRaw();
+  std::vector<unsigned char> v(raw.first.get(), raw.first.get() + raw.second);
+  if (!stmt->BindBlob(idx++, v))
     return false;
   if (!stmt->BindString(idx++, info.GetString("id")))
     return false;
@@ -181,16 +183,9 @@ tizen_base::Bundle DbManager::Select(const std::string& id) {
   }
 
   int idx = 0;
-  tizen_base::Bundle b = tizen_base::Bundle();
-  b.Add("id", stmt->GetColumnString(idx++));
-  b.Add("pkgid", stmt->GetColumnString(idx++));
-  b.Add("version", stmt->GetColumnString(idx++));
-  b.Add("tool_version", stmt->GetColumnString(idx++));
-  b.Add("title", stmt->GetColumnString(idx++));
-  b.Add("description", stmt->GetColumnString(idx++));
-  b.Add("preview", stmt->GetColumnString(idx++));
-  b.Add("resolution", stmt->GetColumnString(idx++));
-  b.Add("details", stmt->GetColumnBlob(idx++));
+  std::vector<unsigned char> v = stmt->GetColumnBlob(idx++);
+  std::string raw(reinterpret_cast<char const*>(v.data()), v.size());
+  tizen_base::Bundle b(raw);
 
   return b;
 }
@@ -209,16 +204,9 @@ tizen_base::Bundle DbManager::SelectDefault() {
   }
 
   int idx = 0;
-  tizen_base::Bundle b = tizen_base::Bundle();
-  b.Add("id", stmt->GetColumnString(idx++));
-  b.Add("pkgid", stmt->GetColumnString(idx++));
-  b.Add("version", stmt->GetColumnString(idx++));
-  b.Add("tool_version", stmt->GetColumnString(idx++));
-  b.Add("title", stmt->GetColumnString(idx++));
-  b.Add("description", stmt->GetColumnString(idx++));
-  b.Add("preview", stmt->GetColumnString(idx++));
-  b.Add("resolution", stmt->GetColumnString(idx++));
-  b.Add("details", stmt->GetColumnBlob(idx++));
+  std::vector<unsigned char> v = stmt->GetColumnBlob(idx++);
+  std::string raw(reinterpret_cast<char const*>(v.data()), v.size());
+  tizen_base::Bundle b(raw);
 
   return b;
 }