internetradio2.0/irisdsclient/src/irlanguagemapper.cpp
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Wed, 18 Aug 2010 09:40:26 +0300
changeset 14 896e9dbc5f19
permissions -rw-r--r--
Revision: 201031 Kit: 201033

/*
* 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