bool TransportHandlerFile::Connect(TransportInfo* pTInfo, bool& bStateComplete) { using namespace EA::WebKit; bool bReturnValue = false; FileInfo* pFileInfo = (FileInfo*)pTInfo->mTransportHandlerData; EAW_ASSERT(pFileInfo != NULL); if(pFileInfo) { FileSystem* pFS = GetFileSystem(); EAW_ASSERT(pFS != NULL); // This should be non-NULL because InitJob found it to be non-NULL. pFileInfo->mFileObject = pFS->CreateFileObject(); if(pFileInfo->mFileObject != FileSystem::kFileObjectInvalid) { pFileInfo->mbRead = (pTInfo->mHttpRequestType == EA::WebKit::kHttpRequestTypeGET); int openFlags = pFileInfo->mbRead ? FileSystem::kRead : FileSystem::kWrite; if(pFS->OpenFile(pFileInfo->mFileObject, GetFixedString(pTInfo->mPath)->c_str(), openFlags)) bReturnValue = true; else { pFS->DestroyFileObject(pFileInfo->mFileObject); pFileInfo->mFileObject = FileSystem::kFileObjectInvalid; } } } bStateComplete = true; return bReturnValue; }
FormDataStream::~FormDataStream() { using namespace EA::WebKit; if (m_file != FileSystem::kFileObjectInvalid) { FileSystem* pFS = GetFileSystem(); EAW_ASSERT(pFS != NULL); if(pFS) { pFS->CloseFile(m_file); pFS->DestroyFileObject(m_file); } } }
bool TransportHandlerFile::Disconnect(TransportInfo* pTInfo, bool& bStateComplete) { using namespace EA::WebKit; FileInfo* pFileInfo = (FileInfo*)pTInfo->mTransportHandlerData; EAW_ASSERT(pFileInfo != NULL); if(pFileInfo->mFileObject != FileSystem::kFileObjectInvalid) { FileSystem* pFS = GetFileSystem(); EAW_ASSERT(pFS != NULL); if(pFS) { pFS->CloseFile(pFileInfo->mFileObject); pFS->DestroyFileObject(pFileInfo->mFileObject); pFileInfo->mFileObject = FileSystem::kFileObjectInvalid; } } bStateComplete = true; return true; }