iaupdate/IAD/ui/inc/iaupdateserviceprovider.h
author hgs
Fri, 20 Aug 2010 11:39:56 +0300
changeset 64 48c14c385b0e
parent 29 26b6f0522fd8
permissions -rw-r--r--
201033_01

/*
* 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:   This file contains the header file of the IAUpdateServiceProvider class 
*
*/



#ifndef IAUPDATESERVICEPROVIDER_H
#define IAUPDATESERVICEPROVIDER_H

#include <QtCore/qmetaobject.h>
#include <xqserviceprovider.h>

class CIAUpdateParameters;
class CIAUpdateResult;
class IAUpdateEngine;

class IAUpdateServiceProvider : public XQServiceProvider
{
    Q_OBJECT
    
    public:
    
    enum RequestType
        {
        /**
        * No operation is going on.
        */ 
        NoOperation,       
                
        /**
        * Update check has been requested.
        */
        CheckUpdates,

        /**
        * Show Update operation has been requested.
        */
        ShowUpdates,     
                
        /**
        * Update query has been requested.
        */
        UpdateQuery,
        /**
        * Bring to foreground has been requested.
        */
        BroughtToForeground
        };

    
    IAUpdateServiceProvider(IAUpdateEngine& engine);
    ~IAUpdateServiceProvider();
    
    public slots:
    void startedByLauncher(QString refreshFromNetworkDenied);
    void checkUpdates(QString stringWgId, 
                      QString stringUid,  
                      QString searchCriteria, 
                      QString commandLineExecutable,
                      QString commandLineArguments,
                      QString stringShowProgress,
                      QString stringImportance,
                      QString stringType,
                      QString stringRefresh);
    void showUpdates(QString stringWgId, 
                     QString stringUid,  
                     QString searchCriteria, 
                     QString commandLineExecutable,
                     QString commandLineArguments,
                     QString stringShowProgress,
                     QString stringImportance,
                     QString stringType,
                     QString stringRefresh);

    void updateQuery(QString stringWgId);
    
    private:
    
    void SetParams(CIAUpdateParameters& params,
                   QString& stringUid,  
                   QString& searchCriteria, 
                   QString& commandLineExecutable,
                   QString& commandLineArguments,
                   QString& stringShowProgress,
                   QString& stringImportance,
                   QString& stringType,
                   QString& stringRefresh) const; 
    
    public:  //temp
    
    void completeLauncherLaunch(int error);
    void completeCheckUpdates(int countOfAvailableUpdates, int error);
    void completeShowUpdates(const CIAUpdateResult* updateResult, int error);
    void completeUpdateQuery(bool updateNow, int error);
    
    private:
    
    IAUpdateEngine* mEngine; //not owned
    int mAsyncReqId;
    RequestType mCurrentRequest;
};

#endif      // IAUPDATESERVICEPROVIDER_H
            
// End of File