103b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved. 203b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 303b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)// found in the LICENSE file. 403b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) 503b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)#include "chrome/browser/chromeos/file_system_provider/operations/abort.h" 603b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) 703b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)#include <string> 803b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) 903b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)#include "chrome/common/extensions/api/file_system_provider.h" 1003b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)#include "chrome/common/extensions/api/file_system_provider_internal.h" 1103b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) 1203b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)namespace chromeos { 1303b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)namespace file_system_provider { 1403b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)namespace operations { 1503b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) 1603b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)Abort::Abort(extensions::EventRouter* event_router, 1703b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) const ProvidedFileSystemInfo& file_system_info, 1803b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) int operation_request_id, 1903b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) const storage::AsyncFileUtil::StatusCallback& callback) 2003b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) : Operation(event_router, file_system_info), 2103b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) operation_request_id_(operation_request_id), 2203b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) callback_(callback) { 2303b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)} 2403b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) 2503b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)Abort::~Abort() { 2603b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)} 2703b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) 2803b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)bool Abort::Execute(int request_id) { 291320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci using extensions::api::file_system_provider::AbortRequestedOptions; 301320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 311320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci AbortRequestedOptions options; 321320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci options.file_system_id = file_system_info_.file_system_id(); 331320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci options.request_id = request_id; 341320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci options.operation_request_id = operation_request_id_; 3503b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) 3603b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) return SendEvent( 3703b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) request_id, 3803b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) extensions::api::file_system_provider::OnAbortRequested::kEventName, 391320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci extensions::api::file_system_provider::OnAbortRequested::Create(options)); 4003b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)} 4103b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) 4203b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)void Abort::OnSuccess(int /* request_id */, 4303b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) scoped_ptr<RequestValue> /* result */, 4403b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) bool has_more) { 4503b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) callback_.Run(base::File::FILE_OK); 4603b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)} 4703b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) 4803b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)void Abort::OnError(int /* request_id */, 4903b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) scoped_ptr<RequestValue> /* result */, 5003b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) base::File::Error error) { 5103b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) callback_.Run(error); 5203b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)} 5303b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) 5403b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)} // namespace operations 5503b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)} // namespace file_system_provider 5603b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)} // namespace chromeos 57