diff -r 889504eac4fb -r 604ca70b6235 xml/cxmllibrary/src/utils/src/cxml_file_if.cpp --- a/xml/cxmllibrary/src/utils/src/cxml_file_if.cpp Tue Aug 31 17:02:56 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,169 +0,0 @@ -/* -* Copyright (c) 2000 - 2001 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of the License "Eclipse Public License v1.0" -* which accompanies this distribution, and is available -* at the URL "http://www.eclipse.org/legal/epl-v10.html". -* -* Initial Contributors: -* Nokia Corporation - initial contribution. -* -* Contributors: -* -* Description: -* -*/ - - - -#include -#include -#include - - -// -//CXML_Read_From_File() -// - -EXPORT_C -NW_Status_t CXML_Read_From_File( - NW_Byte* input_file,NW_Uint8** buffer, NW_Int32* bufferLen) -{ - RFile file; - RFs aSession; - TInt fileErr; - CXML_Uint32 fileNameByteCnt; - TInt fileNameLen; - NW_Status_t retVal = NW_STAT_SUCCESS; - TUint16* fileName; - TInt i; - TInt err = KErrNone; - HBufC8* inBuf; - CXML_Uint8* bufPtr; - TPtr8 inBufDes(NULL,0); - - - if( (input_file == NULL) || (buffer == NULL) || (bufferLen == NULL) ) - { - retVal = NW_STAT_FAILURE; - return retVal; - } - - *bufferLen = -1; //Default value - - err = aSession.Connect(); - if(KErrNone != err) - { - retVal = NW_STAT_FAILURE; - return retVal; - } - fileNameLen = NW_String_charBuffGetLength(input_file,HTTP_us_ascii,&fileNameByteCnt); - - - //This is required for TPtrC - - fileName = new TUint16[fileNameLen]; - - if(fileName == NULL) - { - retVal = NW_STAT_OUT_OF_MEMORY; - return retVal; - } - - - for(i=0; i < fileNameLen; i++) - { - fileName[i] = input_file[i]; - } - - TPtrC inFileN(fileName,fileNameLen); - - fileErr = file.Open(aSession,inFileN,EFileRead); - - if ( fileErr != KErrNone ) - { - retVal = NW_STAT_FILE_NOT_OPEN; - delete[] fileName; - return retVal; - } - - - TInt fileSize; - - //Get File Size - - fileErr = file.Size( fileSize ); - - if(fileErr != KErrNone ) - { - retVal = NW_STAT_UNEXPECTED_ERROR; - delete[] fileName; - file.Close(); - return retVal; - } - - *bufferLen = fileSize; - - // Allocate buffer to read the cXML FILE contents - - inBuf = HBufC8::New(fileSize); - - //Get the pointer to heap object - - inBufDes.Set(inBuf->Des()) ; - - if(inBuf) - { - - //Now read the file - - fileErr = file.Read(inBufDes); - - - if(fileErr != KErrNone ) - { - delete inBuf; //TODO: Change to more meaningful error - delete[] fileName; - file.Close(); - *bufferLen = -1; - retVal = NW_STAT_FILE_READ_ERROR; - return retVal; - } - } - else - { - delete[] fileName; - file.Close(); - *bufferLen = -1; - retVal = NW_STAT_FAILURE; - return retVal; - } - - - //Allocate the buffer and copy the contents to this - - *buffer = new CXML_Byte[fileSize]; - - - if(*buffer == NULL) - { - retVal = NW_STAT_OUT_OF_MEMORY; - return retVal; - } - - - bufPtr = (CXML_Byte*) inBuf->Ptr(); //Get pointer to the data - - for(i=0; i < fileSize; i++) - { - (*buffer)[i] = bufPtr[i]; - } - - delete inBuf; - delete[] fileName; - file.Close(); - aSession.Close(); - return retVal; - -}//end CXMLTestParser::CXML_Read_From_File()