contentstorage/srvinc/casrvengutils.h
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Mon, 03 May 2010 12:48:45 +0300
changeset 66 32469d7d46ff
parent 60 f62f87b200ec
permissions -rw-r--r--
Revision: 201015 Kit: 201018

/*
 * 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 : The API supports item information that is not supported by
 *                the content arsenal server itself
 *
 */

#ifndef CASRVENGUTILS_H
#define CASRVENGUTILS_H

#include <e32base.h>
#include <apgcli.h>
/// Number of characters in UID and in MMC-id strings.
class TApaAppInfo;
class CCaInnerEntry;

NONSHARABLE_CLASS( CCaSrvEngUtils ): public CBase
    {
public:

    virtual ~CCaSrvEngUtils();
    static CCaSrvEngUtils* NewL();

    static TInt GetAppUid( const CCaInnerEntry& aEntry, TUid& aAppUid );

    // Caption support

    IMPORT_C TInt GetAppInfo( const CCaInnerEntry& aEntry,
            TApaAppInfo& aAppInfo ) const;

    IMPORT_C TInt GetApaAppInfo( TUid aUid, TApaAppInfo& aInfo ) const;

    /**
     * Fetches aEngObj native attribute value.
     * @param aEngObj engine object.
     * @param aAttrExists ETrue if attribute exist.
     * @param aAttrVal attribute value.
     */
    TBool IsNativeL( const CCaInnerEntry& aEntry );

private:

    CCaSrvEngUtils();

    void ConstructL();

    /**
     * Checks wether application is native
     * @since S60 v5.0.
     * @param aAppUid applications uid
     * @param aIsNative ETrue if apppication is native
     */
    void IsNativeL( TUid aAppUid, TBool& aIsNative );

private:
    // Data


    RApaLsSession iApaLsSession;
    };

#endif // CASRVENGUTILS_H