calendarwidgetplugin/inc/calendarwidgetplugin.h
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Tue, 06 Jul 2010 11:55:49 +0300
changeset 0 db1bf15cefff
permissions -rw-r--r--
Revision: 201027

/*
* Copyright (c) 2009 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:  Homescreen widget plugin
*
*/

#ifndef CALENDARWIDGETPLUGIN_H
#define CALENDARWIDGETPLUGIN_H

// System includes
#include <QObject>
/*!
    \class QServicePluginInterface
    \brief The service framework interface implemented by the plugin.  
    \details The plugin is registered to the service framework. Homescreen loads the widgets through the
        service framework. The plugin is loaded as a widget only if it implements (which is the case of
        calendar widget) the interface <b>com.nokia.symbian.IHomeScreenWidget</b>
*/
#include <qserviceplugininterface.h>

QTM_USE_NAMESPACE

/*!
    \class CalendarWidgetPlugin
    \brief Responsible for loading the whole widget. Called by the service framework.
*/

// Class declaration
class CalendarWidgetPlugin : public QObject, public QServicePluginInterface
{
    Q_OBJECT
    Q_INTERFACES(QtMobility::QServicePluginInterface)

public:
    /*! 
        \fn QObject *createInstance(const QServiceInterfaceDescriptor &descriptor,
                                    QServiceContext *context,
                                    QAbstractSecuritySession *session);

........Invoked by service framework.
........@param descriptor contains the interface name. If the interface name contained in the descriptor matches
               the one implemented createInstance returns and instance of CalendarWidget, otherwise it returns 
               NULL. 
        @param context Not used.
        @param session Not used.
    */
    QObject *createInstance(const QServiceInterfaceDescriptor &descriptor,
                            QServiceContext *context,
                            QAbstractSecuritySession *session);
};

#endif // CALENDARWIDGETPLUGIN_H