mmappfw_plat/mpx_collection_utility_api/tsrc/collectionplaylisttest/inc/mpxcollectionplaylisttest.h
changeset 0 a2952bb97e68
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmappfw_plat/mpx_collection_utility_api/tsrc/collectionplaylisttest/inc/mpxcollectionplaylisttest.h	Thu Dec 17 08:55:47 2009 +0200
@@ -0,0 +1,213 @@
+/*
+* Copyright (c) 2007 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:  STIF testing for MPX Collection Playlist
+*
+*/
+
+
+#ifndef MPXCOLLECTIONPLAYLISTTEST_H
+#define MPXCOLLECTIONPLAYLISTTEST_H
+
+//  INCLUDES
+#include <StifLogger.h>
+#include <TestScripterInternal.h>
+#include <StifTestModule.h>
+
+#include <mpxmedia.h>
+#include <mpxcollectionplaylistobserver.h>
+#include <mpxcollectionobserver.h>
+#include <f32file.h>
+
+// CONSTANTS
+const TInt KErrBadTestParameter= -1000;         // Error on configuration file
+
+// MACROS
+// Logging path
+#ifdef __WINSCW__
+_LIT( KMPXCollectionPlaylistTestLogPath, "\\testing\\log\\" );
+#else
+_LIT( KMPXCollectionPlaylistTestLogPath, "e:\\testing\\log\\" );
+#endif
+// Log file
+_LIT( KMPXCollectionPlaylistTestLogFile, "mpxcollectionplaylisttest.txt" );
+
+// FORWARD DECLARATIONS
+class CMPXCollectionPlaylistTest;
+class MMPXCollectionUtility;
+class CMPXCollectionPath;
+class CMPXCollectionOpenUtility;//
+
+// CLASS DECLARATION
+
+/**
+*  CMPXCollectionPlaylistTest test class for STIF Test Framework TestScripter.
+*
+*  @lib mpxcollectionplaylisttest.lib
+*  @since s60 5.0
+*/
+NONSHARABLE_CLASS(CMPXCollectionPlaylistTest) : public CScriptBase,
+									                              public MMPXCollectionObserver,
+									                              public MMPXCollectionPlaylistObserver
+    {
+private:
+	enum TExpectedEvents
+		{
+		EEventHandlePlaylistExportCompletedL,
+		EEventHandlePlaylistImportCompletedL,
+		EEventHandleFileAddCompletedL,
+		EEventHandleDeleteCompletedL,
+		EEventHandleFileImportCompletedL
+		};
+
+public:  // Constructors and destructor
+
+	/**
+	* Two-phased constructor.
+	*/
+	static CMPXCollectionPlaylistTest* NewL( CTestModuleIf& aTestModuleIf );
+
+	/**
+	* Destructor.
+	*/
+	virtual ~CMPXCollectionPlaylistTest();
+
+public: // Functions from base classes
+
+	/**
+	* From CScriptBase Runs a script line.
+	* @since s60 5.0
+	* @param aItem Script line containing method name and parameters
+	* @return Symbian OS error code
+	*/
+	virtual TInt RunMethodL( CStifItemParser& aItem );
+
+	/**
+	* From MMPXCollectionObserver.
+	* @since s60 5.0
+	*/
+	virtual void HandleCollectionMediaL( const CMPXMedia& aMedia, TInt aError );
+	virtual void HandleCollectionMessage( CMPXMessage* aMsg, TInt aError );
+	virtual void HandleOpenL( const CMPXMedia& aEntries, TInt aIndex, TBool aComplete, TInt aError );
+	virtual void HandleOpenL( const CMPXCollectionPlaylist& aPlaylist, TInt aError );  
+
+	/**
+	* From MMPXCollectionPlaylistObserver.
+	* @since s60 5.0
+	*/
+	virtual void HandleCollectionPlaylistChange( TInt aErr );
+	
+private:
+
+	/**
+	* C++ default constructor.
+	*/
+	CMPXCollectionPlaylistTest( CTestModuleIf& aTestModuleIf );
+
+	/**
+	* By default Symbian 2nd phase constructor is private.
+	*/
+	void ConstructL();
+
+	/**
+	* Frees all resources allocated from test methods.
+	* @since s60 5.0
+	*/
+	void Delete();
+
+	/**
+	* Add event to the expected event list
+	* @since S60 5.0
+	*/
+	void AddExpectedEvent( TExpectedEvents aEvent );
+
+	/**
+	* Remove event from the expected event list
+	* @since S60 5.0
+	*/
+	TBool RemoveExpectedEvent( TExpectedEvents aEvent );
+
+    /**
+     * Build a MPX Collection Path
+     * @since S60 5.0
+     */
+    void BuildCollectionPathL();
+
+	/**
+	* Test methods are listed below.
+	*/
+
+	/**
+	* Example test method.
+	* @since s60 5.0
+	* @param aItem Script line containing parameters.
+	* @return Symbian OS error code.
+	*/
+	TInt ExampleL( CStifItemParser& aItem );
+	//ADD NEW METHOD DEC HERE
+
+	TInt CreateUtilityNewPlaylist( CStifItemParser& aItem );
+    TInt CreateUtilityPlaylistExist( CStifItemParser& aItem );
+    TInt CreateUtilityCollectionPath( CStifItemParser& aItem );
+    TInt CreateUtilityCollectionStream( CStifItemParser& aItem );
+	TInt CopyContentL( CStifItemParser& aItem );
+	TInt Next( CStifItemParser& aItem );
+	TInt Previous( CStifItemParser& aItem );
+	TInt SetToFirst( CStifItemParser& aItem );
+	TInt SetToLast( CStifItemParser& aItem );
+	TInt SetToIndex( CStifItemParser& aItem );
+	TInt Count( CStifItemParser& aItem );
+	TInt Levels( CStifItemParser& aItem );
+	TInt Index( CStifItemParser& aItem );
+	TInt Remote( CStifItemParser& aItem );
+	TInt RepeatMode( CStifItemParser& aItem );
+	TInt Shuffle( CStifItemParser& aItem );
+	TInt Path( CStifItemParser& aItem );
+	TInt MediaL( CStifItemParser& aItem );
+	TInt SetRepeatMode( CStifItemParser& aItem );
+	TInt SetRepeatEnabled( CStifItemParser& aItem );
+	TInt SetShuffleL( CStifItemParser& aItem );
+	TInt SetShuffleEnabledL( CStifItemParser& aItem );
+	TInt StreamingL( CStifItemParser& aItem );
+	TInt SetObserver( CStifItemParser& aItem );
+	TInt EmbeddedPlaylist( CStifItemParser& aItem );
+	TInt SetEmbeddedPlaylist( CStifItemParser& aItem );
+	TInt SetL( CStifItemParser& aItem );
+	TInt CancelRequest( CStifItemParser& aItem );
+	TInt Invalidate( CStifItemParser& aItem );	
+	//add function
+	TInt NextIndex( CStifItemParser& aItem );
+	TInt PathIndex( CStifItemParser& aItem );
+	TInt CMPXCollectionPlaylistDestructor( CStifItemParser& aItem );
+	
+	TInt CMPXCollectionOpenUtilityCreate(CStifItemParser& aItem);
+	TInt CMPXCollectionOpenUtilityStartL(CStifItemParser& aItem);
+    TInt CMPXCollectionOpenUtilityPathL( CStifItemParser& aItem );  
+	TInt CMPXCollectionOpenUtilityStop( CStifItemParser& aItem );
+	TInt CMPXCollectionOpenUtilitySetDelay( CStifItemParser& aItem);
+	TInt CMPXCollectionOpenUtilityStartUsingPath( CStifItemParser& aItem );
+	TInt CMPXCollectionOpenUtilitySetDirection(CStifItemParser& aItem );
+	
+	TInt NewLMMPXCollectionUtility( CStifItemParser& aItem ); 
+
+	
+private:    // Data
+	CMPXCollectionPlaylist* iCollectionPlaylist;
+    CMPXCollectionPath*     iCollectionPath;
+    CMPXCollectionOpenUtility* iCollectionOpenUtility ;
+	TInt iResult;
+	// List of expected events
+    RArray<TExpectedEvents> iExpectedEvents;
+    };
+
+#endif      // MPXcollectionplaylistTEST_H