hswidgetmodel/examples/helloworldwidgetprovider/src/helloworldwidgetprovider.cpp
changeset 86 e492551a0d54
parent 85 7feec50967db
child 87 9d806967057c
--- a/hswidgetmodel/examples/helloworldwidgetprovider/src/helloworldwidgetprovider.cpp	Tue Mar 23 23:17:02 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,167 +0,0 @@
-/*
-* 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: Example of home screen widget
-*
-*/
-
-#include <hswidget.h>
-
-#include "helloworldwidgetprovider.h"
-#include "helloworldwidget.h"
-
-
-/*!
-    \ingroup group_helloworld_widget
-    \class HelloWorldWidgetProvider
-    \brief Example implementation for home screen widget provider.
-
-    @page page_creating_widget_provider Creating Home Screen Widget Provider
-
-    Widgets are exposed to the home screen through widget provider plugins.
-    A widget can be added to an existing provider or new one can be created.
-    Widget provider plugins are implemented according to
-    the <a href="http://doc.trolltech.com/4.4/plugins-howto.html">Qt plugin model</a>.
-
-    See @ref page_developing_home_screen_widget for the instructions how to create widget for the home screen.
-
-    The steps to create a widget provider are:
-    <ol>
-    <li> Declare a plugin class that inherits from QObject and from the \c IHsWidgetProvider interface.
-    
-    <li> Use the Q_INTERFACES() macro to tell Qt's meta-object system about the \c IHsWidgetProvider interface.
-    
-    <li> Export the plugin using the Q_EXPORT_PLUGIN2() macro.
-    
-    <li> Build the plugin using an suitable .pro file. See @ref page_deploying_widget_provider.
-    </ol>
-    
-    An example (full example source code can be found from section @ref page_developing_home_screen_widget):
-
-
-Each widget provider plugin has a manifest file that allows searching widgets from the plugin without first loading it.
-The manifest file contains information on widgets inside the plugin:
-
-\li \c library The name of the provider plugin binary.
-\li \c uri     Uniquely identifies the widget.
-\li \c title   Widget's human-readable name.
-\li \c iconuri URI of the widget's icon image file.
-
-Example: Manifest for a widget provider.
-
-@code
-<?xml version="1.0" encoding="utf-8"?>
-<widgetprovider>
-    <widget library="helloworldwidgetprovider.dll"
-            uri="homescreen.nokia.com/widget/helloworld"
-            title="HelloWorld"
-            iconuri="helloworldwidgetprovider.png"/>
-</widgetprovider>
-@endcode
-
-
-@page page_deploying_widget_provider Deploying Home Screen Widget Provider
-
-Widget's binaries and manifest file(s) must be deployed to correct folders on emulator and in target. 
-Below are the needed .pro file for the \c helloworldwidgetprovider.
-
-For example:
-@code
-# helloworldwidgetprovider.pro
-
-TEMPLATE = lib
-
-CONFIG += plugin hb
-LIBS += -lhswidgetmodel
-
-HEADERS += ./inc/ *.h \
-           ./helloworldwidget/inc/ *.h
-
-SOURCES += ./src/ *.cpp \
-           ./helloworldwidget/src/ *.cpp
-
-DEPENDPATH += ./inc \
-              ./src
-
-symbian: {
-    INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
-
-    # get your own symbian uid    
-    TARGET.UID3 = 0xEABCFE12
-    TARGET.EPOCALLOWDLLDATA=1
-    TARGET.CAPABILITY = ALL -TCB
-    
-    # add your symbian uid here
-    PLUGIN_SUBDIR = /private/20022F35/import/widgetregistry/EABCFE12
-    
-    pluginstub.sources = $${TARGET}.dll
-    pluginstub.path = $$PLUGIN_SUBDIR
-
-    DEPLOYMENT += pluginstub
-
-    qtplugins.path = $$PLUGIN_SUBDIR
-    qtplugins.sources += qmakepluginstubs/$${TARGET}.qtplugin
-    qtplugins.sources += resource/$${TARGET}.manifest
-    qtplugins.sources += resource/$${TARGET}.png
-     
-    for(qtplugin, qtplugins.sources):BLD_INF_RULES.prj_exports += "./$$qtplugin z:$$qtplugins.path/$$basename(qtplugin)" 
-}
-
-@endcode
-
-For detailed information on DEPLOYMENT macro, see <a HREF="http://pepper.troll.no/s60prereleases/doc/qmake-variable-reference.html#deployment">here</a>.
-
-*/
-
-
-/*!
-    Initialize token for hello world widget. Contains necessary information about 
-    the hello world widget that can be loaded with this provider.
-*/
-HelloWorldWidgetProvider::HelloWorldWidgetProvider()
-{
-    mWidgetToken.mLibrary = QString("helloworldwidgetprovider.dll");
-    mWidgetToken.mUri = QString("homescreen.nokia.com/widget/helloworld");
-    mWidgetToken.mTitle = QString("HelloWorld");
-    mWidgetToken.mIconUri = QString("helloworldwidgetprovider.png");
-}
-
-/*!
-    Destructor
-*/
-HelloWorldWidgetProvider::~HelloWorldWidgetProvider()
-{
-
-}
-
-/*!
-    Returns list of loadable widgets' tokens.
-*/
-QList<HsWidgetToken> HelloWorldWidgetProvider::widgets()
-{
-    return QList<HsWidgetToken>() << mWidgetToken;
-}
-
-/*!
-    Create widget based on uri \a token
-*/
-HsWidget* HelloWorldWidgetProvider::createWidget(const HsWidgetToken& token)
-{
-    HsWidget *widget = 0;
-    if (token.mUri == mWidgetToken.mUri) {
-        widget =  new HelloWorldWidget();
-    }
-    return widget;
-}
-
-Q_EXPORT_PLUGIN2(helloworldwidgetprovider, HelloWorldWidgetProvider)