close_file.cc revision 116680a4aac90f2aa7413d9095a592090648e557
1// Copyright 2014 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. 4 5#include "chrome/browser/chromeos/file_system_provider/operations/close_file.h" 6 7#include <string> 8 9#include "chrome/common/extensions/api/file_system_provider.h" 10#include "chrome/common/extensions/api/file_system_provider_internal.h" 11 12namespace chromeos { 13namespace file_system_provider { 14namespace operations { 15 16CloseFile::CloseFile(extensions::EventRouter* event_router, 17 const ProvidedFileSystemInfo& file_system_info, 18 int open_request_id, 19 const fileapi::AsyncFileUtil::StatusCallback& callback) 20 : Operation(event_router, file_system_info), 21 open_request_id_(open_request_id), 22 callback_(callback) { 23} 24 25CloseFile::~CloseFile() { 26} 27 28bool CloseFile::Execute(int request_id) { 29 scoped_ptr<base::DictionaryValue> values(new base::DictionaryValue); 30 values->SetInteger("openRequestId", open_request_id_); 31 32 return SendEvent( 33 request_id, 34 extensions::api::file_system_provider::OnCloseFileRequested::kEventName, 35 values.Pass()); 36} 37 38void CloseFile::OnSuccess(int /* request_id */, 39 scoped_ptr<RequestValue> result, 40 bool has_more) { 41 callback_.Run(base::File::FILE_OK); 42} 43 44void CloseFile::OnError(int /* request_id */, 45 scoped_ptr<RequestValue> /* result */, 46 base::File::Error error) { 47 callback_.Run(error); 48} 49 50} // namespace operations 51} // namespace file_system_provider 52} // namespace chromeos 53