WorkerAsyncFileWriterBlackBerry.h [plain text]
#ifndef WorkerAsyncFileWriterBlackBerry_h
#define WorkerAsyncFileWriterBlackBerry_h
#if ENABLE(FILE_SYSTEM) && ENABLE(WORKERS)
#include "AsyncFileWriterBlackBerry.h"
#include <BlackBerryPlatformWebFileSystemFileWriter.h>
#include <wtf/Assertions.h>
#include <wtf/OwnPtr.h>
#include <wtf/PassOwnPtr.h>
#include <wtf/text/WTFString.h>
namespace WebCore {
class ScriptExecutionContext;
class WorkerContext;
class WorkerAsyncFileWriterBlackBerry: public AsyncFileWriterBlackBerry {
public:
static PassOwnPtr<WorkerAsyncFileWriterBlackBerry> create(WorkerContext* context, const String& mode, PassOwnPtr<BlackBerry::Platform::WebFileWriter> platformWriter, AsyncFileWriterClient* client)
{
return adoptPtr(new WorkerAsyncFileWriterBlackBerry(context, mode, platformWriter, client));
}
virtual void write(long long position, Blob*);
virtual void truncate(long long length);
virtual void abort();
virtual bool waitForOperationToComplete();
virtual PlatformFileWriterClient* platformWriterClient();
private:
WorkerAsyncFileWriterBlackBerry(WorkerContext* context, const String& mode, PassOwnPtr<BlackBerry::Platform::WebFileWriter> platformWriter, AsyncFileWriterClient* client)
: AsyncFileWriterBlackBerry(platformWriter, client)
, m_context(context)
, m_mode(mode)
{
}
static void writeOnMainThread(ScriptExecutionContext*, BlackBerry::Platform::WebFileWriter* platformWriter, long long position, Blob*);
static void truncateOnMainThread(ScriptExecutionContext*, BlackBerry::Platform::WebFileWriter* platformWriter, long long length);
static void abortOnMainThread(ScriptExecutionContext*, BlackBerry::Platform::WebFileWriter* platformWriter);
WorkerContext* m_context;
String m_mode;
};
} #endif
#endif