internetradio2.0/irisdsclient/src/irlanguagemapper.cpp
changeset 14 896e9dbc5f19
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/internetradio2.0/irisdsclient/src/irlanguagemapper.cpp	Wed Aug 18 09:40:26 2010 +0300
@@ -0,0 +1,341 @@
+/*
+* 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:  The implementation for presentation elements.
+*
+*/
+
+
+#include <btsdp.h>
+
+#include "irlanguagemapper.h"
+#include "irdebug.h"
+
+//============================= MEMBER FUNCTIONS =============================
+
+// ---------------------------------------------------------------------------
+// IRLanguageMapper::MapLanguage
+// ---------------------------------------------------------------------------
+
+TBufC8<KIRLanguageCodeLength> IRLanguageMapper::MapLanguage(
+                TLanguage aLanguage )
+    {
+    IRLOG_DEBUG( "IRLanguageMapper::MapLanguage - Entering" );
+    TUint16 value = 0;
+
+    switch ( aLanguage )
+        {
+        case ELangEnglish:
+            value = KLanguageEnglish;
+            break;
+        case ELangFrench:
+            value = KLanguageFrench;
+            break;
+        case ELangGerman:
+            value = KLanguageGerman;
+            break;
+        case ELangSpanish:
+            value = KLanguageSpanish;
+            break;
+        case ELangItalian:
+            value = KLanguageItalian;
+            break;
+        case ELangSwedish:
+            value = KLanguageSwedish;
+            break;
+        case ELangDanish:
+            value = KLanguageDanish;
+            break;
+        case ELangNorwegian:
+            value = KLanguageNorwegian;
+            break;
+        case ELangFinnish:
+            value = KLanguageFinnish;
+            break;
+        case ELangAmerican:
+            value = KLanguageEnglish;
+            break;
+        case ELangSwissFrench:
+            value = KLanguageFrench;
+            break;
+        case ELangSwissGerman:
+            value = KLanguageGerman;
+            break;
+        case ELangPortuguese:
+            value = KLanguagePortuguese;
+            break;
+        case ELangTurkish:
+            value = KLanguageTurkish;
+            break;
+        case ELangIcelandic:
+            value = KLanguageIcelandic;
+            break;
+        case ELangRussian:
+            value = KLanguageRussian;
+            break;
+        case ELangHungarian:
+            value = KLanguageHungarian;
+            break;
+        case ELangDutch:
+            value = KLanguageDutch;
+            break;
+        case ELangBelgianFlemish:
+            value = KLanguageDutch;
+            break;
+        case ELangAustralian:
+            value = KLanguageEnglish;
+            break;
+        case ELangBelgianFrench:
+            value = KLanguageFrench;
+            break;
+        case ELangAustrian:
+            value = KLanguageGerman;
+            break;
+        case ELangNewZealand:
+            value = KLanguageEnglish;
+            break;
+        case ELangInternationalFrench:
+            value = KLanguageFrench;
+            break;
+        case ELangCzech:
+            value = KLanguageCzech;
+            break;
+        case ELangSlovak:
+            value = KLanguageSlovak;
+            break;
+        case ELangPolish:
+            value = KLanguagePolish;
+            break;
+        case ELangSlovenian:
+            value = KLanguageSlovenian;
+            break;
+        case ELangTaiwanChinese:
+            value = KLanguageChinese;
+            break;
+        case ELangHongKongChinese:
+            value = KLanguageChinese;
+            break;
+        case ELangPrcChinese:
+            value = KLanguageChinese;
+            break;
+        case ELangJapanese:
+            value = KLanguageJapanese;
+            break;
+        case ELangThai:
+            value = KLanguageThai;
+            break;
+        case ELangAfrikaans:
+            value = KLanguageAfrikaans;
+            break;
+        case ELangAlbanian:
+            value = KLanguageAlbanian;
+            break;
+        case ELangAmharic:
+            value = KLanguageAmharic;
+            break;
+        case ELangArabic:
+            value = KLanguageArabic;
+            break;
+        case ELangArmenian:
+            value = KLanguageArmenian;
+            break;
+        case ELangTagalog:
+            value = KLanguageTagalog;
+            break;
+        case ELangBelarussian:
+            value = KLanguageRussian;
+            break;
+        case ELangBengali:
+            value = KLanguageBengali;
+            break;
+        case ELangBulgarian:
+            value = KLanguageBulgarian;
+            break;
+        case ELangBurmese:
+            value = KLanguageBurmese;
+            break;
+        case ELangCatalan:
+            value = KLanguageCatalan;
+            break;
+        case ELangCroatian:
+            value = KLanguageCroatian;
+            break;
+        case ELangCanadianEnglish:
+            value = KLanguageEnglish;
+            break;
+        case ELangInternationalEnglish:
+            value = KLanguageEnglish;
+            break;
+        case ELangSouthAfricanEnglish:
+            value = KLanguageEnglish;
+            break;
+        case ELangEstonian:
+            value = KLanguageEstonian;
+            break;
+        case ELangFarsi:
+            value = KLanguagePersian;
+            break;
+        case ELangCanadianFrench:
+            value = KLanguageFrench;
+            break;
+        case ELangScotsGaelic:
+            value = KLanguageScotsGaelic;
+            break;
+        case ELangGeorgian:
+            value = KLanguageGeorgian;
+            break;
+        case ELangGreek:
+            value = KLanguageGreek;
+            break;
+        case ELangCyprusGreek:
+            value = KLanguageGreek;
+            break;
+        case ELangGujarati:
+            value = KLanguageGujarati;
+            break;
+        case ELangHebrew:
+            value = KLanguageHebrew;
+            break;
+        case ELangHindi:
+            value = KLanguageHindi;
+            break;
+        case ELangIndonesian:
+            value = KLanguageIndonesian;
+            break;
+        case ELangIrish:
+            value = KLanguageIrish;
+            break;
+        case ELangSwissItalian:
+            value = KLanguageItalian;
+            break;
+        case ELangKannada:
+            value = KLanguageKannada;
+            break;
+        case ELangKazakh:
+            value = KLanguageKazakh;
+            break;
+        case ELangKhmer:
+            value = KLanguageCambodian;
+            break;
+        case ELangKorean:
+            value = KLanguageKorean;
+            break;
+        case ELangLao:
+            value = KLanguageLaothian;
+            break;
+        case ELangLatvian:
+            value = KLanguageLatvian;
+            break;
+        case ELangLithuanian:
+            value = KLanguageLithuanian;
+            break;
+        case ELangMacedonian:
+            value = KLanguageMacedonian;
+            break;
+        case ELangMalay:
+            value = KLanguageMalay;
+            break;
+        case ELangMalayalam:
+            value = KLanguageMalayalam;
+            break;
+        case ELangMarathi:
+            value = KLanguageMarathi;
+            break;
+        case ELangMoldavian:
+            value = KLanguageMoldavian;
+            break;
+        case ELangMongolian:
+            value = KLanguageMongolian;
+            break;
+        case ELangNorwegianNynorsk:
+            value = KLanguageNorwegian;
+            break;
+        case ELangBrazilianPortuguese:
+            value = KLanguagePortuguese;
+            break;
+        case ELangPunjabi:
+            value = KLanguagePunjabi;
+            break;
+        case ELangRomanian:
+            value = KLanguageRomanian;
+            break;
+        case ELangSerbian:
+            value = KLanguageSerbian;
+            break;
+        case ELangSinhalese:
+            value = KLanguageSinhalese;
+            break;
+        case ELangSomali:
+            value = KLanguageSomali;
+            break;
+        case ELangInternationalSpanish:
+            value = KLanguageSpanish;
+            break;
+        case ELangLatinAmericanSpanish:
+            value = KLanguageSpanish;
+            break;
+        case ELangSwahili:
+            value = KLanguageSwahili;
+            break;
+        case ELangFinlandSwedish:
+            value = KLanguageSwedish;
+            break;
+        case ELangTamil:
+            value = KLanguageTamil;
+            break;
+        case ELangTelugu:
+            value = KLanguageTelugu;
+            break;
+        case ELangTibetan:
+            value = KLanguageTibetan;
+            break;
+        case ELangTigrinya:
+            value = KLanguageTigrinya;
+            break;
+        case ELangCyprusTurkish:
+            value = KLanguageTurkish;
+            break;
+        case ELangTurkmen:
+            value = KLanguageTurkmen;
+            break;
+        case ELangUkrainian:
+            value = KLanguageUkrainian;
+            break;
+        case ELangUrdu:
+            value = KLanguageUrdu;
+            break;
+        case ELangVietnamese:
+            value = KLanguageVietnamese;
+            break;
+        case ELangWelsh:
+            value = KLanguageWelsh;
+            break;
+        case ELangZulu:
+            value = KLanguageZulu;
+            break;
+        default:
+            value = KLanguageEnglish;
+            break;
+        }
+
+    /* translate the two bytes into actual 'string' */
+    TBuf8<KIRLanguageCodeLength> ret;
+    TUint char1 = ( value >> 8 ) & 0xFFu;
+    TUint char2 = value & 0xFFu;
+    ret.Append( static_cast<TUint8> ( char1 ) );
+    ret.Append( static_cast<TUint8> ( char2 ) );
+    IRLOG_DEBUG( "IRLanguageMapper::MapLanguage - Exiting" );
+    return ret;
+    }
+
+//  End of File