blob: 224ac9a94cc4637c0307775ccc91933ec968dce6 [file] [log] [blame]
// Copyright 2013 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.
#ifndef CHROME_BROWSER_CHROMEOS_EXTENSIONS_FILE_SYSTEM_PROVIDER_FILE_SYSTEM_PROVIDER_API_H_
#define CHROME_BROWSER_CHROMEOS_EXTENSIONS_FILE_SYSTEM_PROVIDER_FILE_SYSTEM_PROVIDER_API_H_
#include "chrome/browser/chromeos/extensions/file_system_provider/provider_function.h"
#include "chrome/browser/extensions/chrome_extension_function.h"
namespace extensions {
class FileSystemProviderMountFunction : public ChromeSyncExtensionFunction {
public:
DECLARE_EXTENSION_FUNCTION("fileSystemProvider.mount",
FILESYSTEMPROVIDER_MOUNT)
protected:
~FileSystemProviderMountFunction() override {}
bool RunSync() override;
};
class FileSystemProviderUnmountFunction : public ChromeSyncExtensionFunction {
public:
DECLARE_EXTENSION_FUNCTION("fileSystemProvider.unmount",
FILESYSTEMPROVIDER_UNMOUNT)
protected:
~FileSystemProviderUnmountFunction() override {}
bool RunSync() override;
};
class FileSystemProviderGetAllFunction : public ChromeSyncExtensionFunction {
public:
DECLARE_EXTENSION_FUNCTION("fileSystemProvider.getAll",
FILESYSTEMPROVIDER_GETALL)
protected:
~FileSystemProviderGetAllFunction() override {}
bool RunSync() override;
};
class FileSystemProviderGetFunction : public ChromeSyncExtensionFunction {
public:
DECLARE_EXTENSION_FUNCTION("fileSystemProvider.get", FILESYSTEMPROVIDER_GET)
protected:
~FileSystemProviderGetFunction() override {}
bool RunSync() override;
};
class FileSystemProviderNotifyFunction : public ChromeAsyncExtensionFunction {
public:
DECLARE_EXTENSION_FUNCTION("fileSystemProvider.notify",
FILESYSTEMPROVIDER_NOTIFY)
protected:
~FileSystemProviderNotifyFunction() override {}
bool RunAsync() override;
private:
// Called when notifying is completed.
void OnNotifyCompleted(base::File::Error result);
};
class FileSystemProviderInternalUnmountRequestedSuccessFunction
: public FileSystemProviderInternalFunction {
public:
DECLARE_EXTENSION_FUNCTION(
"fileSystemProviderInternal.unmountRequestedSuccess",
FILESYSTEMPROVIDERINTERNAL_GETMETADATAREQUESTEDSUCCESS)
protected:
~FileSystemProviderInternalUnmountRequestedSuccessFunction() override {}
bool RunWhenValid() override;
};
class FileSystemProviderInternalGetMetadataRequestedSuccessFunction
: public FileSystemProviderInternalFunction {
public:
DECLARE_EXTENSION_FUNCTION(
"fileSystemProviderInternal.getMetadataRequestedSuccess",
FILESYSTEMPROVIDERINTERNAL_GETMETADATAREQUESTEDSUCCESS)
protected:
~FileSystemProviderInternalGetMetadataRequestedSuccessFunction() override {}
bool RunWhenValid() override;
};
class FileSystemProviderInternalReadDirectoryRequestedSuccessFunction
: public FileSystemProviderInternalFunction {
public:
DECLARE_EXTENSION_FUNCTION(
"fileSystemProviderInternal.readDirectoryRequestedSuccess",
FILESYSTEMPROVIDERINTERNAL_READDIRECTORYREQUESTEDSUCCESS)
protected:
~FileSystemProviderInternalReadDirectoryRequestedSuccessFunction() override {}
bool RunWhenValid() override;
};
class FileSystemProviderInternalReadFileRequestedSuccessFunction
: public FileSystemProviderInternalFunction {
public:
DECLARE_EXTENSION_FUNCTION(
"fileSystemProviderInternal.readFileRequestedSuccess",
FILESYSTEMPROVIDERINTERNAL_READFILEREQUESTEDSUCCESS)
protected:
~FileSystemProviderInternalReadFileRequestedSuccessFunction() override {}
bool RunWhenValid() override;
};
class FileSystemProviderInternalOperationRequestedSuccessFunction
: public FileSystemProviderInternalFunction {
public:
DECLARE_EXTENSION_FUNCTION(
"fileSystemProviderInternal.operationRequestedSuccess",
FILESYSTEMPROVIDERINTERNAL_OPERATIONREQUESTEDSUCCESS)
protected:
~FileSystemProviderInternalOperationRequestedSuccessFunction() override {}
bool RunWhenValid() override;
};
class FileSystemProviderInternalOperationRequestedErrorFunction
: public FileSystemProviderInternalFunction {
public:
DECLARE_EXTENSION_FUNCTION(
"fileSystemProviderInternal.operationRequestedError",
FILESYSTEMPROVIDERINTERNAL_OPERATIONREQUESTEDERROR)
protected:
~FileSystemProviderInternalOperationRequestedErrorFunction() override {}
bool RunWhenValid() override;
};
} // namespace extensions
#endif // CHROME_BROWSER_CHROMEOS_EXTENSIONS_FILE_SYSTEM_PROVIDER_FILE_SYSTEM_PROVIDER_API_H_