--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/telephonyserverplugins/multimodetsy/hayes/ATWAIT.H Tue Feb 02 01:41:59 2010 +0200
@@ -0,0 +1,82 @@
+// 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:
+// Wait for asynchronous notifications
+// +CRING: incoming call
+// +CREG: network registration change
+//
+//
+
+/**
+ @file
+ @internalAll
+*/
+
+#ifndef __ATWAIT_H__
+#define __ATWAIT_H__
+
+#include "ATBASE.H"
+
+class CATWaitForCall;
+class CSetLineToIdle : public CTimer
+/**
+@internalComponent
+*/
+ {
+public:
+ static CSetLineToIdle* NewL(CATWaitForCall* aWait);
+ ~CSetLineToIdle();
+ void Start();
+ void Stop();
+protected:
+ CSetLineToIdle(CATWaitForCall* aWait);
+ virtual void RunL();
+private:
+ CATWaitForCall* iWait;
+ };
+
+class CCallHayes;
+class CATWaitForCall : public CATBase
+/**
+@internalComponent
+*/
+ {
+public:
+ static CATWaitForCall* NewL(CATIO* aIo,CTelObject* aTelObject,CPhoneGlobals* aPhoneGlobals);
+ ~CATWaitForCall();
+ void StartWait();
+ void EndRing();
+ void ResetRingCounter();
+ RMobilePhone::TMobilePhoneRegistrationStatus MappingRegistrationStatusFromETSIToMM(TInt *aNumber);
+protected:
+ CATWaitForCall(CATIO* aIo,CTelObject* aTelObject,CPhoneGlobals* aPhoneGlobals);
+ void ConstructL();
+ TInt ParseIncomingCallIndicationL();
+ void ParseNetworkRegistrationL();
+ virtual void CompleteWithIOError(TEventSource aSource,TInt aStatus);
+ virtual void EventSignal(TEventSource aSource);
+protected:
+ CCommChatString* iRingExpectString;
+ CCommChatString* iCRingExpectString;
+ CCommChatString* iRegExpectString;
+ CCommChatString* iTailExpectString;
+ CSetLineToIdle* iSetLineToIdle;
+ TInt iRingCounter;
+ enum {
+ EATWaitForUnsolicited,
+ EATWaitForCRingRead,
+ EATWaitForCRegRead
+ } iState;
+ };
+
+#endif