common/tools/ats/smoketest/email/testutils/inc/T_Utils.h
author Maciej Seroka <maciejs@symbian.org>
Fri, 30 Oct 2009 09:36:23 +0000
changeset 719 d5603c08781b
child 872 17498133d9ad
permissions -rw-r--r--
Added smoketest for email
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
719
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
     1
/**
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
     2
* Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
     3
* All rights reserved.
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
     4
* This component and the accompanying materials are made available
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
     5
* under the terms of the License "Symbian Foundation License v1.0"
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
     6
* which accompanies this distribution, and is available
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
     7
* at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html".
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
     8
*
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
     9
* Initial Contributors:
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    11
*
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    12
* Contributors:
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    13
*
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    14
* Description:
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    15
* This is the header file which contains the common utility functions
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    16
* 
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    17
*
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    18
*/
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    19
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    20
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    21
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    22
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    23
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    24
/**
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    25
 @file
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    26
*/
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    27
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    28
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    29
#ifndef __T_UTILS_H__
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    30
#define __T_UTILS_H__
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    31
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    32
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    33
// Epoc includes
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    34
#include <msvapi.h>
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    35
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    36
// Forward Declaration
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    37
class RResourceFile;
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    38
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    39
/**
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    40
Implements a class to contain the utility functions required across servers
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    41
*/
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    42
class CT_MsgUtils
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    43
	{	
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    44
public:
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    45
	IMPORT_C CT_MsgUtils();
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    46
	~CT_MsgUtils();
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    47
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    48
	// Returns the EntryID of the entry based on the entry name
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    49
	IMPORT_C static TMsvId FindEntryByNameL(CMsvSession* aSession, TMsvId aParentId, TDesC& aEntryName, TBool aCaseSensitive = EFalse);
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    50
	 
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    51
	// Returns the EntryID of the entry based on the entry name and entry parent name
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    52
	IMPORT_C static TMsvId FindEntryByNameL(CMsvSession* aSession, TMsvId aParentId, TDesC& aEntryName, TDesC& aParentEntryName, TBool aCaseSensitive = EFalse);
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    53
	
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    54
	// Returns the EntryId of the entry based on the entry name under the given parent entry
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    55
	IMPORT_C static TMsvId FindEntryByNameL(CMsvEntry* aEntry,TDesC& aEntryName, TBool aCaseSensitive = EFalse);
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    56
	
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    57
	// Returns the EntryID of the entry based on the entry name and entry parent name under the given parent entry
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    58
	IMPORT_C static TMsvId FindEntryByNameL(CMsvEntry* aEntry,TDesC& aEntryName, TDesC& aParentEntryName, TBool aCaseSensitive = EFalse);
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    59
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    60
	// Creates a selection of the children
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    61
	IMPORT_C static CMsvEntrySelection* CreateChildrenSelectionL(CMsvSession* aSession, TMsvId aEntryId);
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    62
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    63
	// Creates a selection of the children with a specified type
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    64
	IMPORT_C static CMsvEntrySelection* CreateChildrenSelectionWithTypeL(CMsvSession* aSession, TMsvId aEntryId, TUid aType);
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    65
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    66
	// Returns a selection of the child entries under the specified remote folder
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    67
	IMPORT_C static CMsvEntrySelection*  CreateChildrenSelectionRemoteFolderL(CMsvSession* aSession,TPtrC aAccountName,
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    68
															TPtrC aFolderName);
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    69
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    70
	// Returns a selection of the child entries under the specified remote folder with a specified type
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    71
	IMPORT_C static CMsvEntrySelection*  CreateChildrenSelectionRemoteFolderWithTypeL(CMsvSession* aSession,TPtrC aAccountName,
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    72
															TPtrC aFolderName, TUid aType);
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    73
									
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    74
	// Searches for a given entry under the specified remote folder Id for IMAP
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    75
	IMPORT_C static TMsvId GetRemoteFolderIdByNameL(CMsvSession* aSession,TPtrC aAccountName,TPtrC aFolderName, TBool aCaseSensitive = EFalse);
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    76
	
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    77
	// Searches for a given entry under the specified remote folder Id for IMAP - overloaded version with parent folder name
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    78
	IMPORT_C static TMsvId GetRemoteFolderIdByNameL(CMsvSession* aSession,TPtrC aAccountName,TPtrC aFolderName, TPtrC aParentFolderName, TBool aCaseSensitive = EFalse);
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    79
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    80
	// Searches for a message in a given folder based ont he message subject
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    81
	IMPORT_C static TMsvId SearchMessageBySubjectL(CMsvSession* aSession, TMsvId afolderId, TPtrC aSubject);
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    82
	
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    83
	// Searches for a message in a given folder based ont he message subject ..overloaded
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    84
	IMPORT_C static TMsvId SearchMessageBySubjectL(CMsvSession* aSession,TMsvId afolderId,TPtrC aSubject, TBool aVisibleFlag);
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    85
	
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    86
	// Compares two input files
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    87
	IMPORT_C static TInt CompareFilesL(TPtrC aFileOne, TPtrC aFileTwo, TBool aIsUnicode,CArrayFixFlat<TUint16>* aIgnoreCharList,
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    88
																			TBool& aDiffFlag);
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    89
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    90
	// Reads data chunk from the file stream.Returns ETrue if the EOF found.
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    91
	IMPORT_C static TBool ReadDataL(RFileReadStream& aFileReadStream,TPtr& aPtrLineBuffer, TBool aIsUnicode, 
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    92
																	CArrayFixFlat<TUint16>* aIgnoreCharList);
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    93
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    94
	IMPORT_C static void OpenResourceFileL(RResourceFile& rFile, RFs& anFs, const TDesC& aFileName );
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    95
 		
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    96
 	//Closes the Open Resource File
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    97
 	IMPORT_C static void CloseResourceFile( TAny* aFile );
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    98
 	
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
    99
 private:
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   100
 	// Recursively searches the EntryID of the entry based on the entry name
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   101
 	TMsvId static RecFindEntryByNameL(CMsvEntry& aEntry, TDesC& aEntryName, TBool aCaseSensitive);
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   102
 	
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   103
 	// Recursively searches the EntryID of the entry based on the entry name and parent entry name
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   104
 	TMsvId static RecFindEntryByNameL(CMsvEntry& aEntry, TDesC& aEntryName, TDesC& aParentEntryName, TBool aCaseSensitive);
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   105
 	
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   106
 	// Checks if the given parent name matches the name of the given parent entry
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   107
 	TBool static CheckParent(CMsvEntry& aParentEntry, TDesC& aParentEntryName);
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   108
	};
d5603c08781b Added smoketest for email
Maciej Seroka <maciejs@symbian.org>
parents:
diff changeset
   109
#endif //__T_UTILS_H__