diff -r 2f67eb14d003 -r 4a2987baf8f7 search_plat/onlinesearchplugin_api/inc/onlinesearchplugin.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/search_plat/onlinesearchplugin_api/inc/onlinesearchplugin.h Mon Jun 28 11:03:15 2010 +0530 @@ -0,0 +1,121 @@ + /* + * 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: OnlineSearchPlugin class definition + * + */ + +#ifndef ONLINESEARCHPLUGIN_H +#define ONLINESEARCHPLUGIN_H + +#include + +/** + * @ingroup group_onlinesearchpluginmodel + * @brief Represents a plugin plugin in the framework. + * + * OnlineSearchPlugin is an interface through which setting plugin plugin can be + * executed in the search handlers. + * + * @lib ?library + * @since S60 ?S60_version + */ + +class OnlineSearchPlugin : public QObject + { +Q_OBJECT +public: + + /** + * Destructor. + * @since S60 ?S60_version. + */ + virtual ~OnlineSearchPlugin() + { + } + + /** + * Called by the search handlers during initialize cycle of the plugin, it is during + * this phase the plugin widget + * usually creates its initial view. + * Once the initialization is done, pluginInitialized signal must be + * emitted. + * @since S60 ?S60_version. + */ + virtual void initializePlugin() = 0; + + /** + * Called by the search handlers when the plugin becomes the current plugin. + * @since S60 ?S60_version. + */ + virtual void activatePlugin() = 0; + /** + * Called by the search handlers when the plugin becomes the current plugin. + * @since S60 ?S60_version. + */ + virtual void activatePlugin(const QString &searchQuery) = 0; + + /** + * Called by the search handlers when the plugin is no longer being displayed. + */ + virtual void deactivatePlugin() = 0; + + /** + * Called by the search handlers before the plugin destructor is called. + * @param reason The reason why the search handlers is being killed. + */ + virtual void shutdownPlugin() = 0; + +protected: + + /** + * Constructor. + * @since S60 ?S60_version. + */ + OnlineSearchPlugin() + { + } + +signals: + + /** + * Emit this signal when changing the view inside the plugin. + * @param caller The calling plugin plugin instance. + * @param viewWidget The new plugin view widget to be shown. + */ + void viewChanged(); + + /** + * Emit this signal to indicate initialization is done. + * @param caller The calling plugin plugin instance. + * @param success True if succeeded, false otherwise. + */ + void pluginInitialized(bool success); + + /** + * Emit this signal to indicate that the plugin plugin can be deleted. + * Note that this signal does not need to be emitted if true is returned + * from shutdownPlugin. + * @param caller The calling plugin plugin instance. + */ + void shutdownCompleted(bool success); + + /** + * Called by search handlers when back button is clicked in the plugin view. + * In this method the plugin plugin can implement internally showing and + * hiding GUI elements if the plugin has multiple 'views'. + */ + void handleBackEvent(); + }; + +#endif // ONLINESEARCHPLUGIN_H