mpx/tsrc/public/basic/collectionhelpertest/inc/collectionhelpertest.h
author hgs
Tue, 21 Sep 2010 11:25:55 -0500
changeset 62 b276843a15ba
permissions -rw-r--r--
201037
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
62
hgs
parents:
diff changeset
     1
/*
hgs
parents:
diff changeset
     2
* Copyright (c) 2002 - 2007 Nokia Corporation and/or its subsidiary(-ies).
hgs
parents:
diff changeset
     3
* All rights reserved.
hgs
parents:
diff changeset
     4
* This component and the accompanying materials are made available
hgs
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
hgs
parents:
diff changeset
     6
* which accompanies this distribution, and is available
hgs
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
hgs
parents:
diff changeset
     8
*
hgs
parents:
diff changeset
     9
* Initial Contributors:
hgs
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
hgs
parents:
diff changeset
    11
*
hgs
parents:
diff changeset
    12
* Contributors:
hgs
parents:
diff changeset
    13
*
hgs
parents:
diff changeset
    14
* Description:  Scripted Tests for MPXCollectionHelper
hgs
parents:
diff changeset
    15
*
hgs
parents:
diff changeset
    16
*/
hgs
parents:
diff changeset
    17
hgs
parents:
diff changeset
    18
#ifndef COLLECTIONHELPERTEST_H
hgs
parents:
diff changeset
    19
#define COLLECTIONHELPERTEST_H
hgs
parents:
diff changeset
    20
hgs
parents:
diff changeset
    21
hgs
parents:
diff changeset
    22
#include <mpxcollectionutility.h>
hgs
parents:
diff changeset
    23
#include <mpxcollectionpath.h>
hgs
parents:
diff changeset
    24
#include <mpxcollectionplaylist.h>
hgs
parents:
diff changeset
    25
#include <mpxcollectionmessage.h>
hgs
parents:
diff changeset
    26
#include <mpxcollectionframeworkdefs.h>
hgs
parents:
diff changeset
    27
#include "mpxcollectionhelper.h"
hgs
parents:
diff changeset
    28
#include "mpxcollectionhelperfactory.h"
hgs
parents:
diff changeset
    29
#include "mpxcollectionhelperobserver.h"
hgs
parents:
diff changeset
    30
#include "mpxcollectionuihelper.h"
hgs
parents:
diff changeset
    31
#include "mpxcollectionuihelperobserver.h"
hgs
parents:
diff changeset
    32
#include "basetest.h"
hgs
parents:
diff changeset
    33
hgs
parents:
diff changeset
    34
hgs
parents:
diff changeset
    35
hgs
parents:
diff changeset
    36
// Logging path
hgs
parents:
diff changeset
    37
#ifdef __WINSCW__
hgs
parents:
diff changeset
    38
_LIT( KCollectionHelperTestLogPath, "\\logs\\testframework\\CollectionHelperTest\\" ); 
hgs
parents:
diff changeset
    39
#else
hgs
parents:
diff changeset
    40
_LIT( KCollectionHelperTestLogPath, "e:\\logs\\testframework\\CollectionHelperTest\\" );
hgs
parents:
diff changeset
    41
#endif
hgs
parents:
diff changeset
    42
hgs
parents:
diff changeset
    43
// Log file
hgs
parents:
diff changeset
    44
_LIT( KCollectionHelperTestLogFile, "CollectionHelperTest.txt" ); 
hgs
parents:
diff changeset
    45
hgs
parents:
diff changeset
    46
hgs
parents:
diff changeset
    47
/**
hgs
parents:
diff changeset
    48
*  CCollectionHelperTest test class for STIF Test Framework TestScripter.
hgs
parents:
diff changeset
    49
*
hgs
parents:
diff changeset
    50
*/
hgs
parents:
diff changeset
    51
NONSHARABLE_CLASS(CCollectionHelperTest) : public CBaseTest,
hgs
parents:
diff changeset
    52
								public MMPXCollectionHelperObserver,
hgs
parents:
diff changeset
    53
								public MMPXCHelperObserver,
hgs
parents:
diff changeset
    54
								public MMPXCHelperEmbeddedOpenObserver,
hgs
parents:
diff changeset
    55
                                public MMPXCollectionObserver,
hgs
parents:
diff changeset
    56
           						public MMPXCollectionRemoveObserver,
hgs
parents:
diff changeset
    57
           						public MMPXCollectionFindObserver
hgs
parents:
diff changeset
    58
												
hgs
parents:
diff changeset
    59
    {
hgs
parents:
diff changeset
    60
	public:  // Constructors and destructor
hgs
parents:
diff changeset
    61
hgs
parents:
diff changeset
    62
        /**
hgs
parents:
diff changeset
    63
        * Two-phased constructor.
hgs
parents:
diff changeset
    64
        */
hgs
parents:
diff changeset
    65
        static CCollectionHelperTest* NewL( CTestModuleIf& aTestModuleIf );
hgs
parents:
diff changeset
    66
hgs
parents:
diff changeset
    67
        /**
hgs
parents:
diff changeset
    68
        * Destructor.
hgs
parents:
diff changeset
    69
        */
hgs
parents:
diff changeset
    70
        virtual ~CCollectionHelperTest();       
hgs
parents:
diff changeset
    71
hgs
parents:
diff changeset
    72
    public: // New functions
hgs
parents:
diff changeset
    73
hgs
parents:
diff changeset
    74
		/**
hgs
parents:
diff changeset
    75
    	* Callback function to signal that adding a file is complete
hgs
parents:
diff changeset
    76
    	* @param aErr, error of the operation
hgs
parents:
diff changeset
    77
	    */
hgs
parents:
diff changeset
    78
    	virtual void HandleAddFileCompleteL( TInt aErr ); 
hgs
parents:
diff changeset
    79
hgs
parents:
diff changeset
    80
		/**
hgs
parents:
diff changeset
    81
		* Generic Observer class for the ui helper
hgs
parents:
diff changeset
    82
		* A single callback function, but usable for all collection helper callbacks
hgs
parents:
diff changeset
    83
		*/   
hgs
parents:
diff changeset
    84
		virtual void HandleOperationCompleteL( TCHelperOperation aOperation,
hgs
parents:
diff changeset
    85
        	                                   TInt aErr,
hgs
parents:
diff changeset
    86
            	                               void* aArgument );
hgs
parents:
diff changeset
    87
                                           
hgs
parents:
diff changeset
    88
    	/**
hgs
parents:
diff changeset
    89
    	* Callback to the observer for embedded OpenL() result
hgs
parents:
diff changeset
    90
    	* @param aErr, error for the operation, KErrNone if successful
hgs
parents:
diff changeset
    91
    	* @param aCategory, category of the file opened
hgs
parents:
diff changeset
    92
    	*/
hgs
parents:
diff changeset
    93
    	virtual void HandleEmbeddedOpenL( TInt aErr, 
hgs
parents:
diff changeset
    94
                                          TMPXGeneralCategory aCategory );
hgs
parents:
diff changeset
    95
hgs
parents:
diff changeset
    96
        /**
hgs
parents:
diff changeset
    97
        *  From MMPXCollectionObserver
hgs
parents:
diff changeset
    98
        *  Handle extended media properties
hgs
parents:
diff changeset
    99
        *  @param aMedia media 
hgs
parents:
diff changeset
   100
        *  @param aError error code    
hgs
parents:
diff changeset
   101
        */
hgs
parents:
diff changeset
   102
        void HandleCollectionMediaL(
hgs
parents:
diff changeset
   103
                        const CMPXMedia& aMedia, 
hgs
parents:
diff changeset
   104
                        TInt aError);
hgs
parents:
diff changeset
   105
            
hgs
parents:
diff changeset
   106
        /**
hgs
parents:
diff changeset
   107
        *  From MMPXCollectionObserver
hgs
parents:
diff changeset
   108
        *  Handle collection message
hgs
parents:
diff changeset
   109
        *  @param aMessage collection message
hgs
parents:
diff changeset
   110
        */
hgs
parents:
diff changeset
   111
        void HandleCollectionMessageL(const CMPXMessage& aMsg);
hgs
parents:
diff changeset
   112
hgs
parents:
diff changeset
   113
        /**
hgs
parents:
diff changeset
   114
        *  From MMPXCollectionObserver
hgs
parents:
diff changeset
   115
        *  Handles the collection entries being opened. Typically called
hgs
parents:
diff changeset
   116
        *  when client has Open()'d a folder
hgs
parents:
diff changeset
   117
        *
hgs
parents:
diff changeset
   118
        *  @param aEntries collection entries opened
hgs
parents:
diff changeset
   119
        *  @param aIndex focused entry
hgs
parents:
diff changeset
   120
        *  @param aComplete ETrue no more entries. EFalse more entries
hgs
parents:
diff changeset
   121
        *                   expected
hgs
parents:
diff changeset
   122
        *  @param aError error code   
hgs
parents:
diff changeset
   123
        */
hgs
parents:
diff changeset
   124
        void HandleOpenL(const CMPXMedia& aEntries,
hgs
parents:
diff changeset
   125
                                 TInt aIndex,TBool aComplete,TInt aError);
hgs
parents:
diff changeset
   126
        
hgs
parents:
diff changeset
   127
        /**
hgs
parents:
diff changeset
   128
        *  From MMPXCollectionObserver
hgs
parents:
diff changeset
   129
        *  Handles the item being opened. Typically called
hgs
parents:
diff changeset
   130
        *  when client has Open()'d an item. Client typically responds by
hgs
parents:
diff changeset
   131
        *  'playing' the item via the playlist
hgs
parents:
diff changeset
   132
        *
hgs
parents:
diff changeset
   133
        *  @param aPlaylist collection playlist, owner ship is transfered    
hgs
parents:
diff changeset
   134
        *  @param aError error code   
hgs
parents:
diff changeset
   135
        */                         
hgs
parents:
diff changeset
   136
        void HandleOpenL(const CMPXCollectionPlaylist& aPlaylist,TInt aError);
hgs
parents:
diff changeset
   137
        
hgs
parents:
diff changeset
   138
                		    
hgs
parents:
diff changeset
   139
        void HandleCommandComplete(CMPXCommand* aCommandResult, TInt aError);
hgs
parents:
diff changeset
   140
                                                     
hgs
parents:
diff changeset
   141
    public: // Functions from base classes
hgs
parents:
diff changeset
   142
hgs
parents:
diff changeset
   143
        /**
hgs
parents:
diff changeset
   144
        * From CScriptBase Runs a script line.
hgs
parents:
diff changeset
   145
        * @since ?Series60_version
hgs
parents:
diff changeset
   146
        * @param aItem Script line containing method name and parameters
hgs
parents:
diff changeset
   147
        * @return Symbian OS error code
hgs
parents:
diff changeset
   148
        */
hgs
parents:
diff changeset
   149
        virtual TInt RunMethodL( CStifItemParser& aItem );
hgs
parents:
diff changeset
   150
	    
hgs
parents:
diff changeset
   151
    private:
hgs
parents:
diff changeset
   152
hgs
parents:
diff changeset
   153
        /**
hgs
parents:
diff changeset
   154
        * C++ default constructor.
hgs
parents:
diff changeset
   155
        */
hgs
parents:
diff changeset
   156
        CCollectionHelperTest( CTestModuleIf& aTestModuleIf );
hgs
parents:
diff changeset
   157
hgs
parents:
diff changeset
   158
        /**
hgs
parents:
diff changeset
   159
        * By default Symbian 2nd phase constructor is private.
hgs
parents:
diff changeset
   160
        */
hgs
parents:
diff changeset
   161
        void ConstructL();
hgs
parents:
diff changeset
   162
hgs
parents:
diff changeset
   163
        // Prohibit copy constructor if not deriving from CBase.
hgs
parents:
diff changeset
   164
        // ?classname( const ?classname& );
hgs
parents:
diff changeset
   165
        // Prohibit assigment operator if not deriving from CBase.
hgs
parents:
diff changeset
   166
        // ?classname& operator=( const ?classname& );
hgs
parents:
diff changeset
   167
hgs
parents:
diff changeset
   168
        /**
hgs
parents:
diff changeset
   169
        * Frees all resources allocated from test methods.
hgs
parents:
diff changeset
   170
        * @since ?Series60_version
hgs
parents:
diff changeset
   171
        */
hgs
parents:
diff changeset
   172
        void Delete();
hgs
parents:
diff changeset
   173
	    
hgs
parents:
diff changeset
   174
        /**
hgs
parents:
diff changeset
   175
        * Test methods are listed below. 
hgs
parents:
diff changeset
   176
        */
hgs
parents:
diff changeset
   177
hgs
parents:
diff changeset
   178
        TInt OpenCollectionUtilityL(CStifItemParser& /*aItem*/);
hgs
parents:
diff changeset
   179
		TInt NewUiHelperL(CStifItemParser& /*aItem*/);
hgs
parents:
diff changeset
   180
        TInt NewHelperL(CStifItemParser& /*aItem*/);
hgs
parents:
diff changeset
   181
        TInt NewCachedHelperL(CStifItemParser& /*aItem*/);
hgs
parents:
diff changeset
   182
		TInt CloseUiHelperL(CStifItemParser& /*aItem*/);
hgs
parents:
diff changeset
   183
		TInt CloseHelperL(CStifItemParser& /*aItem*/);
hgs
parents:
diff changeset
   184
		TInt CloseCachedHelperL(CStifItemParser& /*aItem*/);      
hgs
parents:
diff changeset
   185
        TInt AddFileL(CStifItemParser& /*aItem*/);
hgs
parents:
diff changeset
   186
        TInt AddMediaL(CStifItemParser& /*aItem*/);
hgs
parents:
diff changeset
   187
        TInt RemoveFileL(CStifItemParser& /*aItem*/);
hgs
parents:
diff changeset
   188
        TInt RemoveAllL(CStifItemParser& /*aItem*/);
hgs
parents:
diff changeset
   189
        TInt CleanupDeletedMediasL(CStifItemParser& /*aItem*/);
hgs
parents:
diff changeset
   190
        TInt SetMediaL(CStifItemParser& /*aItem*/);
hgs
parents:
diff changeset
   191
        TInt RenameUriL(CStifItemParser& /*aItem*/);
hgs
parents:
diff changeset
   192
        TInt GetFileL(CStifItemParser& /*aItem*/);
hgs
parents:
diff changeset
   193
        TInt GetFile2L(CStifItemParser& /*aItem*/);
hgs
parents:
diff changeset
   194
        TInt FindAllL(CStifItemParser& /*aItem*/);
hgs
parents:
diff changeset
   195
hgs
parents:
diff changeset
   196
    	/**
hgs
parents:
diff changeset
   197
    	*  From MMPXCollectionRemoveObserver
hgs
parents:
diff changeset
   198
    	*  Handles removing a collection path
hgs
parents:
diff changeset
   199
    	*  calls back with the list of file paths that were deleted
hgs
parents:
diff changeset
   200
    	*  This callback is only applicable for local file storage plugins.
hgs
parents:
diff changeset
   201
    	*
hgs
parents:
diff changeset
   202
    	*  @param aUriArray, list of files that were deleted
hgs
parents:
diff changeset
   203
    	*/
hgs
parents:
diff changeset
   204
    	void HandleRemoveL(MDesCArray& aUriArray, TInt aError);
hgs
parents:
diff changeset
   205
hgs
parents:
diff changeset
   206
		//***********************************************************************
hgs
parents:
diff changeset
   207
hgs
parents:
diff changeset
   208
	    /**
hgs
parents:
diff changeset
   209
	    *  From MMPXCollectionFindObserver
hgs
parents:
diff changeset
   210
    	*  Handle callback for "find" operation
hgs
parents:
diff changeset
   211
    	*  @param aEntries, CMPXMedia to be returned
hgs
parents:
diff changeset
   212
    	*  @param aComplete ETrue no more entries. EFalse more entries
hgs
parents:
diff changeset
   213
    	*                   expected
hgs
parents:
diff changeset
   214
    	*  @param aError error code   
hgs
parents:
diff changeset
   215
    	*/
hgs
parents:
diff changeset
   216
    	void HandleFindAllL(const CMPXMedia& aResults, TBool aComplete,
hgs
parents:
diff changeset
   217
                            TInt aError);
hgs
parents:
diff changeset
   218
    	        
hgs
parents:
diff changeset
   219
        void CreateTestMediaL( CMPXMedia*& aNewProperty );
hgs
parents:
diff changeset
   220
        
hgs
parents:
diff changeset
   221
    private:    // Data
hgs
parents:
diff changeset
   222
    
hgs
parents:
diff changeset
   223
    	MMPXCollectionUtility*  	iCollectionUtility;
hgs
parents:
diff changeset
   224
hgs
parents:
diff changeset
   225
    	//NewUiHelperL()
hgs
parents:
diff changeset
   226
        MMPXCollectionUiHelper* 	iUIHelper;  
hgs
parents:
diff changeset
   227
             
hgs
parents:
diff changeset
   228
        //NewHelperL()
hgs
parents:
diff changeset
   229
		MMPXCollectionHelper* 		iHelper;
hgs
parents:
diff changeset
   230
		
hgs
parents:
diff changeset
   231
		//NewCachedHelperL()
hgs
parents:
diff changeset
   232
		MMPXCollectionHelper* 		iCachedHelper;		
hgs
parents:
diff changeset
   233
    };
hgs
parents:
diff changeset
   234
hgs
parents:
diff changeset
   235
#endif      // COLLECTIONHELPERTEST_H
hgs
parents:
diff changeset
   236
hgs
parents:
diff changeset
   237
// End of File