diff -r 000000000000 -r 3553901f7fa8 telephonyserverplugins/multimodetsy/Multimode/sms/cmt_unstored.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/telephonyserverplugins/multimodetsy/Multimode/sms/cmt_unstored.h Tue Feb 02 01:41:59 2010 +0200 @@ -0,0 +1,66 @@ +// 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 + @internalAll +*/ + +#ifndef __CMT_UNSTORED_H__ +#define __CMT_UNSTORED_H__ + +#include "smsbase.H" + +// Forward class declarations +class CReceiveSmsQueue; + + +class CATSmsWaitForAndHandleCMTUnstored : public CATBase + { +public: // public methods + static CATSmsWaitForAndHandleCMTUnstored* NewL(CATIO* aIo, CTelObject* aTelObject, CPhoneGlobals* aGlobals, + CReceiveSmsQueue& aReceiveQueue); + ~CATSmsWaitForAndHandleCMTUnstored(); + + void Enable(); + void Disable(); + + +private: // private methods + CATSmsWaitForAndHandleCMTUnstored(CATIO* aIo, CTelObject* aTelObject, CPhoneGlobals* aGlobals, + CReceiveSmsQueue& aReceiveQueue); + // Utility methods + void ParseFirstCMTLineL(TInt& aPduLen); + void ParseSecondCMTLineL(RMobileSmsMessaging::TMobileSmsGsmTpdu& aPdu,RMobileSmsMessaging::TMobileSmsReceiveAttributesV1& aAttr); + + // Pure virtuals from CATBase + virtual void CompleteWithIOError(TEventSource aSource,TInt aStatus); + virtual void EventSignal(TEventSource aSource); + +private: // private data + // State machine states and current state + enum TState {ENoState=0, EWaitForCMT, EWaitForCmtSecondLine, EWaitForCmtSecondLineThenDisable}; + TState iState; + + TInt iPduLen; // Stores the length that the phone states the PDU is + + CCommChatString* iCMTExpectString; // The CMT expect string, this object not owned by this class + CCommChatString* iCDSExpectString; // The CDS expect string, this object not owned by this class + CCommChatString* iWaitForAnything; // The '*' anything expect string, this object not owned by this class + + CReceiveSmsQueue& iReceiveQueue; // Reference to our client's receive queue + }; + +#endif