--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/fax/faxclientandserver/Inc/FAXTSRC.H Tue Feb 02 01:41:59 2010 +0200
@@ -0,0 +1,111 @@
+// 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:
+// Contents : for sending faxes from fax stores
+//
+//
+
+/**
+ @file
+ @internalComponent
+*/
+
+#ifndef __FAXTSRC_H
+#define __FAXTSRC_H
+
+/**
+@internalComponent
+*/
+enum TFaxPreferredCompression
+ {
+ Prefer1D, Prefer2D
+ };
+
+
+/********************************************************************/
+
+/**
+@internalComponent
+*/
+class TFaxEntry
+ {
+public:
+ void InternalizeL (RReadStream &);
+ void ExternalizeL (RWriteStream &) const;
+
+ TInt iNameLength;
+ TFileName iFaxPageStore;
+ TInt iStartPage;
+ TInt iPageCount;
+ };
+
+/********************************************************************/
+
+/**
+@internalComponent
+*/
+class CFaxTransferSource : public CBase
+ {
+public:
+ static CFaxTransferSource * NewL ();
+ static CFaxTransferSource * NewLC ();
+ ~CFaxTransferSource ();
+
+protected:
+ void ConstructL ();
+
+public:
+ IMPORT_C void AddSourceL (const TFileName &, TFaxPreferredCompression);
+ IMPORT_C void AddSourceL (const TFileName &, TInt, TFaxPreferredCompression);
+ IMPORT_C void AddSourceL (const TFileName &, TInt, TInt, TFaxPreferredCompression);
+ IMPORT_C void RemoveAllSources ();
+
+ void GetNextPageReadyL ();
+
+ void OpenFaxInL (const TDesC & aFileName);
+ void PagePrepare ();
+ void WriteFaxDataL (const TDesC8 & aBuffer);
+ void WritePageParmsL (TFaxBufSenderId & aSenderId);
+ void CloseFaxInStore ();
+
+ TInt OpenFaxOutL (const TDesC & aFileName); // returns the number of pages in the file
+ TInt NextPageFind ();
+ void ReadPageParmsL ();
+ void ReadFaxData (TDes8 & aBuffer);
+ void PreviousPageFindL ();
+ void CloseFaxStore ();
+
+ TInt iLines; // length of image in lines
+ TInt iResolu; // resolution of image
+ TInt iCompression; // type of compression
+ TInt iBitOrder; // little or big endian ordering of bits in a byte
+ TInt iPage; // page number of image in fax
+
+ TStreamId iOurStreamID;
+ CBufSeg * iSources;
+ RBufReadStream iInstream;
+ RBufWriteStream iOutstream;
+
+ CWriteFaxFile * iWriteFaxFile;
+ CReadFaxFile * iReadFaxFile;
+
+ TInt iFaxListEntries;
+ TInt iSavedFaxListEntries;
+ TInt iFaxPages;
+ TInt iPageInCurrentFile;
+
+ TFaxPreferredCompression iOurPreferredCompression;
+ TFaxEntry iOurFaxEntry;
+ };
+
+#endif // __FAXTSRC_H