#ifndef CHROME_BROWSER_CHROMEOS_EXTENSIONS_FILE_MANAGER_PRIVATE_API_TASKS_H_
#define CHROME_BROWSER_CHROMEOS_EXTENSIONS_FILE_MANAGER_PRIVATE_API_TASKS_H_
#include "chrome/browser/chromeos/extensions/file_manager/private_api_base.h"
#include "chrome/common/extensions/api/file_browser_private.h"
namespace extensions {
class FileBrowserPrivateExecuteTaskFunction
    : public LoggedAsyncExtensionFunction {
 public:
  DECLARE_EXTENSION_FUNCTION("fileBrowserPrivate.executeTask",
                             FILEBROWSERPRIVATE_EXECUTETASK)
 protected:
  virtual ~FileBrowserPrivateExecuteTaskFunction() {}
  
  virtual bool RunImpl() OVERRIDE;
 private:
  void OnTaskExecuted(
      extensions::api::file_browser_private::TaskResult success);
};
class FileBrowserPrivateGetFileTasksFunction
    : public LoggedAsyncExtensionFunction {
 public:
  DECLARE_EXTENSION_FUNCTION("fileBrowserPrivate.getFileTasks",
                             FILEBROWSERPRIVATE_GETFILETASKS)
 protected:
  virtual ~FileBrowserPrivateGetFileTasksFunction() {}
  
  virtual bool RunImpl() OVERRIDE;
};
class FileBrowserPrivateSetDefaultTaskFunction
    : public ChromeSyncExtensionFunction {
 public:
  DECLARE_EXTENSION_FUNCTION("fileBrowserPrivate.setDefaultTask",
                             FILEBROWSERPRIVATE_SETDEFAULTTASK)
 protected:
  virtual ~FileBrowserPrivateSetDefaultTaskFunction() {}
  
  virtual bool RunImpl() OVERRIDE;
};
}  
#endif