--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/harvesterplugins/media/audio/inc/mediaplugin.h Mon Apr 19 14:40:05 2010 +0300
@@ -0,0 +1,134 @@
+/*
+* Copyright (c) 2010 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: Media Audio harvester plugin header
+*
+*/
+
+
+#ifndef CAUDIOPLUGIN_H
+#define CAUDIOPLUGIN_H
+
+#include <cindexingplugin.h>
+#include <e32base.h>
+#include "common.h"
+#include "mediaobjecthandler.h"
+#include "mmceventobserver.h"
+
+//Forward declaration
+class CSearchDocument;
+class CCPixIndexer;
+class CMdeHarvester;
+class CMdeObjectQueueManager;
+class CMdsMediaMonitor;
+class CMdsSessionObjectUtils;
+class CCPIXMediaAudioDoc;
+class CCPixIndexerUtils;
+class CMMCMonitorUtil;
+class CCPIXMDEDbManager;
+class CMDSEntity;
+
+// to get perf data
+//#ifndef __PERFORMANCE_DATA
+//#define __PERFORMANCE_DATA
+//#endif //__PERFORMANCE_DATA
+
+NONSHARABLE_CLASS(CAudioPlugin) : public CIndexingPlugin,
+ public MdeMEdiaObserver,
+ public MMediaObjectHandler,
+ public MMMCEventObserver
+{
+public:
+ // Constructor and Destructors.
+ /*
+ * NewL
+ * @return instance of Media plugin
+ */
+ static CAudioPlugin *NewL();
+ /*
+ * NewLC
+ * @return instance of Media plugin
+ */
+ static CAudioPlugin *NewLC();
+ /*
+ * Destructor
+ */
+ virtual ~CAudioPlugin();
+
+public:
+ /*
+ * Prepares the plugin for StartHarvesterL and also starts
+ * the favourites db observer.
+ */
+ void StartPluginL();
+
+ /*
+ * @description Start the harvester.
+ * @param aQualifiedBaseAppClass the base app class. In this case
+ * use BOOKMARK_QBASEAPPCLASS
+ * @return void
+ * Leaves in case of errors.
+ */
+ void StartHarvestingL(const TDesC & aQualifiedBaseAppClass);
+ /*
+ * HandleMdeItemL callback from MMediaObjectHandler
+ * @param TItemId aObjId object Id
+ * @param TCPixActionType aActionType cpix action type
+ */
+ void HandleMdeItemL( TItemId aObjId, TCPixActionType aActionType);
+#ifdef __PERFORMANCE_DATA
+ void UpdateLogL();
+#endif
+ /*
+ * HarvestingCompletedL callback from MdeEventHandler
+ */
+ void HarvestingCompletedL();
+
+ /*
+ * HandleMMCEventL callback from MMMCEventObserver
+ * @param TDriveNumber aDrive drive number of MMC
+ * @param TBool aMMCInsertRemoval ETrue if inserted else EFalse
+ */
+ void HandleMMCEventL(const TDriveNumber aDrive,const TBool aMMCInsertRemoval);
+private:
+ //private constructors.
+ /*
+ * Default constructor
+ */
+ CAudioPlugin();
+ /*
+ * Second phase constructor
+ */
+ void ConstructL();
+
+private:
+ CCPixIndexer *iIndexer; //Indexer
+ CMdeHarvester* iMdeHarvester; //Mde harvester owned
+ CMdeObjectQueueManager* iObjectJobQueueManager; //Objectqueue manager owned
+ CMdsMediaMonitor* iMdsMonitor;//MDS monitor owned
+ CMdsSessionObjectUtils* iMdsUtils;//Mds utils owned
+ CCPIXMediaAudioDoc* iAudioDocument;//MDS audio doc owned
+ CCPixIndexerUtils* iIndexerUtil;//Indexer util owned
+ CMMCMonitorUtil* iMMcMonitor;//MMC monitor owned
+ CCPIXMDEDbManager* iDBManager;
+ CMDSEntity* iMdsItem;
+
+#ifdef __PERFORMANCE_DATA
+ TTime iStartTime;
+ TTime iCompleteTime;
+ void UpdatePerformaceDataL();
+ TInt count;
+#endif
+};
+
+#endif // CAUDIOPLUGIN_H