harvesterplugins/media/audio/src/mediaplugin.cpp
changeset 27 7a8855317cbd
parent 26 367228f82b66
--- a/harvesterplugins/media/audio/src/mediaplugin.cpp	Tue Oct 05 13:32:14 2010 +0530
+++ b/harvesterplugins/media/audio/src/mediaplugin.cpp	Fri Oct 15 11:45:38 2010 +0530
@@ -19,7 +19,8 @@
 #include "mediaplugin.h"
 
 #include <e32base.h> 
-
+#include <s32file.h>
+#include <bautils.h>
 #include "harvesterserverlogger.h"
 #include "common.h"
 #include "csearchdocument.h"
@@ -41,6 +42,7 @@
 
 //Constants
 _LIT(KPathTrailer, "\\root\\media\\audio");
+_LIT(KManagerFileName, "AudioStore.temp");
 
 //***** MEDAI AUDIO*****
 #define MEDIA_QBASEAPPCLASS   "@0:root media audio"
@@ -53,6 +55,7 @@
 #define DATABASEPATH           "\\root\\media\\audio"
 #define LDATABASEPATH           "\\root\\media\\audio"
 
+
 // -----------------------------------------------------------------------------
 CAudioPlugin* CAudioPlugin::NewL()
 	{
@@ -94,12 +97,23 @@
 	delete iMMcMonitor;
 	delete iDBManager;
 	delete iMdsItem;
+	iFs.Close();
 	}
 	
 // -----------------------------------------------------------------------------
 void CAudioPlugin::ConstructL()
 	{
     iObjectJobQueueManager = CMdeObjectQueueManager::NewL(this);
+    // connect to file system
+    User::LeaveIfError(iFs.Connect());    
+    // Load the configuration
+    TFileName pathWithoutDrive;
+    iFs.CreatePrivatePath(EDriveC);
+    iFilePath = _L("C:");        
+    iFs.PrivatePath( pathWithoutDrive );
+    iFilePath.Append(pathWithoutDrive);
+    iFilePath.Append(KManagerFileName);
+    iObjectJobQueueManager->SetFilePath(iFilePath);
 	}
 
 // -----------------------------------------------------------------------------
@@ -130,6 +144,8 @@
 	TUid uidOfPlugin = {0x20029AB9};
 	iDBManager = CCPIXMDEDbManager::NewL(uidOfPlugin);
 	iMdsItem = CMDSEntity::NewL();
+	if( BaflUtils::FileExists(iFs,iFilePath) )
+	        LoadL();
 	OstTraceFunctionExit0( CAUDIOPLUGIN_STARTPLUGINL_EXIT );
 	}
 
@@ -334,18 +350,28 @@
 
 void CAudioPlugin::PausePluginL()
     {
-    OstTraceFunctionEntry0( CAUDIOPLUGIN_PAUSEPLUGINL_ENTRY );
-    iObjectJobQueueManager->PauseL();
+    OstTraceFunctionEntry0( CAUDIOPLUGIN_PAUSEPLUGINL_ENTRY );    
+    iObjectJobQueueManager->PauseL();    
     OstTraceFunctionExit0( CAUDIOPLUGIN_PAUSEPLUGINL_EXIT );
     }
 
 void CAudioPlugin::ResumePluginL()
     {
-    OstTraceFunctionEntry0( CAUDIOPLUGIN_RESUMEPLUGINL_ENTRY );
+    OstTraceFunctionEntry0( CAUDIOPLUGIN_RESUMEPLUGINL_ENTRY );    
     iObjectJobQueueManager->ResumeL();
     OstTraceFunctionExit0( CAUDIOPLUGIN_RESUMEPLUGINL_EXIT );
     }
 
+void CAudioPlugin::LoadL()
+    {
+    iObjectJobQueueManager->LoadQueuedItems();    
+    }
+
+void CAudioPlugin::SaveL()
+    {
+    iObjectJobQueueManager->SaveQueuedItems();
+    }
+
 #ifdef __PERFORMANCE_DATA
 void CAudioPlugin::UpdateLogL()
     {