telephonyserverplugins/multimodetsy/hayes/FAX.CPP
branchRCL_3
changeset 65 630d2f34d719
parent 61 17af172ffa5f
child 66 07a122eea281
--- a/telephonyserverplugins/multimodetsy/hayes/FAX.CPP	Thu Aug 19 11:03:36 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,187 +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:
-//
-
-#include "NOTIFY.H"
-#include "ETELFAX.H"
-#include "FAX.H"
-#include "mSLOGGER.H"
-
-//
-// CFaxHayes - Fax functionality
-//
-
-void CFaxHayes::CloseFax(TAny* aObj)
-//
-// Utility func for cleanup stack
-//
-	{
-	((CObject*)aObj)->Close();
-	}
-
-CFaxHayes* CFaxHayes::NewL(CCallMobileFax* aCallFaxHayes,CPhoneGlobals* aPhoneGlobals)
-//
-//	Completes successfully if fax call has already been dialled creating a CETelFaxBase 
-//  instance, and is not called if that is not true.
-//
-	{
-	CFaxHayes* fax=new(ELeave) CFaxHayes(aCallFaxHayes,aPhoneGlobals);
-	TCleanupItem newFaxHayesClose(CloseFax,fax);
-	CleanupStack::PushL(newFaxHayesClose);
-	fax->ConstructL();
-    CleanupStack::Pop();
-	return fax;
-	}
-	
-RHandleBase* CFaxHayes::GlobalKernelObjectHandle()
-	{	
-	return iOwner->GlobalKernelObjectHandle();
-	}
-
-CFaxHayes::CFaxHayes(CCallMobileFax* aCallFaxHayes,CPhoneGlobals* aPhoneGlobals)
-								 : iPhoneGlobals(aPhoneGlobals), iOwner(aCallFaxHayes)
-	{}
-
-void CFaxHayes::ConstructL()
-//
-//	Used to be that CFaxHayes could not be constructed before a call had been initiated
-//  ie the fax server was started and the call had a pointer to CETelFaxBase.
-//	Now, to solve the problem of the fax progress being only available after phase C, 
-//  RFax can be opened before a call has begun to connect. So in the event of this happening,
-//  each function of CFaxHayes must check that the fax server has been started.
-//	
-//	
-	{
-	LOGTEXT(_L8("CFaxHayes::ConstructL()"));
-	iDataDirection = EUnknown;
-	}
-
-CFaxHayes::~CFaxHayes()
-	{
-	iOwner->RemoveFax(this);
-	iPhoneGlobals->iNotificationStore->RemoveClientFromLastEvents(this);
-	}
-
-CTelObject::TReqMode CFaxHayes::ReqModeL(const TInt aIpc)
-	{
-	TReqMode reqMode = CFaxBase::ReqModeL(aIpc);
-	if ((reqMode & KReqModeFlowControlObeyed) && iPhoneGlobals->iPhoneStatus.iDataPortLoaned)
-		{
-		LOGTEXT2(_L8("ReqModeL Leaving with KErrInUse as data port is loaned (aIpc=%d)"),aIpc);
-		User::Leave(KErrInUse);
-		}
-	return reqMode;
-	}
-
-TInt CFaxHayes::RegisterNotification(const TInt /*aIpc*/)
-	{
-	return KErrNone;
-	}
-TInt CFaxHayes::DeregisterNotification(const TInt /*aIpc*/)
-	{
-	return KErrNone;
-	}
-
-void CFaxHayes::Init()
-	{}
-
-TInt CFaxHayes::CheckAndSetRegistrationParams(const TInt /*aIpc*/,const TDes8* /*aDes1*/,const TDes8* /*aDes2*/)
-	{
-	return KErrNone;
-	}
-
-TInt CFaxHayes::Read(const TTsyReqHandle aTsyReqHandle, TDes8* aDes)
-//
-//	Read fax data into descriptor, asynchronously. Use NotificationStore to notify client 
-//	when completed
-//
-    {
-	if (iOwner->iFaxSession==NULL)
-		{
-		ReqCompleted(aTsyReqHandle,KErrNotReady);
-		return KErrNone;
-		}	
-	LOGTEXT(_L8("Fax:\tCalling RxFaxData"));
-	iDataDirection = EReceiveData;
-	CFaxSession* session = iOwner->iFaxSession;
-
-	iPhoneGlobals->iNotificationStore->RegisterNotification(EReadOrWriteFax,aTsyReqHandle,this);
-	session->RxFaxData(*aDes);
-	return KErrNone;
-	}
-
-TInt CFaxHayes::Write(const TTsyReqHandle aTsyReqHandle, TDesC8* aDes)
-//
-//	Send fax data in descriptor to fax module, asynchronously
-//
-    {
-	if (iOwner->iFaxSession==NULL)
-		{
-		ReqCompleted(aTsyReqHandle,KErrNotReady);
-		return KErrNone;
-		}	
-	LOGTEXT(_L8("Fax:\tCalling TxFaxData"));
-	iDataDirection = ESendData;
-	CFaxSession* session = iOwner->iFaxSession;
-	iPhoneGlobals->iNotificationStore->RegisterNotification(EReadOrWriteFax,aTsyReqHandle,this);
-	session->TxFaxData(*aDes);
-	return KErrNone;
-	}
-
-TInt CFaxHayes::WaitForEndOfPage(const TTsyReqHandle aTsyReqHandle)
-//
-//	Send request for notification of end of page to fax module
-//
-    {
-	if (iOwner->iFaxSession==NULL)
-		{
-		ReqCompleted(aTsyReqHandle,KErrNotReady);
-		return KErrNone;
-		}	
-	LOGTEXT(_L8("Fax:\tCalling Wait for end of page"));
-	CFaxSession* session = iOwner->iFaxSession;
-	if (iDataDirection==EUnknown)
-		{
-		ReqCompleted(aTsyReqHandle,KErrUnknown); // client hasn't read or written data yet
-		return KErrNone;
-		}
-	iPhoneGlobals->iNotificationStore->RegisterNotification(EEndOfFaxPage,aTsyReqHandle,this);
-	LOGTEXT(_L8("Fax:\tEnd Of Page Notification lodged"));	
-	if (iDataDirection==EReceiveData)
-		session->RxPostPage();
-	else 
-		session->TxPostPage();
-	return KErrNone;
-	}
-
-TInt CFaxHayes::TerminateFaxSession(const TTsyReqHandle aTsyReqHandle)
-//
-//	Cancel the entire fax session. Server completes fax notification requests that it knows
-//	as notifications. TSY treats ReadOrWrite and EndOfPage as notifications although they 
-//  have no Cancel function, so it must remove them from its notification list here 
-//	explicitly
-//
-    {
-	if (iOwner->iFaxSession==NULL)
-		{
-		ReqCompleted(aTsyReqHandle,KErrNotReady);
-		return KErrNone;
-		}	
-	LOGTEXT(_L8("Fax:\tCancelling fax session"));
-	CFaxSession* session= iOwner->iFaxSession;
-	session->Cancel();
-	iPhoneGlobals->iNotificationStore->CheckNotification(session,EFaxSessionTerminated,KErrCancel);
-	ReqCompleted(aTsyReqHandle,KErrNone);	
-	return KErrNone;
-	}