diff -r 1934667b0e2b -r 4b59561a31c0 cbsatplugin/atmisccmdplugin/inc/scpbrcommandhandler.h --- a/cbsatplugin/atmisccmdplugin/inc/scpbrcommandhandler.h Wed Sep 15 12:23:51 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,176 +0,0 @@ -/* - * Copyright (c) 2010 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 : - * - * CSCPBRCommandHandler class declaration for AT^SCPBR command - * - */ - -#ifndef SCPBRCOMMANDHANDLER_H_ -#define SCPBRCOMMANDHANDLER_H_ - -#include -#include -#include -#include - -#include "atcmdasyncbase.h" -#include "atmisccmdpluginconsts.h" - -class CPhoneBookBuffer; - -/** - * AT^SCPBR command handler implementation class - */ -NONSHARABLE_CLASS( CSCPBRCommandHandler ) : public CATCmdAsyncBase - { -private: - - /** - * SCPBR States - */ - enum TSCPBRState - { - ESCPBRStateIdle, // Idle - ESCPBRStateRead, // Read - ESCPBRStateGetPhoneBookInfo, // Get phone book info. - ESCPBRStateGet3GPBInfo, // Get 3G phone book info. - ESCPBRStateNotSupported // phone book store not supported - }; -private: - /** - * The data structure of phone book entry. - * Inner class used by CSCPBRCommandHandler only. - */ - class TPhoneBookEntry - { - public: - TPhoneBookEntry(): iIndex(-1) - { - } - - void Externalize( TDes8& aDes ) const; - - TInt iIndex; - - TBuf8 iNumber1; - TBuf8 iNumber2; - TBuf8 iNumber3; - TBuf8 iNumber4; - - TBuf8 iName; - - TBuf8 iEmail; - }; - -public: - static CSCPBRCommandHandler* NewL(MATMiscCmdPlugin* aCallback, TAtCommandParser& aATCmdParser, RMobilePhone& aPhone ); - - virtual ~CSCPBRCommandHandler(); - -private: // from CATCmdAsyncBase - virtual void HandleCommand(const TDesC8& aCmd, RBuf8& aReply, TBool aReplyNeeded); - -private: // from CActive - virtual void RunL(); - virtual void DoCancel(); - virtual TInt RunError(TInt aError); - -private: - CSCPBRCommandHandler(MATMiscCmdPlugin* aCallback, TAtCommandParser& aATCmdParser, RMobilePhone& aPhone ); - void ConstructL(); - - void ExtractEntriesL(); - void CopyToPhonebookEntryField(TDes8& aDest, const TDesC16& aSrc); - void FormatReplyL(); - TInt ParseParameters(); - void AppendEntryL(const TPhoneBookEntry& aEntry); - -private: - /** - * The first index to be read from phonebook store. - */ - TInt iIndex1; - - /** - * The last index to be read from phonebook store. - */ - TInt iIndex2; - - /** - * The reply - */ - RBuf8 iReply; - - /** - * The phone book store. used to get entries information and entries. - */ - RMobilePhoneBookStore iPhoneBookStore; - - /** - * used to save the entries information. - */ - RArray iEntries; - - /** - * Used to parse the content get from PhoneBookStore. - */ - CPhoneBookBuffer* iPhoneBookBuffer; - - /** - * The buffer to get phonebookstore entries content. - */ - RBuf8 iContactsBuf; - - /** - * Current state - */ - TSCPBRState iState; - - /** - * The PhonebookInfo, used to get phone book entries information. - */ - RMobilePhoneBookStore::TMobilePhoneBookInfoV1 iPhoneBookInfo; - - /** - * Total entries supported by phonebook store. - */ - TInt iTotalEntries; - /** - * The max number length supported - */ - TInt iNLength; - - /** - * The max email length supported. - */ - TInt iMLength; - - /** - * The max text length supported. - */ - TInt iTLength; - - /** - * Used to get 3GPBInfo. - */ - RMmCustomAPI iCustomApi; - - /** - * Used to get 3GPBInfo. - */ - RMmCustomAPI::T3GPBInfo i3GPBInfo; - - }; - -#endif /* SCPBRCOMMANDHANDLER_H_ */