videocollection/videocollectionview/inc/videooperatorservice.h
author hgs
Thu, 08 Jul 2010 13:05:19 +0300
changeset 44 518105d52e45
child 55 4bfa887905cf
permissions -rw-r--r--
201027

/*
* 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:   VideoOperatorService class declaration.
*
*/


#ifndef VIDEOOPERATORSERVICE_H
#define VIDEOOPERATORSERVICE_H

#include <qobject.h>

class HbPushButton;

/**
 * Loading and launching functionality for operator customisable services.  
 */
class VideoOperatorService : public QObject
{
    Q_OBJECT

public:

    /**
     * Contructor.
     *
     * @param parent parent of this widget
     */
    VideoOperatorService(QObject *parent = 0);

    /**
     * Loads the service.
     * 
     * @titleKey Central Repository key id for the service's title.
     * @iconKey Central Repository key id for the service's icon resource.
     * @uriKey Central Repository key id for the service's URI.
     * @uidKey Central Repository key id for the service's UID.
     * 
     * @return True if service was loaded succesfully.
     */
    bool load(int titleKey, int iconKey, int uriKey, int uidKey);

    /**
     * Returns name for the service.
     * 
     * @return name of the service.
     */
    const QString title() const;
    
    /**
     * Returns the icon resource for the service.
     * 
     * @return path or resource id to the icon.
     */
    const QString iconResource() const;
    
private:
    
    void launchApplicationL(const TUid uid, TInt viewId);
    
public slots:
    
    /**
     * Launches the service.
     */
    void launchService();
    
private:
    
    Q_DISABLE_COPY(VideoOperatorService)
    
    /**
     * Title for the service.
     */
    QString mTitle;
    
    /**
     * Icon for the service.
     */
    QString mIconResource;
    
    /**
     * Service URL if service should launch an URL.
     */
    QString mServiceUri;
    
    /**
     * Application UID if service should launch an external application.  
     */
    int mApplicationUid;
};

#endif // VIDEOOPERATORSERVICE_H

// End of file.