telephonyserverplugins/multimodetsy/hayes/ATDIAL.CPP
branchRCL_3
changeset 20 07a122eea281
parent 19 630d2f34d719
--- a/telephonyserverplugins/multimodetsy/hayes/ATDIAL.CPP	Tue Aug 31 16:23:08 2010 +0300
+++ b/telephonyserverplugins/multimodetsy/hayes/ATDIAL.CPP	Wed Sep 01 12:40:21 2010 +0100
@@ -774,3 +774,63 @@
 
 	return EFalse;		// We were unable to send a +CBST string 
 	}
+
+
+
+//
+//	CATDialFax
+//
+
+CATDialFax*	 CATDialFax::NewL(CATIO* aIo, CTelObject* aTelObject,CATInit* aInit,CPhoneGlobals* aPhoneGlobals)
+	{
+	CATDialFax* dial=new(ELeave) CATDialFax(aIo, aTelObject, aInit,aPhoneGlobals);
+	CleanupStack::PushL(dial);
+	dial->ConstructL();
+	CleanupStack::Pop();
+	return dial;
+	}
+
+CATDialFax::CATDialFax(CATIO* aIo, CTelObject* aTelObject,CATInit* aInit,CPhoneGlobals* aPhoneGlobals)
+											: CATFaxCallConnectCommands(aIo,aTelObject,aInit,aPhoneGlobals)
+	{}
+
+CATDialFax::~CATDialFax()
+	{
+	iIo->WriteAndTimerCancel(this);	
+	}
+
+void CATDialFax::Start(TTsyReqHandle aTsyReqHandle, TAny* aParams)
+	{
+	LOGTEXT(_L8("Starting dial fax call command"));
+	iTelnum=REINTERPRET_CAST(TDesC*,aParams);
+	CATFaxCallConnectCommands::Start(aTsyReqHandle,aParams);
+	}
+
+void CATDialFax::Stop(TTsyReqHandle aTsyReqHandle)
+	{
+	LOGTEXT(_L8("Cancelling Dial Fax Call Command"));
+	CATFaxCallConnectCommands::Stop(aTsyReqHandle);
+	}
+
+void CATDialFax::EventSignal(TEventSource aSource)
+	{
+	if((aSource==ETimeOutCompletion)
+		&&(iPreConnectState!=EATWaitForATCheckOK))
+		{
+		LOGTEXT(_L8("Timeout Error during Dial"));
+		Complete(KErrTimedOut,aSource);
+		return;
+		}
+
+	if (iPreConnectState!=CATCallConnectCommands::EATInitCompleted
+		&& iPreConnectState!=CATCallConnectCommands::ENotInProgress)
+		{
+		CATCallConnectCommands::PreConnectEventSignal(aSource);
+		}
+	}
+
+void CATDialFax::CompleteSuccessfully()
+	{
+	REINTERPRET_CAST(CCallMobileFax*,iTelObject)->FaxDial(iReqHandle,iTelnum);	
+	}
+