--- a/fax/faxclientandserver/FAXCLI/CFAXTSRC.CPP Fri Mar 19 09:55:57 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,262 +0,0 @@
-// Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "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:
-//
-
-/**
- @file
-*/
-
-
-#include "CFAX32.H"
-
-/********************************************************************/
-
-CFaxTransferSource *CFaxTransferSource::NewLC()
- {
- CFaxTransferSource *self = new(ELeave) CFaxTransferSource;
- CleanupStack::PushL(self);
- self->ConstructL();
- return self;
- }
-/********************************************************************/
-
-CFaxTransferSource *CFaxTransferSource::NewL()
- {
- CFaxTransferSource *self = NewLC();
- CleanupStack::Pop();
- return self;
- }
-/********************************************************************/
-
-void CFaxTransferSource::ConstructL ()
- {
- iSources = CBufSeg::NewL (256);
- }
-/********************************************************************/
-
-CFaxTransferSource::~CFaxTransferSource ()
- {
- delete iSources;
- iSources = NULL;
- }
-/********************************************************************/
-
-// we come here with a document and a page or range of pages
-//EXPORT_C void CFaxTransferSource::AddSourceL (const TFileName & aFaxPageStore, const TFileName & aFaxPageStore2)
-// {
-// AddSourceL(aFaxPageStore,1);
-// AddSourceL(aFaxPageStore2,1);
-// iFaxPages=iFaxPages/2;
-// }
-
-EXPORT_C void CFaxTransferSource::AddSourceL (const TFileName & aFaxPageStore, TFaxPreferredCompression aPreferredCompression)
-/**
-@capability WriteUserData
-*/
- {
- AddSourceL (aFaxPageStore, 1, aPreferredCompression);
- }
-
-EXPORT_C void CFaxTransferSource::AddSourceL (const TFileName & aFaxPageStore, TInt aStartPage, TFaxPreferredCompression aPreferredCompression)
-/**
-@capability WriteUserData
-*/
- {
- if (aStartPage < 1)
- User::Leave (KErrUnderflow);
- TInt lastPage = OpenFaxOutL (aFaxPageStore);
- CloseFaxStore ();
- AddSourceL (aFaxPageStore, aStartPage, lastPage, aPreferredCompression);
- }
-
-EXPORT_C void CFaxTransferSource::AddSourceL (const TFileName & aFaxPageStore, TInt aStartPage, TInt aEndPage, TFaxPreferredCompression aPreferredCompression)
-/**
-@capability WriteUserData
-*/
- {
- iPage = 0;
- if (aStartPage < 1)
- User::Leave (KErrUnderflow);
- else
- {
- if (aStartPage > aEndPage)
- User::Leave (KErrOverflow);
- else
- {
- iOurFaxEntry.iFaxPageStore = aFaxPageStore;
- iOurFaxEntry.iStartPage = aStartPage;
- iOurFaxEntry.iPageCount = (aEndPage - aStartPage + 1);
-
- iOutstream.Append (*iSources);
- iOutstream << iOurFaxEntry;
- iOutstream.CommitL ();
-
- iFaxListEntries++;
- iFaxPages += iOurFaxEntry.iPageCount;
- iOurPreferredCompression=aPreferredCompression;
- }
- }
- }
-/********************************************************************/
-
-EXPORT_C void CFaxTransferSource::RemoveAllSources ()
-/**
-@capability WriteUserData
-*/
- {
- iFaxPages = 0;
- iFaxListEntries = 0;
- iSources->Reset ();
- }
-/********************************************************************/
-
-// this gets the next page of the fax
-// and makes it all ready to be sent
-
-// the iInstream is opened already, and
-// we never call this if iFaxListEntries
-// and iOurFaxEntry.iPageCount are both zero
-
-void CFaxTransferSource::GetNextPageReadyL ()
- {
- // if no pages in a current open document we need to get the next doc
-
- if (iOurFaxEntry.iPageCount == 0)
- {
-
- // if page count is 0 we haven't started yet
- // otherwise close the finished document
- // then read the next entry in
- // mark one less entry to deal with
- // and open the next document
-
- if (iPage != 0)
- CloseFaxStore ();
-
- iInstream >> iOurFaxEntry;
-
- --iFaxListEntries;
- OpenFaxOutL (iOurFaxEntry.iFaxPageStore);
-
- // skip pages if we don't send from page 1
-
- for (--iOurFaxEntry.iStartPage; iOurFaxEntry.iStartPage; --iOurFaxEntry.iStartPage)
- ReadPageParmsL ();
- }
- ReadPageParmsL ();
- iPage++;
- --iOurFaxEntry.iPageCount;
- }
-/********************************************************************/
-
-void CFaxTransferSource::OpenFaxInL (const TDesC & aFileName)
- {
- if (iWriteFaxFile == NULL)
- iWriteFaxFile = CWriteFaxFile::NewL ();
- iWriteFaxFile->OpenL (aFileName, 0);
- }
-
-void CFaxTransferSource::PagePrepare ()
- {
- iLines = 0;
- ++iPage;
- }
-
-void CFaxTransferSource::WriteFaxDataL (const TDesC8 & aBuffer)
- {
- iWriteFaxFile->iWriteFaxPages->AddEncodedScanLineL (aBuffer);
- if (aBuffer.Length () != KMaxT4Des)
- iLines++;
- }
-
-void CFaxTransferSource::WritePageParmsL (TFaxBufSenderId & aSenderId)
- {
- iWriteFaxFile->iWriteFaxPages->EndPageL (TFaxResolution (iResolu), aSenderId, TFaxCompression (iCompression));
- iWriteFaxFile->CommitL ();
- }
-
-void CFaxTransferSource::CloseFaxInStore ()
- {
- iWriteFaxFile->Close (); // was CloseL till 6/3/97
- delete iWriteFaxFile;
- iWriteFaxFile = NULL;
- }
-/*******************************************************************/
-
-TInt CFaxTransferSource::OpenFaxOutL (const TDesC & aFileName)
- {
- CReadFaxFile *fax = iReadFaxFile;
- if (fax == NULL)
- iReadFaxFile = fax = CReadFaxFile::NewL ();
- fax->OpenL (aFileName);
- iPageInCurrentFile = 0;
- return (fax->iReadFaxPages->NumPages ());
- }
-
-TInt CFaxTransferSource::NextPageFind ()
- {
- return (iReadFaxFile->iReadFaxPages->NumPages ()) - iPageInCurrentFile;
- }
-
-void CFaxTransferSource::ReadPageParmsL ()
- {
- CReadFaxPages & pages = *iReadFaxFile->iReadFaxPages;
- pages.SetPageL (iPageInCurrentFile++);
- const TFaxPageInfo & info = pages.CurrentPageInfo ();
- iLines = info.iNumScanLines;
- iResolu = info.iResolution;
- iCompression = info.iCompression;
- }
-
-void CFaxTransferSource::ReadFaxData(TDes8& aBuffer)
- {
- // Discard the following error
- TRAP_IGNORE(iReadFaxFile->iReadFaxPages->GetEncodedScanLineL(aBuffer));
- }
-
-void CFaxTransferSource::PreviousPageFindL()
- {
- --iPageInCurrentFile;
- ReadPageParmsL();
- }
-
-void CFaxTransferSource::CloseFaxStore ()
- {
- if (iReadFaxFile != NULL)
- {
- iReadFaxFile->Close ();
- delete iReadFaxFile;
- iReadFaxFile = NULL;
- }
- }
-
-
-/*******************************************************************/
-
-// we've also got a small subclass to handle the details of pages in the fax
-
-void TFaxEntry::ExternalizeL (RWriteStream & aStream) const
- {
- aStream << iFaxPageStore;
- aStream.WriteUint8L (iStartPage);
- aStream.WriteUint8L (iPageCount);
- }
-
-void TFaxEntry::InternalizeL (RReadStream & aStream)
- {
- aStream >> iFaxPageStore;
- iStartPage = aStream.ReadUint8L ();
- iPageCount = aStream.ReadUint8L ();
- }
-/********************************************************************/