diff options
Diffstat (limited to 'WebCore/html/FileStream.cpp')
-rw-r--r-- | WebCore/html/FileStream.cpp | 151 |
1 files changed, 0 insertions, 151 deletions
diff --git a/WebCore/html/FileStream.cpp b/WebCore/html/FileStream.cpp deleted file mode 100644 index a89c67a..0000000 --- a/WebCore/html/FileStream.cpp +++ /dev/null @@ -1,151 +0,0 @@ -/* - * Copyright (C) 2010 Google Inc. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following disclaimer - * in the documentation and/or other materials provided with the - * distribution. - * * Neither the name of Google Inc. nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#include "config.h" - -#if ENABLE(BLOB) || ENABLE(FILE_WRITER) - -#include "FileStream.h" - -#include "Blob.h" -#include "PlatformString.h" - -namespace WebCore { - -FileStream::FileStream() - : m_handle(invalidPlatformFileHandle) - , m_bytesProcessed(0) - , m_totalBytesToRead(0) -{ -} - -FileStream::~FileStream() -{ - ASSERT(!isHandleValid(m_handle)); -} - -// FIXME: To be removed when we switch to using BlobData. -void FileStream::start() -{ -} - -void FileStream::stop() -{ - close(); -} - -long long FileStream::getSize(const String& path, double expectedModificationTime) -{ - // Check the modification time for the possible file change. - time_t modificationTime; - if (!getFileModificationTime(path, modificationTime)) - return -1; - if (expectedModificationTime) { - if (static_cast<time_t>(expectedModificationTime) != modificationTime) - return -1; - } - - // Now get the file size. - long long length; - if (!getFileSize(path, length)) - return -1; - - return length; -} - -ExceptionCode FileStream::openForRead(const String& path, long long offset, long long length) -{ - if (isHandleValid(m_handle)) - return 0; - - // Open the file. - m_handle = openFile(path, OpenForRead); - if (!isHandleValid(m_handle)) - return NOT_READABLE_ERR; - - // Jump to the beginning position if the file has been sliced. - if (offset > 0) { - if (seekFile(m_handle, offset, SeekFromBeginning) < 0) - return NOT_READABLE_ERR; - } - - m_totalBytesToRead = length; - m_bytesProcessed = 0; - - return 0; -} - -ExceptionCode FileStream::openForWrite(const String&) -{ - // FIXME: to be implemented. - return NOT_SUPPORTED_ERR; -} - -void FileStream::close() -{ - if (isHandleValid(m_handle)) { - closeFile(m_handle); - m_handle = invalidPlatformFileHandle; - } -} - -int FileStream::read(char* buffer, int bufferSize) -{ - if (!isHandleValid(m_handle)) - return -1; - - long long remaining = m_totalBytesToRead - m_bytesProcessed; - int bytesToRead = (remaining < bufferSize) ? static_cast<int>(remaining) : bufferSize; - int bytesRead = 0; - if (bytesToRead > 0) - bytesRead = readFromFile(m_handle, buffer, bytesToRead); - if (bytesRead < 0) - return -1; - if (bytesRead > 0) - m_bytesProcessed += bytesRead; - - return bytesRead; -} - -int FileStream::write(Blob*, long long, int) -{ - // FIXME: to be implemented. - return -1; -} - -ExceptionCode FileStream::truncate(long long) -{ - // FIXME: to be implemented. - return NOT_SUPPORTED_ERR; -} - -} // namespace WebCore - -#endif // ENABLE(BLOB) || ENABLE(FILE_WRITER) |