Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1801)

Unified Diff: chrome/browser/local_discovery/storage/privet_filesystem_operations.cc

Issue 492693004: Delete Privet filesystem code (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/local_discovery/storage/privet_filesystem_operations.cc
diff --git a/chrome/browser/local_discovery/storage/privet_filesystem_operations.cc b/chrome/browser/local_discovery/storage/privet_filesystem_operations.cc
deleted file mode 100644
index 14392187f26b568a2f977794781a626b3e49b43b..0000000000000000000000000000000000000000
--- a/chrome/browser/local_discovery/storage/privet_filesystem_operations.cc
+++ /dev/null
@@ -1,288 +0,0 @@
-// Copyright 2014 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/local_discovery/storage/privet_filesystem_operations.h"
-
-#include "chrome/browser/local_discovery/storage/privet_filesystem_constants.h"
-
-namespace local_discovery {
-
-PrivetFileSystemOperationFactory::PrivetFileSystemOperationFactory(
- content::BrowserContext* browser_context)
- : browser_context_(browser_context), weak_factory_(this) {}
-
-PrivetFileSystemOperationFactory::~PrivetFileSystemOperationFactory() {
- DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::UI));
- RemoveAllOperations();
-}
-
-void PrivetFileSystemOperationFactory::GetFileInfo(
- const storage::FileSystemURL& url,
- const storage::AsyncFileUtil::GetFileInfoCallback& callback) {
- DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::UI));
- PrivetFileSystemAsyncOperation* operation =
- new PrivetFileSystemDetailsOperation(
- url.path(), browser_context_, this, &attribute_cache_, callback);
- async_operations_.insert(operation);
- operation->Start();
-}
-
-void PrivetFileSystemOperationFactory::ReadDirectory(
- const storage::FileSystemURL& url,
- const storage::AsyncFileUtil::ReadDirectoryCallback& callback) {
- DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::UI));
- PrivetFileSystemAsyncOperation* operation = new PrivetFileSystemListOperation(
- url.path(), browser_context_, this, &attribute_cache_, callback);
- async_operations_.insert(operation);
- operation->Start();
-}
-
-void PrivetFileSystemOperationFactory::RemoveOperation(
- PrivetFileSystemAsyncOperation* operation) {
- DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::UI));
- async_operations_.erase(operation);
- delete operation;
-}
-
-void PrivetFileSystemOperationFactory::RemoveAllOperations() {
- DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::UI));
- STLDeleteElements(&async_operations_);
-}
-
-PrivetFileSystemAsyncOperationUtil::PrivetFileSystemAsyncOperationUtil(
- const base::FilePath& full_path,
- content::BrowserContext* browser_context,
- Delegate* delegate)
- : parsed_path_(full_path),
- browser_context_(browser_context),
- delegate_(delegate),
- weak_factory_(this) {
- DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::UI));
-}
-
-PrivetFileSystemAsyncOperationUtil::~PrivetFileSystemAsyncOperationUtil() {
- DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::UI));
-}
-
-void PrivetFileSystemAsyncOperationUtil::Start() {
- DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::UI));
- request_context_ = browser_context_->GetRequestContext();
- service_discovery_client_ = ServiceDiscoverySharedClient::GetInstance();
- privet_device_resolver_.reset(new PrivetDeviceResolver(
- service_discovery_client_.get(),
- parsed_path_.service_name,
- base::Bind(
- &PrivetFileSystemAsyncOperationUtil::OnGotDeviceDescription,
- base::Unretained(this))));
- privet_device_resolver_->Start();
-}
-
-void PrivetFileSystemAsyncOperationUtil::OnGotDeviceDescription(
- bool success, const DeviceDescription& device_description) {
- DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::UI));
- if (!success) {
- delegate_->PrivetFileSystemResolved(NULL, parsed_path_.path);
- return;
- }
-
- privet_async_factory_ = PrivetHTTPAsynchronousFactory::CreateInstance(
- service_discovery_client_.get(), request_context_.get());
- privet_http_resolution_ = privet_async_factory_->CreatePrivetHTTP(
- parsed_path_.service_name,
- device_description.address,
- base::Bind(&PrivetFileSystemAsyncOperationUtil::OnGotPrivetHTTP,
- base::Unretained(this)));
- privet_http_resolution_->Start();
-}
-
-void PrivetFileSystemAsyncOperationUtil::OnGotPrivetHTTP(
- scoped_ptr<PrivetHTTPClient> privet_http_client) {
- DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::UI));
- privet_client_ = PrivetV1HTTPClient::CreateDefault(privet_http_client.Pass());
- delegate_->PrivetFileSystemResolved(privet_client_.get(),
- parsed_path_.path);
-}
-
-PrivetFileSystemListOperation::PrivetFileSystemListOperation(
- const base::FilePath& full_path,
- content::BrowserContext* browser_context,
- PrivetFileSystemAsyncOperationContainer* container,
- PrivetFileSystemAttributeCache* attribute_cache,
- const storage::AsyncFileUtil::ReadDirectoryCallback& callback)
- : core_(full_path, browser_context, this),
- full_path_(full_path),
- container_(container),
- attribute_cache_(attribute_cache),
- callback_(callback) {
- DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::UI));
-}
-
-PrivetFileSystemListOperation::~PrivetFileSystemListOperation() {
- DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::UI));
-}
-
-void PrivetFileSystemListOperation::Start() {
- DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::UI));
- core_.Start();
-}
-
-void PrivetFileSystemListOperation::PrivetFileSystemResolved(
- PrivetV1HTTPClient* http_client,
- const std::string& path) {
- DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::UI));
- if (!http_client) {
- SignalError();
- return;
- }
-
- list_operation_ = http_client->CreateStorageListOperation(
- path,
- base::Bind(&PrivetFileSystemListOperation::OnStorageListResult,
- base::Unretained(this)));
- list_operation_->Start();
-}
-
-void PrivetFileSystemListOperation::OnStorageListResult(
- const base::DictionaryValue* value) {
- DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::UI));
- list_operation_.reset();
-
- if (!value) {
- SignalError();
- return;
- }
-
- attribute_cache_->AddFileInfoFromJSON(full_path_, value);
-
- storage::AsyncFileUtil::EntryList entry_list;
-
- const base::ListValue* entries;
- if (!value->GetList(kPrivetListEntries, &entries)) {
- SignalError();
- return;
- }
-
- for (size_t i = 0; i < entries->GetSize(); i++) {
- const base::DictionaryValue* entry_value;
- if (!entries->GetDictionary(i, &entry_value)) {
- SignalError();
- return;
- }
-
- std::string name;
- std::string type;
- int size = 0;
-
- entry_value->GetString(kPrivetListKeyName, &name);
- entry_value->GetString(kPrivetListKeyType, &type);
- entry_value->GetInteger(kPrivetListKeySize, &size);
-
- storage::DirectoryEntry entry(name,
- (type == kPrivetListTypeDir)
- ? storage::DirectoryEntry::DIRECTORY
- : storage::DirectoryEntry::FILE,
- size,
- base::Time() /* TODO(noamsml) */);
-
- entry_list.push_back(entry);
- }
-
- TriggerCallbackAndDestroy(base::File::FILE_OK, entry_list, false);
-}
-
-void PrivetFileSystemListOperation::SignalError() {
- DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::UI));
- TriggerCallbackAndDestroy(base::File::FILE_ERROR_FAILED,
- storage::AsyncFileUtil::EntryList(),
- false);
-}
-
-void PrivetFileSystemListOperation::TriggerCallbackAndDestroy(
- base::File::Error result,
- const storage::AsyncFileUtil::EntryList& file_list,
- bool has_more) {
- DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::UI));
- content::BrowserThread::PostTask(
- content::BrowserThread::IO,
- FROM_HERE,
- base::Bind(callback_, result, file_list, has_more));
- container_->RemoveOperation(this);
-}
-
-PrivetFileSystemDetailsOperation::PrivetFileSystemDetailsOperation(
- const base::FilePath& full_path,
- content::BrowserContext* browser_context,
- PrivetFileSystemAsyncOperationContainer* container,
- PrivetFileSystemAttributeCache* attribute_cache,
- const storage::AsyncFileUtil::GetFileInfoCallback& callback)
- : core_(full_path, browser_context, this),
- full_path_(full_path),
- container_(container),
- attribute_cache_(attribute_cache),
- callback_(callback) {
- DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::UI));
-}
-
-PrivetFileSystemDetailsOperation::~PrivetFileSystemDetailsOperation() {
- DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::UI));
-}
-
-void PrivetFileSystemDetailsOperation::Start() {
- DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::UI));
- const base::File::Info* info = attribute_cache_->GetFileInfo(full_path_);
- if (info) {
- TriggerCallbackAndDestroy(base::File::FILE_OK, *info);
- return;
- }
-
- core_.Start();
-}
-
-void PrivetFileSystemDetailsOperation::PrivetFileSystemResolved(
- PrivetV1HTTPClient* http_client,
- const std::string& path) {
- DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::UI));
- if (!http_client) {
- SignalError();
- return;
- }
-
- list_operation_ = http_client->CreateStorageListOperation(
- path,
- base::Bind(&PrivetFileSystemDetailsOperation::OnStorageListResult,
- base::Unretained(this)));
- list_operation_->Start();
-}
-
-void PrivetFileSystemDetailsOperation::OnStorageListResult(
- const base::DictionaryValue* value) {
- DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::UI));
- list_operation_.reset();
-
- attribute_cache_->AddFileInfoFromJSON(full_path_, value);
- const base::File::Info* info = attribute_cache_->GetFileInfo(full_path_);
-
- if (info) {
- TriggerCallbackAndDestroy(base::File::FILE_OK, *info);
- } else {
- SignalError();
- }
-}
-
-void PrivetFileSystemDetailsOperation::SignalError() {
- DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::UI));
- TriggerCallbackAndDestroy(base::File::FILE_ERROR_FAILED, base::File::Info());
-}
-
-void PrivetFileSystemDetailsOperation::TriggerCallbackAndDestroy(
- base::File::Error result,
- const base::File::Info& info) {
- DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::UI));
- content::BrowserThread::PostTask(content::BrowserThread::IO,
- FROM_HERE,
- base::Bind(callback_, result, info));
- container_->RemoveOperation(this);
-}
-
-} // namespace local_discovery

Powered by Google App Engine
This is Rietveld 408576698