omaprovisioning/provisioning/MbxNbrAdapter/Src/MbxNbrAdapter.cpp
branchRCL_3
changeset 25 b183ec05bd8c
parent 24 13d7c31c74e0
child 26 19bba8228ff0
--- a/omaprovisioning/provisioning/MbxNbrAdapter/Src/MbxNbrAdapter.cpp	Thu Aug 19 10:44:50 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,384 +0,0 @@
-/*
-* Copyright (c) 2002 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:  Handles mailbox number settings in OMA provisioning.
-*
-*/
-
-
-// INCLUDE FILES
-#include    <f32file.h>
-#include    <CWPCharacteristic.h>
-#include    <CWPParameter.h>
-#include    <wpmbxnbradapterresource.rsg>
-#include    <vmnumber.h>
-#include    <commonphoneparser.h>
-#include 	<voicemailboxdomaincrkeys.h>
-#include 	<centralrepository.h>
-
-#include    "WPAdapterUtil.h"
-#include    "MbxNbrAdapter.h"
-#include    "ProvisioningDebug.h"
-
-// CONSTANTS
-#if ( defined (__WINS__) || defined (__WINSCW) ) // this different on hw
-    _LIT( KAdapterName, "WPMbxNbrAdapterResource" );
-#else
-    _LIT( KAdapterName, "WPMbxNbrAdapter" );
-#endif
-_LIT( KMailboxNumberStr, "MBNMBR" );
-_LIT( KMailboxTypeStr, "MBTYPE" );
-_LIT( KCSVideoMailboxType, "VIDEO" );
-_LIT( KVideoSupportType, "VIDEO_MBOX_SUPPORT" );
-_LIT( KVideoSupportTypeTrue, "TRUE" );
-_LIT( KVideoSupportTypeFalse, "FALSE" );
-_LIT( KMailboxAppId, "w9027" );        // From OMA provisioning registration document
-const TInt KSettingsGranularity = 2;
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CMbxNbrAdapter::CMbxNbrAdapter
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CMbxNbrAdapter::CMbxNbrAdapter() : 
-    iSettings( KSettingsGranularity )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CMbxNbrAdapter::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CMbxNbrAdapter::ConstructL()
-    {
-    FLOG( _L( "[Provisioning] CMbxNbrAdapter::ConstructL:" ) );
-    
-    TFileName fileName;
-    Dll::FileName( fileName );
-    iTitle = WPAdapterUtil::ReadHBufCL( fileName,
-                                        KAdapterName,
-                                        R_MAILBOX_NUMBER_ADAPTER_TITLE );
-                                        
-    FLOG( _L( "[Provisioning] CMbxNbrAdapter::ConstructL: Done" ) );
-    }
-
-// -----------------------------------------------------------------------------
-// CMbxNbrAdapter::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CMbxNbrAdapter* CMbxNbrAdapter::NewL()
-    {
-    CMbxNbrAdapter* self = new( ELeave ) CMbxNbrAdapter; 
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CMbxNbrAdapter::~CMbxNbrAdapter
-// Destructor
-// -----------------------------------------------------------------------------
-//
-CMbxNbrAdapter::~CMbxNbrAdapter()
-    {
-    delete iTitle;
-    iSettings.Close();
-    }
-
-// -----------------------------------------------------------------------------
-// CMbxNbrAdapter::ItemCount
-// -----------------------------------------------------------------------------
-//
-TInt CMbxNbrAdapter::ItemCount() const
-    {
-	// SummaryTitle(), SummaryText(), SaveL(), SetAsDefaultL() and 
-	// CanSetAsDefault() are called ItemCount() times
-	return iSettings.Count();
-    }
-
-// -----------------------------------------------------------------------------
-// CMbxNbrAdapter::SummaryTitle
-// -----------------------------------------------------------------------------
-//
-const TDesC16& CMbxNbrAdapter::SummaryTitle( TInt /*aIndex*/ ) const
-    {
-    return *iTitle;
-    }
-
-// -----------------------------------------------------------------------------
-// CMbxNbrAdapter::SummaryText
-// -----------------------------------------------------------------------------
-//
-const TDesC16& CMbxNbrAdapter::SummaryText( TInt aIndex ) const
-    {
-    // SummaryText should be called ItemCount() times
-    __ASSERT_DEBUG( iSettings.Count() > aIndex, 
-        User::Panic( _L("CMbxNbrAdapter::SummaryText"),  KErrCorrupt ) );
-    __ASSERT_DEBUG( aIndex >= 0, 
-        User::Panic( _L("CMbxNbrAdapter::SummaryText"),  KErrCorrupt ) );              
-    return iSettings[ aIndex ].iName;
-    }
-
-// -----------------------------------------------------------------------------
-// CMbxNbrAdapter::DetailsL
-// -----------------------------------------------------------------------------
-//
-TInt CMbxNbrAdapter::DetailsL( TInt /*aItem*/, MWPPairVisitor& /*aVisitor*/ )
-    {
-    // Detail view is a feature for later release.
-    return KErrNotSupported;
-    }
-
-// -----------------------------------------------------------------------------
-// CMbxNbrAdapter::SaveL
-// -----------------------------------------------------------------------------
-//
-void CMbxNbrAdapter::SaveL( TInt aItem )
-    {
-    FLOG( _L( "[Provisioning] CMbxNbrAdapter::SaveL:" ) );
-    __ASSERT_DEBUG( iSettings.Count() > aItem, User::Leave( KErrCorrupt ) ); 
-    __ASSERT_DEBUG( aItem >= 0, User::Leave( KErrCorrupt ) ); 
-   
-    RVmbxNumber model;
-    User::LeaveIfError( model.Open() );
-    CleanupClosePushL( model );  
-       
-    TInt err( KErrNone );    
-    switch( iSettings[aItem].iMailboxType )
-        {
-        case ECSVoiceMailbox:
-            err = model.SaveVmbxNumber( iSettings[aItem].iMailboxNumber, 
-                                        EAlsActiveLineEntry );
-            break;
-        case ECSVideoMailbox:
-        FLOG( _L( "[Provisioning] CMbxNbrAdapter::SaveL:case ECSVideoMailbox" ) );
-            err = model.SaveVideoMbxNumber( iSettings[aItem].iMailboxNumber, 
-                                            EAlsActiveLineEntry );        
-            if ( iSettings[aItem].iIsVideosupport )
-            {
-            CRepository* cenrep = CRepository::NewL( KCRUidVideoMailbox );
-	        FLOG( _L( "[Provisioning] CMbxNbrAdapter::SaveL:case Saving it to Cenrep" ) );
-	        TBuf<100> buf1;
-	        buf1.AppendNum( iSettings[aItem].iVidiosupport );
-	        
-	        FLOG( buf1 );
-            CleanupStack::PushL(cenrep);
-			User::LeaveIfError(
-			cenrep->Set( KVideoMbxSupport, iSettings[aItem].iVidiosupport )); 
-			FLOG( _L( "[Provisioning] CMbxNbrAdapter::SaveL:case Saved" ) );
-			CleanupStack::PopAndDestroy(cenrep);
-            }
-            break;
-        default:
-            User::Leave( KErrCorrupt );
-            break;  
-        }
-
-    User::LeaveIfError( err );        
-    CleanupStack::PopAndDestroy();  // Close model
-    
-    FLOG( _L( "[Provisioning] CStreamingAdapter::SaveL: Done" ) );
-    }
-
-// -----------------------------------------------------------------------------
-// CMbxNbrAdapter::CanSetAsDefault
-// -----------------------------------------------------------------------------
-//
-TBool CMbxNbrAdapter::CanSetAsDefault( TInt /*aItem*/ ) const
-    {
-    return EFalse;
-    }
-
-// -----------------------------------------------------------------------------
-// CMbxNbrAdapter::SetAsDefault
-// -----------------------------------------------------------------------------
-//
-void CMbxNbrAdapter::SetAsDefaultL( TInt /*aItem*/ )
-    {
-    // This shouldn't be called because CanSetAsDefault
-    // always returns EFalse.
-    }
-
-// -----------------------------------------------------------------------------
-// CMbxNbrAdapter::VisitL
-// -----------------------------------------------------------------------------
-//
-void CMbxNbrAdapter::VisitL( CWPCharacteristic& aCharacteristic )
-    {
-    switch( aCharacteristic.Type() )
-        {
-        case KWPApplication:
-            // Initialize iTempData's members
-            iTempData.iName.Set( KNullDesC );
-            iTempData.iMailboxNumber.Set( KNullDesC );
-            iTempData.iVidiosupport = EFalse;
-            iTempData.iIsVideosupport = EFalse;
-            iTempData.iMailboxType = ECSVoiceMailbox;
-
-            // Accept characteristic
-            aCharacteristic.AcceptL( *this );
-
-            // Check iAppId and validate data
-            if( iAppId == KMailboxAppId && IsValid() )
-                {
-                // iAppId is correct and data is valid
-                // -> Lets append it to array                
-                iSettings.Append( iTempData );
-                }
-            break;
-        default:
-            break;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CMbxNbrAdapter::VisitL
-// -----------------------------------------------------------------------------
-//
-void CMbxNbrAdapter::VisitL( CWPParameter& aParameter )
-    {   
-    switch( aParameter.ID() )
-        {
-        case EWPParameterAppID:
-            iAppId.Set( aParameter.Value() );
-            break;
-        case EWPParameterName:
-            iTempData.iName.Set( aParameter.Value() );
-            break;
-		case EWPNamedParameter:
-			{
-			if( aParameter.Name().Compare( KMailboxNumberStr ) == 0 )
-			    {
-			    iTempData.iMailboxNumber.Set( aParameter.Value() );
-			    }
-			else if( aParameter.Name().Compare( KMailboxTypeStr ) == 0 )
-			    {
-			    ParseMbxTypeL( aParameter.Value(), iTempData.iMailboxType );
-			    }
-			else if( aParameter.Name().Compare( KVideoSupportType ) == 0)
-				{
-			FLOG( _L( "[Provisioning] CMbxNbrAdapter::VisitL:Visiting to ParseVideoTypeL" ) );
-				ParseVideoTypeL( aParameter.Value(), iTempData.iVidiosupport, iTempData.iIsVideosupport );	
-			    }
-			break;
-			}
-        default:
-            break;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CMbxNbrAdapter::VisitLinkL
-// -----------------------------------------------------------------------------
-//
-void CMbxNbrAdapter::VisitLinkL( CWPCharacteristic& /*aCharacteristic*/ )
-    { 
-    }
-
-
-// -----------------------------------------------------------------------------
-// CMbxNbrAdapter::IsValid
-// -----------------------------------------------------------------------------
-//
-TBool CMbxNbrAdapter::IsValid()
-    {
-    TBool validity( EFalse );
-    
-    // Validity check:
-    //  iMailboxType is either ECSVideoMailbox or ECSVoiceMailbox and
-    //  iMailboxNumber is valid number in e.164 format  
-    if( ( iTempData.iMailboxType == ECSVideoMailbox || 
-        iTempData.iMailboxType == ECSVoiceMailbox ) &&
-        IsValidPhoneNumber( iTempData.iMailboxNumber ) )
-        {
-        validity = ETrue;
-        }    
-        
-    return validity;
-    }
-    
-// -----------------------------------------------------------------------------
-// CMbxNbrAdapter::IsValidPhoneNumber
-// -----------------------------------------------------------------------------
-//
-TBool CMbxNbrAdapter::IsValidPhoneNumber( const TDesC& aPtr ) 
-    {
-    return CommonPhoneParser::IsValidPhoneNumber( aPtr, 
-                                CommonPhoneParser::EPhoneClientNumber );
-    }       
-    
-// -----------------------------------------------------------------------------
-// CMbxNbrAdapter::ParseMbxTypeL
-// -----------------------------------------------------------------------------
-//
-void CMbxNbrAdapter::ParseMbxTypeL( const TDesC& aPtr, TMailboxType& aType ) 
-    {
-    if( aPtr.Length() )
-        {
-        if( aPtr.Compare( KCSVideoMailboxType ) == 0 )
-            {
-            aType = ECSVideoMailbox;   
-            }
-        else
-            {
-            User::Leave( KErrNotSupported );
-            }
-        }
-    else
-        {
-        aType = ECSVoiceMailbox;
-        }
-    }
-// -----------------------------------------------------------------------------
-// CMbxNbrAdapter::ParseVideoTypeL
-// -----------------------------------------------------------------------------
-//
-void CMbxNbrAdapter::ParseVideoTypeL( const TDesC& aPtr, TBool& aType, TBool& aType1 ) 
-    {
-    FLOG( _L( "[Provisioning] CMbxNbrAdapter::ParseVideoTypeL:in" ) );
-    if( aPtr.Length() )
-        {
-        FLOG( _L( "[Provisioning] CMbxNbrAdapter::ParseVideoTypeL:If there is ON/OFF Value" ) );
-        if( aPtr.Compare( KVideoSupportTypeTrue ) == 0 )
-            {
-            FLOG( _L( "[Provisioning] CMbxNbrAdapter::ParseVideoTypeL:if ON set TRUE" ) );
-            aType = ETrue;
-            aType1 = ETrue;
-            }
-        else if( aPtr.Compare( KVideoSupportTypeFalse ) == 0 )
-            {
-            FLOG( _L( "[Provisioning] CMbxNbrAdapter::ParseVideoTypeL:if OFF set False" ) );
-            aType = EFalse;
-            aType1 = ETrue;
-            }
-        else
-        {
-        	FLOG( _L( "[Provisioning] CMbxNbrAdapter::ParseVideoTypeL:if some thing else set False" ) );
-        	aType1 = EFalse;
-        }
-        }
-    else
-        {
-        FLOG( _L( "[Provisioning] CMbxNbrAdapter::ParseVideoTypeL:no ON/OFF" ) );
-        aType1 = EFalse;
-        }
-    }
-	
-//  End of File