contentstorage/cahandler/app/inc/caapphandler.h
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Mon, 04 Oct 2010 00:38:31 +0300
changeset 124 e36b2f4799c0
parent 121 0b3699f6c654
permissions -rw-r--r--
Revision: 201037 Kit: 201039

/*
 * 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:  ?Description
 *
 */

#ifndef CAAPPHANDLER_H
#define CAAPPHANDLER_H

#include <QObject>

#include "cahandler.h"
#include "cauninstallerobserver.h"

class CEikonEnv;
class CCaUsifUninstallOperation;
class CaEntry;

class CaAppHandler: public QObject, public CaHandler, public CaUninstallerObserver
{
    Q_OBJECT
    Q_INTERFACES(CaHandler)

public:

    explicit CaAppHandler(QObject *parent = 0);

    virtual ~CaAppHandler();

public:

    int execute(const CaEntry &entry, const QString &command, 
            QObject* receiver = NULL, const char* member = NULL);
    
    void uninstallError(int error); // from CaUninstallerObserver
    
signals:

    void uninstallFailed(int errorCode);

private:

    void launchApplicationL(const TUid uid, TInt viewId);

    int handleRemove(const EntryFlags &flags,
        const QString &typeName,
        const QString &componentId);
    
    void startUsifUninstallL(TInt componentId);
    
private:
    CEikonEnv *iEikEnv;
    CCaUsifUninstallOperation *iUsifUninstallOperation;
};

#endif // CAAPPHANDLER_H