/*
* Copyright (c) 2010 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: Declaration of TLanguageRegion structure.
*
*/
#ifndef __SSMCOMMONLOCALE_H__
#define __SSMCOMMONLOCALE_H__
#include <e32base.h>

_LIT( KLanguageDllNameBase, "elocl_lan" );
_LIT( KRegionDllNameBase, "elocl_reg" );
_LIT( KCollationDllNameBase, "elocl_col" );
_LIT( KDllExtensionFormat, ".%u" );
_LIT( KDllExtensionPadding, "0" );
const TInt KMaxDllNameLength = 16;
const TInt KMaxDllExtensionLength = 6;
const TInt KMinDllExtensionLength = 4;
const TInt KDllExtensionPaddingPosition = 1;

/**
* Used for mapping associated regions for the languages
*/
class TLanguageRegion 
    {
public:

    /**
    * Default constructor.
    */
    TLanguageRegion () : iLanguage( 0 ), iRegion ( 0 )
        {
        }

    /**
    * Overloaded constructor.
    */
    TLanguageRegion ( const TInt aLanguage )
                    : iLanguage( aLanguage ), iRegion ( 0 )
        {
        }

    /**
    * Overloaded constructor.
    */
    TLanguageRegion (const TInt aLanguage, const TInt aRegion)
                    : iLanguage( aLanguage ), iRegion ( aRegion )
        {
        }

public:
    /** Mapped language code */
    TInt iLanguage;

    /** Mapped region code */
    TInt iRegion;
};
  
#endif // __SSMCOMMONLOCALE_H__
