skins/AknSkins/srvinc/aknssrviconconfigmap.h
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Thu, 15 Jul 2010 19:48:07 +0300
branchRCL_3
changeset 99 e871a07c0ce0
parent 0 05e9090e2422
permissions -rw-r--r--
Revision: 201025 Kit: 2010127

/*
* Copyright (c) 2008 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:  Contains icon configuration information.
*
*/


#ifndef C_AKNSSRVICONCONFIGMAP_H
#define C_AKNSSRVICONCONFIGMAP_H

#include <e32base.h>

/**
 *  Creates map of application UIDs that have configured icons based
 *  on central repository. Skinserver will skip skinning their application
 *  icons.
 *
 *  @lib aknskinsrv.lib
 *  @since S60 3.2
 */
NONSHARABLE_CLASS( CAknsSrvIconConfigMap ): public CBase
    {

public:

    static CAknsSrvIconConfigMap* NewL();   

    virtual ~CAknsSrvIconConfigMap();

    /*
    * Checks if the given application UID has icon configured using CenRep
    * configuration. Icons can be variated by language.
    * 
    * @param aApplicationUid application UID
    * @param aIsConfigured ETrue if icon has been configured, EFalse otherwise.
    */
    void IsIconConfiguredL( TUid aApplicationUid, TBool& aIsConfigured );

private:
    // Deletes icon map.
    void DeleteCurrentIconMap();

    // Reads repository and form icon map.
    void ReadAndParseConfigFileL( CRepository* aRepository );

    // Creates repository, then calls ReadAndParseConfigFileL.
    void CreateAndParseRepositoryL();

    CAknsSrvIconConfigMap();

    void ConstructL();

private: // data

    /**
     * Currently active language.
     */
    TLanguage iCurrentLanguage;

    /**
     * Array of UIDs whose icon has been configured.
     */
    RArray<TInt> iAppUidArray;

    };

#endif // C_AKNSSRVICONCONFIGMAP_H