--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/searchui/searchapp/inc/srchuiresultviewerplugin.h Tue Feb 02 10:12:19 2010 +0200
@@ -0,0 +1,200 @@
+/*
+* Copyright (c) 2006-2006 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: Interface class for Srch Ui Result Viewer plugin. All Result Viewer plugins will implement this class.
+*
+*/
+
+
+
+
+
+#ifndef C_SRCHUI_RESULT_VIEWER_H
+#define C_SRCHUI_RESULT_VIEWER_H
+
+// System includes
+#include <aknview.h>
+#include <aknViewAppUi.h>
+
+// User Includes
+#include "srchuiresulthandler.h"
+
+
+// Constant for plugin interface:
+//const TUid KSrchUiResultViewerPluginInterfaceUid = { 0x10207236 };
+//const TUid KSrchUiResultViewerPluginInterfaceUid = { 0x10282407 };
+
+class CSearchResult;
+class CSrchUiManager;
+class CSrchUiResFolder;
+class MSrchUiFolder;
+
+/**
+* Used by SupportedFormat(). These literals define the desired appearance
+* of the result in the Result Listbox.
+*/
+_LIT(KSrchUiResultViewerSupportsText, "MIME/TEXT");
+_LIT(KSrchUiResultViewerSupportsPlain, "MIME/PLAIN");
+_LIT(KSrchUiResultViewerSupportsImage, "MIME/IMAGE");
+
+
+/**
+* Interface class for Srch Ui Result Viewer plugin. All Result Viewer
+* plugins will implement this class.
+*
+* Id() function must return the value of the plugin implementation UID. This
+* means that the main view of the plugin will have the same UID as the plugin
+* implementation. This will prevent multiple plugins from having same view
+* UIDs as their main view. If plugin has more views, it is plugin's
+* responsibility to ensure that the UIDs of the other views are unique. This
+* can be done for example reserving a unique UID from Symbian.
+*
+*
+*/
+
+class CSrchUiResultViewerPlugin: public CAknView
+ {
+
+
+ public: // Constructors & destructors
+
+ /**
+ * Ecom interface static factory method implementation.
+ *
+ * @param aImpUid Ecom's implementation uid
+ * @param aManager The Search Ui Manager instance, which is used to talk
+ * to the Frame work and show the results
+ * @param aAppUi The instance of the Appui.
+ * @return A pointer to the created instance of CSrchUiResultViewerPlugin
+ */
+ static inline CSrchUiResultViewerPlugin* NewL( TUid aImpUid );
+
+ /**
+ * Ecom interface static factory method implementation.
+ *
+ * @param aImpUid Ecom's implementation uid
+ * @param aManager The Search Ui Manager instance, which is used to talk
+ * to the Frame work and show the results
+ * @param aAppUi The instance of the Appui.
+ * @return A pointer to the created instance of CSrchUiResultViewerPlugin
+ */
+ static inline CSrchUiResultViewerPlugin* NewLC( TUid aImpUid );
+
+ /**
+ * Destructor
+ */
+ virtual ~CSrchUiResultViewerPlugin()
+ {
+ REComSession::DestroyedImplementation( iDtor_ID_Key );
+ // REComSession::Close();
+ }
+
+public: // New functions
+
+ /**
+ * Lists all implementations which satisfy this ecom interface.
+ *
+ * @param aImplInfoArray On return, contains the list of available implementations
+ */
+ static inline void ListAllImplementationsL( RImplInfoPtrArray& aImplInfoArray );
+
+ /**
+ * Gets the plugin id.
+ *
+ * @since S60 v3.2
+ * @return Id of the plugin.
+ */
+ inline TUid PluginId() const;
+
+ /**
+ * Gets the appui.
+ *
+ * @return Appui.
+ */
+ inline CAknViewAppUi* AppUi();
+
+ /**
+ * Gets the supported format.
+ *
+ * @return the supported fromat.
+ */
+ virtual const TDesC& SupportedFormat() = 0;
+
+ /**
+ * This function is called to get the opened folder
+ *
+ * @return the opened folder
+ */
+ virtual MSrchUiFolder* OpenFolder() = 0;
+
+ /**
+ * This function is called to launch the single result view
+ *
+ @param iSrchUiResRootFolder : The root folder
+ @param aSelectedFolderIdx : The index of the selected folder
+ @param aSearchFinished : Indicates if searching is complete/not
+ */
+ virtual void LaunchViewL(CSrchUiResFolder* iSrchUiResRootFolder,
+ TInt aSelectedFolderIdx, const TDesC8& aQueryString, TBool aSearchFinished) = 0;
+
+ /**
+ * Updates the Result View with the recently received heavy results
+ @param iSrchUiResRootFolder : The root folder
+ @param aSearchFinished : Indicates if searching is complete/not
+ */
+ virtual void UpdateViewL(CSrchUiResFolder* iSrchUiResRootFolder, TBool aSearchFinished, TBool aResultRetrieve ) = 0;
+
+
+ /**
+ * This function is called to initialize the observer
+ *
+ @param aResHandler : The observer
+ */
+ virtual void CreateManagerObserver(MSrchUiResultHandler* aResHandler) = 0;
+
+
+ /**
+ * Returns the extension for this interface. If no extension is available,
+ * return NULL.
+ *
+ * @param aExtensionUid Uid of the extension.
+ */
+ virtual TAny* ViewerPluginExtensionL( TUid /*aExtension*/ ) { return NULL; }
+
+
+
+ private: // Data
+
+ TUid iDtor_ID_Key;
+
+ // Result viewer plugin id
+ TUid iPluginId;
+
+ // Pointer to application UI
+ CAknViewAppUi* iAppUi;
+
+ // Pointer to srch ui manager
+ CSrchUiManager* iManager;
+
+ // Array of pointers to heavy results
+ RPointerArray<CSearchResult> iResults;
+
+
+ TInt32 iExtension1;
+ TInt32 iExtension2;
+ };
+
+#include "srchuiresultviewerplugin.inl"
+
+#endif // GSPLUGININTERFACE_H
+//End of file