AsyncFileSystemChromium.h [plain text]
#ifndef AsyncFileSystemChromium_h
#define AsyncFileSystemChromium_h
#if ENABLE(FILE_SYSTEM)
#include "AsyncFileSystem.h"
#include <wtf/PassOwnPtr.h>
namespace WebKit {
class WebFileSystem;
}
namespace WebCore {
class AsyncFileSystemCallbacks;
class KURL;
class AsyncFileSystemChromium : public AsyncFileSystem {
public:
static PassOwnPtr<AsyncFileSystem> create(AsyncFileSystem::Type type, const KURL& rootURL)
{
return adoptPtr(new AsyncFileSystemChromium(type, rootURL));
}
static String createIsolatedFileSystemName(const String& storageIdentifier, const String& filesystemId);
static PassOwnPtr<AsyncFileSystem> createIsolatedFileSystem(const String& originString, const String& filesystemId);
virtual ~AsyncFileSystemChromium();
virtual String toURL(const String& originString, const String& fullPath);
virtual void move(const String& sourcePath, const String& destinationPath, PassOwnPtr<AsyncFileSystemCallbacks>);
virtual void copy(const String& sourcePath, const String& destinationPath, PassOwnPtr<AsyncFileSystemCallbacks>);
virtual void remove(const String& path, PassOwnPtr<AsyncFileSystemCallbacks>);
virtual void removeRecursively(const String& path, PassOwnPtr<AsyncFileSystemCallbacks>);
virtual void readMetadata(const String& path, PassOwnPtr<AsyncFileSystemCallbacks>);
virtual void createFile(const String& path, bool exclusive, PassOwnPtr<AsyncFileSystemCallbacks>);
virtual void createDirectory(const String& path, bool exclusive, PassOwnPtr<AsyncFileSystemCallbacks>);
virtual void fileExists(const String& path, PassOwnPtr<AsyncFileSystemCallbacks>);
virtual void directoryExists(const String& path, PassOwnPtr<AsyncFileSystemCallbacks>);
virtual void readDirectory(const String& path, PassOwnPtr<AsyncFileSystemCallbacks>);
virtual void createWriter(AsyncFileWriterClient* client, const String& path, PassOwnPtr<AsyncFileSystemCallbacks>);
virtual void createSnapshotFileAndReadMetadata(const String& path, PassOwnPtr<AsyncFileSystemCallbacks>);
protected:
AsyncFileSystemChromium(AsyncFileSystem::Type, const KURL& rootURL);
PassOwnPtr<AsyncFileSystemCallbacks> createSnapshotFileCallback(const KURL& internalBlobURL, PassOwnPtr<AsyncFileSystemCallbacks>) const;
WebKit::WebFileSystem* m_webFileSystem;
KURL virtualPathToFileSystemURL(const String& virtualPath) const;
KURL m_filesystemRootURL;
};
}
#endif
#endif // AsyncFileSystemChromium_h