Chromium Code Reviews| Index: chrome/browser/android_provider_service.cc |
| diff --git a/chrome/browser/android_provider_service.cc b/chrome/browser/android_provider_service.cc |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..f70062f9383282e76a56cc34eb48a2f1997f41ea |
| --- /dev/null |
| +++ b/chrome/browser/android_provider_service.cc |
| @@ -0,0 +1,197 @@ |
| +// Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +#include "chrome/browser/android_provider_service.h" |
| + |
| +#include "chrome/browser/history/history.h" |
| +#include "chrome/browser/profiles/profile.h" |
| + |
| +AndroidProviderService::AndroidProviderService(Profile* profile) |
| + : profile_(profile) { |
| +} |
| + |
| +AndroidProviderService::~AndroidProviderService() { |
| +} |
| + |
| +void AndroidProviderService::QueryHistoryAndBookmarks( |
| + const std::vector<history::HistoryAndBookmarkRow::ColumnID>& projections, |
| + const std::string selection, |
| + const std::vector<string16>& selection_args, |
| + const std::string sort_order, |
| + CancelableRequestConsumerBase* consumer, |
| + const QueryCallback& callback) { |
| + QueryRequest* request = new QueryRequest(callback); |
| + AddRequest(request, consumer); |
| + HistoryService* hs = profile_->GetHistoryService(Profile::EXPLICIT_ACCESS); |
| + if (hs) { |
| + hs->QueryHistoryAndBookmarks(request, projections, selection, |
| + selection_args, sort_order); |
| + } else { |
| + ForwardEmptyQueryResultAsync(request); |
| + } |
| +} |
| + |
| +void AndroidProviderService::UpdateHistoryAndBookmarks( |
| + const history::HistoryAndBookmarkRow& row, |
| + const std::string& selection, |
| + const std::vector<string16>& selection_args, |
| + CancelableRequestConsumerBase* consumer, |
| + const UpdateCallback& callback) { |
| + UpdateRequest* request = new UpdateRequest(callback); |
| + AddRequest(request, consumer); |
| + HistoryService* hs = profile_->GetHistoryService(Profile::EXPLICIT_ACCESS); |
| + if (hs) |
| + hs->UpdateHistoryAndBookmarks(request, row, selection, selection_args); |
| + else |
| + ForwardEmptyUpdateResultAsync(request); |
| +} |
| + |
| +void AndroidProviderService::DeleteHistoryAndBookmarks( |
| + const std::string& selection, |
| + const std::vector<string16>& selection_args, |
| + CancelableRequestConsumerBase* consumer, |
| + const DeleteCallback& callback) { |
| + DeleteRequest* request = new DeleteRequest(callback); |
| + AddRequest(request, consumer); |
| + HistoryService* hs = profile_->GetHistoryService(Profile::EXPLICIT_ACCESS); |
| + if (hs) |
| + hs->DeleteHistoryAndBookmarks(request, selection, selection_args); |
| + else |
| + ForwardEmptyDeleteResultAsync(request); |
| +} |
| + |
| +void AndroidProviderService::InsertHistoryAndBookmark( |
| + const history::HistoryAndBookmarkRow& values, |
| + CancelableRequestConsumerBase* consumer, |
| + const InsertCallback& callback) { |
| + InsertRequest* request = new InsertRequest(callback); |
| + AddRequest(request, consumer); |
| + HistoryService* hs = profile_->GetHistoryService(Profile::EXPLICIT_ACCESS); |
| + if (hs) |
| + hs->InsertHistoryAndBookmark(request, values); |
| + else |
| + ForwardEmptyInsertResultAsync(request); |
| +} |
| + |
| +void AndroidProviderService::DeleteHistory( |
| + const std::string& selection, |
| + const std::vector<string16>& selection_args, |
| + CancelableRequestConsumerBase* consumer, |
| + const DeleteCallback& callback) { |
| + DeleteRequest* request = new DeleteRequest(callback); |
| + AddRequest(request, consumer); |
| + HistoryService* hs = profile_->GetHistoryService(Profile::EXPLICIT_ACCESS); |
| + if (hs) |
| + hs->DeleteHistory(request, selection, selection_args); |
| + else |
| + ForwardEmptyDeleteResultAsync(request); |
| +} |
| + |
| +void AndroidProviderService::MoveStatement( |
| + history::AndroidStatement* statement, |
| + int current_pos, |
| + int destination, |
| + CancelableRequestConsumerBase* consumer, |
| + const MoveStatementCallback& callback) { |
| + MoveStatementRequest* request = new MoveStatementRequest(callback); |
| + AddRequest(request, consumer); |
| + HistoryService* hs = profile_->GetHistoryService(Profile::EXPLICIT_ACCESS); |
| + if (hs) |
| + hs->MoveStatement(request, statement, current_pos, destination); |
| + else |
| + ForwardEmptyMoveStatementResultAsync(request, current_pos); |
| +} |
| + |
| +void AndroidProviderService::CloseStatement( |
| + history::AndroidStatement* statement) { |
| + HistoryService* hs = profile_->GetHistoryService(Profile::EXPLICIT_ACCESS); |
| + if (hs) |
| + hs->CloseStatement(statement); |
| +} |
| + |
| +void AndroidProviderService::InsertSearchTerm( |
| + const history::SearchRow& row, |
| + CancelableRequestConsumerBase* consumer, |
| + const InsertCallback& callback) { |
| + InsertRequest* request = new InsertRequest(callback); |
| + AddRequest(request, consumer); |
| + HistoryService* hs = profile_->GetHistoryService(Profile::EXPLICIT_ACCESS); |
| + if (hs) |
| + hs->InsertSearchTerm(request, row); |
| + else |
| + ForwardEmptyInsertResultAsync(request); |
| +} |
| + |
| +void AndroidProviderService::UpdateSearchTerms( |
| + const history::SearchRow& row, |
| + const std::string& selection, |
| + const std::vector<string16>& selection_args, |
| + CancelableRequestConsumerBase* consumer, |
| + const UpdateCallback& callback) { |
| + UpdateRequest* request = new UpdateRequest(callback); |
| + AddRequest(request, consumer); |
| + HistoryService* hs = profile_->GetHistoryService(Profile::EXPLICIT_ACCESS); |
| + if (hs) |
| + hs->UpdateSearchTerms(request, row, selection, selection_args); |
| + else |
| + ForwardEmptyUpdateResultAsync(request); |
| +} |
| + |
| +void AndroidProviderService::DeleteSearchTerms( |
| + const std::string& selection, |
| + const std::vector<string16>& selection_args, |
| + CancelableRequestConsumerBase* consumer, |
| + const DeleteCallback& callback) { |
| + DeleteRequest* request = new DeleteRequest(callback); |
| + AddRequest(request, consumer); |
| + HistoryService* hs = profile_->GetHistoryService(Profile::EXPLICIT_ACCESS); |
| + if (hs) |
| + hs->DeleteSearchTerms(request, selection, selection_args); |
| + else |
| + ForwardEmptyDeleteResultAsync(request); |
| +} |
| + |
| +void AndroidProviderService::QuerySearchTerms( |
| + const std::vector<history::SearchRow::ColumnID>& projections, |
| + const std::string selection, |
| + const std::vector<string16>& selection_args, |
| + const std::string sort_order, |
| + CancelableRequestConsumerBase* consumer, |
| + const QueryCallback& callback) { |
| + QueryRequest* request = new QueryRequest(callback); |
| + AddRequest(request, consumer); |
| + HistoryService* hs = profile_->GetHistoryService(Profile::EXPLICIT_ACCESS); |
| + if (hs) { |
| + hs->QuerySearchTerms(request, projections, selection, selection_args, |
| + sort_order); |
| + } else { |
| + ForwardEmptyQueryResultAsync(request); |
| + } |
| +} |
| + |
| +void AndroidProviderService::ForwardEmptyInsertResultAsync( |
| + InsertRequest* request) { |
| + request->ForwardResultAsync(request->handle(), false, 0); |
|
sky
2012/04/25 15:57:25
These methods are buying you anything. Inline the
michaelbai
2012/04/26 05:32:48
Done.
|
| +} |
| + |
| +void AndroidProviderService::ForwardEmptyQueryResultAsync( |
| + QueryRequest* request) { |
| + request->ForwardResultAsync(request->handle(), false, 0); |
| +} |
| + |
| +void AndroidProviderService::ForwardEmptyUpdateResultAsync( |
| + UpdateRequest* request) { |
| + request->ForwardResultAsync(request->handle(), false, 0); |
| +} |
| + |
| +void AndroidProviderService::ForwardEmptyDeleteResultAsync( |
| + DeleteRequest* request) { |
| + request->ForwardResultAsync(request->handle(), false, 0); |
| +} |
| + |
| +void AndroidProviderService::ForwardEmptyMoveStatementResultAsync( |
| + MoveStatementRequest* request, |
| + int value) { |
| + request->ForwardResultAsync(request->handle(), value); |
| +} |