diff -r 630d2f34d719 -r 07a122eea281 cbsref/telephonyrefplugins/atltsy/atcommand/phonebook/src/atphbkstorewrite.cpp --- a/cbsref/telephonyrefplugins/atltsy/atcommand/phonebook/src/atphbkstorewrite.cpp Tue Aug 31 16:23:08 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,311 +0,0 @@ -// Copyright (c) 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 atphbkstorewrite.cpp -// This contains CAtPhbkStoreWrite which is use to write a phonebook Entry -// - -//system include -#include -#include -#include - -//user include -#include "atphbkstorewrite.h" -#include "mslogger.h" - -//constant defination -_LIT8(KPhbkStoreWrite,"AT+CPBW=%d,\"%S\",145,\"%S\"\r"); -_LIT8(KSelAdnPhonebook,"AT+CPBS=\"SM\"\r"); -_LIT8(KSelFdnPhonebook,"AT+CPBS=\"FD\"\r"); -const TInt KMaxNumberLen = 20; -const TInt KMaxTextLen = 14; - -// --------------------------------------------------------------------------- -// CAtPhbkStoreWrite::CAtPhbkStoreWrite -// other items were commented in a header -// --------------------------------------------------------------------------- -CAtPhbkStoreWrite::CAtPhbkStoreWrite(CGlobalPhonemanager& aGloblePhone, - CCtsyDispatcherCallback& aCtsyDispatcherCallback) - :CAtCommandBase(aGloblePhone,aCtsyDispatcherCallback) - { - LOGTEXT(_L8("CAtPhbkStoreWrite::CAtPhbkStoreWrite called")); - } - -// --------------------------------------------------------------------------- -// CAtPhbkStoreWrite::~CAtPhbkStoreWrite -// other items were commented in a header -// --------------------------------------------------------------------------- -CAtPhbkStoreWrite::~CAtPhbkStoreWrite() - { - LOGTEXT(_L8("CAtPhbkStoreWrite::~CAtPhbkStoreWrite called")); - } - -// --------------------------------------------------------------------------- -// CAtPhbkStoreWrite::NewLC -// other items were commented in a header -// --------------------------------------------------------------------------- -CAtPhbkStoreWrite* CAtPhbkStoreWrite::NewLC(CGlobalPhonemanager& aGloblePhone, - CCtsyDispatcherCallback& aCtsyDispatcherCallback) - { - CAtPhbkStoreWrite* self = new (ELeave)CAtPhbkStoreWrite(aGloblePhone, - aCtsyDispatcherCallback); - CleanupStack::PushL(self); - self->ConstructL(); - return self; - } - -// --------------------------------------------------------------------------- -// CAtPhbkStoreWrite::NewL -// other items were commented in a header -// --------------------------------------------------------------------------- -CAtPhbkStoreWrite* CAtPhbkStoreWrite::NewL(CGlobalPhonemanager& aGloblePhone, - CCtsyDispatcherCallback& aCtsyDispatcherCallback) - { - CAtPhbkStoreWrite* self=CAtPhbkStoreWrite::NewLC(aGloblePhone, - aCtsyDispatcherCallback); - CleanupStack::Pop(self); - return self; - } - -// --------------------------------------------------------------------------- -// CAtPhbkStoreWrite::ConstructL -// other items were commented in a header -// --------------------------------------------------------------------------- -void CAtPhbkStoreWrite::ConstructL() - { - CAtCommandBase::ConstructL(); - } - -// --------------------------------------------------------------------------- -// CAtPhbkStoreWrite::SetPhonebookType -// other items were commented in a header -// --------------------------------------------------------------------------- -void CAtPhbkStoreWrite::SetPhonebookType(DispatcherPhonebook::TPhonebook aPhonebookType) - { - iPhoneBookType = aPhonebookType; - } - -// --------------------------------------------------------------------------- -// CAtPhbkStoreWrite::SetPhonebookEntry -// other items were commented in a header -// --------------------------------------------------------------------------- -void CAtPhbkStoreWrite::SetPhonebookEntryL(const TDesC8& aEntry) - { - TInt ret = KErrNone; - TInt retVal = KErrNone; - TUint8 tmpTagValue; - TPtrC16 textPtr; - TUint8 tagValue; - CPhoneBookBuffer::TPhBkTagType tagType; - TUint8 newEntryTag; - newEntryTag = RMobilePhoneBookStore::ETagPBNewEntry; - TUint16 index; - TPtrC16 numPtr; - TPtrC16 type; - // used to write phonebook data - CPhoneBookBuffer* pbBuffer = new(ELeave) CPhoneBookBuffer(); - CleanupStack::PushL(pbBuffer); - - // Set pointer to constant descriptor - TPtr8 dataToSeparate( NULL, 0, 0 ); - dataToSeparate.Set( (TUint8*)aEntry.Ptr(), - aEntry.Length(), aEntry.Length() ); - - // Init and get entry info - pbBuffer->Set( &dataToSeparate ); - pbBuffer->StartRead(); - ret = pbBuffer->GetTagAndType( tmpTagValue, tagType ); - // Ensure, that there is new entry containing data - if ( KErrNone == ret && tmpTagValue == newEntryTag ) - { - // Get the first value from TLV data - ret = pbBuffer->GetTagAndType( tagValue, tagType ); - while(ret == KErrNone) - { - switch ( tagValue ) - { - // Get name - case RMobilePhoneBookStore::ETagPBText: - retVal = pbBuffer->GetValue( textPtr ); - if(retVal == KErrNone) - { - iPhbkEntry.iText = textPtr; - } - break; - // Get number - case RMobilePhoneBookStore::ETagPBNumber: - ret = pbBuffer->GetValue( numPtr ); - if(retVal == KErrNone) - { - iPhbkEntry.iNumber = numPtr; - } - break; - // get the index - case RMobilePhoneBookStore::ETagPBAdnIndex: - retVal = pbBuffer->GetValue(index); - if( retVal == KErrNone ) - { - iPhbkEntry.iIndex = index; - } - break; - // get ETagPBTonNpi , not needed - case RMobilePhoneBookStore::ETagPBTonNpi: - retVal = pbBuffer->GetValue(type); - break; - default: - break; - }//switch - ret = pbBuffer->GetTagAndType( tagValue, tagType ); - }//while - } - CleanupStack::PopAndDestroy(pbBuffer); - } - -// --------------------------------------------------------------------------- -// CAtPhbkStoreWrite::StartRequest -// other items were commented in a header -// --------------------------------------------------------------------------- -void CAtPhbkStoreWrite::StartRequest() - { - GetMaxNumberLen(); - ExecuteCommand(); - } - -// --------------------------------------------------------------------------- -// CAtPhbkStoreWrite::ExecuteCommand -// other items were commented in a header -// --------------------------------------------------------------------------- -void CAtPhbkStoreWrite::ExecuteCommand() - { - LOGTEXT(_L8("CAtPhbkStoreWrite::ExecuteCommand called")); - iState = ESetStoreName; - iTxBuffer.Zero(); - if( iPhoneBookType == DispatcherPhonebook::EIccAdn ) - { - iTxBuffer.Copy(KSelAdnPhonebook); - } - else if( iPhoneBookType == DispatcherPhonebook::EIccFdn ) - { - iTxBuffer.Copy(KSelFdnPhonebook); - } - Write(); - } - -// --------------------------------------------------------------------------- -// CAtPhbkStoreWrite::WriteEntry -// other items were commented in a header -// --------------------------------------------------------------------------- -void CAtPhbkStoreWrite::WriteEntry() - { - LOGTEXT(_L8("CAtPhbkStoreWrite::WriteEntry callded")); - iPhoneGlobals.iEventSignalActive = ETrue; - iTxBuffer.Zero(); - TBuf8 tempNumber; - TBuf8 tempText; - //covert 16 bit to 8 bit - tempNumber.Copy(iPhbkEntry.iNumber); - tempText.Copy(iPhbkEntry.iText); - iTxBuffer.Format(KPhbkStoreWrite,iPhbkEntry.iIndex, - &tempNumber,&tempText); - Write(); - } - -// --------------------------------------------------------------------------- -// CAtPhbkStoreWrite::EventSignal -// other items were commented in a header -// --------------------------------------------------------------------------- -void CAtPhbkStoreWrite::EventSignal(TAtEventSource aEventSource, TInt aStatus) - { - LOGTEXT3(_L8("CAtPhbkStoreWrite::EventSignal aStatus=%D iSource=%D"),aStatus,aEventSource); - - if(aStatus != KErrNone) - { - Complete(); - iPhoneGlobals.iEventSignalActive = EFalse; - iCtsyDispatcherCallback.CallbackPhonebookStoreWriteEntryComp(aStatus,iPhoneBookType,iPhbkEntry.iIndex,iMaxLen); - } - else - { - if( aEventSource== EWriteCompletion ) - { - if( iState==ESetStoreName ) - { - iState = ESetStoreNameComplete; - } - else if( iState==EWriteEntry ) - { - iState = EWriteEntryComplete; - } - } - else - { - if( iState==ESetStoreNameComplete ) - { - Complete(); - iPhoneGlobals.iEventSignalActive = EFalse; - if( iError==KErrNone ) - { - iState = EWriteEntry; - WriteEntry(); - } - else - { - iCtsyDispatcherCallback.CallbackPhonebookStoreWriteEntryComp(iError,iPhoneBookType, - iPhbkEntry.iIndex,iMaxLen); - } - } - else if( iState== EWriteEntryComplete) - { - Complete(); - iPhoneGlobals.iEventSignalActive = EFalse; - iCtsyDispatcherCallback.CallbackPhonebookStoreWriteEntryComp(iError,iPhoneBookType, - iPhbkEntry.iIndex,iMaxLen); - } - } - } - } - -// --------------------------------------------------------------------------- -// CAtPhbkStoreWrite::ParseResponseL -// other items were commented in a header -// --------------------------------------------------------------------------- -void CAtPhbkStoreWrite::ParseResponseL(const TDesC8& /*aResponseBuf*/) - { - if (CurrentLine().Match(KLtsyOkString) == 0) - { - iError = KErrNone; - } - else - { - iError = KErrGeneral; - } - } - -// --------------------------------------------------------------------------- -// CAtPhbkStoreWrite::GetMaxNumberLen -// other items were commented in a header -// --------------------------------------------------------------------------- -void CAtPhbkStoreWrite::GetMaxNumberLen() - { - if( iPhoneBookType == DispatcherPhonebook::EIccAdn ) - { - iMaxLen = iPhoneGlobals.iPhonebookStoreInfo.iAdnMaximumNumberLength; - } - else if( iPhoneBookType == DispatcherPhonebook::EIccFdn ) - { - iMaxLen = iPhoneGlobals.iPhonebookStoreInfo.iFdnMaximumNumberLength; - } - } - -//End of file