--- /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