1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "chrome/browser/history/android/android_history_types.h"
10 // The column name defined in android.provider.Browser.BookmarkColumns
11 const char* const kAndroidBookmarkColumn[] = {
23 // The column name defined in android.provider.Browser.SearchColumns
24 const char* const kAndroidSearchColumn[] = {
30 class BookmarkIDMapping : public std::map<std::string,
31 HistoryAndBookmarkRow::ColumnID> {
34 COMPILE_ASSERT(arraysize(kAndroidBookmarkColumn) <=
35 HistoryAndBookmarkRow::COLUMN_END,
36 Array_size_must_not_exceed_enum);
37 for (size_t i = 0; i < arraysize(kAndroidBookmarkColumn); ++i) {
38 (*this)[kAndroidBookmarkColumn[i]] =
39 static_cast<HistoryAndBookmarkRow::ColumnID>(i);
44 // The mapping from Android column name to ColumnID; It is initialized
46 BookmarkIDMapping* g_bookmark_id_mapping = NULL;
48 class SearchIDMapping : public std::map<std::string,
49 SearchRow::ColumnID> {
52 COMPILE_ASSERT(arraysize(kAndroidSearchColumn) <= SearchRow::COLUMN_END,
53 Array_size_must_not_exceed_enum);
54 for (size_t i = 0; i < arraysize(kAndroidSearchColumn); ++i) {
55 (*this)[kAndroidSearchColumn[i]] =
56 static_cast<SearchRow::ColumnID>(i);
61 // The mapping from Android column name to ColumnID; It is initialized
63 SearchIDMapping* g_search_id_mapping = NULL;
67 HistoryAndBookmarkRow::HistoryAndBookmarkRow()
69 created_(base::Time()),
70 last_visit_time_(base::Time()),
77 HistoryAndBookmarkRow::~HistoryAndBookmarkRow() {
80 std::string HistoryAndBookmarkRow::GetAndroidName(ColumnID id) {
81 return kAndroidBookmarkColumn[id];
84 HistoryAndBookmarkRow::ColumnID HistoryAndBookmarkRow::GetColumnID(
85 const std::string& name) {
86 if (!g_bookmark_id_mapping)
87 g_bookmark_id_mapping = new BookmarkIDMapping();
89 BookmarkIDMapping::const_iterator i = g_bookmark_id_mapping->find(name);
90 if (i == g_bookmark_id_mapping->end())
91 return HistoryAndBookmarkRow::COLUMN_END;
96 SearchRow::SearchRow()
101 SearchRow::~SearchRow() {
104 std::string SearchRow::GetAndroidName(ColumnID id) {
105 return kAndroidSearchColumn[id];
108 SearchRow::ColumnID SearchRow::GetColumnID(
109 const std::string& name) {
110 if (!g_search_id_mapping)
111 g_search_id_mapping = new SearchIDMapping();
113 SearchIDMapping::const_iterator i = g_search_id_mapping->find(name);
114 if (i == g_search_id_mapping->end())
115 return SearchRow:: COLUMN_END;
120 AndroidURLRow::AndroidURLRow()
125 AndroidURLRow::~AndroidURLRow() {
128 SearchTermRow::SearchTermRow()
132 SearchTermRow::~SearchTermRow() {
135 AndroidStatement::AndroidStatement(sql::Statement* statement, int favicon_index)
136 : statement_(statement),
137 favicon_index_(favicon_index) {
140 AndroidStatement::~AndroidStatement() {
143 } // namespace history.