pushmtm/MtmUiSrc/PushMtmUiData.cpp
changeset 51 48e827313edd
parent 37 481242ead638
child 53 f427d27b98d8
--- a/pushmtm/MtmUiSrc/PushMtmUiData.cpp	Tue Feb 02 00:12:41 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,457 +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 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:  Push Ui Data Mtm class definition
-*
-*/
-
-
-
-// INCLUDE FILES
-
-#include "PushMtmUiData.h"
-#include "PushMtmCommands.hrh"
-#include "PushMtmUiDef.h"
-#include "PushMtmUiPanic.h"
-#include "PushMtmUtil.h"
-#include <PushMtmUi.rsg>
-#include <PushEntry.h>
-#include <msvuids.h>
-#include <MTMExtendedCapabilities.hrh>
-#include <PushMtm.mbg>
-#include <data_caging_path_literals.hrh>
-#include <f32file.h>
-#include <AknsUtils.h>
-
-// CONSTANTS
-
-// Number of zoom states.
-LOCAL_C const TInt KPushIconArrayGranularity = 2;
-
-// ================= MEMBER FUNCTIONS =======================
-
-// ---------------------------------------------------------
-// CPushMtmUiData::NewL
-// ---------------------------------------------------------
-//
-EXPORT_C CPushMtmUiData* CPushMtmUiData::NewL
-( CRegisteredMtmDll& aRegisteredDll )
-    {
-    CPushMtmUiData* uiData = new (ELeave) CPushMtmUiData( aRegisteredDll );
-    CleanupStack::PushL( uiData );
-    uiData->ConstructL();
-    CleanupStack::Pop();    // uiData
-    return uiData;
-    }
-
-// ---------------------------------------------------------
-// CPushMtmUiData::~CPushMtmUiData
-// ---------------------------------------------------------
-//
-CPushMtmUiData::~CPushMtmUiData()
-    {
-    }
-
-// ---------------------------------------------------------
-// CPushMtmUiData::CPushMtmUiData
-// ---------------------------------------------------------
-//
-CPushMtmUiData::CPushMtmUiData( CRegisteredMtmDll& aRegisteredDll )
-: CBaseMtmUiData( aRegisteredDll )
-    {
-    }
-
-// ---------------------------------------------------------
-// CPushMtmUiData::ContextIcon
-// ---------------------------------------------------------
-//
-const CBaseMtmUiData::CBitmapArray& CPushMtmUiData::ContextIcon
-( const TMsvEntry& aContext, TInt /*aStateFlags*/ ) const
-    {
-	__ASSERT_DEBUG( aContext.iMtm == Type(), UiPanic( EPushMtmUiPanBadType ) );
-    __ASSERT_DEBUG( aContext.iType.iUid != KUidMsvFolderEntryValue, 
-        UiPanic( EPushMtmUiPanFoldersNotSupported ) );	
-
-	return *iIconArrays->At( aContext.Unread() ? 0 : 1 );
-    }
-
-// ---------------------------------------------------------
-// CPushMtmUiData::CanCreateEntryL
-// ---------------------------------------------------------
-//
-#ifdef _DEBUG
-TBool CPushMtmUiData::CanCreateEntryL( const TMsvEntry& /*aParent*/,
-        TMsvEntry& aNewEntry, TInt& aReasonResourceId ) const
-#else // _DEBUG
-TBool CPushMtmUiData::CanCreateEntryL( const TMsvEntry& /*aParent*/,
-        TMsvEntry& /*aNewEntry*/, TInt& aReasonResourceId ) const
-#endif // _DEBUG
-    {
-    __ASSERT_DEBUG( aNewEntry.iMtm == Type(), UiPanic( EPushMtmUiPanBadType ) );
-    aReasonResourceId = KErrNotSupported;
-    return EFalse;
-    }
-
-// ---------------------------------------------------------
-// CPushMtmUiData::CanDeleteFromEntryL
-// ---------------------------------------------------------
-//
-#ifdef _DEBUG
-TBool CPushMtmUiData::CanDeleteFromEntryL
-( const TMsvEntry& aContext, TInt& aReasonResourceId ) const
-#else // _DEBUG
-TBool CPushMtmUiData::CanDeleteFromEntryL
-( const TMsvEntry& /*aContext*/, TInt& aReasonResourceId ) const
-#endif // _DEBUG
-    {
-    __ASSERT_DEBUG( aContext.iMtm == Type(), UiPanic( EPushMtmUiPanBadType ) );
-    aReasonResourceId = KErrNotSupported;
-    return ETrue;
-    }
-
-// ---------------------------------------------------------
-// CPushMtmUiData::CanDeleteServiceL
-// ---------------------------------------------------------
-//
-#ifdef _DEBUG
-TBool CPushMtmUiData::CanDeleteServiceL
-( const TMsvEntry& aService, TInt& aReasonResourceId ) const
-#else // _DEBUG
-TBool CPushMtmUiData::CanDeleteServiceL
-( const TMsvEntry& /*aService*/, TInt& aReasonResourceId ) const
-#endif // _DEBUG
-    {
-    __ASSERT_DEBUG( aService.iMtm == Type(), UiPanic( EPushMtmUiPanBadType ) );
-    aReasonResourceId = KErrNotSupported;
-    return EFalse;
-    }
-
-// ---------------------------------------------------------
-// CPushMtmUiData::CanReplyToEntryL
-// ---------------------------------------------------------
-//
-#ifdef _DEBUG
-TBool CPushMtmUiData::CanReplyToEntryL
-( const TMsvEntry& aContext, TInt& aReasonResourceId ) const
-#else // _DEBUG
-TBool CPushMtmUiData::CanReplyToEntryL
-( const TMsvEntry& /*aContext*/, TInt& aReasonResourceId ) const
-#endif // _DEBUG
-    {
-    __ASSERT_DEBUG( aContext.iMtm == Type(), UiPanic( EPushMtmUiPanBadType ) );
-    aReasonResourceId = KErrNotSupported;
-    return EFalse;
-    }
-
-// ---------------------------------------------------------
-// CPushMtmUiData::CanForwardEntryL
-// ---------------------------------------------------------
-//
-#ifdef _DEBUG
-TBool CPushMtmUiData::CanForwardEntryL
-( const TMsvEntry& aContext, TInt& aReasonResourceId ) const
-#else // _DEBUG
-TBool CPushMtmUiData::CanForwardEntryL
-( const TMsvEntry& /*aContext*/, TInt& aReasonResourceId ) const
-#endif // _DEBUG
-    {
-    __ASSERT_DEBUG( aContext.iMtm == Type(), UiPanic( EPushMtmUiPanBadType ) );
-    aReasonResourceId = KErrNotSupported;
-    return EFalse;
-    }
-
-// ---------------------------------------------------------
-// CPushMtmUiData::CanEditEntryL
-// ---------------------------------------------------------
-//
-TBool CPushMtmUiData::CanEditEntryL
-( const TMsvEntry& aContext, TInt& aReasonResourceId ) const
-    {
-    __ASSERT_DEBUG( aContext.iMtm == Type(), UiPanic( EPushMtmUiPanBadType ) );
-
-    aReasonResourceId = KErrNotSupported;
-
-	if ( aContext.iType == KUidMsvServiceEntry )
-		{
-		// Only the service entry can be changed.
-		return ETrue;
-		}
-    return EFalse;
-    }
-
-// ---------------------------------------------------------
-// CPushMtmUiData::CanViewEntryL
-// ---------------------------------------------------------
-//
-TBool CPushMtmUiData::CanViewEntryL
-( const TMsvEntry& aContext, TInt& aReasonResourceId ) const
-    {
-    __ASSERT_DEBUG( aContext.iMtm == Type(), UiPanic( EPushMtmUiPanBadType ) );
-    
-	aReasonResourceId = KErrNotSupported;
-
-    if ( aContext.iType != KUidMsvMessageEntry )
-        {
-        // Only the messages can be viewed(this function
-        // should not be available on a service entry)
-        return EFalse;
-        }
-    return ETrue;
-    }
-
-// ---------------------------------------------------------
-// CPushMtmUiData::CanOpenEntryL
-// ---------------------------------------------------------
-//
-TBool CPushMtmUiData::CanOpenEntryL
-( const TMsvEntry& aContext, TInt& aReasonResourceId ) const
-    {
-    return CanViewEntryL( aContext, aReasonResourceId );
-    }
-
-// ---------------------------------------------------------
-// CPushMtmUiData::CanCloseEntryL
-// ---------------------------------------------------------
-//
-TBool CPushMtmUiData::CanCloseEntryL
-( const TMsvEntry& aContext, TInt& aReasonResourceId ) const
-    {
-    return CanOpenEntryL( aContext, aReasonResourceId );
-    }
-
-// ---------------------------------------------------------
-// CPushMtmUiData::CanCopyMoveToEntryL
-// ---------------------------------------------------------
-//
-TBool CPushMtmUiData::CanCopyMoveToEntryL
-( const TMsvEntry& aContext, TInt& aReasonResourceId ) const
-    {
-    __ASSERT_DEBUG( aContext.iMtm == Type(), UiPanic( EPushMtmUiPanBadType ) );
-
-	aReasonResourceId = KErrNotSupported;
-
-    if ( aContext.iType != KUidMsvMessageEntry )
-        {
-        // Only the messages can be moved(this function
-        // should not be available on a service entry)
-        return EFalse;
-        }
-    return ETrue;
-    }
-
-// ---------------------------------------------------------
-// CPushMtmUiData::CanCopyMoveFromEntryL
-// ---------------------------------------------------------
-//
-#ifdef _DEBUG
-TBool CPushMtmUiData::CanCopyMoveFromEntryL
-( const TMsvEntry& aContext, TInt& aReasonResourceId ) const
-#else // _DEBUG
-TBool CPushMtmUiData::CanCopyMoveFromEntryL
-( const TMsvEntry& /*aContext*/, TInt& aReasonResourceId ) const
-#endif // _DEBUG
-    {
-    __ASSERT_DEBUG( aContext.iMtm == Type(), UiPanic( EPushMtmUiPanBadType ) );
-
-	aReasonResourceId = KErrNotSupported;
-
-    return EFalse;
-    }
-
-// ---------------------------------------------------------
-// CPushMtmUiData::CanCancelL
-// ---------------------------------------------------------
-//
-#ifdef _DEBUG
-TBool CPushMtmUiData::CanCancelL
-( const TMsvEntry& aContext, TInt& aReasonResourceId ) const
-#else // _DEBUG
-TBool CPushMtmUiData::CanCancelL
-( const TMsvEntry& /*aContext*/, TInt& aReasonResourceId ) const
-#endif // _DEBUG
-    {
-    __ASSERT_DEBUG( aContext.iMtm == Type(), UiPanic( EPushMtmUiPanBadType ) );
-
-	aReasonResourceId = KErrNotSupported;
-
-    return EFalse;
-    }
-
-// ---------------------------------------------------------
-// CPushMtmUiData::OperationSupportedL
-// ---------------------------------------------------------
-//
-TInt CPushMtmUiData::OperationSupportedL
-( TInt aOperationId, const TMsvEntry& aContext ) const
-    {
-	__ASSERT_DEBUG( aContext.iMtm == Type(), UiPanic( EPushMtmUiPanBadType ) );
-    __ASSERT_DEBUG( aContext.iType.iUid != KUidMsvFolderEntryValue, 
-        UiPanic( EPushMtmUiPanFoldersNotSupported ) );	
-
-    TInt ret( KErrCancel );
-
-    switch ( aOperationId )
-        {
-
-	    case KMtmUiFunctionMessageInfo:
-			{
-			// The message info operation is always supported.
-			ret = ( aContext.iType.iUid == KUidMsvMessageEntryValue ) ? 
-                    KErrNone : KErrCancel;
-            break;
-			}
-
-        case EPushMtmCmdLoadService:
-            {
-            // This function is available only if the message has URL in it.
-            if ( aContext.iType.iUid != KUidMsvMessageEntryValue )
-                {
-                // LoadService is not supported.
-                ret = KErrCancel;
-                }
-            else
-                {
-                if ( aContext.iBioType == KUidWapPushMsgSI.iUid && 
-                     CPushMtmUtil::Attrs( aContext ) & EPushMtmAttrHasHref )
-                    {
-                    // SI with not empty URL: LoadService is supported.
-                    ret = KErrNone;
-                    }
-                else if ( aContext.iBioType == KUidWapPushMsgSL.iUid && 
-                     CPushMtmUtil::Attrs( aContext ) & EPushMtmAttrHasHref )
-                    {
-                    // SL with not empty URL: LoadService is supported.
-                    ret = KErrNone;
-                    }
-                else
-                    {
-                    // LoadService is not supported.
-                    ret = KErrCancel;
-                    }
-                }
-            break;
-            }
-
-        default:
-            {
-            // No other operations are supported.
-            ret = KErrCancel;
-            break;
-            }
-        }
-
-    return ret;
-    }
-
-// ---------------------------------------------------------
-// CPushMtmUiData::QueryCapability
-// ---------------------------------------------------------
-//
-TInt CPushMtmUiData::QueryCapability( TUid aCapability, TInt& aResponse ) const
-    {
-    TInt ret( KErrNotSupported );
-
-    if ( aCapability.iUid == KUidMsvMtmQueryMessageInfo )
-		{
-		aResponse = ETrue;
-        ret = KErrNone;
-		}
-
-    return ret;
-    }
-
-// ---------------------------------------------------------
-// CPushMtmUiData::StatusTextL
-// ---------------------------------------------------------
-//
-HBufC* CPushMtmUiData::StatusTextL( const TMsvEntry& /*aContext*/ ) const
-    {
-    return NULL;
-    }
-
-// ---------------------------------------------------------
-// CPushMtmUiData::PopulateArraysL
-// ---------------------------------------------------------
-//
-void CPushMtmUiData::PopulateArraysL()
-    {
-    ReadFunctionsFromResourceFileL( R_PUSH_MTM_UI_DATA_FUNCTION_ARRAY );
-    CreateSkinnedBitmapsL();
-    }
-
-// ---------------------------------------------------------
-// CPushMtmUiData::GetResourceFileName
-// ---------------------------------------------------------
-//
-void CPushMtmUiData::GetResourceFileName( TFileName& aFileName ) const
-    {
-    // Extract the file name and extension from the constant
-    TParsePtrC fileParser( KPushMtmUiDataResourceFileAndDrive );
-    aFileName = fileParser.NameAndExt();
-    }
-
-// ---------------------------------------------------------
-// CPushMtmUiData::CreateSkinnedBitmapsL
-// ---------------------------------------------------------
-//
-void CPushMtmUiData::CreateSkinnedBitmapsL()
-    {
-    TParse fileParser;
-    fileParser.Set( KPushMtmUiDataBitmapFileAndDrive, &KDC_APP_BITMAP_DIR, NULL );
-
-    MAknsSkinInstance* skins = AknsUtils::SkinInstance();
-    TAknsItemID id;
-    CFbsBitmap* bitmap;
-    CFbsBitmap* bitmapMask;
-    TBool found = ETrue;
-
-    for( TInt i = EMbmPushmtmQgn_prop_mce_push_unread; 
-              i < EMbmPushmtmQgn_prop_mce_push_read_mask + 1; 
-              i++ )
-        {
-        found = ETrue;
-        switch( i )
-            {
-            // Add to iIconArrays in this order
-            case EMbmPushmtmQgn_prop_mce_push_unread:
-                id.Set( KAknsIIDQgnPropMcePushUnread );
-                break;
-            case EMbmPushmtmQgn_prop_mce_push_read:
-                id.Set( KAknsIIDQgnPropMcePushRead );
-                break;
-            default:
-                found = EFalse;
-                break;
-            }
-        if( found )
-            {
-            CArrayPtrFlat<CFbsBitmap>* array = 
-                new (ELeave) CArrayPtrFlat<CFbsBitmap>( KPushIconArrayGranularity );
-            CleanupStack::PushL( array );
-
-            array->SetReserveL( KPushIconArrayGranularity ); // AppendLs will not LEAVE
-            AknsUtils::CreateIconL( skins, id, bitmap, bitmapMask, 
-                                    fileParser.FullName(), i, i + 1 );
-            // bitmap & bitmapMask is not on the Cleanup Stack, but it is not 
-            // necessary, because AppendLs will not LEAVE.
-            array->AppendL( bitmap );
-            bitmap = 0;
-            array->AppendL( bitmapMask );
-            bitmapMask = 0;
-            iIconArrays->AppendL( array );
-            CleanupStack::Pop( array ); // array
-            }
-        }
-    }
-
-// End of file.