diff -r 6b1d113cdff3 -r 6638e7f4bd8f telephonyserverplugins/multimodetsy/Multimode/sms/smsbase.H --- a/telephonyserverplugins/multimodetsy/Multimode/sms/smsbase.H Mon May 03 13:37:20 2010 +0300 +++ b/telephonyserverplugins/multimodetsy/Multimode/sms/smsbase.H Thu May 06 15:10:38 2010 +0100 @@ -1,103 +1,103 @@ -// 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: -// Sms AT Command Base Class Header -// -// - -/** - @file - @internalAll -*/ - - -#ifndef __SMSBASE_H__ -#define __SMSBASE_H__ - -#include "ATBASE.H" -#include "smsutil.h" // for KMaxAsciiPduLength - -// Constants -const TUint KATWriteTimeout=20000; // Is in milli seconds, -const TInt KATResponseTimeout=40; // Is in seconds, set to 40 seconds as +CMGS response - // can take upto 15 seconds when the GSM network is busy -const TUint KCapsCnmiMode1 = 0x02; -const TUint KCapsCnmiMode2 = 0x04; -const TUint KCapsCnmiMode3 = 0x08; - -class CMobileSmsStore; - -class CATSmsCommands : public CATCommands - { -public: - CATSmsCommands(CATIO* aIo, CTelObject* aTelObject,CATInit* aInit,CPhoneGlobals* aGsmStatus); - ~CATSmsCommands(); - -protected: - // from CATBase - virtual void EventSignal(TEventSource aEventSource); - - // Request common AT commands be carried out - enum TRequest {ENone, - EGetSCAFromPhone, ESetSCAInPhone, - ESetPhoneToCMTMode,ESetPhoneToCMTIMode}; - TInt RequestATCommand(TRequest aReq); - void RequestATCommandCancel(); - TRequest RequestATCompleted(); // Sets iRequestCcompleted to EFalse - TBool RequestATActive() const; - - // Utility - void HandleWriteCompletion(TEventSource aSource); - TInt HandleResponseCompletion(TEventSource aSource,TBool aValidateExpectString=ETrue); - TInt ParseRxResultsForCSCAResponse(RMobilePhone::TMobileAddress& aTelNumber); - TInt DoParseRxResultsForCSCAResponseL(RMobilePhone::TMobileAddress& aTelNumber); - TInt CMSErrorValue(); - TInt ConvertCMSErrorToKErr(const TInt& aCmsError) const; - TBool ComparePrefMem(const TStorageType& aName) const; - void SetCurrentPrefMem(const TStorageType& aStorageName); - -private: - // Request functions - TInt GetSCAFromPhone(const TEventSource& aEventSource); - TInt SetSCAInPhone(const TEventSource& aEventSource); - TInt SetPhoneToCMTMode(const TEventSource& aEventSource); - TInt SetPhoneToCMTIMode(const TEventSource& aEventSource); - - // Utility - void CompleteRequest(TInt aError=KErrNone); - void InitializeRequestData(TRequest aReq); - void ProcessCapsElementL(TDblQueIter& aIter,TInt32& aCapsMask); - void ParseCNMIFirstCapabilityL(TInt& aHighestValue); - -protected: - TInt iRequestError; //KErr... value set when request completes - RMobilePhone::TMobileAddress iRequestSCA; // Used by EGetSCAFromPhone & ESetSCAInPhone - -private: - enum { EStage0=0, EStage1, EStage2, EStage3, EStage4, EStage5, EStage6, EStage7 }; - - enum - { - ECnmiMode0, - ECnmiMode1, - ECnmiMode2, - ECnmiMode3 - }; - - TBool iRequestCompleted; //ETrue if, and only if, a request has completed - TRequest iRequest; - TInt iRequestStage; - TBool iRequestCancel; - }; - -#endif +// 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: +// Sms AT Command Base Class Header +// +// + +/** + @file + @internalAll +*/ + + +#ifndef __SMSBASE_H__ +#define __SMSBASE_H__ + +#include "ATBASE.H" +#include "smsutil.h" // for KMaxAsciiPduLength + +// Constants +const TUint KATWriteTimeout=20000; // Is in milli seconds, +const TInt KATResponseTimeout=40; // Is in seconds, set to 40 seconds as +CMGS response + // can take upto 15 seconds when the GSM network is busy +const TUint KCapsCnmiMode1 = 0x02; +const TUint KCapsCnmiMode2 = 0x04; +const TUint KCapsCnmiMode3 = 0x08; + +class CMobileSmsStore; + +class CATSmsCommands : public CATCommands + { +public: + CATSmsCommands(CATIO* aIo, CTelObject* aTelObject,CATInit* aInit,CPhoneGlobals* aGsmStatus); + ~CATSmsCommands(); + +protected: + // from CATBase + virtual void EventSignal(TEventSource aEventSource); + + // Request common AT commands be carried out + enum TRequest {ENone, + EGetSCAFromPhone, ESetSCAInPhone, + ESetPhoneToCMTMode,ESetPhoneToCMTIMode}; + TInt RequestATCommand(TRequest aReq); + void RequestATCommandCancel(); + TRequest RequestATCompleted(); // Sets iRequestCcompleted to EFalse + TBool RequestATActive() const; + + // Utility + void HandleWriteCompletion(TEventSource aSource); + TInt HandleResponseCompletion(TEventSource aSource,TBool aValidateExpectString=ETrue); + TInt ParseRxResultsForCSCAResponse(RMobilePhone::TMobileAddress& aTelNumber); + TInt DoParseRxResultsForCSCAResponseL(RMobilePhone::TMobileAddress& aTelNumber); + TInt CMSErrorValue(); + TInt ConvertCMSErrorToKErr(const TInt& aCmsError) const; + TBool ComparePrefMem(const TStorageType& aName) const; + void SetCurrentPrefMem(const TStorageType& aStorageName); + +private: + // Request functions + TInt GetSCAFromPhone(const TEventSource& aEventSource); + TInt SetSCAInPhone(const TEventSource& aEventSource); + TInt SetPhoneToCMTMode(const TEventSource& aEventSource); + TInt SetPhoneToCMTIMode(const TEventSource& aEventSource); + + // Utility + void CompleteRequest(TInt aError=KErrNone); + void InitializeRequestData(TRequest aReq); + void ProcessCapsElementL(TDblQueIter& aIter,TInt32& aCapsMask); + void ParseCNMIFirstCapabilityL(TInt& aHighestValue); + +protected: + TInt iRequestError; //KErr... value set when request completes + RMobilePhone::TMobileAddress iRequestSCA; // Used by EGetSCAFromPhone & ESetSCAInPhone + +private: + enum { EStage0=0, EStage1, EStage2, EStage3, EStage4, EStage5, EStage6, EStage7 }; + + enum + { + ECnmiMode0, + ECnmiMode1, + ECnmiMode2, + ECnmiMode3 + }; + + TBool iRequestCompleted; //ETrue if, and only if, a request has completed + TRequest iRequest; + TInt iRequestStage; + TBool iRequestCancel; + }; + +#endif