diff -r 238255e8b033 -r 84d9eb65b26f messagingappbase/smsmtm/servermtm/inc/SmssSimUtils.h --- a/messagingappbase/smsmtm/servermtm/inc/SmssSimUtils.h Fri Apr 16 14:56:15 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,171 +0,0 @@ -// Copyright (c) 2000-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: -// - -#ifndef SMSS_SIM_UTILS_H_ -#define SMSS_SIM_UTILS_H_ - -//Includes - -#include -#include -#include "smssactive.h" -#include -#include - -//Forward declarations - -class RSocket; -class RSocketServ; -class CParaFormatLayer; -class CCharFormatLayer; -class CSmsHeader; -class CBIODatabase; - - -//CSmsSimUtils -const TUid KSmsSimUtilsDataUid = {0x101f747e}; -const TInt16 KSmsSimUtilsDataVersion = 1; - -class TSmsSimUtilsData -/** -@internalComponent -@released -*/ - { - public: - - inline TSmsSimUtilsData(); - void StoreL(CMsvStore& aStore) const; - void RestoreL(const CMsvStore& aStore); - inline TBool IsPresentL(const CMsvStore& aStore) const; - void ExternalizeL(RWriteStream& aStream) const; - void InternalizeL(RReadStream& aStream); - - public: - - TMsvId iLastEnumerateFolder; //< Last folder used for enumerating SIM messages - }; - -class CSmsSimUtils : public CSmssActive -/** -@internalComponent -@released -*/ - { -public: - static CSmsSimUtils* NewL(CMsvServerEntry& aServerEntry, RFs& aFs, TMsvId aSmsServiceId); - void EnumerateL(const TDesC8& aParameter, TRequestStatus& aStatus); - - void DeleteFromPhoneStoreL(const CMsvEntrySelection& aSelection, TRequestStatus& aStatus); - void CopyFromPhoneStoreL(const CMsvEntrySelection& aSelection, const TDesC8& aParameter, TRequestStatus& aStatus); - void MoveFromPhoneStoreL(const CMsvEntrySelection& aSelection, const TDesC8& aParameter, TRequestStatus& aStatus); - - void ReadSimParamsL(TRequestStatus& aStatus); - void WriteSimParamsL(TRequestStatus& aStatus); - - inline const TSmsProgress& Progress(); - ~CSmsSimUtils(); - - static void ConnectL(RSocketServ& arSocketServ, RSocket& arSocket, TSmsAddrFamily aSmsAddrFamily); - - //Write messages to a phone store - void CopyToPhoneStoreL(const CMsvEntrySelection& aSelection, const TDesC8& aParameter, TRequestStatus& aStatus); - void MoveToPhoneStoreL(const CMsvEntrySelection& aSelection, const TDesC8& aParameter, TRequestStatus& aStatus); -private: - CSmsSimUtils(CMsvServerEntry& aServerEntry, RFs& aFs, TMsvId aSmsServiceId); - void ConstructL(); - - void ConstructHeaderAndBodyL(); - void DoRunL(); - void DoSmssCancel(); - void DoComplete(TInt& aStatus); //from CSmssActive - void ConnectL(); - void RetrieveMessageFromPhoneStoreL(); - void SetupMoveDeleteL(const CMsvEntrySelection& aSelection, TRequestStatus& aStatus); - void DoDeleteFromPhoneStoreL(); - void DoDeleteThenMoveFromPhoneStoreL(); - void DeleteEachMessageFromPhoneStoreL(); - - void SetDestination(const TDesC8& aParameter); - void MoveEntriesL(const CMsvEntrySelection& aSelection, TBool aCopy=EFalse); - - //Count the messages in the phone stores - void CountMessagesInPhoneStoresL(); - void CreateBioDbL(); - TBool GetDefaultSendBearerL(TInt aBioType, TBioMsgIdType aBearer, TBioMsgId& rBioMsgId) const; - TUid DecodeBioMessageL(TBioMsgId& rId); - void EncodeBioMessageL(); - - void DoRunReadSimParamsL(); - - void DoCopyToPhoneStoreL(); - - void StoreSimUtilsDataL(); - void RestoreSimUtilsDataL(); - TMsvId CreateNewEnumerateFolderL(); - void SetAndCleanEnumerateFolderL(const TDesC8& aParameter); - void DeleteChildrenL(TMsvId aId); - void DeleteEnumerateFolderL(TMsvId aId); - void LoadClass2FolderIdL(); - void SetLocalStorageInfoL(const CMsvEntrySelection& aSelection); - void RestoreSmsSettingsL(); - -private: - - enum TSmsSimUtilsState - { - ESimUtilsStateOther, - ESimUtilsDeleteEachMessage, - EWritingToSIM, - EUpdatingClass2, - EMovingEntries, - ESimUtilsDeletedLastMessage - } iState; - - RSocket iSocket; - RSocketServ iSocketServ; - - TSmsProgress iProgress; - CMsvEntrySelection* iSelection; - - //Enumerating Messages & Reading SMS Parameters - TPckgBuf iEnumerateCountBuf; - RSmsSocketReadStream iReadStream; - TMsvId iSmsServiceId; - - //Copy, Move, Delete messages from SIM - CParaFormatLayer* iParaFormat; - CCharFormatLayer* iCharFormat; - CRichText* iBody; - CSmsHeader* iHeader; - TMsvId iDestination; - CBIODatabase* iBioDb; - CMsvEntrySelection* iCompletedSelection; - TInt iRecipientCount; - TInt iRecipientIndex; - - //Writing messages to phone stores and writing SMS Parameters - RSmsSocketWriteStream iWriteStream; //< SMS socket write stream - TBool iReadingSimParams; - TSmsSimUtilsData iSimUtilsData; - TMsvId iClass2Folder; - CSmsSettings* iSettings; - TBuf8 iSlotBuffer; - CSmsGetDetDescInterface* iGetDetDesc; - }; - -#include "SmssSimUtils.inl" - -#endif