mmsharing/mmshavailability/src/musavacontactavailability.cpp
branchRCL_3
changeset 22 73a1feb507fb
parent 21 33a5d2bbf6fc
child 23 bc78a40cd63c
--- a/mmsharing/mmshavailability/src/musavacontactavailability.cpp	Thu Aug 19 09:51:39 2010 +0300
+++ b/mmsharing/mmshavailability/src/musavacontactavailability.cpp	Tue Aug 31 15:12:07 2010 +0300
@@ -16,36 +16,22 @@
 */
 
 
-
 #include "musavacontactavailability.h"
 #include "musavaavailabilityobserver.h"
 #include "musavasettingsimp.h"
 #include "musavaobserver.h"
 #include "muslogger.h"
 #include "mussettings.h"
-#include "musavacalleventmonitor.h"
 
-#include <CPbkContactItem.h>
-#include <CPbkContactEngine.h>
-#include <CPbkFieldInfo.h>
-#include <TPbkContactItemField.h>
 #include <cntviewbase.h>
 #ifdef UNIT_TESTING // if unit testing
 #include <digia/eunit/eunitdecorators.h>
 #endif // UNIT_TESTING
 
-const TInt KNumberMatchingDigitsRequired = 7;
 const TInt KContactsArraySize = 10;
 
-
-_LIT( KMusAvaSip,               "sip:" );
 _LIT( KMusAvaTel,               "tel:" );
 _LIT( KMusAvaPlus,              "+"    );
-_LIT( KMusAvaAtSign ,           "@"    );
-_LIT( KMusEmptyStringSymbol,    ""     );
-_LIT( KMusSpaceSymbol,          " "    );
-_LIT( KMusAvaTestString,        "*#"   );
-
 
 CMusAvaContactAvailability* CMusAvaContactAvailability::NewL(
     MMusAvaAvailabilityObserver& aObserver,
@@ -87,12 +73,6 @@
              ~CMusAvaContactAvailability()" )
     delete iContactName;
     iContactName = NULL;
-    if ( iPhoneStatus )
-        {
-        iPhoneStatus->Cancel();
-        }
-    delete iPhoneStatus;
-    iPhoneStatus = NULL; 
     MUS_LOG( "mus: [MUSAVA]  <- CMusAvaContactAvailability::\
              ~CMusAvaContactAvailability()" )
     }
@@ -112,7 +92,6 @@
     {
     MUS_LOG( "mus: [MUSAVA]  -> CMusAvaContactAvailability::ConstructL()" )
     iOperatorVariant = MultimediaSharingSettings::OperatorVariantSettingL();
-    iPhoneStatus = CMusAvaCallEventMonitor::NewL( *this );
     MUS_LOG( "mus: [MUSAVA]  <- CMusAvaContactAvailability::ConstructL()" )
     }
 
@@ -124,94 +103,12 @@
 void CMusAvaContactAvailability::DoExecuteL()
     {
     MUS_LOG( "mus: [MUSAVA]  -> CMusAvaContactAvailability::DoExecuteL()" )
-    iPhoneStatus->StartMonitoringL();
-
-    CContactIdArray* idArray = NULL;
-
-    #ifdef UNIT_TESTING // if unit testing
-    EUNIT_DISABLE_ALLOC_DECORATOR;
-    #endif // UNIT_TESTING
-    CPbkContactEngine* pbkContactEngine = CPbkContactEngine::NewL();
-    CleanupStack::PushL( pbkContactEngine );
-
-    // resolve the name order     
-    CContactViewBase& contactView = pbkContactEngine->AllContactsView();
-    const RContactViewSortOrder& sortOrder = contactView.SortOrderL();
-    #ifdef UNIT_TESTING // if unit testing
-    EUNIT_ENABLE_ALLOC_DECORATOR;
-    #endif // UNIT_TESTING
-    
-    iBeginWithFirstName = ETrue;
-    TBool foundOrder = EFalse;
-	for( TInt i = 0; i < sortOrder.Count() && !foundOrder; ++i )
-	    {
-	    if ( sortOrder[i] == KUidContactFieldFamilyName )
-		    {
-            iBeginWithFirstName = EFalse;
-            foundOrder = ETrue;
-		    }
-	    else if ( sortOrder[i] == KUidContactFieldGivenName )
-		    {
-		    iBeginWithFirstName = ETrue;
-		    foundOrder = ETrue;
-		    }
-	    }
 
     CDesCArrayFlat* contactsArray
         = new ( ELeave ) CDesCArrayFlat( KContactsArraySize );
     CleanupStack::PushL( contactsArray );
 
-    if ( ContactL( idArray, *pbkContactEngine ) )
-        {
-        CleanupStack::PushL( idArray );
-
-        TInt idArrayCount = idArray->Count();
-        MUS_LOG1( "mus: [MUSAVA]     idArray->Count %d", idArrayCount )
-        CPbkContactItem* pbkItem = NULL;
-        TPbkFieldId fieldId = ContactIdSearch( *idArray, *pbkContactEngine );
-
-        for ( TInt i = 0; i < idArrayCount; i++ )
-            {
-            MUS_LOG1( "mus: [MUSAVA]     i %d", i )
-            TContactItemId itemId( KErrNotFound );
-            itemId = ( *idArray )[i];
-
-            TRAPD( error, pbkItem = pbkContactEngine->ReadContactL( itemId ) );
-
-            if ( !error )
-                {
-                TBool found = EFalse;
-                if ( fieldId == EPbkFieldIdShareView )
-                    {
-                    found = ResolveAddressesL( 
-                                *pbkItem, contactsArray, EPbkFieldIdShareView );
-                    }
-                else if( fieldId == EPbkFieldIdSIPID)
-                    {
-                    found = ResolveAddressesL( 
-                                *pbkItem, contactsArray, EPbkFieldIdSIPID );
-                    }
-
-                if ( !found )
-                    {
-                    PhoneResolutionL( *pbkItem, contactsArray );
-                    }
-                    
-                    // tbd: causes test case to fail
-                    // break;
-                }
-
-            delete pbkItem; 
-            pbkItem = NULL;
-            }
-
-        idArray->Reset();
-        CleanupStack::PopAndDestroy( idArray );
-        }
-    else
-        {
-        ActiveCallL( contactsArray );
-        }
+    ActiveCallL( contactsArray );
 
     iSettings.SetSipAddressesL( *contactsArray );
 
@@ -219,55 +116,11 @@
 
     CleanupStack::PopAndDestroy( contactsArray );
 
-    CleanupStack::PopAndDestroy( pbkContactEngine );
-
     SetState( MMusAvaObserver::EMusAvaStatusAvailable );
 
     MUS_LOG( "mus: [MUSAVA]  <- CMusAvaContactAvailability::DoExecuteL()" )
     }
 
-// -------------------------------------------------------------------------
-//  This function is called when a cs call is connected.
-// -------------------------------------------------------------------------
-//
-void CMusAvaContactAvailability::CallConnectedL( const TDesC& aTelNumber )
-    {
-    MUS_LOG( "mus: [MUSAVA]  \
-                -> CMusAvaContactAvailability::CallConnectedL()" )
-                
-    iSettings.SetTelNumberL(aTelNumber);              
-    DoExecuteL();
-
-    MUS_LOG( "mus: [MUSAVA]  \
-                <- CMusAvaContactAvailability::CallConnectedL()" )
-    }
-void CMusAvaContactAvailability::ConferenceCallL()
-    {   
-    }
-
-
-// -------------------------------------------------------------------------
-//  This function is called when a cs call goes hold
-// -------------------------------------------------------------------------
-//
-void CMusAvaContactAvailability::CallHoldL( const TDesC& /*aTelNumber*/ )
-    {    
-    }
-
-
-// -------------------------------------------------------------------------
-//  This function is called when a cs call goes into a state
-//  that is not connected.
-// -------------------------------------------------------------------------
-//
-void CMusAvaContactAvailability::NoActiveCallL()
-    {
-    }
-
-
-void CMusAvaContactAvailability::ConferenceCallLTerminated ()
-	{	
-	}
 
 // -------------------------------------------------------------------------
 //
@@ -279,6 +132,8 @@
 
     const TDesC& phoneNumber = iSettings.TelNumber();
     TInt retval = EFalse;
+    const MDesCArray& addresses = iSettings.SipAddresses();
+    TInt addressesCount = addresses.MdcaCount();
     
     if ( phoneNumber.Length() > 0 &&
          ( iOperatorVariant == MusSettingsKeys::EOperatorSpecific ||
@@ -299,9 +154,19 @@
         CleanupStack::PopAndDestroy( tmpDescriptor );
         retval = ETrue;
         }
+	else if ( addressesCount > 0 )
+        {
+        MUS_LOG1( "mus: [MUSAVA]    addresses.MdcaCount() %d", 
+                        addressesCount )
+        const TDesC& sipAddress = addresses.MdcaPoint( 0 );
+        MUS_LOG_TDESC( "mus: [MUSAVA]       SIP Address: ", 
+            sipAddress )                       
+        aContactsArray->AppendL( sipAddress );
+        retval = ETrue;
+        }
     else
         {
-        MUS_LOG( "mus: [MUSAVA]     Phone number not found " )
+        MUS_LOG( "mus: [MUSAVA]     Phone number or SIP URL not found " )
         retval = EFalse;
         }
     MUS_LOG1( "mus: [MUSAVA]     <- CMusAvaContactAvailability::\
@@ -310,575 +175,12 @@
     return retval;
     }
 
-
-// -------------------------------------------------------------------------
-//
-// -------------------------------------------------------------------------
-//
-TBool CMusAvaContactAvailability::ContactL(
-                                    CContactIdArray*& aContactIdArray,
-                                    CPbkContactEngine& aPbkContactEngine )
-    {
-    MUS_LOG( "mus: [MUSAVA]  -> CMusAvaContactAvailability::ContactL()" )
-    CPbkContactItem* pbkContactItem = NULL;
-
-    TInt conRes = EFalse;
-
-    TInt err = ContactArrayL( aContactIdArray, aPbkContactEngine );
-    if ( !err )
-        {
-        err = ContactItem( *aContactIdArray, pbkContactItem, aPbkContactEngine );
-        // NOTE: KErrNotSupported means there is more than one contact id.
-        if ( err == KErrNotSupported )
-            {
-            iSettings.SetContactId( KErrNotSupported );
-            conRes = ETrue;
-            }
-        else if( err != KErrNone )
-            {
-            MUS_LOG( "mus: [MUSAVA]     No contact item found; contact id = \
-                KErrNotFound" )
-            conRes = EFalse;
-            }
-        else
-            {
-            TContactItemId itemId = pbkContactItem->Id();
-            MUS_LOG1( "mus: [MUSAVA]        Setting contact id to be %d",
-                      itemId )
-            CleanupStack::PushL( pbkContactItem );
-            iSettings.SetContactId( itemId );
-            UpdateContactNameL( pbkContactItem->ContactItem() );
-            CleanupStack::Pop( pbkContactItem );
-            conRes = ETrue;
-            }
-        }
-    MUS_LOG1( "mus: [MUSAVA]     <- CMusAvaContactAvailability::\
-              ContactL return %d", conRes )
-
-    delete pbkContactItem;
-    pbkContactItem = NULL;
-
-    return conRes;
-    }
-
-
-// -------------------------------------------------------------------------
-//
-// -------------------------------------------------------------------------
-//
-void CMusAvaContactAvailability::UpdateContactNameL( 
-                                                CContactItem& aContactItem )
-    {
-    MUS_LOG( "mus: [MUSAVA ]  -> CMusAvaContactAvailability::\
-        UpdateContactName" )
-    //TBuf<KMusNameFieldMaxLength> givenName;
-    //TBuf<KMusNameFieldMaxLength> familyName;
-
-    HBufC* givenName = NULL;
-    HBufC* familyName = NULL;
-
-    delete iContactName;
-    iContactName = NULL;
-    iContactName = HBufC::NewL( 0 );
-
-    CContactItemFieldSet& fieldSet = aContactItem.CardFields();
-
-    TInt pos = fieldSet.Find( KUidContactFieldGivenName );
-    if ( pos != KErrNotFound )
-        {
-        CContactItemField& itemField = fieldSet[pos];
-        //givenName = HBufC::NewL( itemField.TextStorage()->Text().Length() );
-
-        //givenName.Copy( itemField.TextStorage()->Text().Alloc() );
-        givenName = itemField.TextStorage()->Text().AllocLC();
-
-        }
-    else
-        {
-        //givenName = KMusEmptyStringSymbol;
-        givenName = KMusEmptyStringSymbol().AllocLC();
-        }
-
-    pos = fieldSet.Find( KUidContactFieldFamilyName );
-    if ( pos != KErrNotFound )
-        {
-        CContactItemField& itemField = fieldSet[pos];
-        //familyName = HBufC::NewL( itemField.TextStorage()->Text().Length() );
-        //familyName.Copy( field.TextStorage()->Text() );
-        familyName = itemField.TextStorage()->Text().AllocLC();
-        }
-    else
-        {
-        familyName = KMusEmptyStringSymbol().AllocLC();
-        }
-
-    TInt strLength = NULL;
-    TBool bothNames = givenName->Length() > 0 && familyName->Length() > 0;
-    
-    if ( bothNames )
-        {
-        strLength = givenName->Length() +
-                     KMusSpaceSymbol().Length() +
-                     familyName->Length();
-        }
-    else
-        {
-        strLength = givenName->Length() + familyName->Length();
-        }
-    
-    if ( strLength > iContactName->Length() )
-        {
-        iContactName = iContactName->ReAllocL( strLength );
-        }
-
-    if ( strLength > 0 )
-        {
-        TPtr ptr = iContactName->Des();
-        if ( iBeginWithFirstName )
-            {
-            if ( bothNames )
-                {
-                ptr.Append( givenName->Des() );
-                ptr.Append( KMusSpaceSymbol );
-                ptr.Append( familyName->Des() );
-                }
-            else
-                {
-                ptr.Append( givenName->Des() );
-                ptr.Append( familyName->Des() );
-                }
-            }
-        else            
-            {
-            if ( bothNames )
-                {
-                ptr.Append( familyName->Des() );
-                ptr.Append( KMusSpaceSymbol );
-                ptr.Append( givenName->Des() );
-                }
-            else
-                {
-                ptr.Append( familyName->Des() );
-                ptr.Append( givenName->Des() );
-                }
-            } 
-        }
-
-    CleanupStack::PopAndDestroy( familyName );
-    CleanupStack::PopAndDestroy( givenName );
-
-    TRAP_IGNORE( iSettings.SetContactNameL( iContactName->Des() ) )
-
-    MUS_LOG( "mus: [MUSAVA ]  <- CMusAvaContactAvailability::\
-        UpdateContactName" )
-    }
-
-
-// -------------------------------------------------------------------------
-//
-// -------------------------------------------------------------------------
-//
-TInt CMusAvaContactAvailability::ContactArrayL(
-                                    CContactIdArray*& aContactIdArray,
-                                    CPbkContactEngine& aPbkContactEngine )
-    {
-    MUS_LOG( "mus: [MUSAVA]  -> CMusAvaContactAvailability::ContactArrayL()" )
-
-    const TDesC& phoneNumber = iSettings.TelNumber();
-    TInt retval = KErrNotFound;
-
-    if ( phoneNumber.Length() > 0 )
-        {
-        MUS_LOG( "mus: [MUSAVA]     Phone number found " )
-        // Instantiate a PhonebookContactEngine object, which represents a
-        // connection to the Phonebook contact database:
-        #ifdef UNIT_TESTING // if unit testing
-        EUNIT_DISABLE_ALLOC_DECORATOR;
-        #endif // UNIT_TESTING
-        CContactIdArray* tmpContactIdArray =
-                        aPbkContactEngine.MatchPhoneNumberL(
-                                             phoneNumber,
-                                             KNumberMatchingDigitsRequired );
-        #ifdef UNIT_TESTING // if unit testing
-        EUNIT_ENABLE_ALLOC_DECORATOR;
-        #endif // UNIT_TESTING
-        if ( tmpContactIdArray->Count() > 0 )
-            {
-            aContactIdArray = tmpContactIdArray;    
-            retval = KErrNone;
-            }
-        else
-            {
-            tmpContactIdArray->Reset();
-            delete tmpContactIdArray;
-            MUS_LOG( 
-            "mus: [MUSAVA]     Phone number not found in CPbkContactEngine" )
-            }
-        }
-    else
-        {
-        MUS_LOG( "mus: [MUSAVA]     Phone number not found " )
-        }
-    
-    MUS_LOG1( "mus: [MUSAVA]     <- CMusAvaContactAvailability::\
-          ContactArrayL return %d", retval )
-
-    return retval;
-    }
-
-
-// -------------------------------------------------------------------------
-//
-// -------------------------------------------------------------------------
-//
-TInt CMusAvaContactAvailability::ContactItem( 
-                                        CContactIdArray& aContactIdArray,
-                                        CPbkContactItem*& aPbkContactItem,
-                                        CPbkContactEngine& aPbkContactEngine )
-    {
-    MUS_LOG( "mus: [MUSAVA]  -> CMusAvaContactAvailability::ContactItem()" )
-    CPbkContactItem* pbkItem = NULL;
-    TInt retval = KErrNotFound;
-    TInt contactIdsCount = aContactIdArray.Count();
-    
-    if( contactIdsCount > 1 )
-      {
-      // NOTE: KErrNotSupported means there is more than one contact id.
-      MUS_LOG( "mus: [MUSAVA]    More than one Contact ID found." )
-      retval = KErrNotSupported;
-      }
-    else if ( contactIdsCount == 1 )
-        {
-        // Contact card whose phone number matches that of the other party
-        // was found. The ID(s) of the contacts are recorded in iIdArray.
-        MUS_LOG( "mus: [MUSAVA]     Contact ID found." )
-
-        TContactItemId itemId( KErrNotFound );
-
-        MUS_LOG1( "mus: [MUSAVA]    ID array has <%d> elements",
-                  contactIdsCount )
-        // iterate through the contact cards we consider as belonging to
-        // the other party, that is, those saved in iIdArray:
-        for ( TInt i = 0; i < contactIdsCount; i++ )
-            {
-            itemId = ( aContactIdArray )[i];
-            MUS_LOG2( "mus: [MUSAVA]        Current array index == <%d>, \
-                    contact ID == <%d>", i, itemId )
-            TRAPD( pbkFailure, pbkItem =
-                   aPbkContactEngine.ReadContactL( itemId ) );
-
-            if ( pbkFailure )
-                {
-                // Contact lookup failed.
-                MUS_LOG1( "mus: [MUSAVA]    Leave code <%d> occurred at call \
-                        of ReadContactL.", pbkFailure )
-                }
-            else
-                {
-                aPbkContactItem = pbkItem;
-                retval = KErrNone;
-                }
-            }
-        }
-    else
-        {
-        MUS_LOG( "mus: [MUSAVA]     No contact card whose phone number\
-             matches that of the other party" )
-        }
-    
-    MUS_LOG1( "mus: [MUSAVA]  <- CMusAvaContactAvailability::\
-                 ContactItem() return %d", retval )
-        
-    return retval;
-    }
-
-// -------------------------------------------------------------------------
-//
-// -------------------------------------------------------------------------
-//
-TBool CMusAvaContactAvailability::PhoneResolutionL( CPbkContactItem& aPbkItem,
-                                           CDesCArrayFlat*& aContactsArray )
-    {
-    MUS_LOG( "mus: [MUSAVA]  -> CMusAvaContactAvailability::PhoneResolutionL()" )
-    TInt retval = ETrue;
-    if ( ResolvePhoneContactL( aPbkItem, aContactsArray ) )
-        {
-        MUS_LOG( "mus: [MUSAVA]     Stop Execution" )
-        }
-    else
-        {
-        if ( ActiveCallL( aContactsArray ) )
-            {
-            MUS_LOG( "mus: [MUSAVA]     Stop Execution" )
-            }
-        else
-            {
-            MUS_LOG( "mus: [MUSAVA]     Stop Execution" )
-            retval = EFalse;
-            }
-        }
-        
-    MUS_LOG1( "mus: [MUSAVA]  <- CMusAvaContactAvailability::\
-                 PhoneResolutionL() return %d", retval )
-    return retval;
-    }
-
-
-// -------------------------------------------------------------------------
-//
-// -------------------------------------------------------------------------
-//
-TBool CMusAvaContactAvailability::ContactId( CPbkContactItem& aPbkItem,
-                                                  TPbkFieldId aTPbkFieldId  )
-    {
-    MUS_LOG( "mus: [MUSAVA]  -> CMusAvaContactAvailability::ContactId()" )
-
-    CPbkFieldArray& fieldArray = aPbkItem.CardFields();
-    TPbkContactItemField itemField;
-    TBool returnValue = EFalse;
-
-    // Get the number of detail fields of the phonebook contact item.
-    const TInt fieldCount( fieldArray.Count() );
-
-    for ( TInt index = 0; index < fieldCount && returnValue == EFalse; 
-        index++ )
-        {
-        itemField = fieldArray.At( index );
-
-        if ( itemField.FieldInfo().Match( aTPbkFieldId ) &&
-              itemField.Text().Find( KMusAvaAtSign() ) != KErrNotFound )
-            {
-            returnValue = ETrue;
-            MUS_LOG( "mus: [MUSAVA]     Contact id found" )
-            }
-        }
-    MUS_LOG1( "mus: [MUSAVA]     <- CMusAvaContactAvailability::\
-              ContactId() return %d", returnValue )
-    return returnValue;
-    }
-
-
-// -------------------------------------------------------------------------
-//
-// -------------------------------------------------------------------------
-//
-TPbkFieldId CMusAvaContactAvailability::ContactIdSearch(
-                                        CContactIdArray& aContactIdArray,
-                                        CPbkContactEngine& aPbkContactEngine )
-    {
-    MUS_LOG( "mus: [MUSAVA]  -> CMusAvaContactAvailability::\
-    ContactIdSearch()" )
-    
-    TInt contactIdsCount = aContactIdArray.Count();
-    MUS_LOG1( "mus: [MUSAVA]     aContactIdArray.Count %d", \
-    contactIdsCount )
-
-    CPbkContactItem* pbkItem = NULL;
-    TPbkFieldId retFieldId = EPbkFieldIdNone;
-
-    for ( TInt i = 0; 
-        i < contactIdsCount && retFieldId == EPbkFieldIdNone; 
-        i++ )
-        {
-        MUS_LOG1( "mus: [MUSAVA]     i %d", i )
-        TContactItemId itemId( KErrNotFound );
-        itemId = ( aContactIdArray )[i];
-
-        #ifdef UNIT_TESTING // if unit testing
-        EUNIT_DISABLE_ALLOC_DECORATOR;
-        #endif // UNIT_TESTING
-        TRAPD( error, pbkItem = aPbkContactEngine.ReadContactL( itemId ) )
-        #ifdef UNIT_TESTING // if unit testing
-        EUNIT_ENABLE_ALLOC_DECORATOR;
-        #endif // UNIT_TESTING
-        if ( error != KErrNone )
-            {
-            return retFieldId;
-            }
-        if ( ContactId( *pbkItem, EPbkFieldIdShareView ) )
-            {
-            MUS_LOG( "mus: [MUSAVA]     Contact have a prefix = \
-            EPbkFieldIdShareView" )
-            delete pbkItem;
-            retFieldId = EPbkFieldIdShareView;
-            }
-        else if ( ContactId( *pbkItem, EPbkFieldIdSIPID ) )
-            {
-            MUS_LOG( "mus: [MUSAVA]     Contact have a prefix = \
-            EPbkFieldIdSIPID" )
-            delete pbkItem;
-            retFieldId = EPbkFieldIdSIPID;
-            }
-        else if ( ContactId( *pbkItem, EPbkFieldIdPhoneNumberGeneral ) )
-            {
-            // this part never run!!!!
-            MUS_LOG( "mus: [MUSAVA]     Contact have a prefix = \
-            EPbkFieldIdPhoneNumberGeneral" )
-            delete pbkItem;
-            retFieldId = EPbkFieldIdPhoneNumberGeneral;
-            }
-        else
-            {
-            MUS_LOG( "mus: [MUSAVA]     Contact have no prefix " )
-            delete pbkItem;
-            }
-        }
-    return retFieldId;
-    }
-
-
-// -------------------------------------------------------------------------
-//
-// -------------------------------------------------------------------------
-//
-TBool CMusAvaContactAvailability::ResolveAddressesL( CPbkContactItem& aPbkItem,
-                                        CDesCArrayFlat*& aContactsArray,
-                                        TPbkFieldId aTPbkFieldId  )
-    {
-    MUS_LOG( "mus: [MUSAVA]  -> CMusAvaContactAvailability::\
-        ResolveAddressesL()" )
-
-    CPbkFieldArray& fieldArray = aPbkItem.CardFields();
-    TPbkContactItemField itemField;
-    HBufC* tmpDescriptor( NULL );
-    TBool returnValue( EFalse );
-
-    // Get the number of detail fields of the phonebook contact item.
-    const TInt fieldCount( fieldArray.Count() );
-
-    for ( TInt index = 0; index < fieldCount; index++ )
-        {
-        itemField = fieldArray.At( index );
-
-        if ( itemField.FieldInfo().Match( aTPbkFieldId ) &&
-             itemField.Text().Find( KMusAvaAtSign() ) != KErrNotFound && 
-             ( iOperatorVariant != MusSettingsKeys::EOperatorSpecific || 
-               itemField.Text().Find( KMusAvaTestString() ) != KErrNotFound ) )
-            {
-            returnValue = ETrue;
-            MUS_LOG( "mus: [MUSAVA]     Contact id found" )            
-            
-            HBufC* sipAddress;
-            if ( iOperatorVariant == MusSettingsKeys::EOperatorSpecific )
-                {
-                sipAddress = HBufC::NewLC( itemField.Text().Length() - 
-                                           KMusAvaTestString().Length() );
-                TInt pos = itemField.Text().Find( KMusAvaTestString() );
-                sipAddress->Des().Append( itemField.Text().Left( pos ) );
-                sipAddress->Des().Append( itemField.Text().Right( 
-                                    itemField.Text().Length() - 
-                                    pos - KMusAvaTestString().Length() ) );
-                }
-            else                
-                {
-                sipAddress = itemField.Text().AllocLC();
-                }
-
-            if ( sipAddress->Find( KMusAvaSip() ) == KErrNotFound )
-                {
-                // No, it doesn't, so add the prefix to the new address.
-                MUS_LOG( "mus: [MUSAVA]     Prefix to the new address is added" )
-                tmpDescriptor = HBufC::NewLC( KMusAvaSip().Length() +
-                                              sipAddress->Length() );
-                tmpDescriptor->Des().Append( KMusAvaSip() );
-                tmpDescriptor->Des().Append( *sipAddress );
-                // if multiple contact have same phone number then 
-                // sip address can be repeated . To avoid this check
-                // whether sip address exist already in array
-                // it not exist then add it to array.
-                if(! IsExistAlready(*aContactsArray,*tmpDescriptor))
-                    {
-                    aContactsArray->AppendL( *tmpDescriptor );    
-                    }                
-                CleanupStack::PopAndDestroy( tmpDescriptor );
-                }
-            else
-                {
-                MUS_LOG( "mus: [MUSAVA]     Contact have a prefix" )
-                 // if multiple contact have same phone number then 
-                // sip address can be repeated . To avoid this check
-                // whether sip address exist already in array
-                // it not exist then add it to array.
-                if(! IsExistAlready(*aContactsArray,*sipAddress))
-                    {
-                    aContactsArray->AppendL( *sipAddress );
-                    }
-                }
-                
-            CleanupStack::PopAndDestroy( sipAddress );                
-            }
-        }
-    MUS_LOG1( "mus: [MUSAVA]     <- CMusAvaContactAvailability::\
-              ResolveAddressesL() return %d", returnValue )
-    return returnValue;
-    }
-
-
-// -------------------------------------------------------------------------
-//
-// -------------------------------------------------------------------------
-//
-TBool CMusAvaContactAvailability::ResolvePhoneContactL(
-                                                CPbkContactItem& aPbkItem,
-                                              CDesCArrayFlat*& aContactsArray )
-    {
-    MUS_LOG( "mus: [MUSAVA]  -> CMusAvaContactAvailability::\
-        ResolvePhoneContactL()" )
-    CPbkFieldArray& fieldArray = aPbkItem.CardFields();
-    TPbkContactItemField itemField;
-    HBufC* tmpDescriptor( NULL );
-    TBool returnValue = EFalse;
-
-    // Get the number of detail fields of the phonebook contact item.
-    const TInt fieldCount( fieldArray.Count() );
-
-    for ( TInt index = 0; index < fieldCount; index++ )
-        {
-        itemField = fieldArray.At( index );
-
-        if ( itemField.FieldInfo().IsPhoneNumberField() && 
-             ( iOperatorVariant == MusSettingsKeys::EOperatorSpecific ||
-               itemField.Text().Left(1) == KMusAvaPlus() ) )
-            {
-            MUS_LOG( "mus: [MUSAVA]     Contact id found" )
-            // No, it doesn't, so add the prefix to the new address.
-            MUS_LOG( "mus: [MUSAVA]     Prefix to the new address is added" )
-            tmpDescriptor = HBufC::NewLC( KMusAvaTel().Length() +
-                                          itemField.Text().Length() );
-            tmpDescriptor->Des().Append( KMusAvaTel() );
-            tmpDescriptor->Des().Append( itemField.Text() );
-            aContactsArray->AppendL( *tmpDescriptor );
-            CleanupStack::PopAndDestroy( tmpDescriptor );
-            returnValue = ETrue;
-            }
-        }
-
-    MUS_LOG( "mus: [MUSAVA]  <- CMusAvaContactAvailability::\
-        ResolvePhoneContactL()" )
-    return returnValue;
-    }
-
-
 MMusAvaObserver::TAvailabilityName CMusAvaContactAvailability::Name()
     {
     return MMusAvaObserver::EMusAvaNameContactStatus;
     }
 
 
-// -------------------------------------------------------------------------
-// Checks that whether aDesItem present in aDesArray.
-// Utility function used to avoid dublication.
-// -------------------------------------------------------------------------
-//
-TBool CMusAvaContactAvailability::IsExistAlready(const MDesCArray& aDesArray,
-                                          const TDesC& aDesItem)                                              
-    {    
-    for ( TInt i=0;i<aDesArray.MdcaCount();i++)
-        {
-        if (! aDesArray.MdcaPoint(i).Compare( aDesItem ) ) 
-            {
-            return ETrue;            
-            }
-        }
-    return EFalse;
-    }
+
+
+// End of file