--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/adaptationlayer/tsy/nokiatsy_dll/src/cmmphonebookoperationread3g_adn.cpp Fri Nov 06 17:28:23 2009 +0000
@@ -0,0 +1,235 @@
+/*
+* 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 the License "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: ?Description
+*
+*/
+
+// INCLUDE FILES
+#include <etelmm.h>
+#include <tisi.h>
+#include <pn_const.h>
+#include <ctsy/serviceapi/mmtsy_ipcdefs.h>
+#include "tsylogger.h"
+#include "cmmphonebookoperationread3g_adn.h"
+#include "osttracedefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "cmmphonebookoperationreadtraces.h"
+#include "OstTraceDefinitions.h"
+#include "cmmphonebookoperationread3g_adnTraces.h"
+#endif
+
+
+// EXTERNAL DATA STRUCTURES
+ // None
+
+// EXTERNAL FUNCTION PROTOTYPES
+ // None
+
+// CONSTANTS
+//const TUint16 KSimPbLocationMBDN = 0x0100;
+
+// MACROS
+ // None
+
+// LOCAL CONSTANTS AND MACROS
+ // None
+
+// MODULE DATA STRUCTURES
+ // None
+
+// LOCAL FUNCTION PROTOTYPES
+ // None
+
+// ==================== LOCAL FUNCTIONS =====================================
+ // None
+
+
+// ================= MEMBER FUNCTIONS =======================================
+
+// -----------------------------------------------------------------------------
+// CMmPhoneBookOperationRead3g_adn::CMmPhoneBookOperationRead3g_adn
+// C++ default CMmPhoneBookOperationRead3g_adn can NOT contain any code, that
+// might leave.
+// -----------------------------------------------------------------------------
+
+CMmPhoneBookOperationRead3g_adn::CMmPhoneBookOperationRead3g_adn()
+ {
+ TFLOGSTRING("TSY: CMmPhoneBookOperationRead3g_adn::CMmPhoneBookOperationRead3g_adn");
+ OstTrace0( TRACE_NORMAL, CMMPHONEBOOKOPERATIONREAD3G_ADN_CMMPHONEBOOKOPERATIONREAD3G_ADN, "CMmPhoneBookOperationRead3g_adn::CMmPhoneBookOperationRead3g_adn" );
+
+
+ }
+
+// -----------------------------------------------------------------------------
+//CMmPhoneBookOperationRead3g_adn::CMmPhoneBookOperationRead3g_adn C++ destructor.
+// -----------------------------------------------------------------------------
+//
+CMmPhoneBookOperationRead3g_adn::~CMmPhoneBookOperationRead3g_adn
+ (
+ // None
+ )
+ {
+ TFLOGSTRING("TSY: CMmPhoneBookOperationRead3g_adn::~CMmPhoneBookOperationRead3g_adn");
+ OstTrace0( TRACE_NORMAL, DUP1_CMMPHONEBOOKOPERATIONREAD3G_ADN_CMMPHONEBOOKOPERATIONREAD3G_ADN, "CMmPhoneBookOperationRead3g_adn::~CMmPhoneBookOperationRead3g_adn" );
+
+ }
+
+// -----------------------------------------------------------------------------
+// CMmPhoneBookOperationRead3g_adn::NewL
+// Creates a new CMmPhonebookOperationRead object instance.
+// Two-phased constructor.
+// -----------------------------------------------------------------------------
+//
+CMmPhoneBookOperationRead3g_adn* CMmPhoneBookOperationRead3g_adn::NewL
+ (
+// NONE
+ )
+ {
+ TFLOGSTRING("TSY: CMmPhoneBookOperationRead3g_adn::NewL");
+ OstTrace0( TRACE_NORMAL, CMMPHONEBOOKOPERATIONREAD3G_ADN_NEWL, "CMmPhoneBookOperationRead3g_adn::NewL" );
+
+
+ TName phonebookTypeName;
+
+ CMmPhoneBookOperationRead3g_adn* mmPhoneBookOperationRead3g_adn =
+ new( ELeave ) CMmPhoneBookOperationRead3g_adn();
+
+ return mmPhoneBookOperationRead3g_adn;
+ }
+
+// -----------------------------------------------------------------------------
+// CMmPhoneBookOperationRead3g_adn::ConstructL
+// Initialises object attributes.
+// -----------------------------------------------------------------------------
+//
+void CMmPhoneBookOperationRead3g_adn::ConstructL
+ (
+ // None
+ )
+ {
+ TFLOGSTRING("TSY: CMmPhoneBookOperationRead3g_adn::ConstructL");
+ OstTrace0( TRACE_NORMAL, CMMPHONEBOOKOPERATIONREAD3G_ADN_CONSTRUCTL, "CMmPhoneBookOperationRead3g_adn::ConstructL" );
+
+ }
+
+
+// -----------------------------------------------------------------------------
+// CMmPhoneBookOperationRead3g_adn::UICCHandleData3gADNReadReq
+// Handles Read Resp
+// -----------------------------------------------------------------------------
+//
+TInt CMmPhoneBookOperationRead3g_adn::UICCHandleData3gADNReadReq
+ (
+ TInt aFileId,
+ TInt aFileSFI
+ )
+ {
+ TFLOGSTRING("TSY: CMmPhoneBookOperationRead3g_adn::UICCHandleData3gADNReadReq");
+ OstTrace0( TRACE_NORMAL, CMMPHONEBOOKOPERATIONREAD3G_ADN_UICCHANDLEDATA3GADNREADREQ, "CMmPhoneBookOperationRead3g_adn::UICCHandleData3gADNReadReq" );
+
+ TInt ret(KErrNone);
+
+ // get the index to be read from phonebook
+ TInt index( iIndexToRead );
+ TInt appFileId(APPL_FILE_ID);
+
+ TUiccReadLinearFixed cmdParams;
+ //cmdParams.messHandlerPtr = static_cast<MUiccOperationBase*> iMmPhoneBookStoreMessHandler;
+
+ cmdParams.filePath.Append(static_cast<TUint8>( MF_FILE >> 8 ));
+ cmdParams.filePath.Append(static_cast<TUint8>( MF_FILE ));
+ cmdParams.filePath.Append(appFileId >> 8);
+ cmdParams.filePath.Append(appFileId);
+ cmdParams.filePath.Append(static_cast<TUint8>( DF_PHONEBOOK >> 8 ));
+ cmdParams.filePath.Append(static_cast<TUint8>( DF_PHONEBOOK ));
+
+ index = iIndexToRead && 0x00FF;
+
+ if( PB_PBR_FID == aFileId )
+ {
+ // Find which record no should be read
+ // get ADN file ID from PBR EF data according to which entry needs to be read
+ TUint8 pbrRecordNo(0);
+ do
+ {
+ pbrRecordNo++;
+ index = index-255;
+ }while(index > 255);
+
+ cmdParams.fileId = PB_PBR_FID;
+ cmdParams.serviceType = UICC_APPL_READ_LINEAR_FIXED;
+ cmdParams.record = pbrRecordNo;
+ }
+ else
+ {
+ cmdParams.fileId = aFileId;
+ cmdParams.serviceType = UICC_APPL_READ_LINEAR_FIXED;
+ cmdParams.record = index;
+ cmdParams.fileIdSfi = aFileSFI;
+ }
+ return ret;
+ }
+
+
+
+
+// -----------------------------------------------------------------------------
+// CMmPhoneBookOperationRead3g_adn::HandleUICC3gADNRespL
+// HAndles Response for ADN phoneBook
+// -----------------------------------------------------------------------------
+//
+TInt CMmPhoneBookOperationRead3g_adn::HandleUICC3gADNRespL
+ (
+ const TInt aStatus,
+ const TDes8 &/*aFileData*/,
+ const TInt /*aTransId*/
+ )
+ {
+
+ TFLOGSTRING("TSY: CMmPhoneBookOperationRead3g_adn::HandleUICC3gADNRespL");
+ OstTrace0( TRACE_NORMAL, DUP1_CMMPHONEBOOKOPERATIONREAD3G_ADN_UICCHANDLEDATA3GADNREADREQ, "CMmPhoneBookOperationRead3g_adn::UICCHandleData3gADNReadReq" );
+
+
+ TInt ret(KErrNone);
+ // Initialize Application file ID to send in next request
+
+ // Handle possible error case
+ if ( UICC_STATUS_OK != aStatus )
+ {
+ TFLOGSTRING("TSY: CMmPhoneBookOperationRead::HandleUICCPbRespRead-\
+ Unsuccessfully completed by SIMSON");
+//OstTrace0( TRACE_NORMAL, DUP1_CMMPHONEBOOKOPERATIONREAD_HANDLEUICCPBRESPL, "CMmPhoneBookOperationRead::HandleUICCPbRespL, Unsuccessfully completed by UICC Server" );
+ ret = CMmStaticUtility::UICCCSCauseToEpocError(aStatus );
+ }
+
+
+ if(UICC_STATUS_OK == aStatus)
+ {
+
+ // Case: <complete request>
+ if ( KErrNone != ret || 0 == iNumOfEntriesToRead )
+ {
+ // If no entries found
+ if ( 0 == iNumOfEntriesFilled )
+ {
+ ret = KErrNotFound;
+ }
+
+ }
+ }
+ return ret;
+ }
+
+
+