--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mds_plat/harvester_framework_api/tsrc/MonitorPluginTest/src/MonitorPluginTestBlocks.cpp Mon Jan 18 20:34:07 2010 +0200
@@ -0,0 +1,580 @@
+/*
+* Copyright (c) 2002-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:
+*
+*/
+
+
+// [INCLUDE FILES] - do not remove
+#include <e32svr.h>
+#include <f32file.h>
+#include <bautils.h>
+#include <StifParser.h>
+#include <StifTestEventInterface.h>
+#include <StifTestInterface.h>
+#include "MonitorPluginTest.h"
+
+#include "mdsutils.h"
+
+
+_LIT( KFile1Src, "C:\\Data\\Jpg.jpg" );
+_LIT( KFile1Dst, "E:\\Images\\Jpg_copy.jpg" );
+_LIT( KFile1Dst2, "C:\\Data\\Images\\Pictures\\Jpg_copy2.jpg" );
+_LIT( KFile1Dst3, "C:\\Data\\Images\\Pictures\\Jpg_tmp.jpg" );
+_LIT( KFile1Dst4, "T:\\Images\\Jpg_copy.jpg" );
+
+_LIT( KFile2Src, "C:\\Data\\Animated.gif" );
+_LIT( KFile2Dst, "E:\\Images\\Animated_copy.gif" );
+_LIT( KFile2Dst2, "C:\\Data\\Images\\Pictures\\Animated_copy2.gif" );
+_LIT( KFile2Dst3, "C:\\Data\\Images\\Pictures\\Animated_tmp.gif" );
+_LIT( KFile2Dst4, "T:\\Images\\Animated_copy.gif" );
+
+_LIT( KFile3Src, "C:\\Data\\H263.3gp" );
+_LIT( KFile3Dst, "E:\\Videos\\H263_copy.3gp" );
+_LIT( KFile3Dst2, "C:\\Data\\H263_copy2.3gp" );
+_LIT( KFile3Dst3, "C:\\Data\\H263_tmp.3gp" );
+_LIT( KFile3Dst4, "T:\\Videos\\H263_copy.3gp" );
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CMonitorPluginTest::Delete
+// Delete here all resources allocated and opened from test methods.
+// Called from destructor.
+// -----------------------------------------------------------------------------
+//
+void CMonitorPluginTest::Delete()
+ {
+
+ }
+
+// -----------------------------------------------------------------------------
+// CMonitorPluginTest::RunMethodL
+// Run specified method. Contains also table of test mothods and their names.
+// -----------------------------------------------------------------------------
+//
+TInt CMonitorPluginTest::RunMethodL(
+ CStifItemParser& aItem )
+ {
+ TestModuleIf().SetBehavior( CTestModuleIf::ETestLeaksHandles );
+
+ static TStifFunctionInfo const KFunctions[] =
+ {
+ // Copy this line for every implemented function.
+ // First string is the function name used in TestScripter script file.
+ // Second is the actual implementation member function.
+
+ ENTRY( "ActiveWait", CMonitorPluginTest::ActiveWait ),
+ ENTRY( "BeginMonitorSession", CMonitorPluginTest::BeginMonitorSessionL ),
+ ENTRY( "EndMonitorSession", CMonitorPluginTest::EndMonitorSession ),
+ ENTRY( "LoadPlugins", CMonitorPluginTest::LoadPluginsL ),
+ ENTRY( "StartMonitoring", CMonitorPluginTest::StartMonitoring ),
+ ENTRY( "PauseMonitoring", CMonitorPluginTest::PauseMonitoring ),
+ ENTRY( "ResumeMonitoring", CMonitorPluginTest::ResumeMonitoring ),
+ ENTRY( "StopMonitoring", CMonitorPluginTest::StopMonitoring ),
+ ENTRY( "CreateEvents", CMonitorPluginTest::CreateEventsL ),
+ ENTRY( "CreateEventsDelete", CMonitorPluginTest::CreateEventsDeleteL ),
+
+ };
+
+ const TInt count = sizeof( KFunctions ) /
+ sizeof( TStifFunctionInfo );
+
+ return RunInternalL( KFunctions, count, aItem );
+
+ }
+
+// -----------------------------------------------------------------------------
+// CMonitorPluginTest::MonitorEvent
+// -----------------------------------------------------------------------------
+//
+void CMonitorPluginTest::MonitorEvent( CHarvesterData* aHarvesterData )
+ {
+ _LIT( KMsg, "CallBck MonitorEvent");
+ iLog->Log( KMsg );
+ RDebug::Print( KMsg );
+
+ switch ( aHarvesterData->EventType() )
+ {
+ case EHarvesterAdd:
+ {
+ _LIT( KAdded, "File added" );
+ iLog->Log( KAdded );
+ RDebug::Print( KAdded );
+ }
+ break;
+
+ case EHarvesterEdit:
+ {
+ _LIT( KEdited, "File edited" );
+ iLog->Log( KEdited );
+ RDebug::Print( KEdited );
+ }
+ break;
+
+ case EHarvesterDelete:
+ {
+ _LIT( KDeleted, "File deleted" );
+ iLog->Log( KDeleted );
+ RDebug::Print( KDeleted );
+ }
+ break;
+
+ case EHarvesterUnknown:
+ {
+ _LIT( KUnknown, "Unknown event" );
+ iLog->Log( KUnknown );
+ RDebug::Print( KUnknown );
+ }
+ break;
+ }
+
+ // monitor event
+ TEventIf event( TEventIf::ESetEvent, _L("Monitor") );
+ TestModuleIf().Event( event );
+ }
+
+// -----------------------------------------------------------------------------
+// CMonitorPluginTest::MonitorEvent
+// -----------------------------------------------------------------------------
+//
+void CMonitorPluginTest::MonitorEvent( RPointerArray<CHarvesterData>& aHDArray )
+ {
+ _LIT( KMsg, "CallBck MonitorEvent");
+ iLog->Log( KMsg );
+ RDebug::Print( KMsg );
+
+ for( TInt i = 0; i < aHDArray.Count(); i++ )
+ {
+ CHarvesterData* hd = aHDArray[i];
+ switch ( hd->EventType() )
+ {
+ case EHarvesterAdd:
+ {
+ _LIT( KAdded, " Files added." );
+ iLog->Log( KAdded );
+ RDebug::Print( KAdded );
+ }
+ break;
+
+ case EHarvesterEdit:
+ {
+ _LIT( KEdited, " Files edited." );
+ iLog->Log( KEdited );
+ RDebug::Print( KEdited );
+ }
+ break;
+
+ case EHarvesterDelete:
+ {
+ _LIT( KDeleted, " Files deleted." );
+ iLog->Log( KDeleted );
+ RDebug::Print( KDeleted );
+ }
+ break;
+
+ case EHarvesterUnknown:
+ {
+ _LIT( KUnknown, "Unknown event." );
+ iLog->Log( KUnknown );
+ RDebug::Print( KUnknown );
+ }
+ break;
+ }
+ }
+
+ // monitor event
+ TEventIf event( TEventIf::ESetEvent, _L("Monitor") );
+ TestModuleIf().Event( event );
+ }
+
+// -----------------------------------------------------------------------------
+// CMonitorPluginTest::HandleSessionOpened
+// -----------------------------------------------------------------------------
+//
+void CMonitorPluginTest::HandleSessionOpened( CMdESession& /*aClient*/, TInt aError )
+ {
+ _LIT( KMsg, "CallBck HandleSessionOpened - Error code : %d" );
+ TBuf <100> msg;
+ msg.Format(KMsg, aError);
+ iLog->Log( msg );
+ RDebug::Print(msg);
+
+ // session event
+ TEventIf event( TEventIf::ESetEvent, _L("Session") );
+ TestModuleIf().Event( event );
+ }
+
+// -----------------------------------------------------------------------------
+// CMonitorPluginTest::HandleSessionError
+// -----------------------------------------------------------------------------
+//
+void CMonitorPluginTest::HandleSessionError( CMdESession& /*aClient*/, TInt aError )
+ {
+ _LIT( KMsg, "CallBck HandleSessionError - Error code : %d" );
+ TBuf <100> msg;
+ msg.Format(KMsg, aError);
+ iLog->Log( msg );
+ RDebug::Print(msg);
+
+ // session event
+ TEventIf event( TEventIf::ESetEvent, _L("Session") );
+ TestModuleIf().Event( event );
+ }
+
+// -----------------------------------------------------------------------------
+// CMonitorPluginTest::ActiveWait
+// -----------------------------------------------------------------------------
+//
+TInt CMonitorPluginTest::ActiveWait( CStifItemParser& /* aItem */ )
+ {
+ _LIT( KMsg1, "Enter ActiveWait" );
+ iLog->Log( KMsg1 );
+ RDebug::Print( KMsg1 );
+
+ // 2,5 seconds
+ TTimeIntervalMicroSeconds32 timeout( 2500000 );
+ RTimer timer;
+ TRequestStatus status;
+
+ timer.CreateLocal();
+ timer.After(status,timeout);
+
+ User::WaitForAnyRequest();
+
+ timer.Close();
+
+ _LIT( KMsg2, "Exit ActiveWait" );
+ iLog->Log( KMsg2 );
+ RDebug::Print( KMsg2 );
+
+ return KErrNone;
+ }
+
+// -----------------------------------------------------------------------------
+// CMonitorPluginTest::ActiveWait
+// -----------------------------------------------------------------------------
+//
+void CMonitorPluginTest::ActiveWait2()
+ {
+ _LIT( KMsg1, "Enter ActiveWait2" );
+ iLog->Log( KMsg1 );
+ RDebug::Print( KMsg1 );
+
+ // 2,5 seconds
+ TTimeIntervalMicroSeconds32 timeout( 2500000 );
+ RTimer timer;
+ TRequestStatus status;
+
+ timer.CreateLocal();
+ timer.After(status,timeout);
+
+ User::WaitForRequest( status);
+
+ timer.Close();
+
+ _LIT( KMsg2, "Exit ActiveWait2" );
+ iLog->Log( KMsg2 );
+ RDebug::Print( KMsg2 );
+ }
+
+// -----------------------------------------------------------------------------
+// CMonitorPluginTest::BeginMonitorSessionL
+// -----------------------------------------------------------------------------
+//
+TInt CMonitorPluginTest::BeginMonitorSessionL( CStifItemParser& /* aItem */ )
+ {
+ iMdEClient = NULL;
+ TRAPD( error, iMdEClient = CMdESession::NewL( *this ) );
+
+ _LIT( KMsg, "Exit BeginMonitorSession - Error code : %d" );
+ TBuf <100> msg;
+ msg.Format( KMsg, error);
+ iLog->Log( msg );
+ RDebug::Print( msg );
+
+ User::LeaveIfError( error );
+
+ return KErrNone;
+ }
+
+// -----------------------------------------------------------------------------
+// CMonitorPluginTest::EndMonitorSession
+// -----------------------------------------------------------------------------
+//
+TInt CMonitorPluginTest::EndMonitorSession( CStifItemParser& /* aItem */ )
+ {
+ _LIT( KMsg1, "Enter EndMonitorSession" );
+ iLog->Log( KMsg1 );
+ RDebug::Print( KMsg1 );
+
+ iPluginArray.ResetAndDestroy();
+ iPluginArray.Close();
+
+ if ( iMdEClient )
+ {
+ delete iMdEClient;
+ iMdEClient = NULL;
+ }
+
+ REComSession::FinalClose();
+
+ _LIT( KMsg2, "Exit EndMonitorSession" );
+ iLog->Log( KMsg2 );
+ RDebug::Print( KMsg2 );
+
+ return KErrNone;
+ }
+
+// -----------------------------------------------------------------------------
+// CMonitorPluginTest::LoadPluginsL
+// -----------------------------------------------------------------------------
+//
+TInt CMonitorPluginTest::LoadPluginsL( CStifItemParser& /* aItem */ )
+ {
+ _LIT( KMsg1, "Enter LoadPlugins" );
+ iLog->Log( KMsg1 );
+ RDebug::Print( KMsg1 );
+
+ RImplInfoPtrArray infoArray;
+
+ TCleanupItem cleanupItem(MdsUtils::CleanupEComArray, &infoArray);
+ CleanupStack::PushL(cleanupItem);
+
+ CMonitorPlugin::ListImplementationsL(infoArray);
+ TInt count( 0 );
+ count = infoArray.Count();
+
+ for (TInt i=0; i < count; i++)
+ {
+ TUid uid = infoArray[i]->ImplementationUid(); // Create the plug-ins
+ iPluginArray.AppendL( CMonitorPlugin::NewL( uid ) ); // and add them to array
+ }
+
+ CleanupStack::PopAndDestroy(&infoArray); // infoArray, results in a call to CleanupEComArray
+
+ if( iPluginArray.Count() == 0 )
+ {
+ return KErrNotFound;
+ }
+
+ _LIT( KMsg2, "Exit LoadPlugins" );
+ iLog->Log( KMsg2 );
+ RDebug::Print( KMsg2 );
+
+ return KErrNone;
+ }
+
+// -----------------------------------------------------------------------------
+// CMonitorPluginTest::StartMonitoring
+// -----------------------------------------------------------------------------
+//
+TInt CMonitorPluginTest::StartMonitoring( CStifItemParser& /* aItem */ )
+ {
+ _LIT( KMsg1, "Enter StartMonitoring" );
+ iLog->Log( KMsg1 );
+ RDebug::Print( KMsg1 );
+
+ TInt count( iPluginArray.Count() );
+
+ for (TInt i=0; i < count; i++)
+ {
+ iPluginArray[i]->StartMonitoring( *this, iMdEClient, NULL, NULL );
+ }
+
+ _LIT( KMsg2, "Exit StartMonitoring" );
+ iLog->Log( KMsg2 );
+ RDebug::Print( KMsg2 );
+
+ return KErrNone;
+ }
+
+// -----------------------------------------------------------------------------
+// CMonitorPluginTest::PauseMonitoring
+// -----------------------------------------------------------------------------
+//
+TInt CMonitorPluginTest::PauseMonitoring( CStifItemParser& /* aItem */ )
+ {
+ _LIT( KMsg1, "Enter PauseMonitoring" );
+ iLog->Log( KMsg1 );
+ RDebug::Print( KMsg1 );
+
+ TInt count( iPluginArray.Count() );
+
+ for (TInt i = 0; i < count; i++ )
+ {
+ iPluginArray[i]->PauseMonitoring();
+ }
+
+ _LIT( KMsg2, "Exit PauseMonitoring" );
+ iLog->Log( KMsg2 );
+ RDebug::Print( KMsg2 );
+
+ return KErrNone;
+ }
+
+// -----------------------------------------------------------------------------
+// CMonitorPluginTest::ResumeMonitoring
+// -----------------------------------------------------------------------------
+//
+TInt CMonitorPluginTest::ResumeMonitoring( CStifItemParser& /* aItem */ )
+ {
+ _LIT( KMsg1, "Enter ResumeMonitoring" );
+ iLog->Log( KMsg1 );
+ RDebug::Print( KMsg1 );
+
+ TInt count( iPluginArray.Count() );
+
+ for (TInt i=0; i < count; i++)
+ {
+ iPluginArray[i]->ResumeMonitoring( *this, iMdEClient, NULL, NULL );
+ }
+
+ _LIT( KMsg2, "Exit ResumeMonitoring" );
+ iLog->Log( KMsg2 );
+ RDebug::Print( KMsg2 );
+
+ return KErrNone;
+ }
+
+// -----------------------------------------------------------------------------
+// CMonitorPluginTest::StopMonitoring
+// -----------------------------------------------------------------------------
+//
+TInt CMonitorPluginTest::StopMonitoring( CStifItemParser& /* aItem */ )
+ {
+ _LIT( KMsg1, "Enter StopMonitoring" );
+ iLog->Log( KMsg1 );
+ RDebug::Print( KMsg1 );
+
+ TInt count( iPluginArray.Count() );
+
+ for (TInt i=0; i < count; i++)
+ {
+ iPluginArray[i]->StopMonitoring();
+ }
+
+ ActiveWait2();
+
+ _LIT( KMsg2, "Exit StopMonitoring" );
+ iLog->Log( KMsg2 );
+ RDebug::Print( KMsg2 );
+
+ return KErrNone;
+ }
+
+// -----------------------------------------------------------------------------
+// CMonitorPluginTest::CreateEvents
+// -----------------------------------------------------------------------------
+//
+TInt CMonitorPluginTest::CreateEventsL( CStifItemParser& /* aItem */ )
+ {
+ _LIT( KMsg1, "Enter CreateEvents" );
+ iLog->Log( KMsg1 );
+ RDebug::Print( KMsg1 );
+
+ RFs fs;
+ User::LeaveIfError( fs.Connect() );
+
+ BaflUtils::CopyFile( fs, KFile1Src, KFile1Dst2 );
+ BaflUtils::CopyFile( fs, KFile2Src, KFile2Dst2 );
+ BaflUtils::CopyFile( fs, KFile3Src, KFile3Dst2 );
+
+ fs.Rename( KFile1Dst2, KFile1Dst3 );
+ fs.Rename( KFile2Dst2, KFile2Dst3 );
+ fs.Rename( KFile3Dst2, KFile3Dst3 );
+
+ fs.Replace( KFile1Dst3, KFile1Dst2 );
+ fs.Replace( KFile2Dst3, KFile2Dst2 );
+ fs.Replace( KFile3Dst3, KFile3Dst2 );
+
+ // MMC stuff
+ if( fs.IsValidDrive( EDriveE ) )
+ {
+ fs.RemountDrive( EDriveE, NULL ,80000000 );
+
+ iMdEClient->RemoveObjectL( KFile1Dst );
+ iMdEClient->RemoveObjectL( KFile2Dst );
+ iMdEClient->RemoveObjectL( KFile3Dst );
+ BaflUtils::DeleteFile( fs, KFile1Dst );
+ BaflUtils::DeleteFile( fs, KFile2Dst );
+ BaflUtils::DeleteFile( fs, KFile3Dst );
+
+ BaflUtils::CopyFile( fs, KFile1Src, KFile1Dst );
+ BaflUtils::CopyFile( fs, KFile2Src, KFile2Dst );
+ BaflUtils::CopyFile( fs, KFile3Src, KFile3Dst );
+ }
+
+ if( fs.IsValidDrive( EDriveT ) )
+ {
+ fs.RemountDrive( EDriveT, NULL ,80000000 );
+
+ iMdEClient->RemoveObjectL( KFile1Dst4 );
+ iMdEClient->RemoveObjectL( KFile2Dst4 );
+ iMdEClient->RemoveObjectL( KFile3Dst4 );
+ BaflUtils::DeleteFile( fs, KFile1Dst4 );
+ BaflUtils::DeleteFile( fs, KFile2Dst4 );
+ BaflUtils::DeleteFile( fs, KFile3Dst4 );
+
+ BaflUtils::CopyFile( fs, KFile1Src, KFile1Dst4 );
+ BaflUtils::CopyFile( fs, KFile2Src, KFile2Dst4 );
+ BaflUtils::CopyFile( fs, KFile3Src, KFile3Dst4 );
+ }
+
+ fs.Close();
+
+ _LIT( KMsg2, "Exit CreateEvents" );
+ iLog->Log( KMsg2 );
+ RDebug::Print( KMsg2 );
+
+ return KErrNone;
+ }
+
+// -----------------------------------------------------------------------------
+// CMonitorPluginTest::CreateEventsDelete
+// -----------------------------------------------------------------------------
+//
+TInt CMonitorPluginTest::CreateEventsDeleteL( CStifItemParser& /* aItem */ )
+ {
+ _LIT( KMsg1, "Enter CreateEventsDelete" );
+ iLog->Log( KMsg1 );
+ RDebug::Print( KMsg1 );
+
+ RFs fs;
+ User::LeaveIfError(fs.Connect());
+
+ iMdEClient->RemoveObjectL( KFile1Src );
+ iMdEClient->RemoveObjectL( KFile2Src );
+ iMdEClient->RemoveObjectL( KFile3Src );
+ iMdEClient->RemoveObjectL( KFile1Dst2 );
+ iMdEClient->RemoveObjectL( KFile2Dst2 );
+ iMdEClient->RemoveObjectL( KFile3Dst2 );
+
+ BaflUtils::DeleteFile( fs, KFile1Dst2 );
+ BaflUtils::DeleteFile( fs, KFile2Dst2 );
+ BaflUtils::DeleteFile( fs, KFile3Dst2 );
+ BaflUtils::DeleteFile( fs, KFile1Dst3 );
+ BaflUtils::DeleteFile( fs, KFile2Dst3 );
+ BaflUtils::DeleteFile( fs, KFile3Dst3 );
+
+ fs.Close();
+
+ _LIT( KMsg2, "Exit CreateEventsDelete" );
+ iLog->Log( KMsg2 );
+ RDebug::Print( KMsg2 );
+
+ return KErrNone;
+ }
+
+// [End of File] - Do not remove