harvester/harvesterplugins/AudioPlaylistPlugin/src/harvesteraudioplaylistparser.cpp
branchRCL_3
changeset 21 85f623e1ef41
parent 20 f23c07ec56e2
child 22 29d87345eaeb
--- a/harvester/harvesterplugins/AudioPlaylistPlugin/src/harvesteraudioplaylistparser.cpp	Tue Aug 31 15:37:30 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,382 +0,0 @@
-/*
-* 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 "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: 
-*
-*/
-
-
-#include <e32base.h>
-#include <bautils.h>
-#include <syslangutil.h>
-#include <PathInfo.h>
-#include <data_caging_path_literals.hrh>
-#include <mdsplaylisttopcharacterset.rsg>
-
-#include "harvesteraudioplaylistparser.h"
-
-#include "mdsutils.h"
-#include "harvesterlog.h"
-
-_LIT( KMimeTypeM3U,   "audio/x-mpegurl" );
-_LIT( KExtensionM3U,    "m3u" );
-
-_LIT( KMDSPlaylistCharacterSetRscFile, "mdsplaylisttopcharacterset.rsc" );
-
-const TInt KMDSArrayGranularity = 12;
-
-// -----------------------------------------------------------------------------
-// CHarvesterAudioPlaylistParser::NewL
-// -----------------------------------------------------------------------------
-//
-CHarvesterAudioPlaylistParser* CHarvesterAudioPlaylistParser::NewL()
-    {
-    CHarvesterAudioPlaylistParser* self = new ( ELeave ) CHarvesterAudioPlaylistParser();
-	CleanupStack::PushL( self );
-	self->ConstructL();
-	CleanupStack::Pop( self );
-
-	return self;
-    }
-
-
-// -----------------------------------------------------------------------------
-// Destructor
-// -----------------------------------------------------------------------------
-//
-CHarvesterAudioPlaylistParser::~CHarvesterAudioPlaylistParser()
-    {
-    delete iTopCharacterSet;
-    
-    delete iAvailableCharacterSet;
-    
-    iFs.Close();
-    }
-
-
-// -----------------------------------------------------------------------------
-// CHarvesterAudioPlaylistParser::CHarvesterAudioPlaylistParser
-// -----------------------------------------------------------------------------
-//
-CHarvesterAudioPlaylistParser::CHarvesterAudioPlaylistParser() 
-    {
-    }
-
-
-// -----------------------------------------------------------------------------
-// CHarvesterAudioPlaylistParser::ConstructL
-// -----------------------------------------------------------------------------
-//
-void CHarvesterAudioPlaylistParser::ConstructL()
-    {
-    User::LeaveIfError( iFs.Connect() );
-    iAvailableCharacterSet = CCnvCharacterSetConverter::CreateArrayOfCharacterSetsAvailableL( iFs );
-    iTopCharacterSet =
-        new (ELeave) CArrayFixFlat<CCnvCharacterSetConverter::SCharacterSet>( KMDSArrayGranularity );
-    GenerateTopCharacterSetsL();
-    iM3UParser = CHarvesterM3UPlaylistParser::NewL( iFs, iAvailableCharacterSet, iTopCharacterSet );
-    }
-
-
-// -----------------------------------------------------------------------------
-// CHarvesterAudioPlaylistParser::ParseMimeType
-// -----------------------------------------------------------------------------
-//
-TBool CHarvesterAudioPlaylistParser::ParseMimeType( 
-		const TDesC& aFileName, TDes& aMimeType )
-    {
-    TPtrC ext;
-    if( MdsUtils::GetExt( aFileName, ext ) )
-    	{
-    	if( ext == KExtensionM3U )
-    	    {
-    	    aMimeType = KMimeTypeM3U;
-    	    return ETrue;
-    	    }
-    	}
-
-    aMimeType = KNullDesC;
-    return EFalse;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CHarvesterAudioPlaylistParser::ParseL
-// -----------------------------------------------------------------------------
-//
-TBool CHarvesterAudioPlaylistParser::ParseL( const TDesC& aFileName,
-		RPointerArray<HBufC>& aUriArray, TPtrC aMimeType )
-    {
-    if( aMimeType == KMimeTypeM3U )
-        {
-        return iM3UParser->ParseL( aFileName, aUriArray );
-        }
-    return EFalse;
-    }
-
-// -----------------------------------------------------------------------------
-// CHarvesterAudioPlaylistParser::ResetL
-// -----------------------------------------------------------------------------
-//
-void CHarvesterAudioPlaylistParser::Reset()
-    {
-    iM3UParser->Reset();
-    }
-
-// -----------------------------------------------------------------------------
-// CHarvesterAudioPlaylistParser::GenerateTopCharacterSetsL
-// -----------------------------------------------------------------------------
-//
-void CHarvesterAudioPlaylistParser::GenerateTopCharacterSetsL()
-     {
-     CArrayFixFlat<TInt>* installedLanguages = NULL;
-     SysLangUtil::GetInstalledLanguages( installedLanguages );
-     CleanupStack::PushL( installedLanguages );
-     
-     TFileName fileName;
-     
-     TParsePtrC memory( PathInfo::RomRootPath() );
-     fileName.Copy( memory.Drive() );
-     fileName.Append( KDC_RESOURCE_FILES_DIR );
-     fileName.Append( KMDSPlaylistCharacterSetRscFile );
-
-     TRAPD( err, iRscFile.OpenL( iFs, fileName ) );
-     
-     // if there is no resource file, then there is no top character set list
-     if( err )
-         {
-         CleanupStack::PopAndDestroy( installedLanguages );
-         return;
-         }
-
-     const TInt count( installedLanguages->Count() );
-     for( TInt i=0; i < count; i++ )
-          {
-          SelectCharacterSetsForLanguageL( (*installedLanguages)[i] );
-          }
-     iTopCharacterSet->Compress();
-     installedLanguages->Reset();
-     CleanupStack::PopAndDestroy( installedLanguages );
-     iRscFile.Close();
-     }
-
-// -----------------------------------------------------------------------------
-// CHarvesterAudioPlaylistParser::SelectCharacterSetsForLanguageL
-// -----------------------------------------------------------------------------
-//
-void CHarvesterAudioPlaylistParser::SelectCharacterSetsForLanguageL( TInt aLanguage )
-     {
-     switch( aLanguage )
-          {
-          case ELangEnglish:
-               ReadCharacterSetResourceL( R_MDS_PLAYLIST_ENGLISH_CHAR_SET );
-               break;
-          case ELangFrench:
-               ReadCharacterSetResourceL( R_MDS_PLAYLIST_FRENCH_CHAR_SET );
-               break;
-          case ELangGerman:
-               ReadCharacterSetResourceL( R_MDS_PLAYLIST_GERMAN_CHAR_SET );
-               break;
-          case ELangTurkish:
-               ReadCharacterSetResourceL( R_MDS_PLAYLIST_TURKISH_CHAR_SET );
-               break;
-          case ELangFinnish:
-               ReadCharacterSetResourceL( R_MDS_PLAYLIST_FINNISH_CHAR_SET );
-               break;
-          case ELangSwedish:
-               ReadCharacterSetResourceL( R_MDS_PLAYLIST_SWEDISH_CHAR_SET );
-               break;
-          case ELangRussian:
-               ReadCharacterSetResourceL( R_MDS_PLAYLIST_RUSSIAN_CHAR_SET );
-               break;
-          case ELangArabic:
-               ReadCharacterSetResourceL( R_MDS_PLAYLIST_ARABIC_CHAR_SET );
-               break;
-          case ELangHebrew:
-               ReadCharacterSetResourceL( R_MDS_PLAYLIST_HEBREW_CHAR_SET );
-               break;
-          case ELangFarsi:
-               ReadCharacterSetResourceL( R_MDS_PLAYLIST_FARSI_CHAR_SET );
-               break;
-          case ELangItalian:
-               ReadCharacterSetResourceL( R_MDS_PLAYLIST_ITALIAN_CHAR_SET );
-               break;
-          case ELangPolish:
-               ReadCharacterSetResourceL( R_MDS_PLAYLIST_POLISH_CHAR_SET );
-               break;
-          case ELangHungarian:
-               ReadCharacterSetResourceL( R_MDS_PLAYLIST_HUNGARIAN_CHAR_SET );
-               break;
-          case ELangSpanish:
-               ReadCharacterSetResourceL( R_MDS_PLAYLIST_SPANISH_CHAR_SET );
-               break;
-          case ELangDutch:
-               ReadCharacterSetResourceL( R_MDS_PLAYLIST_DUTCH_CHAR_SET );
-               break;
-          case ELangPortuguese:
-               ReadCharacterSetResourceL( R_MDS_PLAYLIST_PORTUGUESE_CHAR_SET );
-               break;
-          case ELangAmerican:
-               ReadCharacterSetResourceL( R_MDS_PLAYLIST_ENGLISH_CHAR_SET );
-               break;
-          case ELangCanadianFrench:
-               ReadCharacterSetResourceL( R_MDS_PLAYLIST_FRENCH_CHAR_SET );
-               break;
-          case ELangBrazilianPortuguese:
-               ReadCharacterSetResourceL( R_MDS_PLAYLIST_PORTUGUESE_CHAR_SET );
-               break;
-          case ELangLatinAmericanSpanish:
-               ReadCharacterSetResourceL( R_MDS_PLAYLIST_SPANISH_CHAR_SET );
-               break;
-          case ELangLatvian:
-               ReadCharacterSetResourceL( R_MDS_PLAYLIST_LATVIAN_CHAR_SET );
-               break;
-          case ELangGreek:
-               ReadCharacterSetResourceL( R_MDS_PLAYLIST_GREEK_CHAR_SET );
-               break;
-          case ELangEstonian:
-               ReadCharacterSetResourceL( R_MDS_PLAYLIST_ESTONIAN_CHAR_SET );
-               break;
-          case ELangLithuanian:
-               ReadCharacterSetResourceL( R_MDS_PLAYLIST_LITHUANIAN_CHAR_SET );
-               break;
-          case ELangRomanian:
-               ReadCharacterSetResourceL( R_MDS_PLAYLIST_ROMANIAN_CHAR_SET );
-               break;
-          case ELangUkrainian:
-               ReadCharacterSetResourceL( R_MDS_PLAYLIST_UKRAINIAN_CHAR_SET );
-               break;
-          case ELangBulgarian:
-               ReadCharacterSetResourceL( R_MDS_PLAYLIST_BULGARIAN_CHAR_SET );
-               break;
-          case ELangCroatian:
-               ReadCharacterSetResourceL( R_MDS_PLAYLIST_CROATIAN_CHAR_SET );
-               break;
-          case ELangSerbian:
-               ReadCharacterSetResourceL( R_MDS_PLAYLIST_SERBIAN_CHAR_SET );
-               break;
-          case ELangIndonesian:
-               ReadCharacterSetResourceL( R_MDS_PLAYLIST_INDONESIAN_CHAR_SET );
-               break;
-          case ELangMalay:
-          case ELangTagalog:
-               ReadCharacterSetResourceL( R_MDS_PLAYLIST_MALAY_CHAR_SET );
-               break;
-          case ELangIcelandic:
-               ReadCharacterSetResourceL( R_MDS_PLAYLIST_ICELANDIC_CHAR_SET );
-               break;
-          case ELangDanish:
-               ReadCharacterSetResourceL( R_MDS_PLAYLIST_DANISH_CHAR_SET );
-               break;
-          case ELangNorwegian:
-               ReadCharacterSetResourceL( R_MDS_PLAYLIST_NORWEGIAN_CHAR_SET );
-               break;
-          case ELangHindi:
-               ReadCharacterSetResourceL( R_MDS_PLAYLIST_INDIAN_CHAR_SET );
-               break;
-          case ELangUrdu:
-               ReadCharacterSetResourceL( R_MDS_PLAYLIST_URDU_CHAR_SET );
-               break;
-          case ELangCzech:
-               ReadCharacterSetResourceL( R_MDS_PLAYLIST_CZECH_CHAR_SET );
-               break;
-          case ELangSlovak:
-               ReadCharacterSetResourceL( R_MDS_PLAYLIST_SLOVAK_CHAR_SET );
-               break;
-          case ELangSlovenian:
-               ReadCharacterSetResourceL( R_MDS_PLAYLIST_SLOVENIAN_CHAR_SET );
-               break;
-          case ELangTaiwanChinese:
-          case ELangHongKongChinese:
-               ReadCharacterSetResourceL( R_MDS_PLAYLIST_TAIWAN_HK_CHINESE_CHAR_SET );
-               break;
-          case ELangPrcChinese:
-               ReadCharacterSetResourceL( R_MDS_PLAYLIST_CHINESE_CHAR_SET );
-               break;
-          case ELangEnglish_Taiwan:
-          case ELangEnglish_Prc:
-          case ELangEnglish_Japan:
-          case ELangEnglish_Thailand:
-               ReadCharacterSetResourceL( R_MDS_PLAYLIST_ENGLISH_CHAR_SET );
-               break;
-          case ELangJapanese:
-               ReadCharacterSetResourceL( R_MDS_PLAYLIST_JAPANESE_CHAR_SET );
-               break;
-          case ELangThai:
-               ReadCharacterSetResourceL( R_MDS_PLAYLIST_THAI_CHAR_SET );
-               break;
-          case ELangVietnamese:
-               ReadCharacterSetResourceL( R_MDS_PLAYLIST_VIETNAMESE_CHAR_SET );
-               break;
-          case ELangMalay_Apac:
-               ReadCharacterSetResourceL( R_MDS_PLAYLIST_MALAY_CHAR_SET );
-               break;
-          default:
-               break;
-          }
-     }
-
-// -----------------------------------------------------------------------------
-// CHarvesterAudioPlaylistParser::ReadCharacterSetResourceL
-// -----------------------------------------------------------------------------
-//
-void CHarvesterAudioPlaylistParser::ReadCharacterSetResourceL( TInt aResourceId )
-     {
-     TResourceReader rscReader;                       // Resource reader
-     HBufC8* rscBuf;                                      // Buffer where resource is read
-
-     rscBuf = iRscFile.AllocReadL( aResourceId );
-     rscReader.SetBuffer( rscBuf );
-     CleanupStack::PushL( rscBuf );
-
-     TUint characterSetElementId;
-     TInt numCharacterSetElements = rscReader.ReadInt16();
-     TUint elemId;
-     CCnvCharacterSetConverter::SCharacterSet elem;
-
-     for( TInt i = 0; i < numCharacterSetElements; i++ )
-          {
-          characterSetElementId = rscReader.ReadInt32();
-          const TInt count( iAvailableCharacterSet->Count() );
-          for( TInt j = 0; j < count; j++ )
-               {
-               elem = (*iAvailableCharacterSet)[j];
-               elemId = elem.Identifier();
-               if ( elemId == characterSetElementId && !IsInTopCharacterSet(characterSetElementId) )
-                    {
-                    iTopCharacterSet->AppendL( elem );
-                    }
-               }
-          }
-
-     CleanupStack::PopAndDestroy( rscBuf );
-     }     
-     
-// -----------------------------------------------------------------------------
-// CHarvesterAudioPlaylistParser::IsInTopCharacterSet
-// -----------------------------------------------------------------------------
-//
-TBool CHarvesterAudioPlaylistParser::IsInTopCharacterSet( TUint aCharacterSetId )
-     {
-     const TInt count( iTopCharacterSet->Count() ); 
-     for( TInt i = 0; i < count; i++ )
-          {
-          if( (*iTopCharacterSet)[i].Identifier() == aCharacterSetId )
-               {
-               return ETrue;
-               }
-          }
-     return EFalse;
-     }
-
-// End of file