contentstorage/srvinc/casrvengutils.h
author hgs
Mon, 24 May 2010 20:50:46 +0300
changeset 95 c739008478cc
parent 92 782e3408c2ab
permissions -rw-r--r--
201019_02

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