--- a/phoneengine/PhoneCntFinder/ContactService/src/tphcntcontactfield.cpp Tue Feb 02 00:10:04 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,261 +0,0 @@
-/*
-* Copyright (c) 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: Implementation of TPhCntContactField class.
-*
-*/
-
-
-#include <VPbkFieldType.hrh>
-#include <TVPbkFieldTypeParameters.h>
-#include <VPbkEng.rsg>
-#include <MVPbkStoreContactField.h>
-
-#include "MPhCntContactManager.h"
-#include "tphcntcontactfield.h"
-#include "PhCntTrace.h"
-
-// Speed dial related constants
-const TInt KPhCntPositionNotSet = 0;
-const TInt KPhCntPositionMin = 1;
-const TInt KPhCntPositionMax = 9;
-
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------------------------
-//
-TPhCntContactField::TPhCntContactField() :
- iDataPointedByContactLink( EFalse ),
- iContactFieldId( 0 )
- {
- }
-
-// ---------------------------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------------------------
-//
-TPhCntContactField::TPhCntContactField(
- TInt aContactFieldId ) :
- iDataPointedByContactLink( EFalse ),
- iContactFieldId( aContactFieldId )
- {
- }
-
-// ---------------------------------------------------------------------------
-// Destructor.
-// ---------------------------------------------------------------------------
-//
-TPhCntContactField::~TPhCntContactField()
- {
- }
-
-
-// ---------------------------------------------------------------------------
-// Gives the contact field data.
-// ---------------------------------------------------------------------------
-//
-const TDesC& TPhCntContactField::Data() const
- {
- return iContactFieldData;
- }
-
-// ---------------------------------------------------------------------------
-// Checks if this resolver is received datas resolver. If so then sets
-// the contact field data.
-// ---------------------------------------------------------------------------
-//
-void TPhCntContactField::Resolve(
- TInt aContactFieldId,
- const TDesC& aFieldData,
- TBool aPointedData )
- {
- if( iContactFieldId == aContactFieldId )
- {
- SetData( aFieldData, aPointedData );
- }
- }
-
-// ---------------------------------------------------------------------------
-// Sets the contact field data if the possible earlier data is not
-// data which has been pointed by contact link.
-// ---------------------------------------------------------------------------
-//
-void TPhCntContactField::SetData(
- const TDesC& aData,
- TBool aPointedData )
- {
- if( !iDataPointedByContactLink )
- {
- iDataPointedByContactLink = aPointedData;
- PRINTF( "PhCnt: ContactField.SetData: %S", &aData );
- iContactFieldData.Set( aData );
- }
- }
-
-
-// ---------------------------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------------------------
-//
-TPhCntPhoneNumber::TPhCntPhoneNumber() :
- TPhCntContactField( EVPbkVersitNameTEL )
- {
- }
-
-// ---------------------------------------------------------------------------
-// Destructor.
-// ---------------------------------------------------------------------------
-//
-TPhCntPhoneNumber::~TPhCntPhoneNumber()
- {
- iAllNumbers.Close();
- }
-
-// ---------------------------------------------------------------------------
-// Gives the phone number pointed by contact link
-// ---------------------------------------------------------------------------
-//
-const TPhCntNumber& TPhCntPhoneNumber::Number() const
- {
- return iPointedNumber;
- }
-
-// ---------------------------------------------------------------------------
-// Gives all numbers resolved.
-// ---------------------------------------------------------------------------
-//
-const RArray<TPhCntNumber>& TPhCntPhoneNumber::AllNumbers() const
- {
- return iAllNumbers;
- }
-
-// ---------------------------------------------------------------------------
-// Resolves phone number and its type.
-// ---------------------------------------------------------------------------
-//
-void TPhCntPhoneNumber::ResolveL(
- TInt aContactFieldId,
- const TDesC& aFieldData,
- TBool aPointedData,
- MPhCntContactManager& aContactManager,
- MVPbkStoreContactField& aContactField )
- {
-
- // Evaluate fields type information
- const MPhCntMatch::TNumberType numberType = PhoneNumberType( aContactFieldId );
- if ( numberType != MPhCntMatch::ENone )
- {
- TBool speedDial = EFalse;
- // Test all speed dial positions
- for( TInt positionIndex = KPhCntPositionMin; positionIndex <= KPhCntPositionMax; positionIndex++ )
- {
- if ( aContactManager.HasSpeedDialL( positionIndex, aContactField ) )
- {
- speedDial = ETrue;
- // Add phone number & position specific entry
- SetNumber( aFieldData, numberType, aPointedData, positionIndex );
- }
- }
- if ( !speedDial )
- {
- // Add at least one phone number entry without any positions
- SetNumber( aFieldData, numberType, aPointedData, KPhCntPositionNotSet );
- }
- }
- }
-
-// ---------------------------------------------------------------------------
-// Evaluates the type of a phone number field.
-// ---------------------------------------------------------------------------
-//
-MPhCntMatch::TNumberType TPhCntPhoneNumber::PhoneNumberType(
- TInt aContactFieldId )
- {
- MPhCntMatch::TNumberType numberType = MPhCntMatch::ENone;
-
- switch( aContactFieldId )
- {
- case R_VPBK_FIELD_TYPE_MOBILEPHONEGEN:
- case R_VPBK_FIELD_TYPE_MOBILEPHONEWORK:
- case R_VPBK_FIELD_TYPE_MOBILEPHONEHOME:
- numberType = MPhCntMatch::EMobileNumber;
- break;
-
- case R_VPBK_FIELD_TYPE_VOIPHOME:
- case R_VPBK_FIELD_TYPE_VOIPWORK:
- case R_VPBK_FIELD_TYPE_VOIPGEN:
- case R_VPBK_FIELD_TYPE_IMPP:
- case R_VPBK_FIELD_TYPE_SIP:
- numberType = MPhCntMatch::EVoipNumber;
- break;
-
- case R_VPBK_FIELD_TYPE_LANDPHONEHOME:
- case R_VPBK_FIELD_TYPE_LANDPHONEWORK:
- case R_VPBK_FIELD_TYPE_LANDPHONEGEN:
-
- numberType = MPhCntMatch::EStandardNumber;
- break;
-
- case R_VPBK_FIELD_TYPE_PAGERNUMBER:
- numberType = MPhCntMatch::EPagerNumber;
- break;
-
- case R_VPBK_FIELD_TYPE_FAXNUMBERGEN:
- case R_VPBK_FIELD_TYPE_FAXNUMBERHOME:
- case R_VPBK_FIELD_TYPE_FAXNUMBERWORK:
- numberType = MPhCntMatch::EFaxNumber;
- break;
-
- case R_VPBK_FIELD_TYPE_VIDEONUMBERHOME:
- case R_VPBK_FIELD_TYPE_VIDEONUMBERWORK:
- case R_VPBK_FIELD_TYPE_VIDEONUMBERGEN:
- numberType = MPhCntMatch::EVideoNumber;
- break;
-
- case R_VPBK_FIELD_TYPE_ASSTPHONE:
- numberType = MPhCntMatch::EAssistantNumber;
- break;
-
- case R_VPBK_FIELD_TYPE_CARPHONE:
- numberType = MPhCntMatch::ECarNumber;
- break;
-
- default:
- // Not a phone number.
- break;
- }
- return numberType;
- }
-
-// ---------------------------------------------------------------------------
-// Sets number
-// ---------------------------------------------------------------------------
-//
-void TPhCntPhoneNumber::SetNumber(
- const TDesC& aNumber,
- MPhCntMatch::TNumberType aNumberType,
- TBool aPointedField,
- TInt aSpeedDialPosition )
- {
- if( aPointedField && !iDataPointedByContactLink )
- {
- iDataPointedByContactLink = ETrue;
- iPointedNumber.Set( aNumber, aNumberType, aSpeedDialPosition );
- }
- iAllNumbers.Append( TPhCntNumber( aNumber, aNumberType, aSpeedDialPosition ) );
- }
-
-