--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/fax/faxclientandserver/FAXSVR/FAXSERV.H Tue Feb 02 01:41:59 2010 +0200
@@ -0,0 +1,213 @@
+// 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
+*/
+
+#if !defined(__FaxServ_H__)
+#define __FaxServ_H__
+
+#include <f32file.h>
+#include <s32file.h>
+#include <s32mem.h>
+
+#if !defined(__FAXSTORE_H__)
+#include <faxstore.h>
+#endif
+
+#if !defined(__FAXHUFF_H__)
+#include <faxhuff.h>
+#endif
+
+#if !defined(__ETEL_H__)
+#include "ETEL.H"
+#endif
+
+#include <faxstd.h>
+/**
+@internalTechnology
+*/
+const TUint KUidDynamicFaxServer = 0x10004C88;
+const TUint KUidUnicodeDynamicFaxServer = 0x10004C89;
+/**
+@internalComponent
+*/
+TInt FaxServerThread (TAny * session); // function declaration needed here
+/**
+@internalComponent
+*/
+#define KMaxDialLength 50
+#define KConfigStringLength 32
+
+
+//**********************************
+// TFaxServerSessionSettings
+//**********************************
+/**
+@internalTechnology
+*/
+struct TFaxServerSessionSettings
+ {
+ TFaxServerSessionSettings& operator=(const TFaxServerSessionSettings& aSettings);
+ TBuf8<KMaxDialLength> iPhoneNumber;
+ TBool iLogging;
+ TBuf8<KConfigStringLength> iFaxInitString;
+ TFaxMode iMode;
+ TFaxClass iFaxClass;
+ TFileName iPortDriverName;
+ TName iCommPortName;
+ TBuf<RCall::KFaxIdUserNameMaxSize> iFaxId;
+ TInt iMaxSpeed;
+ TInt iMinSpeed;
+ TInt iPreferredECM;
+ TInt iFaxOnDemandDelay;
+// Tx Settings
+ TFaxResolution iTxResolution;
+ TFaxCompression iTxCompression;
+ TInt iTxPages;
+// Rx Settings
+ TFaxResolution iRxResolution;
+ TFaxCompression iRxCompression;
+ };
+
+class MFaxCompletionBase
+/**
+@internalTechnology
+*/
+ {
+public:
+ virtual void RxConnectComplete(TInt aError)=0;
+ virtual void RxFaxDataComplete(TInt aError)=0;
+ virtual void RxPostPageComplete(TInt aError)=0;
+ virtual void TxConnectComplete(TInt aError)=0;
+ virtual void TxFaxDataComplete(TInt aError)=0;
+ virtual void TxPostPageComplete(TInt aError)=0;
+
+ virtual void GetCadenceAndTimeOfLastRing(TTimeIntervalMicroSeconds& aCadence,TTime& aTime)=0;
+ };
+
+
+class CFaxModemDriver;
+class CFaxSharedFileHandles;
+class CFaxSession : public CBase
+/**
+@internalTechnology
+*/
+ {
+ public:
+ virtual TInt FxOpen(TFaxServerSessionSettings&,RFax::TProgress* aProgress);
+ virtual TInt FxClose();
+ virtual void RxConnect();
+ virtual void RxFaxData(TDes8 & aData);
+ virtual void RxPostPage();
+ virtual void TxConnect();
+ virtual void TxFaxData(const TDesC8 & aData);
+ virtual void TxPostPage();
+ virtual void Cancel();
+ virtual void SetCallBack(MFaxCompletionBase* aBase);
+ virtual void SetFaxHeaderFile(CFaxSharedFileHandles* iSharedFileHandles);
+
+ static CFaxSession * NewL ();
+ static CFaxSession * NewLC ();
+ ~CFaxSession ();
+ CFaxSession(void);
+
+ MFaxCompletionBase* ReturnCompletionBase(void); // added by JerryC
+ void StartModemL ();
+
+
+ enum TFaxThreadRequest
+ {
+ ERxConnect,
+ ERxFaxData,
+ ERxPostPage,
+ ETxConnect,
+ ETxFaxData,
+ ETxPostPage,
+ EFxClose
+ };
+
+ /********************************************************************/
+ // CFaxRequest active object
+ /********************************************************************/
+
+ class CFaxRequest : public CActive
+ /**
+ @internalComponent
+ */
+ {
+ public:
+ CFaxRequest();
+ ~CFaxRequest ();
+ static CFaxRequest * NewL (CFaxSession *);
+ static CFaxRequest * NewLC (CFaxSession *);
+ void ConstructL (CFaxSession *);
+ void DoCancel();
+ void FaxRequest (TFaxThreadRequest);
+ void RunL ();
+
+ public:
+ RThread iChildThread;
+ TRequestStatus iThreadStat;
+ TInt iCancel;
+
+ private:
+ CFaxSession * iFaxSession;
+ TFaxThreadRequest iFaxThreadRequest;
+ };
+
+ public:
+ RThread iParentThread;
+ CFaxModemDriver * iModemDriver;
+ TDes8 * iRxData;
+ const TDesC8 * iTxData;
+ CFaxRequest * iFaxRequest;
+ TFaxServerSessionSettings iFaxServerSessionSettings;
+ RFax::TProgress* iProgress;
+ CFaxSharedFileHandles* iSharedFileHandles;
+ private:
+ TRequestStatus iChildDeath;
+ MFaxCompletionBase* iCompletionBase; // added by JerryC
+ TBool iAmDestructing;
+ };
+
+
+/********************************************************************/
+
+/*
+class MFaxSession
+ {
+public:
+ virtual TInt FxOpen(TFaxServerSessionSettings&,RFax::TProgress* aProgress)=0;
+ virtual TInt FxClose()=0;
+
+ virtual void RxConnect()=0;
+ virtual void RxFaxData(TDes8 & aData)=0;
+ virtual void RxPostPage()=0;
+
+ virtual void TxConnect()=0;
+ virtual void TxFaxData(const TDesC8 & aData)=0;
+ virtual void TxPostPage()=0;
+
+ virtual void Cancel()=0;
+
+ virtual void SetCallBack(MFaxCompletionBase* aCompletionBase)=0;
+ };
+
+ */
+
+
+#endif