CXMLElement* ConML_Files_s::BeginElementL( 
    TUint8 aTag, const TXMLElementParams& /*aParams*/ )	
    {
    switch ( aTag )
        {
        case EConMLFile:
            return AddFileL( &file );
		
        default:
            LOGGER_WRITE_1( "ConML_File_s::BeginElement()\
             : Unknown element  %02x ", aTag );
            User::Leave( KWBXMLParserErrorInvalidTag );
        }
    return KErrNone;
    }
Beispiel #2
0
CSTFileManagerEntry* CSTFileManager::GetFileManagerEntryL(CSTFile* aFile)
{
	CSTFileManagerEntry* fileEntry = NULL;
	TInt fileEntryIndex = -1;

	for (TInt i=0; i<iFiles.Count(); i++)
	{
		if (&(iFiles[i]->FileId()) == aFile)
		{
			fileEntryIndex = i;
			break;
		}
	}
	
	if (fileEntryIndex < 0)
	{
		fileEntry = AddFileL(aFile);
	}
	else
		fileEntry = iFiles[fileEntryIndex];
	
	return fileEntry;
}
/*
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
*/
void CZipCompressor::RunL()
{
	if(iDebugFile.SubSessionHandle())
	{	
		iDebugFile.Write(_L8("me run, "));
	}
	
	if(iCancel || iDone || iStatus.Int() == KErrCancel)
	{// We are done or concelled, so lets finalize our zip
		EndL();
	}
	else if(iFilesArray->MdcaCount() > iCurrentFile)
	{
		if(iStatus.Int() != KErrNone )
		{// this would be an error on file read.
			iObserver.GetFileHandler().GetFileUtils().ShowFileErrorNoteL(iFilesArray->MdcaPoint(iCurrentFile), iStatus.Int());
		}
		
		if(iReadFile.SubSessionHandle() && iReadFileBuffer)
		{// we just finished reading a file to the buffer, 
		 // so first lets close the file
			iReadFile.Close();
			
			TInt AddErr(KErrNone);
			TRAP(AddErr,AddFileL(*iReadFileBuffer,iFilesArray->MdcaPoint(iCurrentFile)));	
			if(AddErr!= KErrNone)
			{
				iObserver.GetFileHandler().GetFileUtils().ShowFileErrorNoteL(iFilesArray->MdcaPoint(iCurrentFile), AddErr);
			}
			// lets clear some memory already in here
			delete iReadFileBuffer;
			iReadFileBuffer = NULL;
		}
		else
		{	// we are starting a new file
			// this will call SetActive in succesfull cases
			ReadFileL(iFilesArray->MdcaPoint(iCurrentFile));
			iObserver.CompressProcessL(iCurrentFile,iFilesArray->MdcaPoint(iCurrentFile));
		}
			
		if(iError != KErrNone)
		{	// errors cathed in Add/Read FileL functions
			iObserver.GetFileHandler().GetFileUtils().ShowFileErrorNoteL(iFilesArray->MdcaPoint(iCurrentFile), iError);
			// it has been repoted so we can now clear the error
			iError = KErrNone;
		}
					
		if(!IsActive())// No Read operation issued
		{
			// either we just added a file
			// or we had error while opening new one
			// anyway, lets move to next one
			iCurrentFile++;
			
			TRequestStatus* status=&iStatus;
			User::RequestComplete(status, KErrNone);
			SetActive();
		}
	}
	else
	{// All done so lets finalize our zip
		EndL();
	}
	
	if(iDebugFile.SubSessionHandle())
	{	
		iDebugFile.Write(_L8("rn done, "));
	}
}