1 // Copyright 2015 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/chromeos/file_system_provider/operations/execute_action.h"
10 #include "chrome/common/extensions/api/file_system_provider.h"
11 #include "chrome/common/extensions/api/file_system_provider_internal.h"
14 namespace file_system_provider
{
15 namespace operations
{
17 ExecuteAction::ExecuteAction(
18 extensions::EventRouter
* event_router
,
19 const ProvidedFileSystemInfo
& file_system_info
,
20 const base::FilePath
& entry_path
,
21 const std::string
& action_id
,
22 const storage::AsyncFileUtil::StatusCallback
& callback
)
23 : Operation(event_router
, file_system_info
),
24 entry_path_(entry_path
),
25 action_id_(action_id
),
29 ExecuteAction::~ExecuteAction() {
32 bool ExecuteAction::Execute(int request_id
) {
33 using extensions::api::file_system_provider::ExecuteActionRequestedOptions
;
35 ExecuteActionRequestedOptions options
;
36 options
.file_system_id
= file_system_info_
.file_system_id();
37 options
.request_id
= request_id
;
38 options
.entry_path
= entry_path_
.AsUTF8Unsafe();
39 options
.action_id
= action_id_
;
43 extensions::events::FILE_SYSTEM_PROVIDER_ON_EXECUTE_ACTION_REQUESTED
,
44 extensions::api::file_system_provider::OnExecuteActionRequested::
46 extensions::api::file_system_provider::OnExecuteActionRequested::Create(
50 void ExecuteAction::OnSuccess(int /* request_id */,
51 scoped_ptr
<RequestValue
> result
,
53 callback_
.Run(base::File::FILE_OK
);
56 void ExecuteAction::OnError(int /* request_id */,
57 scoped_ptr
<RequestValue
> /* result */,
58 base::File::Error error
) {
62 } // namespace operations
63 } // namespace file_system_provider
64 } // namespace chromeos